mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-09 09:23:51 +00:00
1849b4d39f
* chore: migrate eslint to oxlint * chore: migrate prettier to oxfmt * chore: migrate typescript * chore: toThrow should have a expected value * chore: cast test value as Day * chore: small title fix * chore: mocks should be hoisted * chore: incorrect async useage * chore: test should be inside description * chore: test sohuld include an expeced * chore: oxfmt --------- Co-authored-by: alex-Arc <omnivox@LAPTOP-RC5SNBVV.localdomain>
39 lines
1.3 KiB
TypeScript
39 lines
1.3 KiB
TypeScript
import express from 'express';
|
|
import type { Request, Response } from 'express';
|
|
import type { ErrorResponse, ProjectData } from 'ontime-types';
|
|
import { getErrorMessage } from 'ontime-utils';
|
|
|
|
import { removeUndefined } from '../../utils/parserUtils.js';
|
|
import { postProjectLogo } from '../db/db.controller.js';
|
|
import { uploadImageFile } from '../db/db.middleware.js';
|
|
import * as projectDao from './projectData.dao.js';
|
|
import { projectSanitiser } from './projectData.validation.js';
|
|
|
|
export const router = express.Router();
|
|
|
|
router.get('/', (_req: Request, res: Response<ProjectData>) => {
|
|
res.status(200).json(projectDao.getProjectData());
|
|
});
|
|
|
|
router.post('/', projectSanitiser, async (req: Request, res: Response<ProjectData | ErrorResponse>) => {
|
|
try {
|
|
const newData: Partial<ProjectData> = removeUndefined({
|
|
title: req.body?.title,
|
|
description: req.body?.description,
|
|
url: req.body?.url,
|
|
info: req.body?.info,
|
|
logo: req.body?.logo,
|
|
custom: req.body?.custom,
|
|
});
|
|
|
|
const updatedData = await projectDao.editCurrentProjectData(newData);
|
|
|
|
res.status(200).send(updatedData);
|
|
} catch (error) {
|
|
const message = getErrorMessage(error);
|
|
res.status(400).send({ message });
|
|
}
|
|
});
|
|
|
|
router.post('/upload', uploadImageFile, postProjectLogo);
|