UNPKG

@accounter-toolkit/green-invoice-graphql

Version:
647 lines (646 loc) 17.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getSdk = exports.addExpenseDraftByFile_mutationDocument = exports.updateExpense_mutationDocument = exports.addExpense_mutationDocument = exports.searchExpenseDrafts_queryDocument = exports.searchDocuments_queryDocument = exports.searchExpenses_queryDocument = exports.getExpense_queryDocument = exports.getMeshSDK = exports.subscribe = exports.execute = exports.getBuiltMesh = exports.createBuiltMeshHTTPHandler = exports.getMeshOptions = exports.rawServeConfig = void 0; const tslib_1 = require("tslib"); const utils_1 = require("@graphql-mesh/utils"); const utils_2 = require("@graphql-mesh/utils"); const utils_3 = require("@graphql-mesh/utils"); const cache_localforage_1 = tslib_1.__importDefault(require("@graphql-mesh/cache-localforage")); const fetch_1 = require("@whatwg-node/fetch"); const json_schema_1 = tslib_1.__importDefault(require("@graphql-mesh/json-schema")); const merger_bare_1 = tslib_1.__importDefault(require("@graphql-mesh/merger-bare")); const http_1 = require("@graphql-mesh/http"); const runtime_1 = require("@graphql-mesh/runtime"); const store_1 = require("@graphql-mesh/store"); const cross_helpers_1 = require("@graphql-mesh/cross-helpers"); const importedModule$0 = tslib_1.__importStar(require("./sources/GreenInvoice/schemaWithAnnotations.js")); const utils_4 = require("@graphql-mesh/utils"); const baseDir = cross_helpers_1.path.join(cross_helpers_1.path.dirname((0, utils_4.fileURLToPath)(import.meta.url)), '..'); const importFn = (moduleId) => { const relativeModuleId = (cross_helpers_1.path.isAbsolute(moduleId) ? cross_helpers_1.path.relative(baseDir, moduleId) : moduleId).split('\\').join('/').replace(baseDir + '/', ''); switch (relativeModuleId) { case "mesh-artifacts/sources/GreenInvoice/schemaWithAnnotations.js": return Promise.resolve(importedModule$0); default: return Promise.reject(new Error(`Cannot find module '${relativeModuleId}'.`)); } }; const rootStore = new store_1.MeshStore('mesh-artifacts', new store_1.FsStoreStorageAdapter({ cwd: baseDir, importFn, fileType: "js", }), { readonly: true, validate: false }); exports.rawServeConfig = { "browser": false }; async function getMeshOptions() { const pubsub = new utils_2.PubSub(); const sourcesStore = rootStore.child('sources'); const logger = new utils_3.DefaultLogger("🕸️ Mesh"); const cache = new cache_localforage_1.default({ ...{}, importFn, store: rootStore.child('cache'), pubsub, logger, }); const sources = []; const transforms = []; const additionalEnvelopPlugins = []; const greenInvoiceTransforms = []; const additionalTypeDefs = []; const greenInvoiceHandler = new json_schema_1.default({ name: "GreenInvoice", config: { "endpoint": "https://api.greeninvoice.co.il/api/v1", "operationHeaders": { "Authorization": "Bearer {context.authToken}", "Content-Type": "application/json" }, "operations": [{ "type": "Mutation", "field": "addExpense", "path": "/expenses", "method": "POST", "requestSchema": "../json-schemas/greenInvoice.json#/definitions/addExpenseRequest", "responseSchema": "../json-schemas/greenInvoice.json#/definitions/addExpenseResponse" }, { "type": "Query", "field": "getExpense", "path": "/expenses/{args.id}", "method": "GET", "argTypeMap": { "id": { "type": "string", "nullable": false } }, "responseSchema": "../json-schemas/greenInvoice.json#/definitions/getExpenseResponse" }, { "type": "Mutation", "field": "updateExpense", "path": "/expenses/{args.id}", "method": "PUT", "requestSchema": "../json-schemas/greenInvoice.json#/definitions/updateExpenseRequest", "responseSchema": "../json-schemas/greenInvoice.json#/definitions/updateExpenseResponse" }, { "type": "Query", "field": "searchExpenses", "path": "/expenses/search", "method": "POST", "requestSchema": "../json-schemas/greenInvoice.json#/definitions/searchExpensesRequest", "responseSchema": "../json-schemas/greenInvoice.json#/definitions/searchExpensesResponse" }, { "type": "Query", "field": "searchDocuments", "path": "/documents/search", "method": "POST", "requestSchema": "../json-schemas/greenInvoice.json#/definitions/searchDocumentsRequest", "responseSchema": "../json-schemas/greenInvoice.json#/definitions/searchDocumentsResponse" }, { "type": "Mutation", "field": "addExpenseDraftByFile", "path": "/expenses/file", "method": "POST", "requestSchema": "../json-schemas/greenInvoice.json#/definitions/addExpenseDraftByFileRequest", "responseByStatusCode": { "200": { "responseSchema": "../json-schemas/greenInvoice.json#/definitions/addExpenseDraftByFileResponse" }, "201": { "responseSchema": "../json-schemas/greenInvoice.json#/definitions/addExpenseDraftByFileResponse" }, "400": { "responseSchema": "../json-schemas/greenInvoice.json#/definitions/generalErrorResponse" }, "404": { "responseSchema": "../json-schemas/greenInvoice.json#/definitions/generalErrorResponse" } } }, { "type": "Query", "field": "searchExpenseDrafts", "path": "/expenses/drafts/search", "method": "POST", "requestSchema": "../json-schemas/greenInvoice.json#/definitions/searchExpenseDraftsRequest", "responseByStatusCode": { "200": { "responseSchema": "../json-schemas/greenInvoice.json#/definitions/searchExpenseDraftsResponse" }, "201": { "responseSchema": "../json-schemas/greenInvoice.json#/definitions/searchExpenseDraftsResponse" }, "404": { "responseSchema": "../json-schemas/greenInvoice.json#/definitions/generalErrorResponse" } } }] }, baseDir, cache, pubsub, store: sourcesStore.child("GreenInvoice"), logger: logger.child("GreenInvoice"), importFn, }); sources[0] = { name: 'GreenInvoice', handler: greenInvoiceHandler, transforms: greenInvoiceTransforms }; const additionalResolvers = []; const merger = new merger_bare_1.default({ cache, pubsub, logger: logger.child('bareMerger'), store: rootStore.child('bareMerger') }); return { sources, transforms, additionalTypeDefs, additionalResolvers, cache, pubsub, merger, logger, additionalEnvelopPlugins, get documents() { return []; }, fetchFn: fetch_1.fetch, }; } exports.getMeshOptions = getMeshOptions; function createBuiltMeshHTTPHandler() { return (0, http_1.createMeshHTTPHandler)({ baseDir, getBuiltMesh: getBuiltMesh, rawServeConfig: { "browser": false }, }); } exports.createBuiltMeshHTTPHandler = createBuiltMeshHTTPHandler; let meshInstance$; function getBuiltMesh() { if (meshInstance$ == null) { meshInstance$ = getMeshOptions().then(meshOptions => (0, runtime_1.getMesh)(meshOptions)).then(mesh => { const id = mesh.pubsub.subscribe('destroy', () => { meshInstance$ = undefined; mesh.pubsub.unsubscribe(id); }); return mesh; }); } return meshInstance$; } exports.getBuiltMesh = getBuiltMesh; const execute = (...args) => getBuiltMesh().then(({ execute }) => execute(...args)); exports.execute = execute; const subscribe = (...args) => getBuiltMesh().then(({ subscribe }) => subscribe(...args)); exports.subscribe = subscribe; function getMeshSDK(globalContext) { const sdkRequester$ = getBuiltMesh().then(({ sdkRequesterFactory }) => sdkRequesterFactory(globalContext)); return getSdk((...args) => sdkRequester$.then(sdkRequester => sdkRequester(...args))); } exports.getMeshSDK = getMeshSDK; exports.getExpense_queryDocument = (0, utils_1.gql) ` query getExpense_query($id: String!) { getExpense(id: $id) { id businessType documentType status paymentType currency currencyRate amountExcludeVat vat amount date dueDate number active description remarks supplier { id name active taxId paymentTerms bankName bankBranch bankAccount country phone mobile contactPerson emails labels creationDate lastUpdateDate department accountingKey address city zip fax remarks incomeAmount paymentAmount balanceAmount } thumbnail url cancellable reportingDate accountingClassification { id key code title irsCode income type vat } amountLocal amountAccounting vatAccounting creationDate lastUpdateDate } } `; exports.searchExpenses_queryDocument = (0, utils_1.gql) ` query searchExpenses_query($input: searchExpensesRequest_Input) { searchExpenses(input: $input) { total page pageSize pages items { id businessType documentType status paymentType currency currencyRate amountExcludeVat vat amount date dueDate number active description remarks supplier { id name active taxId paymentTerms bankName bankBranch bankAccount country phone mobile contactPerson emails labels creationDate lastUpdateDate department accountingKey address city zip fax remarks incomeAmount paymentAmount balanceAmount } thumbnail url cancellable reportingDate accountingClassification { id key code title irsCode income type vat } amountLocal amountAccounting vatAccounting creationDate lastUpdateDate } } } `; exports.searchDocuments_queryDocument = (0, utils_1.gql) ` query searchDocuments_query($input: searchDocumentsRequest_Input) { searchDocuments(input: $input) { total page pageSize pages items { amount amountDueVat amountExcludedVat amountExemptVat amountLocal amountOpened business { accountantDocsEmailSettings accountantEmails accountantReportEmailSettings accountingType active advanceNationalInsuranceRate advanceTaxRate bankDisplay bankDisplayEn deductionRate documentsEmailSettings emailSubjectType exemption incomeReportEmailSettings incomeReportFormatType reportSendingDay senderEmailSettings type } calculatedAmountLocal calculatedAmountOpenedLocal calculatedIncomeAmountExcludeLocal calculatedIncomeAmountLocal calculatedPaymentAmountLocal cancellable cancelType client { country emails id name phone taxId self } creationDate currency currencyRate data { tags } description documentDate downloaded id income { amount amountTotal catalogNum currency currencyRate description itemId price quantity vat vatRate vatType } lang number payment { amount cancellable currency currencyRate date description name price ref type subType } ref remarks reverseCharge rounding signed skinId status templateId type url { he en origin } vat vatRate vatType } } } `; exports.searchExpenseDrafts_queryDocument = (0, utils_1.gql) ` query searchExpenseDrafts_query($input: searchExpenseDraftsRequest_Input) { searchExpenseDrafts(input: $input) { ... on searchExpenseDraftsResponse { total page pageSize pages items { currency currencyRate vat amount description supplier { id name active taxId paymentTerms bankName bankBranch bankAccount country phone mobile contactPerson emails labels creationDate lastUpdateDate department accountingKey address city zip fax remarks incomeAmount paymentAmount balanceAmount } fileHash fileKey } } ... on generalErrorResponse { errorCode_ errorMessage } } } `; exports.addExpense_mutationDocument = (0, utils_1.gql) ` mutation addExpense_mutation($input: Expense_Input) { addExpense(input: $input) { ... on Expense { paymentType { ... on Boolean_container { Boolean } ... on mutation_addExpense_oneOf_0_allOf_0_paymentType_oneOf_1_container { mutation_addExpense_oneOf_0_allOf_0_paymentType_oneOf_1 } } currency currencyRate vat amount date dueDate reportingDate documentType number description remarks supplier accountingClassification active addRecipient addAccountingClassification } ... on ErrorResponse { errorCode errorMessage } } } `; exports.updateExpense_mutationDocument = (0, utils_1.gql) ` mutation updateExpense_mutation($id: String, $input: updateExpenseRequest_Input) { updateExpense(id: $id, input: $input) { ... on GetExpense { id businessType documentType status paymentType currency currencyRate amountExcludeVat vat amount date dueDate number active description remarks supplier { id name active taxId paymentTerms bankName bankBranch bankAccount country phone mobile contactPerson emails labels creationDate lastUpdateDate department accountingKey address city zip fax remarks incomeAmount paymentAmount balanceAmount } thumbnail url cancellable reportingDate accountingClassification { id key code title irsCode income type vat } amountLocal amountAccounting vatAccounting creationDate lastUpdateDate } ... on ErrorResponse { errorCode errorMessage } } } `; exports.addExpenseDraftByFile_mutationDocument = (0, utils_1.gql) ` mutation addExpenseDraftByFile_mutation($input: addExpenseDraftByFileRequest_Input) { addExpenseDraftByFile(input: $input) { ... on GetExpenseDraft { id status creationDate lastUpdateDate expense { paymentType { ... on Boolean_container { Boolean } ... on mutation_addExpense_oneOf_0_allOf_0_paymentType_oneOf_1_container { mutation_addExpense_oneOf_0_allOf_0_paymentType_oneOf_1 } } currency currencyRate vat amount date dueDate reportingDate documentType number description remarks supplier { id name active taxId paymentTerms bankName bankBranch bankAccount country phone mobile contactPerson emails labels creationDate lastUpdateDate department accountingKey address city zip fax remarks incomeAmount paymentAmount balanceAmount } accountingClassification { id key code title irsCode income type vat } active addRecipient addAccountingClassification } thumbnail url } ... on generalErrorResponse { errorCode_ errorMessage } } } `; function getSdk(requester) { return { getExpense_query(variables, options) { return requester(exports.getExpense_queryDocument, variables, options); }, searchExpenses_query(variables, options) { return requester(exports.searchExpenses_queryDocument, variables, options); }, searchDocuments_query(variables, options) { return requester(exports.searchDocuments_queryDocument, variables, options); }, searchExpenseDrafts_query(variables, options) { return requester(exports.searchExpenseDrafts_queryDocument, variables, options); }, addExpense_mutation(variables, options) { return requester(exports.addExpense_mutationDocument, variables, options); }, updateExpense_mutation(variables, options) { return requester(exports.updateExpense_mutationDocument, variables, options); }, addExpenseDraftByFile_mutation(variables, options) { return requester(exports.addExpenseDraftByFile_mutationDocument, variables, options); } }; } exports.getSdk = getSdk;