full API ts transition and sentry not reporting fix
This commit is contained in:
@@ -1,9 +1,9 @@
|
|||||||
const dotenv = require('dotenv')
|
import dotenv = require('dotenv');
|
||||||
dotenv.config();
|
dotenv.config();
|
||||||
|
|
||||||
const express = require('express')
|
import express = require('express');
|
||||||
const cors = require('cors')
|
import cors = require('cors');
|
||||||
const morgan = require('morgan')
|
import morgan = require('morgan');
|
||||||
const app = express()
|
const app = express()
|
||||||
app.use(morgan('dev'))
|
app.use(morgan('dev'))
|
||||||
|
|
||||||
@@ -19,7 +19,7 @@ app.set('trust proxy', 1);
|
|||||||
const port = process.env.SERVER_PORT;
|
const port = process.env.SERVER_PORT;
|
||||||
|
|
||||||
//glitchtip setup
|
//glitchtip setup
|
||||||
const sentry = require('@sentry/node');
|
import sentry = require('@sentry/node');
|
||||||
if (process.env.DISABLE_GLITCHTIP === "true") {
|
if (process.env.DISABLE_GLITCHTIP === "true") {
|
||||||
console.log("Glitchtip disabled")
|
console.log("Glitchtip disabled")
|
||||||
} else {
|
} else {
|
||||||
@@ -27,14 +27,14 @@ if (process.env.DISABLE_GLITCHTIP === "true") {
|
|||||||
let release = process.env.APPLICATION_VERSION;
|
let release = process.env.APPLICATION_VERSION;
|
||||||
let environment = process.env.APPLICATION_ENVIRONMENT;
|
let environment = process.env.APPLICATION_ENVIRONMENT;
|
||||||
console.log(release, environment)
|
console.log(release, environment)
|
||||||
sentry.init({ dsn: dsn, release: release, environment: environment });
|
sentry.init({ dsn: dsn, release: release, environment: environment, integrations: [sentry.captureConsoleIntegration({levels: ['error']})] });
|
||||||
console.log("Glitchtip initialized");
|
console.log("Glitchtip initialized");
|
||||||
}
|
}
|
||||||
|
|
||||||
//session setup
|
//session setup
|
||||||
const path = require('path')
|
import path = require('path');
|
||||||
const session = require('express-session')
|
import session = require('express-session');
|
||||||
const passport = require('passport')
|
import passport = require('passport');
|
||||||
const SQLiteStore = require('connect-sqlite3')(session);
|
const SQLiteStore = require('connect-sqlite3')(session);
|
||||||
|
|
||||||
app.use(session({
|
app.use(session({
|
||||||
@@ -51,23 +51,21 @@ app.use(session({
|
|||||||
app.use(passport.authenticate('session'));
|
app.use(passport.authenticate('session'));
|
||||||
|
|
||||||
// Mount route modules
|
// Mount route modules
|
||||||
const applicationsRouter = require('./routes/applications');
|
import { applicationRouter } from './routes/applications';
|
||||||
const { memberRanks, ranks } = require('./routes/ranks');
|
import { memberRanks, ranks } from './routes/ranks';
|
||||||
const members = require('./routes/members');
|
import { memberRouter } from './routes/members';
|
||||||
const loaHandler = require('./routes/loa')
|
import { loaRouter } from './routes/loa';
|
||||||
const { status, memberStatus } = require('./routes/statuses')
|
import { status, memberStatus } from './routes/statuses';
|
||||||
const authRouter = require('./routes/auth')
|
import { authRouter } from './routes/auth';
|
||||||
const { roles, memberRoles } = require('./routes/roles');
|
import { roles, memberRoles } from './routes/roles';
|
||||||
const { courseRouter, eventRouter } = require('./routes/course');
|
import { courseRouter, eventRouter } from './routes/course';
|
||||||
const { calendarRouter } = require('./routes/calendar')
|
import { calendarRouter } from './routes/calendar';
|
||||||
const morgan = require('morgan');
|
|
||||||
const { env } = require('process');
|
|
||||||
|
|
||||||
app.use('/application', applicationsRouter);
|
app.use('/application', applicationRouter);
|
||||||
app.use('/ranks', ranks);
|
app.use('/ranks', ranks);
|
||||||
app.use('/memberRanks', memberRanks);
|
app.use('/memberRanks', memberRanks);
|
||||||
app.use('/members', members);
|
app.use('/members', memberRouter);
|
||||||
app.use('/loa', loaHandler);
|
app.use('/loa', loaRouter);
|
||||||
app.use('/status', status)
|
app.use('/status', status)
|
||||||
app.use('/memberStatus', memberStatus)
|
app.use('/memberStatus', memberStatus)
|
||||||
app.use('/roles', roles)
|
app.use('/roles', roles)
|
||||||
@@ -291,5 +291,4 @@ router.post('/restart', async (req: Request, res: Response) => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
export const applicationRouter = router;
|
||||||
module.exports = router;
|
|
||||||
|
|||||||
@@ -143,5 +143,4 @@ declare global {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export const authRouter = router;
|
||||||
module.exports = router;
|
|
||||||
@@ -116,5 +116,4 @@ r.put('/', [requireLogin, requireMemberState(MemberState.Member)], async (req: R
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
export const calendarRouter = r;
|
||||||
module.exports.calendarRouter = r;
|
|
||||||
|
|||||||
@@ -4,15 +4,15 @@ import { Request, Response, Router } from "express";
|
|||||||
import { requireLogin, requireMemberState } from "../middleware/auth";
|
import { requireLogin, requireMemberState } from "../middleware/auth";
|
||||||
import { MemberState } from "@app/shared/types/member";
|
import { MemberState } from "@app/shared/types/member";
|
||||||
|
|
||||||
const courseRouter = Router();
|
const cr = Router();
|
||||||
const eventRouter = Router();
|
const er = Router();
|
||||||
|
|
||||||
courseRouter.use(requireLogin)
|
cr.use(requireLogin)
|
||||||
eventRouter.use(requireLogin)
|
er.use(requireLogin)
|
||||||
courseRouter.use(requireMemberState(MemberState.Member))
|
cr.use(requireMemberState(MemberState.Member))
|
||||||
eventRouter.use(requireMemberState(MemberState.Member))
|
er.use(requireMemberState(MemberState.Member))
|
||||||
|
|
||||||
courseRouter.get('/', async (req, res) => {
|
cr.get('/', async (req, res) => {
|
||||||
try {
|
try {
|
||||||
const courses = await getAllCourses();
|
const courses = await getAllCourses();
|
||||||
res.status(200).json(courses);
|
res.status(200).json(courses);
|
||||||
@@ -22,7 +22,7 @@ courseRouter.get('/', async (req, res) => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
courseRouter.get('/roles', async (req, res) => {
|
cr.get('/roles', async (req, res) => {
|
||||||
try {
|
try {
|
||||||
const roles = await getCourseEventRoles();
|
const roles = await getCourseEventRoles();
|
||||||
res.status(200).json(roles);
|
res.status(200).json(roles);
|
||||||
@@ -32,7 +32,7 @@ courseRouter.get('/roles', async (req, res) => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
eventRouter.get('/', async (req: Request, res: Response) => {
|
er.get('/', async (req: Request, res: Response) => {
|
||||||
const allowedSorts = new Map([
|
const allowedSorts = new Map([
|
||||||
["ascending", "ASC"],
|
["ascending", "ASC"],
|
||||||
["descending", "DESC"]
|
["descending", "DESC"]
|
||||||
@@ -57,7 +57,7 @@ eventRouter.get('/', async (req: Request, res: Response) => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
eventRouter.get('/:id', async (req: Request, res: Response) => {
|
er.get('/:id', async (req: Request, res: Response) => {
|
||||||
try {
|
try {
|
||||||
let out = await getCourseEventDetails(Number(req.params.id));
|
let out = await getCourseEventDetails(Number(req.params.id));
|
||||||
res.status(200).json(out);
|
res.status(200).json(out);
|
||||||
@@ -67,7 +67,7 @@ eventRouter.get('/:id', async (req: Request, res: Response) => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
eventRouter.get('/attendees/:id', async (req: Request, res: Response) => {
|
er.get('/attendees/:id', async (req: Request, res: Response) => {
|
||||||
try {
|
try {
|
||||||
const attendees: CourseAttendee[] = await getCourseEventAttendees(Number(req.params.id));
|
const attendees: CourseAttendee[] = await getCourseEventAttendees(Number(req.params.id));
|
||||||
res.status(200).json(attendees);
|
res.status(200).json(attendees);
|
||||||
@@ -77,7 +77,7 @@ eventRouter.get('/attendees/:id', async (req: Request, res: Response) => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
eventRouter.post('/', async (req: Request, res: Response) => {
|
er.post('/', async (req: Request, res: Response) => {
|
||||||
const posterID: number = req.user.id;
|
const posterID: number = req.user.id;
|
||||||
try {
|
try {
|
||||||
console.log();
|
console.log();
|
||||||
@@ -92,5 +92,5 @@ eventRouter.post('/', async (req: Request, res: Response) => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
module.exports.courseRouter = courseRouter;
|
export const courseRouter = cr;
|
||||||
module.exports.eventRouter = eventRouter;
|
export const eventRouter = er;
|
||||||
|
|||||||
@@ -148,4 +148,4 @@ router.get('/policy', async (req: Request, res: Response) => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
module.exports = router;
|
export const loaRouter = router;
|
||||||
@@ -127,6 +127,4 @@ router.put('/:id/displayname', async (req, res) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
export const memberRouter = router;
|
||||||
|
|
||||||
module.exports = router;
|
|
||||||
|
|||||||
@@ -35,5 +35,5 @@ r.get('/', async (req, res) => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
module.exports.ranks = r;
|
export const ranks = r;
|
||||||
module.exports.memberRanks = ur;
|
export const memberRanks = ur;
|
||||||
@@ -117,5 +117,5 @@ r.delete('/:id', [requireMemberState(MemberState.Member), requireRole("17th Admi
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
module.exports.roles = r;
|
export const roles = r;
|
||||||
module.exports.memberRoles = ur;
|
export const memberRoles = ur;
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
const express = require('express');
|
import express = require('express');
|
||||||
const status = express.Router();
|
const statusR = express.Router();
|
||||||
const memberStatus = express.Router();
|
const memberStatusR = express.Router();
|
||||||
|
|
||||||
import pool from '../db';
|
import pool from '../db';
|
||||||
import { requireLogin } from '../middleware/auth';
|
import { requireLogin } from '../middleware/auth';
|
||||||
|
|
||||||
status.use(requireLogin);
|
statusR.use(requireLogin);
|
||||||
memberStatus.use(requireLogin);
|
memberStatusR.use(requireLogin);
|
||||||
|
|
||||||
//insert a new latest rank for a user
|
//insert a new latest rank for a user
|
||||||
memberStatus.post('/', async (req, res) => {
|
memberStatusR.post('/', async (req, res) => {
|
||||||
// try {
|
// try {
|
||||||
// const App = req.body?.App || {};
|
// const App = req.body?.App || {};
|
||||||
|
|
||||||
@@ -34,7 +34,7 @@ memberStatus.post('/', async (req, res) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
//get all statuses
|
//get all statuses
|
||||||
status.get('/', async (req, res) => {
|
statusR.get('/', async (req, res) => {
|
||||||
try {
|
try {
|
||||||
const result = await pool.query('SELECT * FROM statuses;');
|
const result = await pool.query('SELECT * FROM statuses;');
|
||||||
res.json(result);
|
res.json(result);
|
||||||
@@ -44,7 +44,8 @@ status.get('/', async (req, res) => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
module.exports.status = status;
|
export const status = statusR;
|
||||||
module.exports.memberStatus = memberStatus;
|
export const memberStatus = memberStatusR;
|
||||||
|
|
||||||
|
|
||||||
// TODO, implement get all ranks route with SQL stirng SELECT id, name, short_name, category, sort_id FROM ranks;
|
// TODO, implement get all ranks route with SQL stirng SELECT id, name, short_name, category, sort_id FROM ranks;
|
||||||
Reference in New Issue
Block a user