diff --git a/packages/server/db_models/event/index.js b/packages/server/db_models/event/index.js new file mode 100755 index 00000000..40ef639e --- /dev/null +++ b/packages/server/db_models/event/index.js @@ -0,0 +1,15 @@ +export default { + name: "Event", + collection: "events", + schema: { + name: { type: String, required: true }, + category: { type: String }, + description: { type: String }, + announcement: { type: Object, required: true }, + location: { type: String }, + startDate: { type: Date, required: true }, + endDate: { type: Date, required: true }, + featured: { type: Boolean, default: false }, + pageConfig: { type: Object, default: {} }, + }, +} diff --git a/packages/server/db_models/featuredEvent/index.js b/packages/server/db_models/featuredEvent/index.js deleted file mode 100755 index af36c24f..00000000 --- a/packages/server/db_models/featuredEvent/index.js +++ /dev/null @@ -1,13 +0,0 @@ -export default { - name: "FeaturedEvent", - collection: "featuredEvents", - schema: { - name: { type: String, required: true }, - category: { type: String }, - description: { type: String }, - dates: { type: Object }, - location: { type: String }, - announcement: { type: Object, required: true }, - expired: { type: Boolean, default: false } - } -} \ No newline at end of file diff --git a/packages/server/services/main/routes/events/[event_id]/data/get.js b/packages/server/services/main/routes/events/[event_id]/data/get.js new file mode 100644 index 00000000..9c6c807a --- /dev/null +++ b/packages/server/services/main/routes/events/[event_id]/data/get.js @@ -0,0 +1,20 @@ +import { Event } from "@db_models" +import axios from "axios" + +export default async (req) => { + let event = await Event.findById(req.params.event_id) + + event = event.toObject() + + // fetch page if exist + if (event.page && event.page.startsWith("https://")) { + try { + const response = await axios.get(event.page) + event.page = response.data + } catch (error) { + console.error(error) + } + } + + return event +} diff --git a/packages/server/services/main/routes/featured/events/get.js b/packages/server/services/main/routes/featured/events/get.js new file mode 100644 index 00000000..60f4d7c6 --- /dev/null +++ b/packages/server/services/main/routes/featured/events/get.js @@ -0,0 +1,10 @@ +import { Event } from "@db_models" + +export default async (req) => { + const events = await Event.find({ + endDate: { $gte: new Date() }, + featured: true, + }) + + return events +}