Refaktor, rozdělení api, zpřehlednění kódu
This commit is contained in:
@@ -39,5 +39,48 @@ export function getIsWeekend(date: Date) {
|
||||
return index == 5 || index == 6;
|
||||
}
|
||||
|
||||
/**
|
||||
* Vrátí JWT token z hlaviček, pokud ho obsahují.
|
||||
*
|
||||
* @param req request
|
||||
* @returns token, pokud ho hlavičky requestu obsahují
|
||||
*/
|
||||
export const parseToken = (req: any) => {
|
||||
if (req?.headers?.authorization) {
|
||||
return req.headers.authorization.split(' ')[1];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Ověří přítomnost (not null) předaných parametrů v URL query.
|
||||
* V případě nepřítomnosti kteréhokoli parametru vyhodí chybu.
|
||||
*
|
||||
* @param req request
|
||||
* @param paramNames pole názvů požadovaných parametrů
|
||||
*/
|
||||
export const checkQueryParams = (req: any, paramNames: string[]) => {
|
||||
for (const name of paramNames) {
|
||||
if (req.query[name] == null) {
|
||||
throw Error(`Nebyl předán parametr '${name}' v query požadavku`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Ověří přítomnost (not null) předaných parametrů v těle requestu.
|
||||
* V případě nepřítomnosti kteréhokoli parametru vyhodí chybu.
|
||||
*
|
||||
* @param req request
|
||||
* @param paramNames pole názvů požadovaných parametrů
|
||||
*/
|
||||
export const checkBodyParams = (req: any, paramNames: string[]) => {
|
||||
for (const name of paramNames) {
|
||||
if (req.body[name] == null) {
|
||||
throw Error(`Nebyl předán parametr '${name}' v těle požadavku`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// TODO umístit do samostatného souboru
|
||||
export class InsufficientPermissions extends Error { }
|
||||
Reference in New Issue
Block a user