Commit d211e8ac by jaymehta

activity update

1 parent f28c1a3b
......@@ -22,24 +22,6 @@ module.exports = createCoreController("api::experience.experience", () => ({
if (!ctx.request.body.data.category) {
throw new ValidationError("Category is a mandatory field");
}
// const months = ctx.request.body.data.months;
// if (!months || !months.length > 0) {
// throw new ValidationError("Months is a required field.");
// }
// let monthsIds = [];
// for (let index = 0; index < months.length; index++) {
// const element = months[index];
// const singleMonth = await strapi
// .query("api::master-month.master-month")
// .findOne({
// where: {
// name: element.value,
// },
// });
// // console.log("singleMonth", singleMonth);
// monthsIds = [...monthsIds, singleMonth.id];
// }
const subCategory = await strapi
.query("api::sub-categorie.sub-categorie")
.findOne({
......@@ -50,9 +32,7 @@ module.exports = createCoreController("api::experience.experience", () => ({
},
});
const category = await strapi
.query("api::categorie.categorie")
.findOne({
const category = await strapi.query("api::categorie.categorie").findOne({
where: {
name: {
$eq: ctx.request.body.data.category,
......@@ -100,7 +80,6 @@ module.exports = createCoreController("api::experience.experience", () => ({
vendor: ctx.request.body.data.vendor.id,
subCategory: subCategory.id,
category: category.id,
// masterMonths: monthsIds,
giftSomeone: ctx.request.body.data.giftSomeone,
fromDate: ctx.request.body.data.fromDate,
toDate: ctx.request.body.data.toDate,
......@@ -108,43 +87,100 @@ module.exports = createCoreController("api::experience.experience", () => ({
toTime: ctx.request.body.data.toTime,
offers: ctx.request.body.data.offers,
rating: ctx.request.body.data.rating,
contactPersonForActivity: ctx.request.body.data.contactPersonForActivity,
contactPersonForBooking: ctx.request.body.data.contactPersonForBooking,
contactPersonForActivity:
ctx.request.body.data.contactPersonForActivity,
contactPersonForBooking:
ctx.request.body.data.contactPersonForBooking,
...ctx.request.body.data.daysBoolean,
},
}
);
// [{day: "monday", fromTime: "10:20:00", toTime: "18:30:00"}, {day: "tuesday", fromTime: "09:30:00", toTime: "20:00:00"}]
ctx.send({
success: true,
message: "Activity Created",
data: {
...activity,
},
});
},
async update(ctx) {
if (!ctx.request.body.data.vendor) {
throw new ValidationError("Vendor is a mandatory field.");
}
if (!ctx.request.body.data.pincode) {
throw new ValidationError("Pincode is a mandatory field.");
}
if (!ctx.request.body.data.subCategory) {
throw new ValidationError("Subcategory is a mandatory field");
}
if (!ctx.request.body.data.category) {
throw new ValidationError("Category is a mandatory field");
}
const subCategory = await strapi
.query("api::sub-categorie.sub-categorie")
.findOne({
where: {
name: {
$eq: ctx.request.body.data.subCategory,
},
},
});
// const timeSlotsArray = ctx.request.body.data.timeSlots;
// if (!timeSlotsArray || !timeSlotsArray.length > 0) {
// throw new ValidationError("No time slots given.");
// }
// let timeSlotIds = [];
// for (let index = 0; index < timeSlotsArray.length; index++) {
// const element = timeSlotsArray[index];
const category = await strapi.query("api::categorie.categorie").findOne({
where: {
name: {
$eq: ctx.request.body.data.category,
},
},
});
// const timeSlotEntry = await strapi.entityService.create(
// "api::time-slot.time-slot",
// {
// data: {
// masterDay: element.day.id,
// start: element.fromTime,
// end: element.toTime,
// experience: activity.id,
// },
// }
// );
// timeSlotIds = [...timeSlotIds, timeSlotEntry];
// }
const activity = await strapi.entityService.update(
"api::experience.experience",
{ id: ctx.request.body.data.activityId },
{
data: {
name: ctx.request.body.data.name,
description: ctx.request.body.data.description,
pricePerPerson: ctx.request.body.data.pricePerPerson,
address: ctx.request.body.data.address,
masterPincode: ctx.request.body.data.pincode.id,
minimumDuration: ctx.request.body.data.minimumDuration,
maximumDuration: ctx.request.body.data.maximumDuration,
duration: ctx.request.body.data.duration,
ageLowerLimit: ctx.request.body.data.ageLowerLimit,
ageNotes: ctx.request.body.data.ageNotes,
phoneNumber: ctx.request.body.data.phoneNumber,
minGroupSize: ctx.request.body.data.minGroupSize,
maxGroupSize: ctx.request.body.data.maxGroupSize,
activityType: ctx.request.body.data.activityType,
link: ctx.request.body.data.link,
cancellationPolicy: ctx.request.body.data.cancellationPolicy,
vendor: ctx.request.body.data.vendor.id,
subCategory: subCategory.id,
category: category.id,
giftSomeone: ctx.request.body.data.giftSomeone,
fromDate: ctx.request.body.data.fromDate,
toDate: ctx.request.body.data.toDate,
fromTime: ctx.request.body.data.fromTime,
toTime: ctx.request.body.data.toTime,
offers: ctx.request.body.data.offers,
rating: ctx.request.body.data.rating,
contactPersonForActivity:
ctx.request.body.data.contactPersonForActivity,
contactPersonForBooking:
ctx.request.body.data.contactPersonForBooking,
...ctx.request.body.data.daysBoolean,
},
}
);
ctx.send({
success: true,
message: "Activity Created",
message: "Activity updated",
data: {
...activity,
// timeSlots: { ...timeSlotIds }
},
});
},
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!