diff --git a/api/src/logger/errors.js b/api/src/logger/errors.js new file mode 100644 index 000000000..b1085fedf --- /dev/null +++ b/api/src/logger/errors.js @@ -0,0 +1,19 @@ +export class AuthentificationError extends Error { + code = 401 + message = 'Autentification not found, you have to be authentificated to perform this action' +} + +export class DatabaseError extends Error { + code = 404 + message = 'Ressource not found : ' + this.message +} + +export class WrongArgumentsError extends Error { + code = 400 + message = 'Wrong arguments : ' + this.message +} + +export class ServiceUnavailableError extends Error { + code = 503 + message = 'At least one service is unresponding ' + this.message +} diff --git a/api/src/logger/index.js b/api/src/logger/index.js index 3ed2a8e70..2a68e3bfc 100644 --- a/api/src/logger/index.js +++ b/api/src/logger/index.js @@ -1,6 +1,8 @@ import { createLogger, format, transports } from 'winston' import { inspect } from 'util' +import { AuthentificationError, DatabaseError, WrongArgumentsError, ServiceUnavailableError } from './errors' + class LoggerService { constructor() { const winstonTransports = [ @@ -28,4 +30,4 @@ class LoggerService { } export const logger = new LoggerService() // Default logger -export { LoggerService } +export { LoggerService, AuthentificationError, DatabaseError, WrongArgumentsError, ServiceUnavailableError }