Commit c3743ad4 by Ravindra Kanojiya
2 parents 02b5ee04 0a2a9619
......@@ -72,12 +72,6 @@
"target": "api::course-detail.course-detail",
"inversedBy": "experience"
},
"timeSlots": {
"type": "relation",
"relation": "oneToMany",
"target": "api::time-slot.time-slot",
"mappedBy": "experience"
},
"masterMonths": {
"type": "relation",
"relation": "oneToMany",
......@@ -99,6 +93,39 @@
"giftSomeone": {
"type": "boolean"
},
"availableOnMonday": {
"type": "boolean"
},
"availableOnTuesday": {
"type": "boolean"
},
"availableOnWednesday": {
"type": "boolean"
},
"availableOnThursday": {
"type": "boolean"
},
"availableOnFriday": {
"type": "boolean"
},
"availableOnSaturday": {
"type": "boolean"
},
"availableOnSunday": {
"type": "boolean"
},
"fromTime": {
"type": "time"
},
"toTime": {
"type": "time"
},
"fromDate": {
"type": "date"
},
"toDate": {
"type": "date"
},
"image": {
"type": "media",
"multiple": false,
......@@ -110,8 +137,14 @@
"rating": {
"type": "decimal"
},
"off": {
"offers": {
"type": "integer"
},
"contactPersonForActivity": {
"type": "string"
},
"contactPersonForBooking": {
"type": "string"
}
}
}
......@@ -19,31 +19,33 @@ module.exports = createCoreController("api::experience.experience", () => ({
if (!ctx.request.body.data.subCategory) {
throw new ValidationError("Subcategory 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 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({
where: {
name: {
$eq: ctx.request.body.data.subCategory
}
}
})
const subCategory = await strapi
.query("api::sub-categorie.sub-categorie")
.findOne({
where: {
name: {
$eq: ctx.request.body.data.subCategory,
},
},
});
const repeatedActivities = await strapi
.query("api::experience.experience")
......@@ -73,6 +75,7 @@ module.exports = createCoreController("api::experience.experience", () => ({
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,
......@@ -83,40 +86,52 @@ module.exports = createCoreController("api::experience.experience", () => ({
cancellationPolicy: ctx.request.body.data.cancellationPolicy,
vendor: ctx.request.body.data.vendor.id,
subCategory: subCategory.id,
masterMonths: monthsIds,
giftSomeone: ctx.request.body.data.giftSomeone
// masterMonths: monthsIds,
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,
},
}
);
// [{day: "monday", fromTime: "10:20:00", toTime: "18:30:00"}, {day: "tuesday", fromTime: "09:30:00", toTime: "20:00:00"}]
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 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 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 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];
// }
ctx.send({
success: true,
message: "Activity Created",
data: { ...activity, timeSlots: { ...timeSlotIds } },
data: {
...activity,
// timeSlots: { ...timeSlotIds }
},
});
},
}));
......@@ -22,12 +22,6 @@
"type": "relation",
"relation": "oneToOne",
"target": "api::master-day.master-day"
},
"experience": {
"type": "relation",
"relation": "manyToOne",
"target": "api::experience.experience",
"inversedBy": "timeSlots"
}
}
}
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!