stacker.news/lib/error.js

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 } })
}
}