Add basic local api wrapper
This commit is contained in:
25
src/helpers/findEventsOnDay.ts
Normal file
25
src/helpers/findEventsOnDay.ts
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
import { PaginatedDocs } from 'payload/dist/mongoose/types';
|
||||||
|
import { Payload } from 'payload';
|
||||||
|
|
||||||
|
export default function findEventsOnDay(payload: Payload, day: string): Promise<PaginatedDocs> {
|
||||||
|
const startOfDate = new Date(day).setUTCHours(0, 0, 0, 0);
|
||||||
|
const endOfDate = new Date(day).setUTCHours(23, 59, 59, 999);
|
||||||
|
|
||||||
|
return payload.find({
|
||||||
|
collection: 'events',
|
||||||
|
where: {
|
||||||
|
and: [
|
||||||
|
{
|
||||||
|
startTime: {
|
||||||
|
greater_than_equal: startOfDate
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
startTime: {
|
||||||
|
less_than_equal: endOfDate
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
@@ -3,6 +3,8 @@ import * as dotenv from 'dotenv';
|
|||||||
import express from 'express';
|
import express from 'express';
|
||||||
import payload from 'payload';
|
import payload from 'payload';
|
||||||
|
|
||||||
|
import findEventsOnDay from './helpers/findEventsOnDay';
|
||||||
|
|
||||||
dotenv.config();
|
dotenv.config();
|
||||||
|
|
||||||
const app = express();
|
const app = express();
|
||||||
@@ -10,9 +12,9 @@ const app = express();
|
|||||||
const generateMongoURI = (): string => {
|
const generateMongoURI = (): string => {
|
||||||
return (
|
return (
|
||||||
'mongodb://' +
|
'mongodb://' +
|
||||||
(process.env.MONGODB_USER ?
|
(process.env.MONGODB_USER
|
||||||
`${process.env.MONGODB_USER}:${process.env.MONGODB_PASS}@` :
|
? `${process.env.MONGODB_USER}:${process.env.MONGODB_PASS}@`
|
||||||
''
|
: ''
|
||||||
) +
|
) +
|
||||||
`${process.env.MONGODB_HOST}/` +
|
`${process.env.MONGODB_HOST}/` +
|
||||||
process.env.MONGODB_DB
|
process.env.MONGODB_DB
|
||||||
@@ -28,4 +30,16 @@ payload.init({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
app.get('/', async (req, res) => {
|
||||||
|
const docs = await payload.find({
|
||||||
|
collection: 'events'
|
||||||
|
});
|
||||||
|
|
||||||
|
res.json(docs);
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get('/day/:day', async (req, res) => {
|
||||||
|
res.json(await findEventsOnDay(payload, req.params.day));
|
||||||
|
});
|
||||||
|
|
||||||
app.listen(process.env.LISTEN_PORT);
|
app.listen(process.env.LISTEN_PORT);
|
||||||
|
|||||||
Reference in New Issue
Block a user