25 lines
699 B
JavaScript
25 lines
699 B
JavaScript
import { GraphQLError } from 'graphql'
|
|
|
|
export const E_FORBIDDEN = 'E_FORBIDDEN'
|
|
export const E_UNAUTHENTICATED = 'E_UNAUTHENTICATED'
|
|
export const E_BAD_INPUT = 'E_BAD_INPUT'
|
|
export const E_VAULT_KEY_EXISTS = 'E_VAULT_KEY_EXISTS'
|
|
|
|
export class GqlAuthorizationError extends GraphQLError {
|
|
constructor (message) {
|
|
super(message, { extensions: { code: E_FORBIDDEN } })
|
|
}
|
|
}
|
|
|
|
export class GqlAuthenticationError extends GraphQLError {
|
|
constructor () {
|
|
super('you must be logged in', { extensions: { code: E_UNAUTHENTICATED } })
|
|
}
|
|
}
|
|
|
|
export class GqlInputError extends GraphQLError {
|
|
constructor (message, code) {
|
|
super(message, { extensions: { code: code || E_BAD_INPUT } })
|
|
}
|
|
}
|