Files
speckle-server/packages/server/logging/graphqlError.ts
T

23 lines
732 B
TypeScript

import { BaseError } from '@/modules/shared/errors'
import { isUserGraphqlError } from '@/modules/shared/helpers/graphqlHelper'
import { ApolloError } from '@apollo/client/core'
import { GraphQLError } from 'graphql'
export const shouldLogAsInfoLevel = (err: unknown): boolean => {
if (err instanceof GraphQLError) {
if (isUserGraphqlError(err)) return true
if (!!err.cause && shouldLogAsInfoLevel(err.cause)) return true
if (!!err.originalError && shouldLogAsInfoLevel(err.originalError)) return true
}
if (
err instanceof BaseError &&
!!err.info().statusCode &&
typeof err.info().statusCode === 'number' &&
err.info().statusCode < 500
)
return true
return err instanceof ApolloError
}