package controllers.crud;
import static play.libs.Json.toJson;
import javax.inject.Inject;
import models.SourceConfiguration;
import models.dao.SourceConfigurationDAO;
import play.mvc.Result;
import play.utils.crud.APIController;
import com.google.common.collect.ImmutableMap;
public class SourceConfigurationAPIController extends APIController<Long, SourceConfiguration> {
protected SourceConfigurationDAO sourceConfigurationDAO;
@Inject
public SourceConfigurationAPIController(SourceConfigurationDAO sourceConfigurationDAO) {
super(sourceConfigurationDAO, Long.class, SourceConfiguration.class);
this.sourceConfigurationDAO = sourceConfigurationDAO;
}
@Override
public Result create() {
Result check = checkRequired("sourceKey", "descriptionSelector",
"discountPriceSelector", "imageLinkSelector", "nameSelector",
"priceSelector");
if (check != null) {
return check;
}
String sourceKey = jsonText("sourceKey");
String descriptionSelector = jsonText("descriptionSelector");
String discountPriceSelector = jsonText("discountPriceSelector");
String imageLinkSelector = jsonText("imageLinkSelector");
String nameSelector = jsonText("nameSelector");
String priceSelector = jsonText("priceSelector");
SourceConfiguration m = new SourceConfiguration();
m.setSourceKey(sourceKey);
m.setDescriptionSelector(descriptionSelector);
m.setDiscountPriceSelector(discountPriceSelector);
m.setNameSelector(nameSelector);
m.setImageLinkSelector(imageLinkSelector);
m.setPriceSelector(priceSelector);
Long key = dao.create(m);
return created(toJson(ImmutableMap.of(
"status", "OK",
"key", key,
"data", m)));
}
}