@things-factory/tax-invoice 10.1.181 → 10.1.183
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/service/hometax/hometax-resolver.js +1 -1
- package/dist-server/service/hometax/hometax-resolver.js.map +1 -1
- package/dist-server/service/tax-audit-result/tax-audit-result-mutation.js +6 -6
- package/dist-server/service/tax-audit-result/tax-audit-result-mutation.js.map +1 -1
- package/dist-server/service/tax-audit-result/tax-audit-result-query.js +2 -2
- package/dist-server/service/tax-audit-result/tax-audit-result-query.js.map +1 -1
- package/dist-server/service/tax-invoice/tax-invoice-mutation.js +5 -5
- package/dist-server/service/tax-invoice/tax-invoice-mutation.js.map +1 -1
- package/dist-server/service/tax-invoice/tax-invoice-query.js +3 -3
- package/dist-server/service/tax-invoice/tax-invoice-query.js.map +1 -1
- package/dist-server/service/tax-invoice-api/tax-invoice-api-mutation.js +3 -3
- package/dist-server/service/tax-invoice-api/tax-invoice-api-mutation.js.map +1 -1
- package/dist-server/service/tax-invoice-api/tax-invoice-api-query.js +2 -2
- package/dist-server/service/tax-invoice-api/tax-invoice-api-query.js.map +1 -1
- package/dist-server/service/tax-invoice-item/tax-invoice-item-mutation.js +6 -6
- package/dist-server/service/tax-invoice-item/tax-invoice-item-mutation.js.map +1 -1
- package/dist-server/service/tax-invoice-item/tax-invoice-item-query.js +2 -2
- package/dist-server/service/tax-invoice-item/tax-invoice-item-query.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -5
|
@@ -28,7 +28,7 @@ let HometaxResolver = class HometaxResolver {
|
|
|
28
28
|
exports.HometaxResolver = HometaxResolver;
|
|
29
29
|
tslib_1.__decorate([
|
|
30
30
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
31
|
-
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted:
|
|
31
|
+
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted: false)'),
|
|
32
32
|
(0, type_graphql_1.Mutation)(returns => [hometax_type_js_1.HometaxImportReport], { description: 'Reads Hometax tax invoice list downloads (.xls) and saves their invoices; nothing is saved when any file has a problem' }),
|
|
33
33
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('files', type => [GraphQLUpload_js_1.default], { description: 'Hometax 전자(수정) 세금계산서 목록조회 downloads' })),
|
|
34
34
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hometax-resolver.js","sourceRoot":"","sources":["../../../server/service/hometax/hometax-resolver.ts"],"names":[],"mappings":";;;AAWA,oEAQC;;AAlBD,+FAA2D;AAC3D,+CAAsE;AAEtE,mFAAkH;AAClH,uDAAiE;AAEjE;;;GAGG;AACI,KAAK,UAAU,4BAA4B,CAAC,KAA2C,EAAE,OAAwB;IACtH,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAC1C,MAAM,IAAI,GAAG,EAAE,CAAA;IACf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,6CAAa,EAAC,IAAI,CAAC,CAAA;QACxD,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAA,yDAAyB,EAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACpE,CAAC;IACD,OAAO,CAAC,MAAM,IAAA,sDAAsB,EAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,0BAAQ,CAAC,CAAA;AACjF,CAAC;AAGM,IAAM,eAAe,GAArB,MAAM,eAAe;IAIpB,AAAN,KAAK,CAAC,wBAAwB,CACmE,KAAmB,EAC3G,OAAwB;QAE/B,OAAO,4BAA4B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IACrD,CAAC;CACF,CAAA;AAVY,0CAAe;AAIpB;IAHL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,wBAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"hometax-resolver.js","sourceRoot":"","sources":["../../../server/service/hometax/hometax-resolver.ts"],"names":[],"mappings":";;;AAWA,oEAQC;;AAlBD,+FAA2D;AAC3D,+CAAsE;AAEtE,mFAAkH;AAClH,uDAAiE;AAEjE;;;GAGG;AACI,KAAK,UAAU,4BAA4B,CAAC,KAA2C,EAAE,OAAwB;IACtH,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAC1C,MAAM,IAAI,GAAG,EAAE,CAAA;IACf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,6CAAa,EAAC,IAAI,CAAC,CAAA;QACxD,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAA,yDAAyB,EAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACpE,CAAC;IACD,OAAO,CAAC,MAAM,IAAA,sDAAsB,EAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,0BAAQ,CAAC,CAAA;AACjF,CAAC;AAGM,IAAM,eAAe,GAArB,MAAM,eAAe;IAIpB,AAAN,KAAK,CAAC,wBAAwB,CACmE,KAAmB,EAC3G,OAAwB;QAE/B,OAAO,4BAA4B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IACrD,CAAC;CACF,CAAA;AAVY,0CAAe;AAIpB;IAHL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,wBAAS,EAAC,uFAAuF,CAAC;IAClG,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC,qCAAmB,CAAC,EAAE,EAAE,WAAW,EAAE,wHAAwH,EAAE,CAAC;IAEnL,mBAAA,IAAA,kBAAG,EAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,0BAAa,CAAC,EAAE,EAAE,WAAW,EAAE,qCAAqC,EAAE,CAAC,CAAA;IAC7F,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;+DAGP;0BATU,eAAe;IAD3B,IAAA,uBAAQ,GAAE;GACE,eAAe,CAU3B","sourcesContent":["import type { FileUpload } from 'graphql-upload/GraphQLUpload.js'\nimport GraphQLUpload from 'graphql-upload/GraphQLUpload.js'\nimport { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\n\nimport { bytesOfUpload, readHometaxTaxInvoiceFile, saveHometaxTaxInvoices } from './hometax-tax-invoice-import.js'\nimport { HometaxImportReport, reportOf } from './hometax-type.js'\n\n/**\n * Reads uploaded Hometax lists and saves their invoices. Shared by any application: it takes the\n * transaction and the domain from the caller, so an application with its own privilege can call it.\n */\nexport async function importHometaxTaxInvoiceFiles(files: (Promise<FileUpload> | FileUpload)[], context: ResolverContext): Promise<HometaxImportReport[]> {\n const { domain, user, tx } = context.state\n const read = []\n for (const file of files) {\n const { fileName, contents } = await bytesOfUpload(file)\n read.push({ fileName, list: readHometaxTaxInvoiceFile(contents) })\n }\n return (await saveHometaxTaxInvoices(tx, { domain, user }, read)).map(reportOf)\n}\n\n@Resolver()\nexport class HometaxResolver {\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: false)')\n @Mutation(returns => [HometaxImportReport], { description: 'Reads Hometax tax invoice list downloads (.xls) and saves their invoices; nothing is saved when any file has a problem' })\n async importHometaxTaxInvoices(\n @Arg('files', type => [GraphQLUpload], { description: 'Hometax 전자(수정) 세금계산서 목록조회 downloads' }) files: FileUpload[],\n @Ctx() context: ResolverContext\n ): Promise<HometaxImportReport[]> {\n return importHometaxTaxInvoiceFiles(files, context)\n }\n}\n"]}
|
|
@@ -132,7 +132,7 @@ let TaxAuditResultMutation = class TaxAuditResultMutation {
|
|
|
132
132
|
exports.TaxAuditResultMutation = TaxAuditResultMutation;
|
|
133
133
|
tslib_1.__decorate([
|
|
134
134
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
135
|
-
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted:
|
|
135
|
+
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted: false)'),
|
|
136
136
|
(0, type_graphql_1.Mutation)(returns => tax_audit_result_1.TaxAuditResult, { description: 'To create new TaxAuditResult' }),
|
|
137
137
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('taxAuditResult')),
|
|
138
138
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -142,7 +142,7 @@ tslib_1.__decorate([
|
|
|
142
142
|
], TaxAuditResultMutation.prototype, "createTaxAuditResult", null);
|
|
143
143
|
tslib_1.__decorate([
|
|
144
144
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
145
|
-
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted:
|
|
145
|
+
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted: false)'),
|
|
146
146
|
(0, type_graphql_1.Mutation)(returns => tax_audit_result_1.TaxAuditResult, { description: 'To modify TaxAuditResult information' }),
|
|
147
147
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
|
148
148
|
tslib_1.__param(1, (0, type_graphql_1.Arg)('patch')),
|
|
@@ -153,7 +153,7 @@ tslib_1.__decorate([
|
|
|
153
153
|
], TaxAuditResultMutation.prototype, "updateTaxAuditResult", null);
|
|
154
154
|
tslib_1.__decorate([
|
|
155
155
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
156
|
-
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted:
|
|
156
|
+
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted: false)'),
|
|
157
157
|
(0, type_graphql_1.Mutation)(returns => [tax_audit_result_1.TaxAuditResult], { description: "To modify multiple TaxAuditResults' information" }),
|
|
158
158
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('patches', type => [tax_audit_result_type_1.TaxAuditResultPatch])),
|
|
159
159
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -163,7 +163,7 @@ tslib_1.__decorate([
|
|
|
163
163
|
], TaxAuditResultMutation.prototype, "updateMultipleTaxAuditResult", null);
|
|
164
164
|
tslib_1.__decorate([
|
|
165
165
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
166
|
-
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted:
|
|
166
|
+
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted: false)'),
|
|
167
167
|
(0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete TaxAuditResult' }),
|
|
168
168
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
|
169
169
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -173,7 +173,7 @@ tslib_1.__decorate([
|
|
|
173
173
|
], TaxAuditResultMutation.prototype, "deleteTaxAuditResult", null);
|
|
174
174
|
tslib_1.__decorate([
|
|
175
175
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
176
|
-
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted:
|
|
176
|
+
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted: false)'),
|
|
177
177
|
(0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete multiple TaxAuditResults' }),
|
|
178
178
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('ids', type => [String])),
|
|
179
179
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -183,7 +183,7 @@ tslib_1.__decorate([
|
|
|
183
183
|
], TaxAuditResultMutation.prototype, "deleteTaxAuditResults", null);
|
|
184
184
|
tslib_1.__decorate([
|
|
185
185
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
186
|
-
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted:
|
|
186
|
+
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted: false)'),
|
|
187
187
|
(0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To import multiple TaxAuditResults' }),
|
|
188
188
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('taxAuditResults', type => [tax_audit_result_type_1.TaxAuditResultPatch])),
|
|
189
189
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tax-audit-result-mutation.js","sourceRoot":"","sources":["../../../server/service/tax-audit-result/tax-audit-result-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { createAttachment, deleteAttachmentsByRef } from '@things-factory/attachment-base'\n\nimport { TaxAuditResult } from './tax-audit-result'\nimport { NewTaxAuditResult, TaxAuditResultPatch } from './tax-audit-result-type'\n\n@Resolver(TaxAuditResult)\nexport class TaxAuditResultMutation {\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => TaxAuditResult, { description: 'To create new TaxAuditResult' })\n async createTaxAuditResult(@Arg('taxAuditResult') taxAuditResult: NewTaxAuditResult, @Ctx() context: ResolverContext): Promise<TaxAuditResult> {\n const { domain, user, tx } = context.state\n\n const result = await tx.getRepository(TaxAuditResult).save({\n ...taxAuditResult,\n domain,\n creator: user,\n updater: user\n })\n\n if (taxAuditResult.thumbnail) {\n await createAttachment(\n null,\n {\n attachment: {\n file: taxAuditResult.thumbnail,\n refType: TaxAuditResult.name,\n refBy: result.id\n }\n },\n context\n )\n }\n\n return result\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => TaxAuditResult, { description: 'To modify TaxAuditResult information' })\n async updateTaxAuditResult(\n @Arg('id') id: string,\n @Arg('patch') patch: TaxAuditResultPatch,\n @Ctx() context: ResolverContext\n ): Promise<TaxAuditResult> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(TaxAuditResult)\n const taxAuditResult = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n const result = await repository.save({\n ...taxAuditResult,\n ...patch,\n updater: user\n })\n\n if (patch.thumbnail) {\n await deleteAttachmentsByRef(null, { refBys: [result.id] }, context)\n await createAttachment(\n null,\n {\n attachment: {\n file: patch.thumbnail,\n refType: TaxAuditResult.name,\n refBy: result.id\n }\n },\n context\n )\n }\n\n return result\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => [TaxAuditResult], { description: \"To modify multiple TaxAuditResults' information\" })\n async updateMultipleTaxAuditResult(\n @Arg('patches', type => [TaxAuditResultPatch]) patches: TaxAuditResultPatch[],\n @Ctx() context: ResolverContext\n ): Promise<TaxAuditResult[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const taxAuditResultRepo = tx.getRepository(TaxAuditResult)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await taxAuditResultRepo.save({\n ...newRecord,\n domain,\n creator: user,\n updater: user\n })\n\n if (newRecord.thumbnail) {\n await createAttachment(\n null,\n {\n attachment: {\n file: newRecord.thumbnail,\n refType: TaxAuditResult.name,\n refBy: result.id\n }\n },\n context\n )\n }\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const updateRecord = _updateRecords[i]\n const taxAuditResult = await taxAuditResultRepo.findOne({\n where: { domain: { id: domain.id }, id: updateRecord.id }\n })\n\n if (!taxAuditResult) {\n throw new Error(`failed to find taxAuditResult to update: ${updateRecord.id}`)\n }\n\n const result = await taxAuditResultRepo.save({\n ...taxAuditResult,\n ...updateRecord,\n updater: user\n })\n\n if (updateRecord.thumbnail) {\n await deleteAttachmentsByRef(null, { refBys: [result.id] }, context)\n await createAttachment(\n null,\n {\n attachment: {\n file: updateRecord.thumbnail,\n refType: TaxAuditResult.name,\n refBy: result.id\n }\n },\n context\n )\n }\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To delete TaxAuditResult' })\n async deleteTaxAuditResult(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(TaxAuditResult).delete({ domain: { id: domain.id }, id })\n await deleteAttachmentsByRef(null, { refBys: [id] }, context)\n\n return true\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To delete multiple TaxAuditResults' })\n async deleteTaxAuditResults(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(TaxAuditResult).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n await deleteAttachmentsByRef(null, { refBys: ids }, context)\n\n return true\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To import multiple TaxAuditResults' })\n async importTaxAuditResults(\n @Arg('taxAuditResults', type => [TaxAuditResultPatch]) taxAuditResults: TaxAuditResultPatch[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await Promise.all(\n taxAuditResults.map(async (taxAuditResult: TaxAuditResultPatch) => {\n const createdTaxAuditResult: TaxAuditResult = await tx.getRepository(TaxAuditResult).save({ domain, ...taxAuditResult })\n })\n )\n\n return true\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"tax-audit-result-mutation.js","sourceRoot":"","sources":["../../../server/service/tax-audit-result/tax-audit-result-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { createAttachment, deleteAttachmentsByRef } from '@things-factory/attachment-base'\n\nimport { TaxAuditResult } from './tax-audit-result'\nimport { NewTaxAuditResult, TaxAuditResultPatch } from './tax-audit-result-type'\n\n@Resolver(TaxAuditResult)\nexport class TaxAuditResultMutation {\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: false)')\n @Mutation(returns => TaxAuditResult, { description: 'To create new TaxAuditResult' })\n async createTaxAuditResult(@Arg('taxAuditResult') taxAuditResult: NewTaxAuditResult, @Ctx() context: ResolverContext): Promise<TaxAuditResult> {\n const { domain, user, tx } = context.state\n\n const result = await tx.getRepository(TaxAuditResult).save({\n ...taxAuditResult,\n domain,\n creator: user,\n updater: user\n })\n\n if (taxAuditResult.thumbnail) {\n await createAttachment(\n null,\n {\n attachment: {\n file: taxAuditResult.thumbnail,\n refType: TaxAuditResult.name,\n refBy: result.id\n }\n },\n context\n )\n }\n\n return result\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: false)')\n @Mutation(returns => TaxAuditResult, { description: 'To modify TaxAuditResult information' })\n async updateTaxAuditResult(\n @Arg('id') id: string,\n @Arg('patch') patch: TaxAuditResultPatch,\n @Ctx() context: ResolverContext\n ): Promise<TaxAuditResult> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(TaxAuditResult)\n const taxAuditResult = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n const result = await repository.save({\n ...taxAuditResult,\n ...patch,\n updater: user\n })\n\n if (patch.thumbnail) {\n await deleteAttachmentsByRef(null, { refBys: [result.id] }, context)\n await createAttachment(\n null,\n {\n attachment: {\n file: patch.thumbnail,\n refType: TaxAuditResult.name,\n refBy: result.id\n }\n },\n context\n )\n }\n\n return result\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: false)')\n @Mutation(returns => [TaxAuditResult], { description: \"To modify multiple TaxAuditResults' information\" })\n async updateMultipleTaxAuditResult(\n @Arg('patches', type => [TaxAuditResultPatch]) patches: TaxAuditResultPatch[],\n @Ctx() context: ResolverContext\n ): Promise<TaxAuditResult[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const taxAuditResultRepo = tx.getRepository(TaxAuditResult)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await taxAuditResultRepo.save({\n ...newRecord,\n domain,\n creator: user,\n updater: user\n })\n\n if (newRecord.thumbnail) {\n await createAttachment(\n null,\n {\n attachment: {\n file: newRecord.thumbnail,\n refType: TaxAuditResult.name,\n refBy: result.id\n }\n },\n context\n )\n }\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const updateRecord = _updateRecords[i]\n const taxAuditResult = await taxAuditResultRepo.findOne({\n where: { domain: { id: domain.id }, id: updateRecord.id }\n })\n\n if (!taxAuditResult) {\n throw new Error(`failed to find taxAuditResult to update: ${updateRecord.id}`)\n }\n\n const result = await taxAuditResultRepo.save({\n ...taxAuditResult,\n ...updateRecord,\n updater: user\n })\n\n if (updateRecord.thumbnail) {\n await deleteAttachmentsByRef(null, { refBys: [result.id] }, context)\n await createAttachment(\n null,\n {\n attachment: {\n file: updateRecord.thumbnail,\n refType: TaxAuditResult.name,\n refBy: result.id\n }\n },\n context\n )\n }\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: false)')\n @Mutation(returns => Boolean, { description: 'To delete TaxAuditResult' })\n async deleteTaxAuditResult(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(TaxAuditResult).delete({ domain: { id: domain.id }, id })\n await deleteAttachmentsByRef(null, { refBys: [id] }, context)\n\n return true\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: false)')\n @Mutation(returns => Boolean, { description: 'To delete multiple TaxAuditResults' })\n async deleteTaxAuditResults(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(TaxAuditResult).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n await deleteAttachmentsByRef(null, { refBys: ids }, context)\n\n return true\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: false)')\n @Mutation(returns => Boolean, { description: 'To import multiple TaxAuditResults' })\n async importTaxAuditResults(\n @Arg('taxAuditResults', type => [TaxAuditResultPatch]) taxAuditResults: TaxAuditResultPatch[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await Promise.all(\n taxAuditResults.map(async (taxAuditResult: TaxAuditResultPatch) => {\n const createdTaxAuditResult: TaxAuditResult = await tx.getRepository(TaxAuditResult).save({ domain, ...taxAuditResult })\n })\n )\n\n return true\n }\n}\n"]}
|
|
@@ -48,7 +48,7 @@ let TaxAuditResultQuery = class TaxAuditResultQuery {
|
|
|
48
48
|
};
|
|
49
49
|
exports.TaxAuditResultQuery = TaxAuditResultQuery;
|
|
50
50
|
tslib_1.__decorate([
|
|
51
|
-
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "query", domainOwnerGranted:
|
|
51
|
+
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "query", domainOwnerGranted: false)'),
|
|
52
52
|
(0, type_graphql_1.Query)(returns => tax_audit_result_1.TaxAuditResult, { nullable: true, description: 'To fetch a TaxAuditResult' }),
|
|
53
53
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
|
54
54
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -57,7 +57,7 @@ tslib_1.__decorate([
|
|
|
57
57
|
tslib_1.__metadata("design:returntype", Promise)
|
|
58
58
|
], TaxAuditResultQuery.prototype, "taxAuditResult", null);
|
|
59
59
|
tslib_1.__decorate([
|
|
60
|
-
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "query", domainOwnerGranted:
|
|
60
|
+
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "query", domainOwnerGranted: false)'),
|
|
61
61
|
(0, type_graphql_1.Query)(returns => tax_audit_result_type_1.TaxAuditResultList, { description: 'To fetch multiple TaxAuditResults' }),
|
|
62
62
|
tslib_1.__param(0, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
|
|
63
63
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tax-audit-result-query.js","sourceRoot":"","sources":["../../../server/service/tax-audit-result/tax-audit-result-query.ts"],"names":[],"mappings":";;;;AAAA,+CAA8F;AAC9F,qEAA4D;AAC5D,iDAAuG;AACvG,yDAAgD;AAChD,yDAAmD;AACnD,mEAA4D;AAGrD,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAGxB,AAAN,KAAK,CAAC,cAAc,CAAY,EAAU,EAAS,OAAwB;QACzE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,OAAO,MAAM,IAAA,qBAAa,EAAC,iCAAc,CAAC,CAAC,OAAO,CAAC;YACjD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;SACzC,CAAC,CAAA;IACJ,CAAC;IAIK,AAAN,KAAK,CAAC,eAAe,CACM,MAAiB,EACnC,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,MAAM,YAAY,GAAG,IAAA,qCAA6B,EAAC;YACjD,MAAM;YACN,MAAM;YACN,UAAU,EAAE,MAAM,IAAA,qBAAa,EAAC,iCAAc,CAAC;YAC/C,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;SACrC,CAAC,CAAA;QAEF,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAA;QAE3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAGK,AAAN,KAAK,CAAC,SAAS,CAAS,cAA8B;QACpD,MAAM,UAAU,GAAe,MAAM,IAAA,qBAAa,EAAC,4BAAU,CAAC,CAAC,OAAO,CAAC;YACrE,KAAK,EAAE;gBACL,MAAM,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,QAAQ,EAAE;gBACvC,OAAO,EAAE,iCAAc,CAAC,IAAI;gBAC5B,KAAK,EAAE,cAAc,CAAC,EAAE;aACzB;SACF,CAAC,CAAA;QAEF,OAAO,UAAU,EAAE,QAAQ,CAAA;IAC7B,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAS,cAA8B;QACjD,OAAO,cAAc,CAAC,QAAQ,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAC5G,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,cAA8B;QAClD,OAAO,cAAc,CAAC,SAAS,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAC5G,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,cAA8B;QAClD,OAAO,cAAc,CAAC,SAAS,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAC5G,CAAC;CACF,CAAA;AA1DY,kDAAmB;AAGxB;IAFL,IAAA,wBAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"tax-audit-result-query.js","sourceRoot":"","sources":["../../../server/service/tax-audit-result/tax-audit-result-query.ts"],"names":[],"mappings":";;;;AAAA,+CAA8F;AAC9F,qEAA4D;AAC5D,iDAAuG;AACvG,yDAAgD;AAChD,yDAAmD;AACnD,mEAA4D;AAGrD,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAGxB,AAAN,KAAK,CAAC,cAAc,CAAY,EAAU,EAAS,OAAwB;QACzE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,OAAO,MAAM,IAAA,qBAAa,EAAC,iCAAc,CAAC,CAAC,OAAO,CAAC;YACjD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;SACzC,CAAC,CAAA;IACJ,CAAC;IAIK,AAAN,KAAK,CAAC,eAAe,CACM,MAAiB,EACnC,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,MAAM,YAAY,GAAG,IAAA,qCAA6B,EAAC;YACjD,MAAM;YACN,MAAM;YACN,UAAU,EAAE,MAAM,IAAA,qBAAa,EAAC,iCAAc,CAAC;YAC/C,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;SACrC,CAAC,CAAA;QAEF,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAA;QAE3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAGK,AAAN,KAAK,CAAC,SAAS,CAAS,cAA8B;QACpD,MAAM,UAAU,GAAe,MAAM,IAAA,qBAAa,EAAC,4BAAU,CAAC,CAAC,OAAO,CAAC;YACrE,KAAK,EAAE;gBACL,MAAM,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,QAAQ,EAAE;gBACvC,OAAO,EAAE,iCAAc,CAAC,IAAI;gBAC5B,KAAK,EAAE,cAAc,CAAC,EAAE;aACzB;SACF,CAAC,CAAA;QAEF,OAAO,UAAU,EAAE,QAAQ,CAAA;IAC7B,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAS,cAA8B;QACjD,OAAO,cAAc,CAAC,QAAQ,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAC5G,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,cAA8B;QAClD,OAAO,cAAc,CAAC,SAAS,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAC5G,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,cAA8B;QAClD,OAAO,cAAc,CAAC,SAAS,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAC5G,CAAC;CACF,CAAA;AA1DY,kDAAmB;AAGxB;IAFL,IAAA,wBAAS,EAAC,oFAAoF,CAAC;IAC/F,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,iCAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;IAC1E,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAc,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;yDAMjD;AAIK;IAFL,IAAA,wBAAS,EAAC,oFAAoF,CAAC;IAC/F,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,0CAAkB,EAAE,EAAE,WAAW,EAAE,mCAAmC,EAAE,CAAC;IAExF,mBAAA,IAAA,mBAAI,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,CAAC,CAAA;IACvB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAD2B,iBAAS;;0DAe3C;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAiB,iCAAc;;oDAUrD;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IAChB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAiB,iCAAc;;iDAElD;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAiB,iCAAc;;kDAEnD;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAiB,iCAAc;;kDAEnD;8BAzDU,mBAAmB;IAD/B,IAAA,uBAAQ,EAAC,iCAAc,CAAC;GACZ,mBAAmB,CA0D/B","sourcesContent":["import { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx, Directive } from 'type-graphql'\nimport { Attachment } from '@things-factory/attachment-base'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { TaxAuditResult } from './tax-audit-result'\nimport { TaxAuditResultList } from './tax-audit-result-type'\n\n@Resolver(TaxAuditResult)\nexport class TaxAuditResultQuery {\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"query\", domainOwnerGranted: false)')\n @Query(returns => TaxAuditResult!, { nullable: true, description: 'To fetch a TaxAuditResult' })\n async taxAuditResult(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<TaxAuditResult> {\n const { domain } = context.state\n\n return await getRepository(TaxAuditResult).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"query\", domainOwnerGranted: false)')\n @Query(returns => TaxAuditResultList, { description: 'To fetch multiple TaxAuditResults' })\n async taxAuditResults(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<TaxAuditResultList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(TaxAuditResult),\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => String)\n async thumbnail(@Root() taxAuditResult: TaxAuditResult): Promise<string | undefined> {\n const attachment: Attachment = await getRepository(Attachment).findOne({\n where: {\n domain: { id: taxAuditResult.domainId },\n refType: TaxAuditResult.name,\n refBy: taxAuditResult.id\n }\n })\n\n return attachment?.fullpath\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() taxAuditResult: TaxAuditResult): Promise<Domain> {\n return taxAuditResult.domainId && (await getRepository(Domain).findOneBy({ id: taxAuditResult.domainId }))\n }\n\n @FieldResolver(type => User)\n async updater(@Root() taxAuditResult: TaxAuditResult): Promise<User> {\n return taxAuditResult.updaterId && (await getRepository(User).findOneBy({ id: taxAuditResult.updaterId }))\n }\n\n @FieldResolver(type => User)\n async creator(@Root() taxAuditResult: TaxAuditResult): Promise<User> {\n return taxAuditResult.creatorId && (await getRepository(User).findOneBy({ id: taxAuditResult.creatorId }))\n }\n}\n"]}
|
|
@@ -113,7 +113,7 @@ let TaxInvoiceMutation = class TaxInvoiceMutation {
|
|
|
113
113
|
exports.TaxInvoiceMutation = TaxInvoiceMutation;
|
|
114
114
|
tslib_1.__decorate([
|
|
115
115
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
116
|
-
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted:
|
|
116
|
+
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted: false)'),
|
|
117
117
|
(0, type_graphql_1.Mutation)(returns => tax_invoice_1.TaxInvoice, { description: 'To create new TaxInvoice' }),
|
|
118
118
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('taxInvoice')),
|
|
119
119
|
tslib_1.__param(1, (0, type_graphql_1.Arg)('taxInvoiceItems', () => [tax_invoice_item_type_1.NewTaxInvoiceItem])),
|
|
@@ -124,7 +124,7 @@ tslib_1.__decorate([
|
|
|
124
124
|
], TaxInvoiceMutation.prototype, "createTaxInvoice", null);
|
|
125
125
|
tslib_1.__decorate([
|
|
126
126
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
127
|
-
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted:
|
|
127
|
+
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted: false)'),
|
|
128
128
|
(0, type_graphql_1.Mutation)(returns => [tax_invoice_1.TaxInvoice], { description: "To modify multiple TaxInvoices' information" }),
|
|
129
129
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('patches', type => [tax_invoice_type_1.TaxInvoicePatch])),
|
|
130
130
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -134,7 +134,7 @@ tslib_1.__decorate([
|
|
|
134
134
|
], TaxInvoiceMutation.prototype, "updateMultipleTaxInvoice", null);
|
|
135
135
|
tslib_1.__decorate([
|
|
136
136
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
137
|
-
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted:
|
|
137
|
+
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted: false)'),
|
|
138
138
|
(0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete TaxInvoice' }),
|
|
139
139
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
|
140
140
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -144,7 +144,7 @@ tslib_1.__decorate([
|
|
|
144
144
|
], TaxInvoiceMutation.prototype, "deleteTaxInvoice", null);
|
|
145
145
|
tslib_1.__decorate([
|
|
146
146
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
147
|
-
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted:
|
|
147
|
+
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted: false)'),
|
|
148
148
|
(0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete multiple TaxInvoices' }),
|
|
149
149
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('ids', type => [String])),
|
|
150
150
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -154,7 +154,7 @@ tslib_1.__decorate([
|
|
|
154
154
|
], TaxInvoiceMutation.prototype, "deleteTaxInvoices", null);
|
|
155
155
|
tslib_1.__decorate([
|
|
156
156
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
157
|
-
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted:
|
|
157
|
+
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted: false)'),
|
|
158
158
|
(0, type_graphql_1.Mutation)(returns => Boolean, { description: 'create tax invoice data by API' }),
|
|
159
159
|
tslib_1.__param(0, (0, type_graphql_1.Ctx)()),
|
|
160
160
|
tslib_1.__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tax-invoice-mutation.js","sourceRoot":"","sources":["../../../server/service/tax-invoice/tax-invoice-mutation.ts"],"names":[],"mappings":";;;;AAAA,+CAAsE;AACtE,qCAA4B;AAE5B,+CAAoD;AACpD,yDAAmE;AACnE,qFAA6E;AAC7E,2EAAqE;AACrE,wEAAkE;AAElE,4EAK2C;AAC3C,yDAAmE;AAG5D,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAIvB,AAAN,KAAK,CAAC,gBAAgB,CACD,UAAyB,EACO,eAAoC,EAChF,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAE1C,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,wBAAU,CAAC,CAAC,IAAI,CAAC;YAC5D,GAAG,UAAU;YACb,MAAM;YACN,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;QAEF,SAAS;QACT,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;YACnC,MAAM,EAAE,CAAC,aAAa,CAAC,iCAAc,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5G,CAAC;QAED,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,mBAAmB;IAIb,AAAN,KAAK,CAAC,wBAAwB,CACe,OAA0B,EAC9D,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAE1C,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAA;QACzF,MAAM,cAAc,GAAG,EAAE,CAAC,aAAa,CAAC,wBAAU,CAAC,CAAA;QAEnD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;gBACtC,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC;oBAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE;iBAC1D,CAAC,CAAA;gBAEF,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,wCAAwC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAA;gBAC5E,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC;oBACvC,GAAG,UAAU;oBACb,GAAG,YAAY;oBACf,OAAO,EAAE,IAAI;iBACd,CAAC,CAAA;gBAEF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAKK,AAAN,KAAK,CAAC,gBAAgB,CAAY,EAAU,EAAS,OAAwB;QAC3E,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEpC,MAAM,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAE7C,OAAO,IAAI,CAAA;IACb,CAAC;IAKK,AAAN,KAAK,CAAC,iBAAiB,CACS,GAAa,EACpC,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEpC,MAAM,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;QAE5C,OAAO,IAAI,CAAA;IACb,CAAC;IAKK,AAAN,KAAK,CAAC,oBAAoB,CAAQ,OAAwB;QACxD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,MAAM,iBAAiB,GAAG,EAAE,CAAC,aAAa,CAAC,+BAAa,CAAC,CAAA;QACzD,MAAM,cAAc,GAAG,EAAE,CAAC,aAAa,CAAC,wBAAU,CAAC,CAAA;QACnD,MAAM,YAAY,GAAkB,EAAE,CAAA,CAAC,kBAAkB;QAEzD,4BAA4B;QAC5B,MAAM,OAAO,GAAG,MAAM,iBAAiB;aACpC,kBAAkB,CAAC,KAAK,CAAC;aACzB,iBAAiB,CAAC,YAAY,EAAE,QAAQ,CAAC;aACzC,KAAK,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;aACvD,QAAQ,CAAC,sBAAsB,CAAC;aAChC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC;aAChC,MAAM,EAAE,CAAA;QAEX,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QACnD,CAAC;QAED,MAAM,0BAA0B,GAAG,OAAO,CAAC,0BAA0B,CAAA;QACrE,MAAM,EAAE,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAA;QAE1D,yBAAyB;QACzB,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,8CAAwB,EAAC,0BAA0B,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;QAExG,mBAAmB;QACnB,MAAM,kBAAkB,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC;YACnD,MAAM,EAAE,CAAC,SAAS,CAAC;YACnB,KAAK,EAAE,EAAE,OAAO,EAAE,IAAA,YAAE,EAAC,WAAW,CAAC,EAAE;SACpC,CAAC,CAAA;QACF,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAE5E,cAAc;QACd,KAAK,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;YACxB,+BAA+B;YAC/B,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,SAAQ;YAE9C,yBAAyB;YACzB,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,IAAA,iDAA8B,EAAC,GAAG,EAAE,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;YAE7G,SAAS;YACT,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,eAAe,EAAE,OAAO,CAAC,CAAA;YAEvF,mBAAmB;YACnB,YAAY,CAAC,IAAI,CAAC;gBAChB,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,sBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,oCAAc,CAAC,MAAM,CAAC,CAAC,CAAC,oCAAc,CAAC,MAAM;gBACzF,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,EAAE;aACZ,CAAC,CAAA;QACJ,CAAC;QAED,4BAA4B;QAC5B,IAAA,2CAAqB,EAAC,0BAA0B,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,CAAA;QAE5E,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA;AAtJY,gDAAkB;AAIvB;IAHL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,wBAAS,EAAC,sFAAsF,CAAC;IACjG,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,wBAAU,EAAE,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;IAE1E,mBAAA,IAAA,kBAAG,EAAC,YAAY,CAAC,CAAA;IACjB,mBAAA,IAAA,kBAAG,EAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC,yCAAiB,CAAC,CAAC,CAAA;IACjD,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAFyB,gCAAa;;0DAmB7C;AAMK;IAHL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,wBAAS,EAAC,sFAAsF,CAAC;IACjG,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC,wBAAU,CAAC,EAAE,EAAE,WAAW,EAAE,6CAA6C,EAAE,CAAC;IAE/F,mBAAA,IAAA,kBAAG,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,kCAAe,CAAC,CAAC,CAAA;IACzC,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;kEA8BP;AAKK;IAHL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,wBAAS,EAAC,sFAAsF,CAAC;IACjG,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC;IAC9C,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAc,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;0DAMnD;AAKK;IAHL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,wBAAS,EAAC,sFAAsF,CAAC;IACjG,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,gCAAgC,EAAE,CAAC;IAE7E,mBAAA,IAAA,kBAAG,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IAC5B,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;2DAOP;AAKK;IAHL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,wBAAS,EAAC,sFAAsF,CAAC;IACjG,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,gCAAgC,EAAE,CAAC;IACpD,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;8DAyDhC;6BArJU,kBAAkB;IAD9B,IAAA,uBAAQ,EAAC,wBAAU,CAAC;GACR,kBAAkB,CAsJ9B;AAED,qGAAqG;AACrG,KAAK,UAAU,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAa;IAC5D,IAAI,CAAC,GAAG,CAAC,MAAM;QAAE,OAAM;IACvB,MAAM,EAAE,CAAC,aAAa,CAAC,iCAAc,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;IAC7G,MAAM,EAAE,CAAC,aAAa,CAAC,wBAAU,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AAC3F,CAAC","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { Category, TaxInvoice } from './tax-invoice'\nimport { NewTaxInvoice, TaxInvoicePatch } from './tax-invoice-type'\nimport { NewTaxInvoiceItem } from '../tax-invoice-item/tax-invoice-item-type'\nimport { TaxInvoiceItem } from '../tax-invoice-item/tax-invoice-item'\nimport { TaxInvoiceApi } from '../tax-invoice-api/tax-invoice-api'\nimport { AttributeSet } from '@things-factory/shell/dist-server/service/attribute-set/attribute-set.js'\nimport {\n ConfirmData,\n UnipostTaxType,\n callTaxInvoiceConfirm,\n getTaxInvoiceByUniposApi\n} from '../unipost-api/tax-invoice-inquiry'\nimport { parseTaxInvoiceByUnipostFormat } from './tax-invoice-util'\n\n@Resolver(TaxInvoice)\nexport class TaxInvoiceMutation {\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => TaxInvoice, { description: 'To create new TaxInvoice' })\n async createTaxInvoice(\n @Arg('taxInvoice') taxInvoice: NewTaxInvoice,\n @Arg('taxInvoiceItems', () => [NewTaxInvoiceItem]) taxInvoiceItems: NewTaxInvoiceItem[],\n @Ctx() context: ResolverContext\n ): Promise<TaxInvoice> {\n const { domain, user, tx } = context.state\n\n const newTaxInvoice = await tx.getRepository(TaxInvoice).save({\n ...taxInvoice,\n domain,\n creator: user,\n updater: user\n })\n\n // 아이템 저장\n for (const item of taxInvoiceItems) {\n await tx.getRepository(TaxInvoiceItem).save({ ...item, taxInvoice: newTaxInvoice, domain, creator: user })\n }\n\n return newTaxInvoice\n }\n\n // 그리드에서 메모 수정용 으로만\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => [TaxInvoice], { description: \"To modify multiple TaxInvoices' information\" })\n async updateMultipleTaxInvoice(\n @Arg('patches', type => [TaxInvoicePatch]) patches: TaxInvoicePatch[],\n @Ctx() context: ResolverContext\n ): Promise<TaxInvoice[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const taxInvoiceRepo = tx.getRepository(TaxInvoice)\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const updateRecord = _updateRecords[i]\n const taxInvoice = await taxInvoiceRepo.findOne({\n where: { domain: { id: domain.id }, id: updateRecord.id }\n })\n\n if (!taxInvoice) {\n throw new Error(`failed to find taxInvoice to update: ${updateRecord.id}`)\n }\n\n const result = await taxInvoiceRepo.save({\n ...taxInvoice,\n ...updateRecord,\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To delete TaxInvoice' })\n async deleteTaxInvoice(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await softDeleteTaxInvoices(tx, domain, [id])\n\n return true\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To delete multiple TaxInvoices' })\n async deleteTaxInvoices(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await softDeleteTaxInvoices(tx, domain, ids)\n\n return true\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'create tax invoice data by API' })\n async fetchTaxInvoiceByApi(@Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, user, tx } = context.state\n const taxInvoiceApiRepo = tx.getRepository(TaxInvoiceApi)\n const taxInvoiceRepo = tx.getRepository(TaxInvoice)\n const insertedData: ConfirmData[] = [] // API 호출 후 결과 회신용\n\n // TODO 여기 기본값으로 가져와야하는거 아님?\n const apiInfo = await taxInvoiceApiRepo\n .createQueryBuilder('tia')\n .leftJoinAndSelect('tia.domain', 'domain')\n .where('domain.id = :domainId', { domainId: domain.id })\n .andWhere('tia.isDefault = true')\n .orderBy('tia.createdAt', 'DESC')\n .getOne()\n\n if (!apiInfo) {\n throw new Error('기본 세금계산서 API 정보가 설정되어 있지 않습니다.')\n }\n\n const businessRegistrationNumber = apiInfo.businessRegistrationNumber\n const { aid = '', bearer = '' } = apiInfo.attributes || {}\n\n // API 호출하여 세금계산서 데이터 가져옴\n const { issueNoList, taxList } = await getTaxInvoiceByUniposApi(businessRegistrationNumber, aid, bearer)\n\n // 이미 있는 데이터 아이디 검색\n const existingTaxInvoice = await taxInvoiceRepo.find({\n select: ['issueNo'],\n where: { issueNo: In(issueNoList) }\n })\n const existingIds = existingTaxInvoice.map(taxInvoice => taxInvoice.issueNo)\n\n // 매입, 매출 for문\n for (let tax of taxList) {\n // 있는지 없는지 확인 (이미 있는 세금계산서는 패스)\n if (existingIds.includes(tax.exd_id)) continue\n\n // api로 받은 데이터를 DB 형태로 파싱\n const { taxInvoice, taxInvoiceItems } = parseTaxInvoiceByUnipostFormat(tax, tax.tAliceItemList, tax.category)\n\n // Insert\n const newTaxInvoice = await this.createTaxInvoice(taxInvoice, taxInvoiceItems, context)\n\n // API 결과 회신 데이터 생성\n insertedData.push({\n aid: aid,\n tax_type: tax.category == Category.EXPORT ? UnipostTaxType.EXPORT : UnipostTaxType.IMPORT,\n tid_issueid: tax.tid_issueid,\n success: true,\n message: ''\n })\n }\n\n // 유니 포스트에 조회 후 결과 회신 API 호출\n callTaxInvoiceConfirm(businessRegistrationNumber, aid, bearer, insertedData)\n\n return true\n }\n}\n\n/* An issued invoice is evidence: deleting it keeps the row (deletedAt), and its items go with it. */\nasync function softDeleteTaxInvoices(tx, domain, ids: string[]) {\n if (!ids.length) return\n await tx.getRepository(TaxInvoiceItem).softDelete({ domain: { id: domain.id }, taxInvoice: { id: In(ids) } })\n await tx.getRepository(TaxInvoice).softDelete({ domain: { id: domain.id }, id: In(ids) })\n}\n"]}
|
|
1
|
+
{"version":3,"file":"tax-invoice-mutation.js","sourceRoot":"","sources":["../../../server/service/tax-invoice/tax-invoice-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { Category, TaxInvoice } from './tax-invoice'\nimport { NewTaxInvoice, TaxInvoicePatch } from './tax-invoice-type'\nimport { NewTaxInvoiceItem } from '../tax-invoice-item/tax-invoice-item-type'\nimport { TaxInvoiceItem } from '../tax-invoice-item/tax-invoice-item'\nimport { TaxInvoiceApi } from '../tax-invoice-api/tax-invoice-api'\nimport { AttributeSet } from '@things-factory/shell/dist-server/service/attribute-set/attribute-set.js'\nimport {\n ConfirmData,\n UnipostTaxType,\n callTaxInvoiceConfirm,\n getTaxInvoiceByUniposApi\n} from '../unipost-api/tax-invoice-inquiry'\nimport { parseTaxInvoiceByUnipostFormat } from './tax-invoice-util'\n\n@Resolver(TaxInvoice)\nexport class TaxInvoiceMutation {\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: false)')\n @Mutation(returns => TaxInvoice, { description: 'To create new TaxInvoice' })\n async createTaxInvoice(\n @Arg('taxInvoice') taxInvoice: NewTaxInvoice,\n @Arg('taxInvoiceItems', () => [NewTaxInvoiceItem]) taxInvoiceItems: NewTaxInvoiceItem[],\n @Ctx() context: ResolverContext\n ): Promise<TaxInvoice> {\n const { domain, user, tx } = context.state\n\n const newTaxInvoice = await tx.getRepository(TaxInvoice).save({\n ...taxInvoice,\n domain,\n creator: user,\n updater: user\n })\n\n // 아이템 저장\n for (const item of taxInvoiceItems) {\n await tx.getRepository(TaxInvoiceItem).save({ ...item, taxInvoice: newTaxInvoice, domain, creator: user })\n }\n\n return newTaxInvoice\n }\n\n // 그리드에서 메모 수정용 으로만\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: false)')\n @Mutation(returns => [TaxInvoice], { description: \"To modify multiple TaxInvoices' information\" })\n async updateMultipleTaxInvoice(\n @Arg('patches', type => [TaxInvoicePatch]) patches: TaxInvoicePatch[],\n @Ctx() context: ResolverContext\n ): Promise<TaxInvoice[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const taxInvoiceRepo = tx.getRepository(TaxInvoice)\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const updateRecord = _updateRecords[i]\n const taxInvoice = await taxInvoiceRepo.findOne({\n where: { domain: { id: domain.id }, id: updateRecord.id }\n })\n\n if (!taxInvoice) {\n throw new Error(`failed to find taxInvoice to update: ${updateRecord.id}`)\n }\n\n const result = await taxInvoiceRepo.save({\n ...taxInvoice,\n ...updateRecord,\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: false)')\n @Mutation(returns => Boolean, { description: 'To delete TaxInvoice' })\n async deleteTaxInvoice(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await softDeleteTaxInvoices(tx, domain, [id])\n\n return true\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: false)')\n @Mutation(returns => Boolean, { description: 'To delete multiple TaxInvoices' })\n async deleteTaxInvoices(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await softDeleteTaxInvoices(tx, domain, ids)\n\n return true\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: false)')\n @Mutation(returns => Boolean, { description: 'create tax invoice data by API' })\n async fetchTaxInvoiceByApi(@Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, user, tx } = context.state\n const taxInvoiceApiRepo = tx.getRepository(TaxInvoiceApi)\n const taxInvoiceRepo = tx.getRepository(TaxInvoice)\n const insertedData: ConfirmData[] = [] // API 호출 후 결과 회신용\n\n // TODO 여기 기본값으로 가져와야하는거 아님?\n const apiInfo = await taxInvoiceApiRepo\n .createQueryBuilder('tia')\n .leftJoinAndSelect('tia.domain', 'domain')\n .where('domain.id = :domainId', { domainId: domain.id })\n .andWhere('tia.isDefault = true')\n .orderBy('tia.createdAt', 'DESC')\n .getOne()\n\n if (!apiInfo) {\n throw new Error('기본 세금계산서 API 정보가 설정되어 있지 않습니다.')\n }\n\n const businessRegistrationNumber = apiInfo.businessRegistrationNumber\n const { aid = '', bearer = '' } = apiInfo.attributes || {}\n\n // API 호출하여 세금계산서 데이터 가져옴\n const { issueNoList, taxList } = await getTaxInvoiceByUniposApi(businessRegistrationNumber, aid, bearer)\n\n // 이미 있는 데이터 아이디 검색\n const existingTaxInvoice = await taxInvoiceRepo.find({\n select: ['issueNo'],\n where: { issueNo: In(issueNoList) }\n })\n const existingIds = existingTaxInvoice.map(taxInvoice => taxInvoice.issueNo)\n\n // 매입, 매출 for문\n for (let tax of taxList) {\n // 있는지 없는지 확인 (이미 있는 세금계산서는 패스)\n if (existingIds.includes(tax.exd_id)) continue\n\n // api로 받은 데이터를 DB 형태로 파싱\n const { taxInvoice, taxInvoiceItems } = parseTaxInvoiceByUnipostFormat(tax, tax.tAliceItemList, tax.category)\n\n // Insert\n const newTaxInvoice = await this.createTaxInvoice(taxInvoice, taxInvoiceItems, context)\n\n // API 결과 회신 데이터 생성\n insertedData.push({\n aid: aid,\n tax_type: tax.category == Category.EXPORT ? UnipostTaxType.EXPORT : UnipostTaxType.IMPORT,\n tid_issueid: tax.tid_issueid,\n success: true,\n message: ''\n })\n }\n\n // 유니 포스트에 조회 후 결과 회신 API 호출\n callTaxInvoiceConfirm(businessRegistrationNumber, aid, bearer, insertedData)\n\n return true\n }\n}\n\n/* An issued invoice is evidence: deleting it keeps the row (deletedAt), and its items go with it. */\nasync function softDeleteTaxInvoices(tx, domain, ids: string[]) {\n if (!ids.length) return\n await tx.getRepository(TaxInvoiceItem).softDelete({ domain: { id: domain.id }, taxInvoice: { id: In(ids) } })\n await tx.getRepository(TaxInvoice).softDelete({ domain: { id: domain.id }, id: In(ids) })\n}\n"]}
|
|
@@ -78,7 +78,7 @@ let TaxInvoiceQuery = class TaxInvoiceQuery {
|
|
|
78
78
|
};
|
|
79
79
|
exports.TaxInvoiceQuery = TaxInvoiceQuery;
|
|
80
80
|
tslib_1.__decorate([
|
|
81
|
-
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "query", domainOwnerGranted:
|
|
81
|
+
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "query", domainOwnerGranted: false)'),
|
|
82
82
|
(0, type_graphql_1.Query)(returns => tax_invoice_1.TaxInvoice, { nullable: true, description: 'To fetch a TaxInvoice' }),
|
|
83
83
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
|
84
84
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -87,7 +87,7 @@ tslib_1.__decorate([
|
|
|
87
87
|
tslib_1.__metadata("design:returntype", Promise)
|
|
88
88
|
], TaxInvoiceQuery.prototype, "taxInvoice", null);
|
|
89
89
|
tslib_1.__decorate([
|
|
90
|
-
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "query", domainOwnerGranted:
|
|
90
|
+
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "query", domainOwnerGranted: false)'),
|
|
91
91
|
(0, type_graphql_1.Query)(returns => tax_invoice_type_1.TaxInvoiceList, { description: 'To fetch multiple TaxInvoices' }),
|
|
92
92
|
tslib_1.__param(0, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
|
|
93
93
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -96,7 +96,7 @@ tslib_1.__decorate([
|
|
|
96
96
|
tslib_1.__metadata("design:returntype", Promise)
|
|
97
97
|
], TaxInvoiceQuery.prototype, "taxInvoices", null);
|
|
98
98
|
tslib_1.__decorate([
|
|
99
|
-
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "query", domainOwnerGranted:
|
|
99
|
+
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "query", domainOwnerGranted: false)'),
|
|
100
100
|
(0, type_graphql_1.Query)(returns => tax_invoice_type_1.TaxInvoiceSummary, { description: 'To fetch TaxInvoices Summary' }),
|
|
101
101
|
tslib_1.__param(0, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
|
|
102
102
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tax-invoice-query.js","sourceRoot":"","sources":["../../../server/service/tax-invoice/tax-invoice-query.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tax-invoice-query.js","sourceRoot":"","sources":["../../../server/service/tax-invoice/tax-invoice-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx, Directive } from 'type-graphql'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { Category, Purpose, TaxInvoice } from './tax-invoice'\nimport { TaxInvoiceList, TaxInvoiceSummary } from './tax-invoice-type'\nimport { TaxInvoiceItem } from '../tax-invoice-item/tax-invoice-item'\n\n@Resolver(TaxInvoice)\nexport class TaxInvoiceQuery {\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"query\", domainOwnerGranted: false)')\n @Query(returns => TaxInvoice!, { nullable: true, description: 'To fetch a TaxInvoice' })\n async taxInvoice(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<TaxInvoice> {\n const { domain } = context.state\n\n return await getRepository(TaxInvoice).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"query\", domainOwnerGranted: false)')\n @Query(returns => TaxInvoiceList, { description: 'To fetch multiple TaxInvoices' })\n async taxInvoices(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<TaxInvoiceList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(TaxInvoice),\n searchables: ['memo', 'approvalNo', 'issueNo', 'supplierBusinessName', 'buyerBusinessName']\n })\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"query\", domainOwnerGranted: false)')\n @Query(returns => TaxInvoiceSummary, { description: 'To fetch TaxInvoices Summary' })\n async taxInvoicesSummary(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<TaxInvoiceSummary> {\n const { domain } = context.state\n let category = params.filters.filter(v => v.name === 'category')?.[0]?.value\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params: { ...params, pagination: {} },\n repository: await getRepository(TaxInvoice)\n })\n\n // 매입/매출이 있으면 그냥 가격으로 표시, 전체 조회면 매출-매입 으로 계산\n if (category) {\n queryBuilder\n .select('COUNT(id)', 'cnt')\n .addSelect('SUM(supply_amount)', 'supply_amount')\n .addSelect('SUM(tax_amount)', 'tax_amount')\n .addSelect('SUM(total_amount)', 'total_amount')\n } else {\n queryBuilder\n .select('COUNT(id)', 'cnt')\n .addSelect(\n `SUM(CASE WHEN category = \\'${Category.EXPORT}\\' THEN supply_amount ELSE -1 * supply_amount END)`,\n 'supply_amount'\n )\n .addSelect(\n `SUM(CASE WHEN category = \\'${Category.EXPORT}\\' THEN tax_amount ELSE -1 * tax_amount END)`,\n 'tax_amount'\n )\n .addSelect(\n `SUM(CASE WHEN category = \\'${Category.EXPORT}\\' THEN total_amount ELSE -1 * total_amount END)`,\n 'total_amount'\n )\n }\n\n const summary = await queryBuilder.getRawOne()\n\n return { summary }\n }\n\n @FieldResolver(type => [TaxInvoiceItem])\n async taxInvoiceItems(@Root() taxInvoice: TaxInvoice): Promise<TaxInvoiceItem[]> {\n return taxInvoice.id && (await getRepository(TaxInvoiceItem).findBy({ taxInvoice: { id: taxInvoice.id } }))\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() taxInvoice: TaxInvoice): Promise<Domain> {\n return taxInvoice.domainId && (await getRepository(Domain).findOneBy({ id: taxInvoice.domainId }))\n }\n\n @FieldResolver(type => User)\n async updater(@Root() taxInvoice: TaxInvoice): Promise<User> {\n return taxInvoice.updaterId && (await getRepository(User).findOneBy({ id: taxInvoice.updaterId }))\n }\n\n @FieldResolver(type => User)\n async creator(@Root() taxInvoice: TaxInvoice): Promise<User> {\n return taxInvoice.creatorId && (await getRepository(User).findOneBy({ id: taxInvoice.creatorId }))\n }\n\n @FieldResolver(type => Boolean)\n async isMatched(@Root() taxInvoice: TaxInvoice): Promise<boolean> {\n try {\n const binding = await getRepository('tax_invoice_binding').findOne({\n where: { taxInvoice: { id: taxInvoice.id } }\n })\n\n return !!binding\n } catch (e) {\n return false\n }\n }\n}\n"]}
|
|
@@ -246,7 +246,7 @@ let TaxInvoiceApiMutation = class TaxInvoiceApiMutation {
|
|
|
246
246
|
exports.TaxInvoiceApiMutation = TaxInvoiceApiMutation;
|
|
247
247
|
tslib_1.__decorate([
|
|
248
248
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
249
|
-
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted:
|
|
249
|
+
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted: false)'),
|
|
250
250
|
(0, type_graphql_1.Mutation)(returns => [tax_invoice_api_1.TaxInvoiceApi], { description: 'To modify Tax Invoice Api information' }),
|
|
251
251
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('patches', type => [tax_invoice_api_type_1.TaxInvoiceApiPatch])),
|
|
252
252
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -256,7 +256,7 @@ tslib_1.__decorate([
|
|
|
256
256
|
], TaxInvoiceApiMutation.prototype, "updateMultipleTaxInvoiceApi", null);
|
|
257
257
|
tslib_1.__decorate([
|
|
258
258
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
259
|
-
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted:
|
|
259
|
+
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted: false)'),
|
|
260
260
|
(0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete multiple Tax Invoice Api' }),
|
|
261
261
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('ids', type => [String])),
|
|
262
262
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -266,7 +266,7 @@ tslib_1.__decorate([
|
|
|
266
266
|
], TaxInvoiceApiMutation.prototype, "deleteTaxInvoiceApis", null);
|
|
267
267
|
tslib_1.__decorate([
|
|
268
268
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
269
|
-
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted:
|
|
269
|
+
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "mutation", domainOwnerGranted: false)'),
|
|
270
270
|
(0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To Send Tax Invoices By Api' }),
|
|
271
271
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('taxInvoiceSendList', type => [tax_invoice_api_type_1.TaxInvoiceSend])),
|
|
272
272
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tax-invoice-api-mutation.js","sourceRoot":"","sources":["../../../server/service/tax-invoice-api/tax-invoice-api-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { TaxInvoiceApi } from './tax-invoice-api'\nimport { TaxInvoiceApiPatch, TaxInvoiceSend } from './tax-invoice-api-type'\nimport { TaxInvoiceItem } from '../tax-invoice-item/tax-invoice-item'\nimport { Category, InvoiceType, TaxInvoice } from '../tax-invoice/tax-invoice'\nimport { sendTaxInvoiceByUniposApi } from '../unipost-api/tax-invoice-send'\nimport { parseTaxInvoiceByUnipostFormat } from '../tax-invoice/tax-invoice-util'\n\n@Resolver(TaxInvoiceApi)\nexport class TaxInvoiceApiMutation {\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => [TaxInvoiceApi], { description: 'To modify Tax Invoice Api information' })\n async updateMultipleTaxInvoiceApi(\n @Arg('patches', type => [TaxInvoiceApiPatch]) patches: TaxInvoiceApiPatch[],\n @Ctx() context: ResolverContext\n ): Promise<TaxInvoiceApi[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const taxInvoiceApiRepo = tx.getRepository(TaxInvoiceApi)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await taxInvoiceApiRepo.save({\n ...newRecord,\n domain,\n creator: user,\n updater: user\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const updateRecord = _updateRecords[i]\n const taxAuditResult = await taxInvoiceApiRepo.findOne({\n where: { domain: { id: domain.id }, id: updateRecord.id }\n })\n\n if (!taxAuditResult) {\n throw new Error(`failed to find taxAuditResult to update: ${updateRecord.id}`)\n }\n\n const result = await taxInvoiceApiRepo.save({\n ...taxAuditResult,\n ...updateRecord,\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To delete multiple Tax Invoice Api' })\n async deleteTaxInvoiceApis(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(TaxInvoiceApi).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n return true\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To Send Tax Invoices By Api' })\n async sendTaxInvoicesByApi(\n @Arg('taxInvoiceSendList', type => [TaxInvoiceSend]) taxInvoiceSendList: TaxInvoiceSend[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n await this.issueTaxInvoicesByApi(taxInvoiceSendList, context)\n\n return true\n }\n\n async issueTaxInvoicesByApi(taxInvoiceSendList: TaxInvoiceSend[], context: ResolverContext): Promise<TaxInvoice[]> {\n if (!taxInvoiceSendList?.length) throw new Error('tax invoice send exception: no list')\n\n const { domain, user, tx } = context.state\n const taxInvoiceRepo = tx.getRepository(TaxInvoice)\n const taxInvoiceItemRepo = tx.getRepository(TaxInvoiceItem)\n const taxInvoiceApiRepo = tx.getRepository(TaxInvoiceApi)\n const issuedTaxInvoices: TaxInvoice[] = []\n\n const apiInfo = await taxInvoiceApiRepo.findOneBy({ isDefault: true })\n const businessRegistrationNumber = apiInfo.businessRegistrationNumber\n const { aid = '', bearer = '', customer_no = '' } = apiInfo?.attributes\n let failCount = 0\n let failMessage = []\n\n // 1. 밸리데이션 및 데이터 파싱\n let newTaxInvoiceSendList = taxInvoiceSendList.map(taxInvoiceSend =>\n this._parseTaxInvoiceSendForApi(taxInvoiceSend, aid, customer_no)\n )\n\n // 2. 세금계산서 발행 API 호출\n const apiResult = await sendTaxInvoiceByUniposApi(businessRegistrationNumber, aid, bearer, newTaxInvoiceSendList)\n if (apiResult === false) {\n // TODO 로그 찍기\n throw new Error('tax invoice send exception: api error')\n }\n\n // 3. 성공하면 세금계산서 DB에 저장\n for (let item of apiResult) {\n if (item?.success) {\n const { taxInvoice, taxInvoiceItems } = parseTaxInvoiceByUnipostFormat(\n item?.tAliceEntry,\n item?.tAliceEntry?.tAliceItemList,\n Category.EXPORT\n )\n\n // 세금계산서 저장\n const newTaxInvoice = await taxInvoiceRepo.save({\n ...taxInvoice,\n domain,\n creator: user,\n updater: user\n })\n issuedTaxInvoices.push(newTaxInvoice)\n\n // 아이템 저장\n for (const item of taxInvoiceItems) {\n await taxInvoiceItemRepo.save({ ...item, taxInvoice: newTaxInvoice, domain, creator: user })\n }\n } else {\n failCount++\n failMessage.push(`${item.inv_seq}: ${item.message}`)\n }\n }\n\n // 실패가 1개라도 있으면 에러\n if (failCount > 0) {\n throw new Error(failCount + '개의 계산서 등록에 실패하였습니다.\\n' + failMessage.join('\\n'))\n }\n\n return issuedTaxInvoices\n }\n\n // 유니스포트에 받을수 있는 포맷으로 데이터 파싱\n private _parseTaxInvoiceSendForApi(taxInvoiceSend, aid, customer_no) {\n const { taxInvoice, taxInvoiceItems } = taxInvoiceSend\n let newTaxInvoiceItems: any = []\n const today = new Intl.DateTimeFormat('fr-CA', { timeZone: 'Asia/Seoul' }).format(new Date()) // YYYY-MM-DD\n\n // 필수값 체크\n if (\n !taxInvoice.supplierBusinessRegistrationNumber ||\n !taxInvoice.supplierBusinessName ||\n !taxInvoice.supplierRepresentativeName ||\n !taxInvoice.buyerBusinessRegistrationNumber ||\n !taxInvoice.buyerBusinessName ||\n !taxInvoice.buyerRepresentativeName ||\n !taxInvoice.issueDate\n ) {\n throw new Error('tax invoice send exception: no essential value')\n }\n\n // 공급자 사업자 등록번호가 전부 숫자이며 10자리 인지 체크\n if (\n isNaN(taxInvoice.supplierBusinessRegistrationNumber) ||\n taxInvoice.supplierBusinessRegistrationNumber.length !== 10\n ) {\n throw new Error('tax invoice send exception: Supplier Business Registration Number is wrong')\n }\n\n // 공급받는자 사업자 등록번호가 전부 숫자이며 10자리 인지 체크\n if (isNaN(taxInvoice.buyerBusinessRegistrationNumber) || taxInvoice.buyerBusinessRegistrationNumber.length !== 10) {\n throw new Error('tax invoice send exception: Buyer Business Registration Number is wrong')\n }\n\n // 작성일자가 오늘 날짜를 넘어가면 에러\n if (taxInvoice.issueDate > today) {\n throw new Error('tax invoice send exception: issueDate error')\n }\n\n // 현금, 수표, 어음, 외상미수금이 있을시 총 합계금액과 금액 동일 체크\n const paymentAmount: number =\n taxInvoice.paymentAmountCash +\n taxInvoice.paymentAmountCheck +\n taxInvoice.paymentAmountPromissoryNote +\n taxInvoice.paymentAmountAccountsReceivable\n if (paymentAmount > 0 && paymentAmount !== taxInvoice.totalAmount) {\n throw new Error('tax invoice send exception: summary is not same')\n }\n\n // 영세업자인데 세금이 있으면 에러\n if (taxInvoice.invoiceType === InvoiceType.ZERO_RATED_TAX_INVOICE && taxInvoice.taxAmount > 0) {\n throw new Error('tax invoice send exception: tax price is exist')\n }\n\n for (let item of taxInvoiceItems) {\n // 아이템 필수값 체크\n if (!item.supplyDate || !item.itemName || !item.quantity || !item.unitPrice) {\n throw new Error('tax invoice send exception: no item essential value')\n }\n\n // 아이템의 일자가 작성일자보다 크면 에러\n if (taxInvoice.issueDate < item.supplyDate) {\n throw new Error('tax invoice send exception: item supplyDate is bigger than issueDate')\n }\n\n // 영세업자인데 아이템 세금이 있으면 에러\n if (taxInvoice.invoiceType === InvoiceType.ZERO_RATED_TAX_INVOICE && item.taxPrice > 0) {\n throw new Error('tax invoice send exception: item tax price is exist')\n }\n\n newTaxInvoiceItems.push({\n tii_seqnumeric: item.sequence,\n tii_purchaseexpirydatetime: item.supplyDate.replace(/-/g, ''),\n tii_nametext: item.itemName,\n tii_informationtext: item.specification,\n tii_chargeableunitquantity: item.quantity,\n tii_unitprice_unitamount: item.unitPrice,\n tii_invoiceamount: item.supplyPrice,\n tii_totaltax_calcamount: item.taxPrice,\n tii_descriptiontext: item.remark\n })\n }\n\n return {\n aid: aid,\n inv_seq: today.replace(/-/g, '') + customer_no,\n exd_refdoc_id: null,\n tid_issuedatetime: taxInvoice.issueDate.replace(/-/g, ''),\n tid_typecode: taxInvoice.invoiceType,\n tid_purposecode: taxInvoice.purpose,\n tid_amendcode: taxInvoice.revisedReason,\n tid_originalissueid: null,\n tid_desc0: taxInvoice.remark0,\n tid_desc1: null,\n tid_desc2: null,\n tit_alice_specorg_biztypecode: taxInvoice.supplierBusinessRegistrationCategory,\n tit_alice_id: taxInvoice.supplierBusinessRegistrationNumber,\n tit_alice_specorg_taxregid: taxInvoice.supplierBranchIdentification,\n tit_alice_name: taxInvoice.supplierBusinessName,\n tit_alice_specperson_name: taxInvoice.supplierRepresentativeName,\n tit_alice_specaddr_lineone: taxInvoice.supplierAddress,\n tit_alice_typecode: taxInvoice.supplierBusinessType,\n tit_alice_classcode: taxInvoice.supplierIndustryType,\n tit_alice_defcont_deptname: taxInvoice.supplierDepartment,\n tit_alice_defcont_personname: taxInvoice.supplierContactName,\n tit_alice_defcont_telcomm: taxInvoice.supplierContactPhone,\n tit_alice_defcont_uricomm: taxInvoice.supplierContactEmail,\n tit_alice_defcont_cellphone: taxInvoice.supplierContactCellPhone,\n tit_bob_specorg_biztypecode: taxInvoice.buyerBusinessRegistrationCategory,\n tit_bob_id: taxInvoice.buyerBusinessRegistrationNumber,\n tit_bob_specorg_taxregid: taxInvoice.buyerBranchIdentification,\n tit_bob_name: taxInvoice.buyerBusinessName,\n tit_bob_specperson_name: taxInvoice.buyerRepresentativeName,\n tit_bob_specaddr_lineone: taxInvoice.buyerAddress,\n tit_bob_typecode: taxInvoice.buyerBusinessType,\n tit_bob_classcode: taxInvoice.buyerIndustryType,\n tit_bob_1stdefcont_deptname: taxInvoice.buyer1stDepartment,\n tit_bob_1stdefcont_personname: taxInvoice.buyer1stContactName,\n tit_bob_1stdefcont_telcomm: taxInvoice.buyer1stContactPhone,\n tit_bob_1stdefcont_uricomm: taxInvoice.buyer1stContactEmail,\n tit_bob_1stdefcont_cellphone: taxInvoice.buyer1stContactCellPhone,\n tit_bob_2nddefcont_deptname: taxInvoice.buyer2ndDepartment,\n tit_bob_2nddefcont_personname: taxInvoice.buyer2ndContactName,\n tit_bob_2nddefcont_telcomm: taxInvoice.buyer2ndContactPhone,\n tit_bob_2nddefcont_uricomm: taxInvoice.buyer2ndContactEmail,\n tit_bob_2nddefcont_cellphone: taxInvoice.buyer2ndContactCellPhone,\n tit_broker_specorg_biztypecode: taxInvoice.agentBusinessRegistrationCategory,\n tit_broker_id: taxInvoice.agentBusinessRegistrationNumber,\n tit_broker_specorg_taxregid: taxInvoice.agentBranchIdentification,\n tit_broker_name: taxInvoice.agentBusinessName,\n tit_broker_specperson_name: taxInvoice.agentRepresentativeName,\n tit_broker_specaddr_lineone: taxInvoice.agentAddress,\n tit_broker_typecode: taxInvoice.agentBusinessType,\n tit_broker_classcode: taxInvoice.agentIndustryType,\n tit_broker_defcont_deptname: taxInvoice.agentDepartment,\n tit_broker_defcont_personname: taxInvoice.agentContactName,\n tit_broker_defcont_telcomm: taxInvoice.agentContactPhone,\n tit_broker_defcont_uricomm: taxInvoice.agentContactEmail,\n tit_broker_defcont_cellphone: taxInvoice.agentContactCellPhone,\n tit_specpay_paidamount10: taxInvoice.paymentAmountCash,\n tit_specpay_paidamount20: taxInvoice.paymentAmountCheck,\n tit_specpay_paidamount30: taxInvoice.paymentAmountPromissoryNote,\n tit_specpay_paidamount40: taxInvoice.paymentAmountAccountsReceivable,\n tit_specsum_chargeamount: taxInvoice.supplyAmount,\n tit_specsum_taxamount: taxInvoice.taxAmount,\n tit_specsum_grandamount: taxInvoice.totalAmount,\n inv_sign: '',\n biz_tocharlesconfirmstatus: null,\n tAliceItemList: newTaxInvoiceItems\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"tax-invoice-api-mutation.js","sourceRoot":"","sources":["../../../server/service/tax-invoice-api/tax-invoice-api-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { TaxInvoiceApi } from './tax-invoice-api'\nimport { TaxInvoiceApiPatch, TaxInvoiceSend } from './tax-invoice-api-type'\nimport { TaxInvoiceItem } from '../tax-invoice-item/tax-invoice-item'\nimport { Category, InvoiceType, TaxInvoice } from '../tax-invoice/tax-invoice'\nimport { sendTaxInvoiceByUniposApi } from '../unipost-api/tax-invoice-send'\nimport { parseTaxInvoiceByUnipostFormat } from '../tax-invoice/tax-invoice-util'\n\n@Resolver(TaxInvoiceApi)\nexport class TaxInvoiceApiMutation {\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: false)')\n @Mutation(returns => [TaxInvoiceApi], { description: 'To modify Tax Invoice Api information' })\n async updateMultipleTaxInvoiceApi(\n @Arg('patches', type => [TaxInvoiceApiPatch]) patches: TaxInvoiceApiPatch[],\n @Ctx() context: ResolverContext\n ): Promise<TaxInvoiceApi[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const taxInvoiceApiRepo = tx.getRepository(TaxInvoiceApi)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await taxInvoiceApiRepo.save({\n ...newRecord,\n domain,\n creator: user,\n updater: user\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const updateRecord = _updateRecords[i]\n const taxAuditResult = await taxInvoiceApiRepo.findOne({\n where: { domain: { id: domain.id }, id: updateRecord.id }\n })\n\n if (!taxAuditResult) {\n throw new Error(`failed to find taxAuditResult to update: ${updateRecord.id}`)\n }\n\n const result = await taxInvoiceApiRepo.save({\n ...taxAuditResult,\n ...updateRecord,\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: false)')\n @Mutation(returns => Boolean, { description: 'To delete multiple Tax Invoice Api' })\n async deleteTaxInvoiceApis(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(TaxInvoiceApi).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n return true\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"mutation\", domainOwnerGranted: false)')\n @Mutation(returns => Boolean, { description: 'To Send Tax Invoices By Api' })\n async sendTaxInvoicesByApi(\n @Arg('taxInvoiceSendList', type => [TaxInvoiceSend]) taxInvoiceSendList: TaxInvoiceSend[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n await this.issueTaxInvoicesByApi(taxInvoiceSendList, context)\n\n return true\n }\n\n async issueTaxInvoicesByApi(taxInvoiceSendList: TaxInvoiceSend[], context: ResolverContext): Promise<TaxInvoice[]> {\n if (!taxInvoiceSendList?.length) throw new Error('tax invoice send exception: no list')\n\n const { domain, user, tx } = context.state\n const taxInvoiceRepo = tx.getRepository(TaxInvoice)\n const taxInvoiceItemRepo = tx.getRepository(TaxInvoiceItem)\n const taxInvoiceApiRepo = tx.getRepository(TaxInvoiceApi)\n const issuedTaxInvoices: TaxInvoice[] = []\n\n const apiInfo = await taxInvoiceApiRepo.findOneBy({ isDefault: true })\n const businessRegistrationNumber = apiInfo.businessRegistrationNumber\n const { aid = '', bearer = '', customer_no = '' } = apiInfo?.attributes\n let failCount = 0\n let failMessage = []\n\n // 1. 밸리데이션 및 데이터 파싱\n let newTaxInvoiceSendList = taxInvoiceSendList.map(taxInvoiceSend =>\n this._parseTaxInvoiceSendForApi(taxInvoiceSend, aid, customer_no)\n )\n\n // 2. 세금계산서 발행 API 호출\n const apiResult = await sendTaxInvoiceByUniposApi(businessRegistrationNumber, aid, bearer, newTaxInvoiceSendList)\n if (apiResult === false) {\n // TODO 로그 찍기\n throw new Error('tax invoice send exception: api error')\n }\n\n // 3. 성공하면 세금계산서 DB에 저장\n for (let item of apiResult) {\n if (item?.success) {\n const { taxInvoice, taxInvoiceItems } = parseTaxInvoiceByUnipostFormat(\n item?.tAliceEntry,\n item?.tAliceEntry?.tAliceItemList,\n Category.EXPORT\n )\n\n // 세금계산서 저장\n const newTaxInvoice = await taxInvoiceRepo.save({\n ...taxInvoice,\n domain,\n creator: user,\n updater: user\n })\n issuedTaxInvoices.push(newTaxInvoice)\n\n // 아이템 저장\n for (const item of taxInvoiceItems) {\n await taxInvoiceItemRepo.save({ ...item, taxInvoice: newTaxInvoice, domain, creator: user })\n }\n } else {\n failCount++\n failMessage.push(`${item.inv_seq}: ${item.message}`)\n }\n }\n\n // 실패가 1개라도 있으면 에러\n if (failCount > 0) {\n throw new Error(failCount + '개의 계산서 등록에 실패하였습니다.\\n' + failMessage.join('\\n'))\n }\n\n return issuedTaxInvoices\n }\n\n // 유니스포트에 받을수 있는 포맷으로 데이터 파싱\n private _parseTaxInvoiceSendForApi(taxInvoiceSend, aid, customer_no) {\n const { taxInvoice, taxInvoiceItems } = taxInvoiceSend\n let newTaxInvoiceItems: any = []\n const today = new Intl.DateTimeFormat('fr-CA', { timeZone: 'Asia/Seoul' }).format(new Date()) // YYYY-MM-DD\n\n // 필수값 체크\n if (\n !taxInvoice.supplierBusinessRegistrationNumber ||\n !taxInvoice.supplierBusinessName ||\n !taxInvoice.supplierRepresentativeName ||\n !taxInvoice.buyerBusinessRegistrationNumber ||\n !taxInvoice.buyerBusinessName ||\n !taxInvoice.buyerRepresentativeName ||\n !taxInvoice.issueDate\n ) {\n throw new Error('tax invoice send exception: no essential value')\n }\n\n // 공급자 사업자 등록번호가 전부 숫자이며 10자리 인지 체크\n if (\n isNaN(taxInvoice.supplierBusinessRegistrationNumber) ||\n taxInvoice.supplierBusinessRegistrationNumber.length !== 10\n ) {\n throw new Error('tax invoice send exception: Supplier Business Registration Number is wrong')\n }\n\n // 공급받는자 사업자 등록번호가 전부 숫자이며 10자리 인지 체크\n if (isNaN(taxInvoice.buyerBusinessRegistrationNumber) || taxInvoice.buyerBusinessRegistrationNumber.length !== 10) {\n throw new Error('tax invoice send exception: Buyer Business Registration Number is wrong')\n }\n\n // 작성일자가 오늘 날짜를 넘어가면 에러\n if (taxInvoice.issueDate > today) {\n throw new Error('tax invoice send exception: issueDate error')\n }\n\n // 현금, 수표, 어음, 외상미수금이 있을시 총 합계금액과 금액 동일 체크\n const paymentAmount: number =\n taxInvoice.paymentAmountCash +\n taxInvoice.paymentAmountCheck +\n taxInvoice.paymentAmountPromissoryNote +\n taxInvoice.paymentAmountAccountsReceivable\n if (paymentAmount > 0 && paymentAmount !== taxInvoice.totalAmount) {\n throw new Error('tax invoice send exception: summary is not same')\n }\n\n // 영세업자인데 세금이 있으면 에러\n if (taxInvoice.invoiceType === InvoiceType.ZERO_RATED_TAX_INVOICE && taxInvoice.taxAmount > 0) {\n throw new Error('tax invoice send exception: tax price is exist')\n }\n\n for (let item of taxInvoiceItems) {\n // 아이템 필수값 체크\n if (!item.supplyDate || !item.itemName || !item.quantity || !item.unitPrice) {\n throw new Error('tax invoice send exception: no item essential value')\n }\n\n // 아이템의 일자가 작성일자보다 크면 에러\n if (taxInvoice.issueDate < item.supplyDate) {\n throw new Error('tax invoice send exception: item supplyDate is bigger than issueDate')\n }\n\n // 영세업자인데 아이템 세금이 있으면 에러\n if (taxInvoice.invoiceType === InvoiceType.ZERO_RATED_TAX_INVOICE && item.taxPrice > 0) {\n throw new Error('tax invoice send exception: item tax price is exist')\n }\n\n newTaxInvoiceItems.push({\n tii_seqnumeric: item.sequence,\n tii_purchaseexpirydatetime: item.supplyDate.replace(/-/g, ''),\n tii_nametext: item.itemName,\n tii_informationtext: item.specification,\n tii_chargeableunitquantity: item.quantity,\n tii_unitprice_unitamount: item.unitPrice,\n tii_invoiceamount: item.supplyPrice,\n tii_totaltax_calcamount: item.taxPrice,\n tii_descriptiontext: item.remark\n })\n }\n\n return {\n aid: aid,\n inv_seq: today.replace(/-/g, '') + customer_no,\n exd_refdoc_id: null,\n tid_issuedatetime: taxInvoice.issueDate.replace(/-/g, ''),\n tid_typecode: taxInvoice.invoiceType,\n tid_purposecode: taxInvoice.purpose,\n tid_amendcode: taxInvoice.revisedReason,\n tid_originalissueid: null,\n tid_desc0: taxInvoice.remark0,\n tid_desc1: null,\n tid_desc2: null,\n tit_alice_specorg_biztypecode: taxInvoice.supplierBusinessRegistrationCategory,\n tit_alice_id: taxInvoice.supplierBusinessRegistrationNumber,\n tit_alice_specorg_taxregid: taxInvoice.supplierBranchIdentification,\n tit_alice_name: taxInvoice.supplierBusinessName,\n tit_alice_specperson_name: taxInvoice.supplierRepresentativeName,\n tit_alice_specaddr_lineone: taxInvoice.supplierAddress,\n tit_alice_typecode: taxInvoice.supplierBusinessType,\n tit_alice_classcode: taxInvoice.supplierIndustryType,\n tit_alice_defcont_deptname: taxInvoice.supplierDepartment,\n tit_alice_defcont_personname: taxInvoice.supplierContactName,\n tit_alice_defcont_telcomm: taxInvoice.supplierContactPhone,\n tit_alice_defcont_uricomm: taxInvoice.supplierContactEmail,\n tit_alice_defcont_cellphone: taxInvoice.supplierContactCellPhone,\n tit_bob_specorg_biztypecode: taxInvoice.buyerBusinessRegistrationCategory,\n tit_bob_id: taxInvoice.buyerBusinessRegistrationNumber,\n tit_bob_specorg_taxregid: taxInvoice.buyerBranchIdentification,\n tit_bob_name: taxInvoice.buyerBusinessName,\n tit_bob_specperson_name: taxInvoice.buyerRepresentativeName,\n tit_bob_specaddr_lineone: taxInvoice.buyerAddress,\n tit_bob_typecode: taxInvoice.buyerBusinessType,\n tit_bob_classcode: taxInvoice.buyerIndustryType,\n tit_bob_1stdefcont_deptname: taxInvoice.buyer1stDepartment,\n tit_bob_1stdefcont_personname: taxInvoice.buyer1stContactName,\n tit_bob_1stdefcont_telcomm: taxInvoice.buyer1stContactPhone,\n tit_bob_1stdefcont_uricomm: taxInvoice.buyer1stContactEmail,\n tit_bob_1stdefcont_cellphone: taxInvoice.buyer1stContactCellPhone,\n tit_bob_2nddefcont_deptname: taxInvoice.buyer2ndDepartment,\n tit_bob_2nddefcont_personname: taxInvoice.buyer2ndContactName,\n tit_bob_2nddefcont_telcomm: taxInvoice.buyer2ndContactPhone,\n tit_bob_2nddefcont_uricomm: taxInvoice.buyer2ndContactEmail,\n tit_bob_2nddefcont_cellphone: taxInvoice.buyer2ndContactCellPhone,\n tit_broker_specorg_biztypecode: taxInvoice.agentBusinessRegistrationCategory,\n tit_broker_id: taxInvoice.agentBusinessRegistrationNumber,\n tit_broker_specorg_taxregid: taxInvoice.agentBranchIdentification,\n tit_broker_name: taxInvoice.agentBusinessName,\n tit_broker_specperson_name: taxInvoice.agentRepresentativeName,\n tit_broker_specaddr_lineone: taxInvoice.agentAddress,\n tit_broker_typecode: taxInvoice.agentBusinessType,\n tit_broker_classcode: taxInvoice.agentIndustryType,\n tit_broker_defcont_deptname: taxInvoice.agentDepartment,\n tit_broker_defcont_personname: taxInvoice.agentContactName,\n tit_broker_defcont_telcomm: taxInvoice.agentContactPhone,\n tit_broker_defcont_uricomm: taxInvoice.agentContactEmail,\n tit_broker_defcont_cellphone: taxInvoice.agentContactCellPhone,\n tit_specpay_paidamount10: taxInvoice.paymentAmountCash,\n tit_specpay_paidamount20: taxInvoice.paymentAmountCheck,\n tit_specpay_paidamount30: taxInvoice.paymentAmountPromissoryNote,\n tit_specpay_paidamount40: taxInvoice.paymentAmountAccountsReceivable,\n tit_specsum_chargeamount: taxInvoice.supplyAmount,\n tit_specsum_taxamount: taxInvoice.taxAmount,\n tit_specsum_grandamount: taxInvoice.totalAmount,\n inv_sign: '',\n biz_tocharlesconfirmstatus: null,\n tAliceItemList: newTaxInvoiceItems\n }\n }\n}\n"]}
|
|
@@ -34,7 +34,7 @@ let TaxInvoiceApiQuery = class TaxInvoiceApiQuery {
|
|
|
34
34
|
};
|
|
35
35
|
exports.TaxInvoiceApiQuery = TaxInvoiceApiQuery;
|
|
36
36
|
tslib_1.__decorate([
|
|
37
|
-
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "query", domainOwnerGranted:
|
|
37
|
+
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "query", domainOwnerGranted: false)'),
|
|
38
38
|
(0, type_graphql_1.Query)(returns => tax_invoice_api_type_1.TaxInvoiceApiList, { nullable: true, description: 'To fetch a Tax Invoice Api List' }),
|
|
39
39
|
tslib_1.__param(0, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
|
|
40
40
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -43,7 +43,7 @@ tslib_1.__decorate([
|
|
|
43
43
|
tslib_1.__metadata("design:returntype", Promise)
|
|
44
44
|
], TaxInvoiceApiQuery.prototype, "taxInvoiceApis", null);
|
|
45
45
|
tslib_1.__decorate([
|
|
46
|
-
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "query", domainOwnerGranted:
|
|
46
|
+
(0, type_graphql_1.Directive)('@privilege(category: "tax-invoice", privilege: "query", domainOwnerGranted: false)'),
|
|
47
47
|
(0, type_graphql_1.Query)(returns => tax_invoice_api_1.TaxInvoiceApi, { nullable: true, description: 'To fetch a Default Tax Invoice Api' }),
|
|
48
48
|
tslib_1.__param(0, (0, type_graphql_1.Ctx)()),
|
|
49
49
|
tslib_1.__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tax-invoice-api-query.js","sourceRoot":"","sources":["../../../server/service/tax-invoice-api/tax-invoice-api-query.ts"],"names":[],"mappings":";;;;AAAA,+CAAyF;AACzF,iDAAuG;AACvG,yDAAgD;AAChD,uDAAiD;AACjD,iEAA0D;AAGnD,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAGvB,AAAN,KAAK,CAAC,cAAc,CACO,MAAiB,EACnC,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,MAAM,YAAY,GAAG,IAAA,qCAA6B,EAAC;YACjD,MAAM;YACN,MAAM;YACN,UAAU,EAAE,MAAM,IAAA,qBAAa,EAAC,+BAAa,CAAC;SAC/C,CAAC,CAAA;QACF,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAA;QAE3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAIK,AAAN,KAAK,CAAC,oBAAoB,CAAQ,OAAwB;QACxD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAChC,OAAO,MAAM,IAAA,qBAAa,EAAC,+BAAa,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IAC9G,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAS,aAA4B;QAC/C,OAAO,aAAa,CAAC,QAAQ,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAC1G,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,aAA4B;QAChD,OAAO,aAAa,CAAC,SAAS,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAC1G,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,aAA4B;QAChD,OAAO,aAAa,CAAC,SAAS,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAC1G,CAAC;CACF,CAAA;AAxCY,gDAAkB;AAGvB;IAFL,IAAA,wBAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"tax-invoice-api-query.js","sourceRoot":"","sources":["../../../server/service/tax-invoice-api/tax-invoice-api-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Query, FieldResolver, Root, Args, Ctx, Directive } from 'type-graphql'\nimport { Domain, ListParam, getQueryBuilderFromListParams, getRepository } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { TaxInvoiceApi } from './tax-invoice-api'\nimport { TaxInvoiceApiList } from './tax-invoice-api-type'\n\n@Resolver(TaxInvoiceApi)\nexport class TaxInvoiceApiQuery {\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"query\", domainOwnerGranted: false)')\n @Query(returns => TaxInvoiceApiList!, { nullable: true, description: 'To fetch a Tax Invoice Api List' })\n async taxInvoiceApis(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<TaxInvoiceApiList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(TaxInvoiceApi)\n })\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @Directive('@privilege(category: \"tax-invoice\", privilege: \"query\", domainOwnerGranted: false)')\n @Query(returns => TaxInvoiceApi, { nullable: true, description: 'To fetch a Default Tax Invoice Api' })\n async defaultTaxInvoiceApi(@Ctx() context: ResolverContext): Promise<TaxInvoiceApi | null> {\n const { domain } = context.state\n return await getRepository(TaxInvoiceApi).findOne({ where: { isDefault: true, domain: { id: domain.id } } })\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() taxInvoiceApi: TaxInvoiceApi): Promise<Domain> {\n return taxInvoiceApi.domainId && (await getRepository(Domain).findOneBy({ id: taxInvoiceApi.domainId }))\n }\n\n @FieldResolver(type => User)\n async updater(@Root() taxInvoiceApi: TaxInvoiceApi): Promise<User> {\n return taxInvoiceApi.updaterId && (await getRepository(User).findOneBy({ id: taxInvoiceApi.updaterId }))\n }\n\n @FieldResolver(type => User)\n async creator(@Root() taxInvoiceApi: TaxInvoiceApi): Promise<User> {\n return taxInvoiceApi.creatorId && (await getRepository(User).findOneBy({ id: taxInvoiceApi.creatorId }))\n }\n}\n"]}
|