lamassu-server/packages/server/lib/new-admin/graphql/errors.js
2025-12-31 19:04:13 +01:00

107 lines
2.1 KiB
JavaScript

const { GraphQLError } = require('graphql')
const { ApolloServerErrorCode } = require('@apollo/server/errors')
class AuthenticationError extends GraphQLError {
constructor() {
super('Authentication failed', {
extensions: {
code: 'UNAUTHENTICATED',
},
})
}
}
class InvalidCredentialsError extends GraphQLError {
constructor() {
super('Invalid credentials', {
extensions: {
code: 'INVALID_CREDENTIALS',
},
})
}
}
class UserAlreadyExistsError extends GraphQLError {
constructor() {
super('User already exists', {
extensions: {
code: 'USER_ALREADY_EXISTS',
},
})
}
}
class InvalidTwoFactorError extends GraphQLError {
constructor() {
super('Invalid two-factor code', {
extensions: {
code: 'INVALID_TWO_FACTOR_CODE',
},
})
}
}
class InvalidUrlError extends GraphQLError {
constructor() {
super('Invalid URL token', {
extensions: {
code: 'INVALID_URL_TOKEN',
},
})
}
}
class UserInputError extends GraphQLError {
constructor() {
super('User input error', {
extensions: {
code: ApolloServerErrorCode.BAD_USER_INPUT,
},
})
}
}
class ResourceNotFoundError extends GraphQLError {
constructor(details = {}) {
super('Resource not found', {
extensions: {
code: 'RESOURCE_NOT_FOUND',
...details,
},
})
}
}
class ResourceAlreadyExistsError extends GraphQLError {
constructor(details = {}) {
super('Resource already exists', {
extensions: {
code: 'RESOURCE_ALREADY_EXISTS',
...details,
},
})
}
}
class ResourceHasDependenciesError extends GraphQLError {
constructor(details = {}) {
super('Resource has dependencies', {
extensions: {
code: 'RESOURCE_HAS_DEPENDENCIES',
...details,
},
})
}
}
module.exports = {
AuthenticationError,
InvalidCredentialsError,
UserAlreadyExistsError,
InvalidTwoFactorError,
InvalidUrlError,
UserInputError,
ResourceNotFoundError,
ResourceAlreadyExistsError,
ResourceHasDependenciesError,
}