UNPKG

@accounter/server

Version:
34 lines (32 loc) 1.29 kB
import { GraphQLError } from 'graphql'; import { dateToTimelessDateString } from '../../../shared/helpers/index.js'; import { CorporateTaxesProvider } from '../providers/corporate-taxes.provider.js'; import type { CorporateTaxesModule } from '../types.js'; export const corporateTaxesResolvers: CorporateTaxesModule.Resolvers = { Query: { corporateTaxByDate: async (_, { date }, { injector }) => { try { return await injector .get(CorporateTaxesProvider) .getCorporateTaxesByDateLoader.load(date) .then(res => { if (!res) { console.error(`Error fetching corporate taxes for date ${date}`); throw new Error('Corporate tax not found'); } return res; }); } catch (e) { console.error('Error fetching corporate taxes', e); throw new GraphQLError((e as Error)?.message ?? 'Error fetching corporate taxes'); } }, }, CorporateTax: { id: corporateTax => `${corporateTax.corporate_id}|${dateToTimelessDateString(corporateTax.date)}`, corporateId: corporateTax => corporateTax.corporate_id, date: corporateTax => dateToTimelessDateString(corporateTax.date), taxRate: corporateTax => Number(corporateTax.tax_rate), }, };