import path from 'path' import { Decimal } from 'decimal.js-light' import { GraphQLSchema } from 'graphql' import { buildSchema } from 'type-graphql' import { isAuthorized } from './directive/isAuthorized' import { DecimalScalar } from './scalar/Decimal' export const schema = async (): Promise => { return buildSchema({ resolvers: [path.join(__dirname, 'resolver', `!(*.test).{js,ts}`)], authChecker: isAuthorized, scalarsMap: [{ type: Decimal, scalar: DecimalScalar }], validate: { validationError: { target: false }, skipMissingProperties: true, skipNullProperties: true, skipUndefinedProperties: false, forbidUnknownValues: true, stopAtFirstError: true, }, }) }