
# Conflicts: # backend/package.json # backend/src/config.ts # backend/src/controllers/learningObjects.ts # backend/src/controllers/learningPaths.ts # backend/src/data/content/attachment-repository.ts # backend/src/data/content/learning-object-repository.ts # backend/src/data/content/learning-path-repository.ts # backend/src/data/repositories.ts # backend/src/entities/content/learning-path.entity.ts # backend/src/exceptions.ts # backend/src/routes/learning-objects.ts # backend/src/services/learningObjects.ts # backend/src/services/learningPaths.ts # backend/src/util/apiHelper.ts # backend/src/util/envvars.ts # package-lock.json
59 lines
1.9 KiB
TypeScript
59 lines
1.9 KiB
TypeScript
import express, { Express, Response } from 'express';
|
|
import { initORM } from './orm.js';
|
|
|
|
import themeRoutes from './routes/themes.js';
|
|
import learningPathRoutes from './routes/learning-paths.js';
|
|
import learningObjectRoutes from './routes/learning-objects.js';
|
|
|
|
import studentRouter from './routes/student.js';
|
|
import groupRouter from './routes/group.js';
|
|
import assignmentRouter from './routes/assignment.js';
|
|
import submissionRouter from './routes/submission.js';
|
|
import classRouter from './routes/class.js';
|
|
import questionRouter from './routes/question.js';
|
|
import authRouter from './routes/auth.js';
|
|
import { authenticateUser } from './middleware/auth/auth.js';
|
|
import cors from './middleware/cors.js';
|
|
import { getLogger, Logger } from './logging/initalize.js';
|
|
import { responseTimeLogger } from './logging/responseTimeLogger.js';
|
|
import responseTime from 'response-time';
|
|
import { EnvVars, getNumericEnvVar } from './util/envvars.js';
|
|
|
|
const logger: Logger = getLogger();
|
|
|
|
const app: Express = express();
|
|
const port: string | number = getNumericEnvVar(EnvVars.Port);
|
|
|
|
app.use(cors);
|
|
app.use(express.json());
|
|
app.use(responseTime(responseTimeLogger));
|
|
app.use(authenticateUser);
|
|
|
|
// TODO Replace with Express routes
|
|
app.get('/', (_, res: Response) => {
|
|
logger.debug('GET /');
|
|
res.json({
|
|
message: 'Hello Dwengo!🚀',
|
|
});
|
|
});
|
|
|
|
app.use('/student', studentRouter);
|
|
app.use('/group', groupRouter);
|
|
app.use('/assignment', assignmentRouter);
|
|
app.use('/submission', submissionRouter);
|
|
app.use('/class', classRouter);
|
|
app.use('/question', questionRouter);
|
|
app.use('/auth', authRouter);
|
|
app.use('/theme', themeRoutes);
|
|
app.use('/learningPath', learningPathRoutes);
|
|
app.use('/learningObject', learningObjectRoutes);
|
|
|
|
async function startServer() {
|
|
await initORM();
|
|
|
|
app.listen(port, () => {
|
|
logger.info(`Server is running at http://localhost:${port}`);
|
|
});
|
|
}
|
|
|
|
await startServer();
|