Add exceptions for metadata modules (#6070)

Class exception for each metadata module + handler to map on graphql
error

TODO left :
- find a way to call handler on auto-resolvers nestjs query (probably
interceptors)
- discuss what should be done for pre-hooks errors
- discuss what should be done for Unauthorized exception
This commit is contained in:
Thomas Trompette
2024-07-01 13:49:17 +02:00
committed by GitHub
parent 4599f43b6c
commit a15884ea0a
48 changed files with 815 additions and 199 deletions

View File

@ -1,5 +1,7 @@
import { InvalidStringException } from 'src/engine/metadata-modules/errors/InvalidStringException';
import { validateMetadataName } from 'src/engine/metadata-modules/utils/validate-metadata-name.utils';
import {
validateMetadataName,
InvalidStringException,
} from 'src/engine/metadata-modules/utils/validate-metadata-name.utils';
describe('validateMetadataName', () => {
it('does not throw if string is valid', () => {

View File

@ -1,5 +1,3 @@
import { InvalidStringException } from 'src/engine/metadata-modules/errors/InvalidStringException';
const VALID_STRING_PATTERN = /^[a-z][a-zA-Z0-9]*$/;
export const validateMetadataName = (string: string) => {
@ -7,3 +5,11 @@ export const validateMetadataName = (string: string) => {
throw new InvalidStringException(string);
}
};
export class InvalidStringException extends Error {
constructor(string: string) {
const message = `String "${string}" is not valid`;
super(message);
}
}