feat: wip for form

This commit is contained in:
Ary
2024-02-24 11:23:05 -07:00
parent ee3b3c0735
commit 165920b9f2
6 changed files with 115 additions and 61 deletions
@@ -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
*/
+5
View File
@@ -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);