mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-11 02:13:48 +00:00
f5e9a2549e
* feat: add dropdown to worksheet selection * feat: move revoke to separate button * refactor: extract excel flow to separate controller and service * chore: show spinner when uploading sheet and disable the other option * chore: don't show "success" when canceling the import * chore: export boolean types properly to sheets
41 lines
1.2 KiB
TypeScript
41 lines
1.2 KiB
TypeScript
import express from 'express';
|
|
|
|
import {
|
|
createProjectFile,
|
|
deleteProjectFile,
|
|
duplicateProjectFile,
|
|
getInfo,
|
|
listProjects,
|
|
loadProject,
|
|
patchPartialProjectFile,
|
|
postProjectFile,
|
|
projectDownload,
|
|
renameProjectFile,
|
|
} from './db.controller.js';
|
|
import { uploadProjectFile } from './db.middleware.js';
|
|
import {
|
|
projectSanitiser,
|
|
sanitizeProjectFilename,
|
|
validateLoadProjectFile,
|
|
validatePatchProjectFile,
|
|
validateProjectDuplicate,
|
|
validateProjectRename,
|
|
} from './db.validation.js';
|
|
|
|
export const router = express.Router();
|
|
|
|
router.get('/download', projectDownload);
|
|
router.post('/upload', uploadProjectFile, postProjectFile);
|
|
|
|
router.patch('/', validatePatchProjectFile, patchPartialProjectFile);
|
|
router.post('/new', projectSanitiser, createProjectFile);
|
|
|
|
router.get('/all', listProjects);
|
|
|
|
router.post('/load', validateLoadProjectFile, sanitizeProjectFilename, loadProject);
|
|
router.post('/:filename/duplicate', validateProjectDuplicate, sanitizeProjectFilename, duplicateProjectFile);
|
|
router.put('/:filename/rename', validateProjectRename, sanitizeProjectFilename, renameProjectFile);
|
|
router.delete('/:filename', sanitizeProjectFilename, deleteProjectFile);
|
|
|
|
router.get('/info', getInfo);
|