mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-15 04:13:47 +00:00
feat: wip for form
This commit is contained in:
@@ -189,6 +189,34 @@ export const postAliases = async (req: Request, res: Response) => {
|
||||
}
|
||||
};
|
||||
|
||||
// Update controller for PUT request to '/ontime/aliases'
|
||||
// Returns ACK message
|
||||
export const updateAliases = async (req: Request, res: Response) => {
|
||||
try {
|
||||
const { alias, enabled, pathAndParams } = req.body;
|
||||
|
||||
const aliases = DataProvider.getAliases();
|
||||
|
||||
const index = aliases.findIndex((a) => a.alias === alias);
|
||||
|
||||
if (index === -1) {
|
||||
return res.status(404).send({ message: `Alias ${alias} not found` });
|
||||
}
|
||||
|
||||
aliases[index] = {
|
||||
alias,
|
||||
enabled,
|
||||
pathAndParams,
|
||||
};
|
||||
|
||||
await DataProvider.setAliases(aliases);
|
||||
|
||||
res.status(200).send(aliases);
|
||||
} catch (error) {
|
||||
res.status(400).send({ message: String(error) });
|
||||
}
|
||||
};
|
||||
|
||||
// Create controller for GET request to '/ontime/userfields'
|
||||
// Returns -
|
||||
export const getUserFields = async (_req: Request, res: Response) => {
|
||||
|
||||
@@ -39,6 +39,21 @@ export const validateAliases = [
|
||||
},
|
||||
];
|
||||
|
||||
/**
|
||||
* @description Validates object for PUT /ontime/aliases
|
||||
*/
|
||||
export const validateUpdateAlises = [
|
||||
body('alias').isString().trim(),
|
||||
body('pathAndParams').isString().trim().optional(),
|
||||
body('enabled').isBoolean().optional(),
|
||||
|
||||
(req: Request, res: Response, next: NextFunction) => {
|
||||
const errors = validationResult(req);
|
||||
if (!errors.isEmpty()) return res.status(422).json({ errors: errors.array() });
|
||||
next();
|
||||
},
|
||||
];
|
||||
|
||||
/**
|
||||
* @description Validates object for POST /ontime/userfields
|
||||
*/
|
||||
|
||||
@@ -32,6 +32,7 @@ import {
|
||||
postId,
|
||||
getAuthentication,
|
||||
getClientSecrect as getClientSecret,
|
||||
updateAliases,
|
||||
} from '../controllers/ontimeController.js';
|
||||
|
||||
import {
|
||||
@@ -48,6 +49,7 @@ import {
|
||||
validateSheetid,
|
||||
validateWorksheet,
|
||||
validateSheetOptions,
|
||||
validateUpdateAlises,
|
||||
} from '../controllers/ontimeController.validate.js';
|
||||
import { projectSanitiser } from '../controllers/projectController.validate.js';
|
||||
import { sanitizeProjectFilename } from '../utils/sanitizeProjectFilename.js';
|
||||
@@ -87,6 +89,9 @@ router.get('/aliases', getAliases);
|
||||
// create route between controller and '/ontime/aliases' endpoint
|
||||
router.post('/aliases', validateAliases, postAliases);
|
||||
|
||||
// create route between controller and /ontime/aliases' endpoint
|
||||
router.put('/aliases', validateUpdateAlises, updateAliases);
|
||||
|
||||
// create route between controller and '/ontime/aliases' endpoint
|
||||
router.get('/userfields', getUserFields);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user