48 lines
940 B
TypeScript
48 lines
940 B
TypeScript
import * as dotenv from 'dotenv';
|
|
|
|
import express from 'express';
|
|
import payload from 'payload';
|
|
|
|
import findEventsOnDay from './helpers/findEventsOnDay';
|
|
|
|
dotenv.config();
|
|
|
|
const app = express();
|
|
|
|
const generateMongoURI = (): string => {
|
|
return (
|
|
'mongodb://' +
|
|
(process.env.MONGODB_USER
|
|
? `${process.env.MONGODB_USER}:${process.env.MONGODB_PASS}@`
|
|
: ''
|
|
) +
|
|
`${process.env.MONGODB_HOST}/` +
|
|
process.env.MONGODB_DB
|
|
);
|
|
};
|
|
|
|
payload.init({
|
|
secret: process.env.PAYLOAD_SECRET,
|
|
mongoURL: generateMongoURI(),
|
|
express: app,
|
|
onInit: () => {
|
|
payload.logger.info(`Payload Admin URL: ${payload.getAdminURL()}`);
|
|
}
|
|
});
|
|
|
|
app.get('/', async (req, res) => {
|
|
const docs = await payload.find({
|
|
collection: 'events',
|
|
sort: 'startTime',
|
|
pagination: false
|
|
});
|
|
|
|
res.json(docs);
|
|
});
|
|
|
|
app.get('/day/:day', async (req, res) => {
|
|
res.json(await findEventsOnDay(payload, req.params.day));
|
|
});
|
|
|
|
app.listen(process.env.LISTEN_PORT);
|