Files
summer-dci/src/server.ts

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);