green-invoice-graphql
Version:
Graphql server for wrapping payper API
217 lines (216 loc) • 35.3 kB
JavaScript
import { compileQuery, isCompiledQuery } from 'graphql-jit';
import { AggregateError } from '@graphql-tools/utils';
import { getMesh } from '@graphql-mesh/runtime';
import { MeshStore, FsStoreStorageAdapter } from '@graphql-mesh/store';
import { join, relative, isAbsolute, dirname } from 'path';
import { fileURLToPath } from 'url';
import ExternalModule_0 from 'ts-node/register/transpile-only';
import ExternalModule_1 from '@graphql-mesh/cache-inmemory-lru';
import ExternalModule_2 from '@graphql-mesh/json-schema';
import ExternalModule_3 from '@graphql-mesh/merger-bare';
import ExternalModule_4 from './sources/GreenInvoice/jsonSchema.json.cjs';
const importedModules = {
// @ts-ignore
["ts-node/register/transpile-only"]: ExternalModule_0,
// @ts-ignore
["@graphql-mesh/cache-inmemory-lru"]: ExternalModule_1,
// @ts-ignore
["@graphql-mesh/json-schema"]: ExternalModule_2,
// @ts-ignore
["@graphql-mesh/merger-bare"]: ExternalModule_3,
// @ts-ignore
[".mesh/sources/GreenInvoice/jsonSchema.json.cjs"]: ExternalModule_4
};
const baseDir = join(dirname(fileURLToPath(import.meta.url)), '..');
const importFn = (moduleId) => {
const relativeModuleId = (isAbsolute(moduleId) ? relative(baseDir, moduleId) : moduleId).split('\\').join('/');
if (!(relativeModuleId in importedModules)) {
throw new Error(`Cannot find module '${relativeModuleId}'.`);
}
return Promise.resolve(importedModules[relativeModuleId]);
};
const rootStore = new MeshStore('.mesh', new FsStoreStorageAdapter({
cwd: baseDir,
importFn,
}), {
readonly: true,
validate: false
});
import 'ts-node/register/transpile-only';
import MeshCache from '@graphql-mesh/cache-inmemory-lru';
import { PubSub } from '@graphql-mesh/utils';
import { DefaultLogger } from '@graphql-mesh/utils';
import JsonSchemaHandler from '@graphql-mesh/json-schema';
import BareMerger from '@graphql-mesh/merger-bare';
import { resolveAdditionalResolvers } from '@graphql-mesh/utils';
export const rawConfig = { "sources": [{ "name": "GreenInvoice", "handler": { "jsonSchema": { "baseUrl": "https://api.greeninvoice.co.il/api/v1", "operationHeaders": { "Authorization": "Bearer {env.GREEN_INVOICE_AUTH_TOKEN}", "Content-Type": "application/json" }, "operations": [{ "type": "Mutation", "field": "addExpense", "path": "/expenses", "method": "POST", "requestSchema": "./src/json-schemas/greenInvoice.json#/definitions/addExpenseRequest", "responseSchema": "./src/json-schemas/greenInvoice.json#/definitions/addExpenseResponse" }, { "type": "Query", "field": "getExpense", "path": "/expenses/{args.id}", "method": "GET", "requestSchema": "./src/json-schemas/greenInvoice.json#/definitions/getExpenseRequest", "responseSchema": "./src/json-schemas/greenInvoice.json#/definitions/getExpenseResponse" }, { "type": "Query", "field": "updateExpense", "path": "/expenses/{args.id}", "method": "PUT", "requestSchema": "./src/json-schemas/greenInvoice.json#/definitions/updateExpenseRequest", "responseSchema": "./src/json-schemas/greenInvoice.json#/definitions/updateExpenseResponse" }, { "type": "Query", "field": "searchExpenses", "path": "/expenses/search", "method": "POST", "requestSchema": "./src/json-schemas/greenInvoice.json#/definitions/searchExpensesRequest", "responseSchema": "./src/json-schemas/greenInvoice.json#/definitions/searchExpensesResponse" }, { "type": "Mutation", "field": "addExpenseDraftByFile", "path": "/expenses/file", "method": "POST", "requestSchema": "./src/json-schemas/greenInvoice.json#/definitions/addExpenseDraftByFileRequest", "responseSchema": "./src/json-schemas/greenInvoice.json#/definitions/addExpenseDraftByFileResponse" }, { "type": "Query", "field": "searchExpenseDrafts", "path": "/expenses/drafts/search", "method": "POST", "requestSchema": "./src/json-schemas/greenInvoice.json#/definitions/searchExpenseDraftsRequest", "responseSchema": "./src/json-schemas/greenInvoice.json#/definitions/searchExpenseDraftsResponse" }] } } }], "serve": { "browser": false }, "sdk": { "generateOperations": { "selectionSetDepth": 2 } }, "require": ["ts-node/register/transpile-only"] };
export async function getMeshOptions() {
const cache = new MeshCache({
...(rawConfig.cache || {}),
store: rootStore.child('cache'),
});
const pubsub = new PubSub();
const sourcesStore = rootStore.child('sources');
const logger = new DefaultLogger('🕸️');
const sources = [];
const transforms = [];
const greenInvoiceTransforms = [];
const additionalTypeDefs = [];
const greenInvoiceHandler = new JsonSchemaHandler({
name: rawConfig.sources[0].name,
config: rawConfig.sources[0].handler["jsonSchema"],
baseDir,
cache,
pubsub,
store: sourcesStore.child(rawConfig.sources[0].name),
logger: logger.child(rawConfig.sources[0].name),
importFn
});
sources.push({
name: 'GreenInvoice',
handler: greenInvoiceHandler,
transforms: greenInvoiceTransforms
});
const merger = new BareMerger({
cache,
pubsub,
logger: logger.child('BareMerger'),
store: rootStore.child('bareMerger')
});
const additionalResolversRawConfig = [];
const additionalResolvers = await resolveAdditionalResolvers(baseDir, additionalResolversRawConfig, importFn, pubsub);
const liveQueryInvalidations = rawConfig.liveQueryInvalidations;
return {
sources,
transforms,
additionalTypeDefs,
additionalResolvers,
cache,
pubsub,
merger,
logger,
liveQueryInvalidations,
};
}
export const documentsInSDL = /*#__PURE__*/ [];
export async function getBuiltMesh() {
const meshConfig = await getMeshOptions();
return getMesh(meshConfig);
}
export async function getMeshSDK(sdkOptions) {
const { schema } = await getBuiltMesh();
return getSdk(schema, {
jitOptions: {
disableLeafSerialization: true,
disablingCapturingStackErrors: true
},
...sdkOptions,
});
}
export const getExpense_queryDocument = { "kind": "Document", "definitions": [{ "kind": "OperationDefinition", "operation": "query", "name": { "kind": "Name", "value": "getExpense_query" }, "variableDefinitions": [{ "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "input" } }, "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "getExpenseRequest_Input" } } }, { "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "id" } }, "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "ID" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "getExpense" }, "arguments": [{ "kind": "Argument", "name": { "kind": "Name", "value": "input" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "input" } } }, { "kind": "Argument", "name": { "kind": "Name", "value": "id" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "id" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "id" } }, { "kind": "Field", "name": { "kind": "Name", "value": "businessType" } }, { "kind": "Field", "name": { "kind": "Name", "value": "documentType" } }, { "kind": "Field", "name": { "kind": "Name", "value": "status" } }, { "kind": "Field", "name": { "kind": "Name", "value": "paymentType" } }, { "kind": "Field", "name": { "kind": "Name", "value": "currency" } }, { "kind": "Field", "name": { "kind": "Name", "value": "currencyRate" } }, { "kind": "Field", "name": { "kind": "Name", "value": "amountExcludeVat" } }, { "kind": "Field", "name": { "kind": "Name", "value": "vat" } }, { "kind": "Field", "name": { "kind": "Name", "value": "amount" } }, { "kind": "Field", "name": { "kind": "Name", "value": "date" } }, { "kind": "Field", "name": { "kind": "Name", "value": "dueDate" } }, { "kind": "Field", "name": { "kind": "Name", "value": "number" } }, { "kind": "Field", "name": { "kind": "Name", "value": "active" } }, { "kind": "Field", "name": { "kind": "Name", "value": "description" } }, { "kind": "Field", "name": { "kind": "Name", "value": "remarks" } }, { "kind": "Field", "name": { "kind": "Name", "value": "supplier" }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "id" } }, { "kind": "Field", "name": { "kind": "Name", "value": "name" } }, { "kind": "Field", "name": { "kind": "Name", "value": "active" } }, { "kind": "Field", "name": { "kind": "Name", "value": "taxId" } }, { "kind": "Field", "name": { "kind": "Name", "value": "paymentTerms" } }, { "kind": "Field", "name": { "kind": "Name", "value": "bankName" } }, { "kind": "Field", "name": { "kind": "Name", "value": "bankBranch" } }, { "kind": "Field", "name": { "kind": "Name", "value": "bankAccount" } }, { "kind": "Field", "name": { "kind": "Name", "value": "country" } }, { "kind": "Field", "name": { "kind": "Name", "value": "phone" } }, { "kind": "Field", "name": { "kind": "Name", "value": "mobile" } }, { "kind": "Field", "name": { "kind": "Name", "value": "contactPerson" } }, { "kind": "Field", "name": { "kind": "Name", "value": "emails" } }, { "kind": "Field", "name": { "kind": "Name", "value": "labels" } }, { "kind": "Field", "name": { "kind": "Name", "value": "creationDate" } }, { "kind": "Field", "name": { "kind": "Name", "value": "lastUpdateDate" } }, { "kind": "Field", "name": { "kind": "Name", "value": "department" } }, { "kind": "Field", "name": { "kind": "Name", "value": "accountingKey" } }, { "kind": "Field", "name": { "kind": "Name", "value": "address" } }, { "kind": "Field", "name": { "kind": "Name", "value": "city" } }, { "kind": "Field", "name": { "kind": "Name", "value": "zip" } }, { "kind": "Field", "name": { "kind": "Name", "value": "fax" } }, { "kind": "Field", "name": { "kind": "Name", "value": "remarks" } }, { "kind": "Field", "name": { "kind": "Name", "value": "incomeAmount" } }, { "kind": "Field", "name": { "kind": "Name", "value": "paymentAmount" } }, { "kind": "Field", "name": { "kind": "Name", "value": "balanceAmount" } }] } }, { "kind": "Field", "name": { "kind": "Name", "value": "thumbnail" } }, { "kind": "Field", "name": { "kind": "Name", "value": "url" } }, { "kind": "Field", "name": { "kind": "Name", "value": "cancellable" } }, { "kind": "Field", "name": { "kind": "Name", "value": "reportingDate" } }, { "kind": "Field", "name": { "kind": "Name", "value": "accountingClassification" }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "id" } }, { "kind": "Field", "name": { "kind": "Name", "value": "key" } }, { "kind": "Field", "name": { "kind": "Name", "value": "code" } }, { "kind": "Field", "name": { "kind": "Name", "value": "title" } }, { "kind": "Field", "name": { "kind": "Name", "value": "irsCode" } }, { "kind": "Field", "name": { "kind": "Name", "value": "income" } }, { "kind": "Field", "name": { "kind": "Name", "value": "type" } }, { "kind": "Field", "name": { "kind": "Name", "value": "vat" } }] } }, { "kind": "Field", "name": { "kind": "Name", "value": "amountLocal" } }, { "kind": "Field", "name": { "kind": "Name", "value": "amountAccounting" } }, { "kind": "Field", "name": { "kind": "Name", "value": "vatAccounting" } }, { "kind": "Field", "name": { "kind": "Name", "value": "creationDate" } }, { "kind": "Field", "name": { "kind": "Name", "value": "lastUpdateDate" } }] } }] } }] };
export const updateExpense_queryDocument = { "kind": "Document", "definitions": [{ "kind": "OperationDefinition", "operation": "query", "name": { "kind": "Name", "value": "updateExpense_query" }, "variableDefinitions": [{ "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "input" } }, "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "updateExpenseRequest_Input" } } }, { "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "id" } }, "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "ID" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "updateExpense" }, "arguments": [{ "kind": "Argument", "name": { "kind": "Name", "value": "input" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "input" } } }, { "kind": "Argument", "name": { "kind": "Name", "value": "id" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "id" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "InlineFragment", "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "GetExpense" } }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "id" } }, { "kind": "Field", "name": { "kind": "Name", "value": "businessType" } }, { "kind": "Field", "name": { "kind": "Name", "value": "documentType" } }, { "kind": "Field", "name": { "kind": "Name", "value": "status" } }, { "kind": "Field", "name": { "kind": "Name", "value": "paymentType" } }, { "kind": "Field", "name": { "kind": "Name", "value": "currency" } }, { "kind": "Field", "name": { "kind": "Name", "value": "currencyRate" } }, { "kind": "Field", "name": { "kind": "Name", "value": "amountExcludeVat" } }, { "kind": "Field", "name": { "kind": "Name", "value": "vat" } }, { "kind": "Field", "name": { "kind": "Name", "value": "amount" } }, { "kind": "Field", "name": { "kind": "Name", "value": "date" } }, { "kind": "Field", "name": { "kind": "Name", "value": "dueDate" } }, { "kind": "Field", "name": { "kind": "Name", "value": "number" } }, { "kind": "Field", "name": { "kind": "Name", "value": "active" } }, { "kind": "Field", "name": { "kind": "Name", "value": "description" } }, { "kind": "Field", "name": { "kind": "Name", "value": "remarks" } }, { "kind": "Field", "name": { "kind": "Name", "value": "supplier" }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "id" } }, { "kind": "Field", "name": { "kind": "Name", "value": "name" } }, { "kind": "Field", "name": { "kind": "Name", "value": "active" } }, { "kind": "Field", "name": { "kind": "Name", "value": "taxId" } }, { "kind": "Field", "name": { "kind": "Name", "value": "paymentTerms" } }, { "kind": "Field", "name": { "kind": "Name", "value": "bankName" } }, { "kind": "Field", "name": { "kind": "Name", "value": "bankBranch" } }, { "kind": "Field", "name": { "kind": "Name", "value": "bankAccount" } }, { "kind": "Field", "name": { "kind": "Name", "value": "country" } }, { "kind": "Field", "name": { "kind": "Name", "value": "phone" } }, { "kind": "Field", "name": { "kind": "Name", "value": "mobile" } }, { "kind": "Field", "name": { "kind": "Name", "value": "contactPerson" } }, { "kind": "Field", "name": { "kind": "Name", "value": "emails" } }, { "kind": "Field", "name": { "kind": "Name", "value": "labels" } }, { "kind": "Field", "name": { "kind": "Name", "value": "creationDate" } }, { "kind": "Field", "name": { "kind": "Name", "value": "lastUpdateDate" } }, { "kind": "Field", "name": { "kind": "Name", "value": "department" } }, { "kind": "Field", "name": { "kind": "Name", "value": "accountingKey" } }, { "kind": "Field", "name": { "kind": "Name", "value": "address" } }, { "kind": "Field", "name": { "kind": "Name", "value": "city" } }, { "kind": "Field", "name": { "kind": "Name", "value": "zip" } }, { "kind": "Field", "name": { "kind": "Name", "value": "fax" } }, { "kind": "Field", "name": { "kind": "Name", "value": "remarks" } }, { "kind": "Field", "name": { "kind": "Name", "value": "incomeAmount" } }, { "kind": "Field", "name": { "kind": "Name", "value": "paymentAmount" } }, { "kind": "Field", "name": { "kind": "Name", "value": "balanceAmount" } }] } }, { "kind": "Field", "name": { "kind": "Name", "value": "thumbnail" } }, { "kind": "Field", "name": { "kind": "Name", "value": "url" } }, { "kind": "Field", "name": { "kind": "Name", "value": "cancellable" } }, { "kind": "Field", "name": { "kind": "Name", "value": "reportingDate" } }, { "kind": "Field", "name": { "kind": "Name", "value": "accountingClassification" }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "id" } }, { "kind": "Field", "name": { "kind": "Name", "value": "key" } }, { "kind": "Field", "name": { "kind": "Name", "value": "code" } }, { "kind": "Field", "name": { "kind": "Name", "value": "title" } }, { "kind": "Field", "name": { "kind": "Name", "value": "irsCode" } }, { "kind": "Field", "name": { "kind": "Name", "value": "income" } }, { "kind": "Field", "name": { "kind": "Name", "value": "type" } }, { "kind": "Field", "name": { "kind": "Name", "value": "vat" } }] } }, { "kind": "Field", "name": { "kind": "Name", "value": "amountLocal" } }, { "kind": "Field", "name": { "kind": "Name", "value": "amountAccounting" } }, { "kind": "Field", "name": { "kind": "Name", "value": "vatAccounting" } }, { "kind": "Field", "name": { "kind": "Name", "value": "creationDate" } }, { "kind": "Field", "name": { "kind": "Name", "value": "lastUpdateDate" } }] } }, { "kind": "InlineFragment", "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "ErrorResponse" } }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "errorCode" } }, { "kind": "Field", "name": { "kind": "Name", "value": "errorMessage" } }] } }] } }] } }] };
export const searchExpenses_queryDocument = { "kind": "Document", "definitions": [{ "kind": "OperationDefinition", "operation": "query", "name": { "kind": "Name", "value": "searchExpenses_query" }, "variableDefinitions": [{ "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "input" } }, "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "searchExpensesRequest_Input" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "searchExpenses" }, "arguments": [{ "kind": "Argument", "name": { "kind": "Name", "value": "input" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "input" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "total" } }, { "kind": "Field", "name": { "kind": "Name", "value": "page" } }, { "kind": "Field", "name": { "kind": "Name", "value": "pageSize" } }, { "kind": "Field", "name": { "kind": "Name", "value": "pages" } }, { "kind": "Field", "name": { "kind": "Name", "value": "items" }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "id" } }, { "kind": "Field", "name": { "kind": "Name", "value": "businessType" } }, { "kind": "Field", "name": { "kind": "Name", "value": "documentType" } }, { "kind": "Field", "name": { "kind": "Name", "value": "status" } }, { "kind": "Field", "name": { "kind": "Name", "value": "paymentType" } }, { "kind": "Field", "name": { "kind": "Name", "value": "currency" } }, { "kind": "Field", "name": { "kind": "Name", "value": "currencyRate" } }, { "kind": "Field", "name": { "kind": "Name", "value": "amountExcludeVat" } }, { "kind": "Field", "name": { "kind": "Name", "value": "vat" } }, { "kind": "Field", "name": { "kind": "Name", "value": "amount" } }, { "kind": "Field", "name": { "kind": "Name", "value": "date" } }, { "kind": "Field", "name": { "kind": "Name", "value": "dueDate" } }, { "kind": "Field", "name": { "kind": "Name", "value": "number" } }, { "kind": "Field", "name": { "kind": "Name", "value": "active" } }, { "kind": "Field", "name": { "kind": "Name", "value": "description" } }, { "kind": "Field", "name": { "kind": "Name", "value": "remarks" } }, { "kind": "Field", "name": { "kind": "Name", "value": "thumbnail" } }, { "kind": "Field", "name": { "kind": "Name", "value": "url" } }, { "kind": "Field", "name": { "kind": "Name", "value": "cancellable" } }, { "kind": "Field", "name": { "kind": "Name", "value": "reportingDate" } }, { "kind": "Field", "name": { "kind": "Name", "value": "amountLocal" } }, { "kind": "Field", "name": { "kind": "Name", "value": "amountAccounting" } }, { "kind": "Field", "name": { "kind": "Name", "value": "vatAccounting" } }, { "kind": "Field", "name": { "kind": "Name", "value": "creationDate" } }, { "kind": "Field", "name": { "kind": "Name", "value": "lastUpdateDate" } }] } }] } }] } }] };
export const searchExpenseDrafts_queryDocument = { "kind": "Document", "definitions": [{ "kind": "OperationDefinition", "operation": "query", "name": { "kind": "Name", "value": "searchExpenseDrafts_query" }, "variableDefinitions": [{ "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "input" } }, "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "searchExpenseDraftsRequest_Input" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "searchExpenseDrafts" }, "arguments": [{ "kind": "Argument", "name": { "kind": "Name", "value": "input" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "input" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "total" } }, { "kind": "Field", "name": { "kind": "Name", "value": "page" } }, { "kind": "Field", "name": { "kind": "Name", "value": "pageSize" } }, { "kind": "Field", "name": { "kind": "Name", "value": "pages" } }, { "kind": "Field", "name": { "kind": "Name", "value": "items" }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "currency" } }, { "kind": "Field", "name": { "kind": "Name", "value": "currencyRate" } }, { "kind": "Field", "name": { "kind": "Name", "value": "vat" } }, { "kind": "Field", "name": { "kind": "Name", "value": "amount" } }, { "kind": "Field", "name": { "kind": "Name", "value": "description" } }, { "kind": "Field", "name": { "kind": "Name", "value": "fileHash" } }, { "kind": "Field", "name": { "kind": "Name", "value": "fileKey" } }] } }] } }] } }] };
export const addExpense_mutationDocument = { "kind": "Document", "definitions": [{ "kind": "OperationDefinition", "operation": "mutation", "name": { "kind": "Name", "value": "addExpense_mutation" }, "variableDefinitions": [{ "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "input" } }, "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "Expense_Input" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "addExpense" }, "arguments": [{ "kind": "Argument", "name": { "kind": "Name", "value": "input" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "input" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "InlineFragment", "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "Expense" } }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "paymentType" } }, { "kind": "Field", "name": { "kind": "Name", "value": "currency" } }, { "kind": "Field", "name": { "kind": "Name", "value": "currencyRate" } }, { "kind": "Field", "name": { "kind": "Name", "value": "vat" } }, { "kind": "Field", "name": { "kind": "Name", "value": "amount" } }, { "kind": "Field", "name": { "kind": "Name", "value": "date" } }, { "kind": "Field", "name": { "kind": "Name", "value": "dueDate" } }, { "kind": "Field", "name": { "kind": "Name", "value": "reportingDate" } }, { "kind": "Field", "name": { "kind": "Name", "value": "documentType" } }, { "kind": "Field", "name": { "kind": "Name", "value": "number" } }, { "kind": "Field", "name": { "kind": "Name", "value": "description" } }, { "kind": "Field", "name": { "kind": "Name", "value": "remarks" } }, { "kind": "Field", "name": { "kind": "Name", "value": "supplier" }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "id" } }, { "kind": "Field", "name": { "kind": "Name", "value": "name" } }, { "kind": "Field", "name": { "kind": "Name", "value": "active" } }, { "kind": "Field", "name": { "kind": "Name", "value": "taxId" } }, { "kind": "Field", "name": { "kind": "Name", "value": "paymentTerms" } }, { "kind": "Field", "name": { "kind": "Name", "value": "bankName" } }, { "kind": "Field", "name": { "kind": "Name", "value": "bankBranch" } }, { "kind": "Field", "name": { "kind": "Name", "value": "bankAccount" } }, { "kind": "Field", "name": { "kind": "Name", "value": "country" } }, { "kind": "Field", "name": { "kind": "Name", "value": "phone" } }, { "kind": "Field", "name": { "kind": "Name", "value": "mobile" } }, { "kind": "Field", "name": { "kind": "Name", "value": "contactPerson" } }, { "kind": "Field", "name": { "kind": "Name", "value": "emails" } }, { "kind": "Field", "name": { "kind": "Name", "value": "labels" } }, { "kind": "Field", "name": { "kind": "Name", "value": "creationDate" } }, { "kind": "Field", "name": { "kind": "Name", "value": "lastUpdateDate" } }, { "kind": "Field", "name": { "kind": "Name", "value": "department" } }, { "kind": "Field", "name": { "kind": "Name", "value": "accountingKey" } }, { "kind": "Field", "name": { "kind": "Name", "value": "address" } }, { "kind": "Field", "name": { "kind": "Name", "value": "city" } }, { "kind": "Field", "name": { "kind": "Name", "value": "zip" } }, { "kind": "Field", "name": { "kind": "Name", "value": "fax" } }, { "kind": "Field", "name": { "kind": "Name", "value": "remarks" } }, { "kind": "Field", "name": { "kind": "Name", "value": "incomeAmount" } }, { "kind": "Field", "name": { "kind": "Name", "value": "paymentAmount" } }, { "kind": "Field", "name": { "kind": "Name", "value": "balanceAmount" } }] } }, { "kind": "Field", "name": { "kind": "Name", "value": "accountingClassification" }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "id" } }, { "kind": "Field", "name": { "kind": "Name", "value": "key" } }, { "kind": "Field", "name": { "kind": "Name", "value": "code" } }, { "kind": "Field", "name": { "kind": "Name", "value": "title" } }, { "kind": "Field", "name": { "kind": "Name", "value": "irsCode" } }, { "kind": "Field", "name": { "kind": "Name", "value": "income" } }, { "kind": "Field", "name": { "kind": "Name", "value": "type" } }, { "kind": "Field", "name": { "kind": "Name", "value": "vat" } }] } }, { "kind": "Field", "name": { "kind": "Name", "value": "active" } }, { "kind": "Field", "name": { "kind": "Name", "value": "addRecipient" } }, { "kind": "Field", "name": { "kind": "Name", "value": "addAccountingClassification" } }] } }, { "kind": "InlineFragment", "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "ErrorResponse" } }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "errorCode" } }, { "kind": "Field", "name": { "kind": "Name", "value": "errorMessage" } }] } }] } }] } }] };
export const addExpenseDraftByFile_mutationDocument = { "kind": "Document", "definitions": [{ "kind": "OperationDefinition", "operation": "mutation", "name": { "kind": "Name", "value": "addExpenseDraftByFile_mutation" }, "variableDefinitions": [{ "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "input" } }, "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "addExpenseDraftByFileRequest_Input" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "addExpenseDraftByFile" }, "arguments": [{ "kind": "Argument", "name": { "kind": "Name", "value": "input" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "input" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "id" } }, { "kind": "Field", "name": { "kind": "Name", "value": "status" } }, { "kind": "Field", "name": { "kind": "Name", "value": "creationDate" } }, { "kind": "Field", "name": { "kind": "Name", "value": "lastUpdateDate" } }, { "kind": "Field", "name": { "kind": "Name", "value": "expense" }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "paymentType" } }, { "kind": "Field", "name": { "kind": "Name", "value": "currency" } }, { "kind": "Field", "name": { "kind": "Name", "value": "currencyRate" } }, { "kind": "Field", "name": { "kind": "Name", "value": "vat" } }, { "kind": "Field", "name": { "kind": "Name", "value": "amount" } }, { "kind": "Field", "name": { "kind": "Name", "value": "date" } }, { "kind": "Field", "name": { "kind": "Name", "value": "dueDate" } }, { "kind": "Field", "name": { "kind": "Name", "value": "reportingDate" } }, { "kind": "Field", "name": { "kind": "Name", "value": "documentType" } }, { "kind": "Field", "name": { "kind": "Name", "value": "number" } }, { "kind": "Field", "name": { "kind": "Name", "value": "description" } }, { "kind": "Field", "name": { "kind": "Name", "value": "remarks" } }, { "kind": "Field", "name": { "kind": "Name", "value": "active" } }, { "kind": "Field", "name": { "kind": "Name", "value": "addRecipient" } }, { "kind": "Field", "name": { "kind": "Name", "value": "addAccountingClassification" } }] } }, { "kind": "Field", "name": { "kind": "Name", "value": "thumbnail" } }, { "kind": "Field", "name": { "kind": "Name", "value": "url" } }] } }] } }] };
function handleExecutionResult(result, operationName) {
if (result.errors) {
const originalErrors = result.errors.map(error => error.originalError || error);
throw new AggregateError(originalErrors, `Failed to execute ${operationName}: \n\t${originalErrors.join('\n\t')}`);
}
return result.data;
}
export function getSdk(schema, { globalContext, globalRoot, jitOptions = {} } = {}) {
const getExpense_queryCompiled = compileQuery(schema, getExpense_queryDocument, 'getExpense_query', jitOptions);
if (!(isCompiledQuery(getExpense_queryCompiled))) {
const originalErrors = getExpense_queryCompiled?.errors?.map(error => error.originalError || error) || [];
throw new AggregateError(originalErrors, `Failed to compile getExpense_query: \n\t${originalErrors.join('\n\t')}`);
}
const updateExpense_queryCompiled = compileQuery(schema, updateExpense_queryDocument, 'updateExpense_query', jitOptions);
if (!(isCompiledQuery(updateExpense_queryCompiled))) {
const originalErrors = updateExpense_queryCompiled?.errors?.map(error => error.originalError || error) || [];
throw new AggregateError(originalErrors, `Failed to compile updateExpense_query: \n\t${originalErrors.join('\n\t')}`);
}
const searchExpenses_queryCompiled = compileQuery(schema, searchExpenses_queryDocument, 'searchExpenses_query', jitOptions);
if (!(isCompiledQuery(searchExpenses_queryCompiled))) {
const originalErrors = searchExpenses_queryCompiled?.errors?.map(error => error.originalError || error) || [];
throw new AggregateError(originalErrors, `Failed to compile searchExpenses_query: \n\t${originalErrors.join('\n\t')}`);
}
const searchExpenseDrafts_queryCompiled = compileQuery(schema, searchExpenseDrafts_queryDocument, 'searchExpenseDrafts_query', jitOptions);
if (!(isCompiledQuery(searchExpenseDrafts_queryCompiled))) {
const originalErrors = searchExpenseDrafts_queryCompiled?.errors?.map(error => error.originalError || error) || [];
throw new AggregateError(originalErrors, `Failed to compile searchExpenseDrafts_query: \n\t${originalErrors.join('\n\t')}`);
}
const addExpense_mutationCompiled = compileQuery(schema, addExpense_mutationDocument, 'addExpense_mutation', jitOptions);
if (!(isCompiledQuery(addExpense_mutationCompiled))) {
const originalErrors = addExpense_mutationCompiled?.errors?.map(error => error.originalError || error) || [];
throw new AggregateError(originalErrors, `Failed to compile addExpense_mutation: \n\t${originalErrors.join('\n\t')}`);
}
const addExpenseDraftByFile_mutationCompiled = compileQuery(schema, addExpenseDraftByFile_mutationDocument, 'addExpenseDraftByFile_mutation', jitOptions);
if (!(isCompiledQuery(addExpenseDraftByFile_mutationCompiled))) {
const originalErrors = addExpenseDraftByFile_mutationCompiled?.errors?.map(error => error.originalError || error) || [];
throw new AggregateError(originalErrors, `Failed to compile addExpenseDraftByFile_mutation: \n\t${originalErrors.join('\n\t')}`);
}
return {
async getExpense_query(variables, context, root) {
const result = await getExpense_queryCompiled.query({
...globalRoot,
...root
}, {
...globalContext,
...context
}, variables);
return handleExecutionResult(result, 'getExpense_query');
},
async updateExpense_query(variables, context, root) {
const result = await updateExpense_queryCompiled.query({
...globalRoot,
...root
}, {
...globalContext,
...context
}, variables);
return handleExecutionResult(result, 'updateExpense_query');
},
async searchExpenses_query(variables, context, root) {
const result = await searchExpenses_queryCompiled.query({
...globalRoot,
...root
}, {
...globalContext,
...context
}, variables);
return handleExecutionResult(result, 'searchExpenses_query');
},
async searchExpenseDrafts_query(variables, context, root) {
const result = await searchExpenseDrafts_queryCompiled.query({
...globalRoot,
...root
}, {
...globalContext,
...context
}, variables);
return handleExecutionResult(result, 'searchExpenseDrafts_query');
},
async addExpense_mutation(variables, context, root) {
const result = await addExpense_mutationCompiled.query({
...globalRoot,
...root
}, {
...globalContext,
...context
}, variables);
return handleExecutionResult(result, 'addExpense_mutation');
},
async addExpenseDraftByFile_mutation(variables, context, root) {
const result = await addExpenseDraftByFile_mutationCompiled.query({
...globalRoot,
...root
}, {
...globalContext,
...context
}, variables);
return handleExecutionResult(result, 'addExpenseDraftByFile_mutation');
}
};
}