UNPKG

green-invoice-graphql

Version:
447 lines 13.7 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getSdk = exports.addExpenseDraftByFile_mutationDocument = exports.addExpense_mutationDocument = exports.searchExpenseDrafts_queryDocument = exports.searchExpenses_queryDocument = exports.updateExpense_queryDocument = exports.getExpense_queryDocument = exports.getMeshSDK = exports.getBuiltMesh = exports.documentsInSDL = exports.getMeshOptions = exports.rawConfig = void 0; const utils_1 = require("@graphql-mesh/utils"); const runtime_1 = require("@graphql-mesh/runtime"); const store_1 = require("@graphql-mesh/store"); const cross_helpers_1 = require("@graphql-mesh/cross-helpers"); const transpile_only_1 = __importDefault(require("ts-node/register/transpile-only")); const cache_inmemory_lru_1 = __importDefault(require("@graphql-mesh/cache-inmemory-lru")); const json_schema_1 = __importDefault(require("@graphql-mesh/json-schema")); const merger_bare_1 = __importDefault(require("@graphql-mesh/merger-bare")); const jsonSchemaBundle_1 = __importDefault(require("./sources/GreenInvoice/jsonSchemaBundle")); const importedModules = { ["ts-node/register/transpile-only"]: transpile_only_1.default, ["@graphql-mesh/cache-inmemory-lru"]: cache_inmemory_lru_1.default, ["@graphql-mesh/json-schema"]: json_schema_1.default, ["@graphql-mesh/merger-bare"]: merger_bare_1.default, [".mesh/sources/GreenInvoice/jsonSchemaBundle"]: jsonSchemaBundle_1.default }; const baseDir = cross_helpers_1.path.join(__dirname, '..'); const importFn = (moduleId) => { const relativeModuleId = (cross_helpers_1.path.isAbsolute(moduleId) ? cross_helpers_1.path.relative(baseDir, moduleId) : moduleId).split('\\').join('/').replace(baseDir + '/', ''); if (!(relativeModuleId in importedModules)) { throw new Error(`Cannot find module '${relativeModuleId}'.`); } return Promise.resolve(importedModules[relativeModuleId]); }; const rootStore = new store_1.MeshStore('.mesh', new store_1.FsStoreStorageAdapter({ cwd: baseDir, importFn, fileType: 'ts', }), { readonly: true, validate: false }); require("ts-node/register/transpile-only"); const utils_2 = require("@graphql-mesh/utils"); const cache_inmemory_lru_2 = __importDefault(require("@graphql-mesh/cache-inmemory-lru")); const utils_3 = require("@graphql-mesh/utils"); const json_schema_2 = __importDefault(require("@graphql-mesh/json-schema")); const merger_bare_2 = __importDefault(require("@graphql-mesh/merger-bare")); const utils_4 = require("@graphql-mesh/utils"); const utils_5 = require("@graphql-mesh/utils"); exports.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"] }; async function getMeshOptions() { const pubsub = new utils_2.PubSub(); const cache = new cache_inmemory_lru_2.default({ ...(exports.rawConfig.cache || {}), importFn, store: rootStore.child('cache'), pubsub, }); const sourcesStore = rootStore.child('sources'); const logger = new utils_3.DefaultLogger('🕸️'); const sources = []; const transforms = []; const greenInvoiceTransforms = []; const additionalTypeDefs = []; const greenInvoiceHandler = new json_schema_2.default({ name: exports.rawConfig.sources[0].name, config: exports.rawConfig.sources[0].handler["jsonSchema"], baseDir, cache, pubsub, store: sourcesStore.child(exports.rawConfig.sources[0].name), logger: logger.child(exports.rawConfig.sources[0].name), importFn }); sources.push({ name: 'GreenInvoice', handler: greenInvoiceHandler, transforms: greenInvoiceTransforms }); const merger = new merger_bare_2.default({ cache, pubsub, logger: logger.child('BareMerger'), store: rootStore.child('bareMerger') }); const additionalResolversRawConfig = []; const additionalResolvers = await (0, utils_4.resolveAdditionalResolvers)(baseDir, additionalResolversRawConfig, importFn, pubsub); const liveQueryInvalidations = exports.rawConfig.liveQueryInvalidations; const additionalEnvelopPlugins = []; const documents = exports.documentsInSDL.map((documentSdl, i) => ({ rawSDL: documentSdl, document: (0, utils_5.parseWithCache)(documentSdl), location: `document_${i}.graphql`, })); return { sources, transforms, additionalTypeDefs, additionalResolvers, cache, pubsub, merger, logger, liveQueryInvalidations, additionalEnvelopPlugins, documents, }; } exports.getMeshOptions = getMeshOptions; exports.documentsInSDL = []; async function getBuiltMesh() { const meshConfig = await getMeshOptions(); return (0, runtime_1.getMesh)(meshConfig); } exports.getBuiltMesh = getBuiltMesh; async function getMeshSDK(globalContext) { const { sdkRequesterFactory } = await getBuiltMesh(); return getSdk(sdkRequesterFactory(globalContext)); } exports.getMeshSDK = getMeshSDK; exports.getExpense_queryDocument = (0, utils_1.gql) ` query getExpense_query($input: getExpenseRequest_Input!, $id: ID) { getExpense(input: $input, id: $id) { ... 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.updateExpense_queryDocument = (0, utils_1.gql) ` query updateExpense_query($input: updateExpenseRequest_Input!, $id: ID) { updateExpense(input: $input, id: $id) { ... 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.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 thumbnail url cancellable reportingDate amountLocal amountAccounting vatAccounting creationDate lastUpdateDate } } } `; exports.searchExpenseDrafts_queryDocument = (0, utils_1.gql) ` query searchExpenseDrafts_query($input: searchExpenseDraftsRequest_Input) { searchExpenseDrafts(input: $input) { total page pageSize pages items { currency currencyRate vat amount description fileHash fileKey } } } `; exports.addExpense_mutationDocument = (0, utils_1.gql) ` mutation addExpense_mutation($input: Expense_Input!) { addExpense(input: $input) { ... on Expense { paymentType 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 } ... 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 currency currencyRate vat amount date dueDate reportingDate documentType number description remarks active addRecipient addAccountingClassification } thumbnail url } ... on ErrorResponse { errorCode errorMessage } } } `; function getSdk(requester) { return { getExpense_query(variables, options) { return requester(exports.getExpense_queryDocument, variables, options); }, updateExpense_query(variables, options) { return requester(exports.updateExpense_queryDocument, variables, options); }, searchExpenses_query(variables, options) { return requester(exports.searchExpenses_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); }, addExpenseDraftByFile_mutation(variables, options) { return requester(exports.addExpenseDraftByFile_mutationDocument, variables, options); } }; } exports.getSdk = getSdk; //# sourceMappingURL=index.js.map