Converted more stuff to support TS
This commit is contained in:
50
api/src/routes/calendar.ts
Normal file
50
api/src/routes/calendar.ts
Normal file
@@ -0,0 +1,50 @@
|
||||
import { getEventAttendance, getEventDetails, getShortEventsInRange } from "../services/calendarService";
|
||||
|
||||
const express = require('express');
|
||||
const r = express.Router();
|
||||
|
||||
function addMonths(date: Date, months: number): Date {
|
||||
const d = new Date(date)
|
||||
d.setMonth(d.getMonth() + months)
|
||||
return d
|
||||
}
|
||||
|
||||
//get calendar events paged
|
||||
r.get('/', async (req, res) => {
|
||||
const viewDate: Date = req.body.date;
|
||||
//generate date range
|
||||
const backDate: Date = addMonths(viewDate, -1);
|
||||
const frontDate: Date = addMonths(viewDate, 2);
|
||||
|
||||
const events = getShortEventsInRange(backDate, frontDate);
|
||||
|
||||
res.status(200).json(events);
|
||||
});
|
||||
|
||||
r.get('/upcoming', async (req, res) => {
|
||||
res.sendStatus(501);
|
||||
})
|
||||
|
||||
//get event details
|
||||
r.get('/:id', async (req, res) => {
|
||||
try {
|
||||
const eventID: number = req.params.id;
|
||||
|
||||
let details = getEventDetails(eventID);
|
||||
let attendance = await getEventAttendance(eventID);
|
||||
|
||||
let out = { ...details, attendance }
|
||||
console.log(out);
|
||||
res.status(200).json(out);
|
||||
} catch (err) {
|
||||
console.error('Insert failed:', err);
|
||||
res.status(500).json(err);
|
||||
}
|
||||
})
|
||||
|
||||
//post a new calendar event
|
||||
r.post('/', async (req, res) => {
|
||||
|
||||
})
|
||||
|
||||
module.exports.calendar = r;
|
||||
Reference in New Issue
Block a user