import { CompanyInput, CreateCompanyResponse, FindCompanyResponse, } from '~/db/types/company.types'; import { Company, CompanyFilterInput } from '~/generated/graphql'; import { CREATE_COMPANY } from '~/graphql/company/mutations'; import { FIND_COMPANY } from '~/graphql/company/queries'; import { isDefined } from '~/utils/isDefined'; import { callMutation, callQuery } from '../utils/requestDb'; export const fetchCompany = async ( companyfilerInput: CompanyFilterInput, ): Promise => { const data = await callQuery(FIND_COMPANY, { filter: { ...companyfilerInput, }, }); if (isDefined(data?.companies.edges)) { return data.companies.edges.length > 0 ? isDefined(data.companies.edges[0].node) ? data.companies.edges[0].node : null : null; } return null; }; export const createCompany = async ( company: CompanyInput, ): Promise => { const data = await callMutation(CREATE_COMPANY, { input: company, }); if (isDefined(data)) { return data.createCompany.id; } return null; };