Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Jay Mehta
/
zango-strapi
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Registry
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
Commit c3743ad4
authored
10 months ago
by
Ravindra Kanojiya
Browse Files
Options
Browse Files
Tag
Download
Plain Diff
Merge branch 'master' of
https://git.logicloop.io/jaymehta/zango-strapi
2 parents
02b5ee04
0a2a9619
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
99 additions
and
57 deletions
src/api/experience/content-types/experience/schema.json
src/api/experience/controllers/experience.js
src/api/time-slot/content-types/time-slot/schema.json
src/api/experience/content-types/experience/schema.json
View file @
c3743ad
...
...
@@ -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"
:
{
"off
ers
"
:
{
"type"
:
"integer"
},
"contactPersonForActivity"
:
{
"type"
:
"string"
},
"contactPersonForBooking"
:
{
"type"
:
"string"
}
}
}
This diff is collapsed.
Click to expand it.
src/api/experience/controllers/experience.js
View file @
c3743ad
...
...
@@ -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"
)
// 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
:
element
.
value
,
name
:
{
$eq
:
ctx
.
request
.
body
.
data
.
subCategory
,
},
},
});
// 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
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 }
},
});
},
}));
This diff is collapsed.
Click to expand it.
src/api/time-slot/content-types/time-slot/schema.json
View file @
c3743ad
...
...
@@ -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"
}
}
}
This diff is collapsed.
Click to expand it.
Write
Preview
Styling with
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment