mirror of
https://github.com/ragestudio/comty.git
synced 2025-06-09 10:34:17 +00:00
improve events endpoints
This commit is contained in:
parent
43a1d7b4c0
commit
82b7bc579b
15
packages/server/db_models/event/index.js
Executable file
15
packages/server/db_models/event/index.js
Executable file
@ -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: {} },
|
||||
},
|
||||
}
|
@ -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 }
|
||||
}
|
||||
}
|
@ -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
|
||||
}
|
10
packages/server/services/main/routes/featured/events/get.js
Normal file
10
packages/server/services/main/routes/featured/events/get.js
Normal file
@ -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
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user