dh_demo

DreamHanks demo project
git clone git://git.lair.cx/dh_demo
Log | Files | Refs | README

apierror.ts (1022B)


      1 /* eslint sort-vars: "error" */
      2 
      3 import {
      4   ERR_CODE_BAD_ID,
      5   ERR_CODE_FORBIDDEN,
      6   ERR_CODE_INTERNAL,
      7   ERR_CODE_INVALID_REQUEST,
      8   ERR_CODE_METHOD_NOT_ALLOWED,
      9   ERR_CODE_NOT_FOUND,
     10   ERR_CODE_UNAUTHORIZED,
     11 } from '@/lib/error_codes'
     12 
     13 export interface ApiError {
     14   code: string
     15   message?: string
     16 }
     17 
     18 export function isApiError (obj: any): obj is ApiError {
     19   return obj.code != null
     20 }
     21 
     22 function newErr (code: string, message?: string): ApiError {
     23   return { code, message }
     24 }
     25 
     26 export const
     27   ERR_BAD_ID = newErr(ERR_CODE_BAD_ID, 'Bad ID'),
     28   ERR_FORBIDDEN = newErr(ERR_CODE_FORBIDDEN, 'Forbidden'),
     29   ERR_INTERNAL = newErr(ERR_CODE_INTERNAL, 'Internal Error'),
     30   ERR_INVALID_ACL = newErr(ERR_CODE_INVALID_REQUEST, 'Invalid ACL'),
     31   ERR_INVALID_REQUEST = newErr(ERR_CODE_INVALID_REQUEST, 'Invalid request'),
     32   ERR_METHOD_NOT_ALLOWED = newErr(ERR_CODE_METHOD_NOT_ALLOWED, 'Method Not Allowed'),
     33   ERR_NOT_FOUND = newErr(ERR_CODE_NOT_FOUND, 'Not Found'),
     34   ERR_UNAUTHORIZED = newErr(ERR_CODE_UNAUTHORIZED, 'Unauthorized')