@things-factory/biz-base 10.1.181 → 10.1.188
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-server/service/biz-option/biz-option-mutation.js +4 -0
- package/dist-server/service/biz-option/biz-option-mutation.js.map +1 -1
- package/dist-server/service/biz-option/biz-option-query.js +4 -1
- package/dist-server/service/biz-option/biz-option-query.js.map +1 -1
- package/dist-server/service/biz-option-detail/biz-option-detail-mutation.js +4 -0
- package/dist-server/service/biz-option-detail/biz-option-detail-mutation.js.map +1 -1
- package/dist-server/service/biz-option-detail/biz-option-detail-query.d.ts +1 -1
- package/dist-server/service/biz-option-detail/biz-option-detail-query.js +7 -3
- package/dist-server/service/biz-option-detail/biz-option-detail-query.js.map +1 -1
- package/dist-server/service/bizplace/bizplace-query.js +4 -0
- package/dist-server/service/bizplace/bizplace-query.js.map +1 -1
- package/dist-server/service/company/company-mutation.js +2 -0
- package/dist-server/service/company/company-mutation.js.map +1 -1
- package/dist-server/service/counterparty/counterparty-bank-account-query.d.ts +1 -0
- package/dist-server/service/counterparty/counterparty-bank-account-query.js +15 -1
- package/dist-server/service/counterparty/counterparty-bank-account-query.js.map +1 -1
- package/dist-server/service/counterparty/counterparty-bank-account.js +4 -1
- package/dist-server/service/counterparty/counterparty-bank-account.js.map +1 -1
- package/dist-server/service/counterparty/counterparty-choice.d.ts +66 -0
- package/dist-server/service/counterparty/counterparty-choice.js +112 -0
- package/dist-server/service/counterparty/counterparty-choice.js.map +1 -0
- package/dist-server/service/counterparty/counterparty-query.d.ts +3 -0
- package/dist-server/service/counterparty/counterparty-query.js +28 -10
- package/dist-server/service/counterparty/counterparty-query.js.map +1 -1
- package/dist-server/service/counterparty/counterparty.js +12 -1
- package/dist-server/service/counterparty/counterparty.js.map +1 -1
- package/dist-server/service/index.d.ts +1 -0
- package/dist-server/service/index.js +1 -0
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/tests/counterparty-published.test.mjs +105 -0
- package/tests/doors.test.mjs +32 -0
|
@@ -44,6 +44,7 @@ let BizOptionMutation = class BizOptionMutation {
|
|
|
44
44
|
};
|
|
45
45
|
exports.BizOptionMutation = BizOptionMutation;
|
|
46
46
|
tslib_1.__decorate([
|
|
47
|
+
(0, type_graphql_1.Directive)('@privilege(category: "biz-option", privilege: "mutation", domainOwnerGranted: true)'),
|
|
47
48
|
(0, type_graphql_1.Mutation)(returns => biz_option_1.BizOption),
|
|
48
49
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('bizOption')),
|
|
49
50
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -52,6 +53,7 @@ tslib_1.__decorate([
|
|
|
52
53
|
tslib_1.__metadata("design:returntype", Promise)
|
|
53
54
|
], BizOptionMutation.prototype, "createBizOption", null);
|
|
54
55
|
tslib_1.__decorate([
|
|
56
|
+
(0, type_graphql_1.Directive)('@privilege(category: "biz-option", privilege: "mutation", domainOwnerGranted: true)'),
|
|
55
57
|
(0, type_graphql_1.Mutation)(returns => biz_option_1.BizOption),
|
|
56
58
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('name')),
|
|
57
59
|
tslib_1.__param(1, (0, type_graphql_1.Arg)('patch')),
|
|
@@ -61,6 +63,7 @@ tslib_1.__decorate([
|
|
|
61
63
|
tslib_1.__metadata("design:returntype", Promise)
|
|
62
64
|
], BizOptionMutation.prototype, "updateBizOption", null);
|
|
63
65
|
tslib_1.__decorate([
|
|
66
|
+
(0, type_graphql_1.Directive)('@privilege(category: "biz-option", privilege: "mutation", domainOwnerGranted: true)'),
|
|
64
67
|
(0, type_graphql_1.Mutation)(returns => Boolean),
|
|
65
68
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('name')),
|
|
66
69
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -69,6 +72,7 @@ tslib_1.__decorate([
|
|
|
69
72
|
tslib_1.__metadata("design:returntype", Promise)
|
|
70
73
|
], BizOptionMutation.prototype, "deleteBizOption", null);
|
|
71
74
|
tslib_1.__decorate([
|
|
75
|
+
(0, type_graphql_1.Directive)('@privilege(category: "biz-option", privilege: "mutation", domainOwnerGranted: true)'),
|
|
72
76
|
(0, type_graphql_1.Mutation)(returns => Boolean),
|
|
73
77
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('names', type => [String])),
|
|
74
78
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"biz-option-mutation.js","sourceRoot":"","sources":["../../../server/service/biz-option/biz-option-mutation.ts"],"names":[],"mappings":";;;;AAAA,+
|
|
1
|
+
{"version":3,"file":"biz-option-mutation.js","sourceRoot":"","sources":["../../../server/service/biz-option/biz-option-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Mutation, Resolver, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { getRepository } from '@things-factory/shell'\n\nimport { BizOption } from './biz-option'\nimport { BizOptionPatch, NewBizOption } from './biz-option-types'\n\n@Resolver(BizOption)\nexport class BizOptionMutation {\n @Directive('@privilege(category: \"biz-option\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => BizOption)\n async createBizOption(\n @Arg('bizOption') bizOption: NewBizOption,\n @Ctx() context: ResolverContext\n ): Promise<BizOption> {\n const { domain, user } = context.state\n\n return await getRepository(BizOption).save({\n ...bizOption,\n domain: domain,\n creator: user,\n updater: user\n })\n }\n\n @Directive('@privilege(category: \"biz-option\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => BizOption)\n async updateBizOption(\n @Arg('name') name: string,\n @Arg('patch') patch: BizOptionPatch,\n @Ctx() context: ResolverContext\n ): Promise<BizOption> {\n const { domain, user } = context.state\n\n const repository = getRepository(BizOption)\n const bizOption = await repository.findOne({\n where: { domain: { id: domain.id }, name }\n })\n\n return await repository.save({\n ...bizOption,\n ...patch,\n updater: user\n })\n }\n\n @Directive('@privilege(category: \"biz-option\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean)\n async deleteBizOption(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Boolean> {\n const { domain } = context.state\n\n await getRepository(BizOption).delete({ domain: { id: domain.id }, name })\n return true\n }\n\n @Directive('@privilege(category: \"biz-option\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean)\n async deleteBizOptions(\n @Arg('names', type => [String]) names: string[],\n @Ctx() context: ResolverContext\n ): Promise<Boolean> {\n await getRepository(BizOption).delete({\n domain: { id: context.state.domain.id },\n name: In(names)\n })\n return true\n }\n}\n"]}
|
|
@@ -14,7 +14,8 @@ let BizOptionQuery = class BizOptionQuery {
|
|
|
14
14
|
});
|
|
15
15
|
}
|
|
16
16
|
async bizOptions(params, context) {
|
|
17
|
-
|
|
17
|
+
/* The caller's domain only - this list read every tenant's codes (ADR-0139). */
|
|
18
|
+
const convertedParams = (0, shell_1.convertListParams)(params, { domain: context.state.domain });
|
|
18
19
|
const [items, total] = await (0, shell_1.getRepository)(biz_option_1.BizOption).findAndCount({
|
|
19
20
|
...convertedParams,
|
|
20
21
|
relations: ['domain', 'bizplace', 'bizOptionDetails', 'creator', 'updater']
|
|
@@ -24,6 +25,7 @@ let BizOptionQuery = class BizOptionQuery {
|
|
|
24
25
|
};
|
|
25
26
|
exports.BizOptionQuery = BizOptionQuery;
|
|
26
27
|
tslib_1.__decorate([
|
|
28
|
+
(0, type_graphql_1.Directive)('@privilege(category: "biz-option", privilege: "query", domainOwnerGranted: true)'),
|
|
27
29
|
(0, type_graphql_1.Query)(returns => biz_option_1.BizOption),
|
|
28
30
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('name')),
|
|
29
31
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -32,6 +34,7 @@ tslib_1.__decorate([
|
|
|
32
34
|
tslib_1.__metadata("design:returntype", Promise)
|
|
33
35
|
], BizOptionQuery.prototype, "bizOption", null);
|
|
34
36
|
tslib_1.__decorate([
|
|
37
|
+
(0, type_graphql_1.Directive)('@privilege(category: "biz-option", privilege: "query", domainOwnerGranted: true)'),
|
|
35
38
|
(0, type_graphql_1.Query)(returns => biz_option_types_1.BizOptionList),
|
|
36
39
|
tslib_1.__param(0, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
|
|
37
40
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"biz-option-query.js","sourceRoot":"","sources":["../../../server/service/biz-option/biz-option-query.ts"],"names":[],"mappings":";;;;AAAA,+
|
|
1
|
+
{"version":3,"file":"biz-option-query.js","sourceRoot":"","sources":["../../../server/service/biz-option/biz-option-query.ts"],"names":[],"mappings":";;;;AAAA,+CAAyE;AAEzE,iDAAmF;AAEnF,6CAAwC;AACxC,yDAAkD;AAG3C,IAAM,cAAc,GAApB,MAAM,cAAc;IAGnB,AAAN,KAAK,CAAC,SAAS,CAAc,IAAY,EAAS,OAAwB;QACxE,OAAO,MAAM,IAAA,qBAAa,EAAC,sBAAS,CAAC,CAAC,OAAO,CAAC;YAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE;YACxD,SAAS,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,kBAAkB,EAAE,SAAS,EAAE,SAAS,CAAC;SAC5E,CAAC,CAAA;IACJ,CAAC;IAIK,AAAN,KAAK,CAAC,UAAU,CACW,MAAiB,EACnC,OAAwB;QAE/B,gFAAgF;QAChF,MAAM,eAAe,GAAG,IAAA,yBAAiB,EAAC,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;QACnF,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,IAAA,qBAAa,EAAC,sBAAS,CAAC,CAAC,YAAY,CAAC;YACjE,GAAG,eAAe;YAClB,SAAS,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,kBAAkB,EAAE,SAAS,EAAE,SAAS,CAAC;SAC5E,CAAC,CAAA;QACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;CACF,CAAA;AAxBY,wCAAc;AAGnB;IAFL,IAAA,wBAAS,EAAC,kFAAkF,CAAC;IAC7F,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,sBAAS,CAAC;IACX,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;+CAKhD;AAIK;IAFL,IAAA,wBAAS,EAAC,kFAAkF,CAAC;IAC7F,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,gCAAa,CAAC;IAE7B,mBAAA,IAAA,mBAAI,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,CAAC,CAAA;IACvB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAD2B,iBAAS;;gDAU3C;yBAvBU,cAAc;IAD1B,IAAA,uBAAQ,EAAC,sBAAS,CAAC;GACP,cAAc,CAwB1B","sourcesContent":["import { Arg, Args, Ctx, Query, Resolver, Directive } from 'type-graphql'\n\nimport { convertListParams, getRepository, ListParam } from '@things-factory/shell'\n\nimport { BizOption } from './biz-option'\nimport { BizOptionList } from './biz-option-types'\n\n@Resolver(BizOption)\nexport class BizOptionQuery {\n @Directive('@privilege(category: \"biz-option\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => BizOption)\n async bizOption(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<BizOption> {\n return await getRepository(BizOption).findOne({\n where: { domain: { id: context.state.domain.id }, name },\n relations: ['domain', 'bizplace', 'bizOptionDetails', 'creator', 'updater']\n })\n }\n\n @Directive('@privilege(category: \"biz-option\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => BizOptionList)\n async bizOptions(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<BizOptionList> {\n /* The caller's domain only - this list read every tenant's codes (ADR-0139). */\n const convertedParams = convertListParams(params, { domain: context.state.domain })\n const [items, total] = await getRepository(BizOption).findAndCount({\n ...convertedParams,\n relations: ['domain', 'bizplace', 'bizOptionDetails', 'creator', 'updater']\n })\n return { items, total }\n }\n}\n"]}
|
|
@@ -41,6 +41,7 @@ let BizOptionDetailMutation = class BizOptionDetailMutation {
|
|
|
41
41
|
};
|
|
42
42
|
exports.BizOptionDetailMutation = BizOptionDetailMutation;
|
|
43
43
|
tslib_1.__decorate([
|
|
44
|
+
(0, type_graphql_1.Directive)('@privilege(category: "biz-option", privilege: "mutation", domainOwnerGranted: true)'),
|
|
44
45
|
(0, type_graphql_1.Mutation)(returns => biz_option_detail_1.BizOptionDetail),
|
|
45
46
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('bizOptionDetail')),
|
|
46
47
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -49,6 +50,7 @@ tslib_1.__decorate([
|
|
|
49
50
|
tslib_1.__metadata("design:returntype", Promise)
|
|
50
51
|
], BizOptionDetailMutation.prototype, "createBizOptionDetail", null);
|
|
51
52
|
tslib_1.__decorate([
|
|
53
|
+
(0, type_graphql_1.Directive)('@privilege(category: "biz-option", privilege: "mutation", domainOwnerGranted: true)'),
|
|
52
54
|
(0, type_graphql_1.Mutation)(returns => biz_option_detail_1.BizOptionDetail),
|
|
53
55
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('name')),
|
|
54
56
|
tslib_1.__param(1, (0, type_graphql_1.Arg)('patch')),
|
|
@@ -58,6 +60,7 @@ tslib_1.__decorate([
|
|
|
58
60
|
tslib_1.__metadata("design:returntype", Promise)
|
|
59
61
|
], BizOptionDetailMutation.prototype, "updateBizOptionDetail", null);
|
|
60
62
|
tslib_1.__decorate([
|
|
63
|
+
(0, type_graphql_1.Directive)('@privilege(category: "biz-option", privilege: "mutation", domainOwnerGranted: true)'),
|
|
61
64
|
(0, type_graphql_1.Mutation)(returns => Boolean),
|
|
62
65
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('name')),
|
|
63
66
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -66,6 +69,7 @@ tslib_1.__decorate([
|
|
|
66
69
|
tslib_1.__metadata("design:returntype", Promise)
|
|
67
70
|
], BizOptionDetailMutation.prototype, "deleteBizOptionDetail", null);
|
|
68
71
|
tslib_1.__decorate([
|
|
72
|
+
(0, type_graphql_1.Directive)('@privilege(category: "biz-option", privilege: "mutation", domainOwnerGranted: true)'),
|
|
69
73
|
(0, type_graphql_1.Mutation)(returns => Boolean),
|
|
70
74
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('names', type => [String])),
|
|
71
75
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"biz-option-detail-mutation.js","sourceRoot":"","sources":["../../../server/service/biz-option-detail/biz-option-detail-mutation.ts"],"names":[],"mappings":";;;;AAAA,+
|
|
1
|
+
{"version":3,"file":"biz-option-detail-mutation.js","sourceRoot":"","sources":["../../../server/service/biz-option-detail/biz-option-detail-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Mutation, Resolver, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { getRepository } from '@things-factory/shell'\n\nimport { BizOptionDetail } from './biz-option-detail'\nimport { BizOptionDetailPatch, NewBizOptionDetail } from './biz-option-detail-types'\n\n@Resolver(BizOptionDetail)\nexport class BizOptionDetailMutation {\n @Directive('@privilege(category: \"biz-option\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => BizOptionDetail)\n async createBizOptionDetail(\n @Arg('bizOptionDetail') bizOptionDetail: NewBizOptionDetail,\n @Ctx() context: ResolverContext\n ): Promise<BizOptionDetail> {\n return await getRepository(BizOptionDetail).save({\n ...bizOptionDetail,\n domain: context.state.domain,\n creator: context.state.user,\n updater: context.state.user\n })\n }\n\n @Directive('@privilege(category: \"biz-option\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => BizOptionDetail)\n async updateBizOptionDetail(\n @Arg('name') name: string,\n @Arg('patch') patch: BizOptionDetailPatch,\n @Ctx() context: ResolverContext\n ): Promise<BizOptionDetail> {\n const repository = getRepository(BizOptionDetail)\n const bizOptionDetail = await repository.findOne({\n where: { domain: { id: context.state.domain.id }, name }\n })\n\n return await repository.save({\n ...bizOptionDetail,\n ...patch,\n updater: context.state.user\n })\n }\n\n @Directive('@privilege(category: \"biz-option\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean)\n async deleteBizOptionDetail(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Boolean> {\n await getRepository(BizOptionDetail).delete({ domain: { id: context.state.domain.id }, name })\n return true\n }\n\n @Directive('@privilege(category: \"biz-option\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean)\n async deleteBizOptionDetails(\n @Arg('names', type => [String]) names: string[],\n @Ctx() context: ResolverContext\n ): Promise<Boolean> {\n await getRepository(BizOptionDetail).delete({\n domain: { id: context.state.domain.id },\n name: In(names)\n })\n return true\n }\n}\n"]}
|
|
@@ -3,5 +3,5 @@ import { BizOptionDetail } from './biz-option-detail';
|
|
|
3
3
|
import { BizOptionDetailList } from './biz-option-detail-types';
|
|
4
4
|
export declare class BizOptionDetailQuery {
|
|
5
5
|
bizOptionDetail(name: string, context: ResolverContext): Promise<BizOptionDetail>;
|
|
6
|
-
bizOptionDetails(params: ListParam): Promise<BizOptionDetailList>;
|
|
6
|
+
bizOptionDetails(params: ListParam, context: ResolverContext): Promise<BizOptionDetailList>;
|
|
7
7
|
}
|
|
@@ -13,8 +13,9 @@ let BizOptionDetailQuery = class BizOptionDetailQuery {
|
|
|
13
13
|
relations: ['domain', 'bizOption', 'creator', 'updater']
|
|
14
14
|
});
|
|
15
15
|
}
|
|
16
|
-
async bizOptionDetails(params) {
|
|
17
|
-
|
|
16
|
+
async bizOptionDetails(params, context) {
|
|
17
|
+
/* The caller's domain only - this list read every tenant's codes (ADR-0139). */
|
|
18
|
+
const convertedParams = (0, shell_1.convertListParams)(params, { domain: context.state.domain });
|
|
18
19
|
const [items, total] = await (0, shell_1.getRepository)(biz_option_detail_1.BizOptionDetail).findAndCount({
|
|
19
20
|
...convertedParams,
|
|
20
21
|
relations: ['domain', 'bizOption', 'creator', 'updater']
|
|
@@ -24,6 +25,7 @@ let BizOptionDetailQuery = class BizOptionDetailQuery {
|
|
|
24
25
|
};
|
|
25
26
|
exports.BizOptionDetailQuery = BizOptionDetailQuery;
|
|
26
27
|
tslib_1.__decorate([
|
|
28
|
+
(0, type_graphql_1.Directive)('@privilege(category: "biz-option", privilege: "query", domainOwnerGranted: true)'),
|
|
27
29
|
(0, type_graphql_1.Query)(returns => biz_option_detail_1.BizOptionDetail),
|
|
28
30
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('name')),
|
|
29
31
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -32,10 +34,12 @@ tslib_1.__decorate([
|
|
|
32
34
|
tslib_1.__metadata("design:returntype", Promise)
|
|
33
35
|
], BizOptionDetailQuery.prototype, "bizOptionDetail", null);
|
|
34
36
|
tslib_1.__decorate([
|
|
37
|
+
(0, type_graphql_1.Directive)('@privilege(category: "biz-option", privilege: "query", domainOwnerGranted: true)'),
|
|
35
38
|
(0, type_graphql_1.Query)(returns => biz_option_detail_types_1.BizOptionDetailList),
|
|
36
39
|
tslib_1.__param(0, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
|
|
40
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
37
41
|
tslib_1.__metadata("design:type", Function),
|
|
38
|
-
tslib_1.__metadata("design:paramtypes", [shell_1.ListParam]),
|
|
42
|
+
tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
|
|
39
43
|
tslib_1.__metadata("design:returntype", Promise)
|
|
40
44
|
], BizOptionDetailQuery.prototype, "bizOptionDetails", null);
|
|
41
45
|
exports.BizOptionDetailQuery = BizOptionDetailQuery = tslib_1.__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"biz-option-detail-query.js","sourceRoot":"","sources":["../../../server/service/biz-option-detail/biz-option-detail-query.ts"],"names":[],"mappings":";;;;AAAA,+
|
|
1
|
+
{"version":3,"file":"biz-option-detail-query.js","sourceRoot":"","sources":["../../../server/service/biz-option-detail/biz-option-detail-query.ts"],"names":[],"mappings":";;;;AAAA,+CAAyE;AAEzE,iDAAmF;AAEnF,2DAAqD;AACrD,uEAA+D;AAGxD,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAGzB,AAAN,KAAK,CAAC,eAAe,CAAc,IAAY,EAAS,OAAwB;QAC9E,OAAO,MAAM,IAAA,qBAAa,EAAC,mCAAe,CAAC,CAAC,OAAO,CAAC;YAClD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE;YACxD,SAAS,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC;SACzD,CAAC,CAAA;IACJ,CAAC;IAIK,AAAN,KAAK,CAAC,gBAAgB,CAA0B,MAAiB,EAAS,OAAwB;QAChG,gFAAgF;QAChF,MAAM,eAAe,GAAG,IAAA,yBAAiB,EAAC,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;QACnF,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,IAAA,qBAAa,EAAC,mCAAe,CAAC,CAAC,YAAY,CAAC;YACvE,GAAG,eAAe;YAClB,SAAS,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC;SACzD,CAAC,CAAA;QACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;CACF,CAAA;AArBY,oDAAoB;AAGzB;IAFL,IAAA,wBAAS,EAAC,kFAAkF,CAAC;IAC7F,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,mCAAe,CAAC;IACX,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;2DAKtD;AAIK;IAFL,IAAA,wBAAS,EAAC,kFAAkF,CAAC;IAC7F,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,6CAAmB,CAAC;IACd,mBAAA,IAAA,mBAAI,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,CAAC,CAAA;IAAqB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAAjB,iBAAS;;4DAQhE;+BApBU,oBAAoB;IADhC,IAAA,uBAAQ,EAAC,mCAAe,CAAC;GACb,oBAAoB,CAqBhC","sourcesContent":["import { Arg, Args, Ctx, Query, Resolver, Directive } from 'type-graphql'\n\nimport { convertListParams, getRepository, ListParam } from '@things-factory/shell'\n\nimport { BizOptionDetail } from './biz-option-detail'\nimport { BizOptionDetailList } from './biz-option-detail-types'\n\n@Resolver(BizOptionDetail)\nexport class BizOptionDetailQuery {\n @Directive('@privilege(category: \"biz-option\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => BizOptionDetail)\n async bizOptionDetail(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<BizOptionDetail> {\n return await getRepository(BizOptionDetail).findOne({\n where: { domain: { id: context.state.domain.id }, name },\n relations: ['domain', 'bizOption', 'creator', 'updater']\n })\n }\n\n @Directive('@privilege(category: \"biz-option\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => BizOptionDetailList)\n async bizOptionDetails(@Args(type => ListParam) params: ListParam, @Ctx() context: ResolverContext): Promise<BizOptionDetailList> {\n /* The caller's domain only - this list read every tenant's codes (ADR-0139). */\n const convertedParams = convertListParams(params, { domain: context.state.domain })\n const [items, total] = await getRepository(BizOptionDetail).findAndCount({\n ...convertedParams,\n relations: ['domain', 'bizOption', 'creator', 'updater']\n })\n return { items, total }\n }\n}\n"]}
|
|
@@ -91,6 +91,7 @@ let BizplaceQuery = class BizplaceQuery {
|
|
|
91
91
|
relations: ['company', 'domain', 'users', 'users.roles', 'creator', 'updater']
|
|
92
92
|
});
|
|
93
93
|
}
|
|
94
|
+
/* The users of a bizplace with their roles and privileges - who may hold what is the user admin's (ADR-0139). */
|
|
94
95
|
async bizplaceUsers(params, context) {
|
|
95
96
|
const { domain, user } = context.state;
|
|
96
97
|
const myBizplace = await (0, utils_1.getMyBizplace)(domain, user);
|
|
@@ -198,6 +199,7 @@ tslib_1.__decorate([
|
|
|
198
199
|
tslib_1.__metadata("design:returntype", Promise)
|
|
199
200
|
], BizplaceQuery.prototype, "bizplace", null);
|
|
200
201
|
tslib_1.__decorate([
|
|
202
|
+
(0, type_graphql_1.Directive)('@privilege(category: "user", privilege: "query", domainOwnerGranted: true)'),
|
|
201
203
|
(0, type_graphql_1.Query)(returns => auth_base_1.UserList),
|
|
202
204
|
tslib_1.__param(0, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
|
|
203
205
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -206,6 +208,7 @@ tslib_1.__decorate([
|
|
|
206
208
|
tslib_1.__metadata("design:returntype", Promise)
|
|
207
209
|
], BizplaceQuery.prototype, "bizplaceUsers", null);
|
|
208
210
|
tslib_1.__decorate([
|
|
211
|
+
(0, type_graphql_1.Directive)('@privilege(category: "bizplace", privilege: "query", domainOwnerGranted: true)'),
|
|
209
212
|
(0, type_graphql_1.Query)(returns => bizplace_types_1.BizplaceList),
|
|
210
213
|
tslib_1.__param(0, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
|
|
211
214
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -214,6 +217,7 @@ tslib_1.__decorate([
|
|
|
214
217
|
tslib_1.__metadata("design:returntype", Promise)
|
|
215
218
|
], BizplaceQuery.prototype, "partnersBizplaces", null);
|
|
216
219
|
tslib_1.__decorate([
|
|
220
|
+
(0, type_graphql_1.Directive)('@privilege(category: "bizplace", privilege: "query", domainOwnerGranted: true)'),
|
|
217
221
|
(0, type_graphql_1.Query)(returns => bizplace_types_1.BizplaceList),
|
|
218
222
|
tslib_1.__param(0, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
|
|
219
223
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bizplace-query.js","sourceRoot":"","sources":["../../../server/service/bizplace/bizplace-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, Directive, Query, Resolver } from 'type-graphql'\nimport { EntityManager, FindManyOptions, In, Not, Repository } from 'typeorm'\n\nimport { User, UserList } from '@things-factory/auth-base'\nimport { convertListParams, getRepository, ListParam } from '@things-factory/shell'\n\nimport {\n getMyBizplace,\n getPartnerBizplaceIds,\n getPartnersBizplaces,\n getPartnersCompanyBizplaces,\n getPermittedBizplaceIds,\n getUserBizplaces\n} from '../../utils'\nimport { Bizplace } from './bizplace'\nimport { BizplaceList } from './bizplace-types'\nimport { accessDenied, readableBizplaceIds } from './bizplace-access'\n\n@Resolver(Bizplace)\nexport class BizplaceQuery {\n @Directive('@privilege(category: \"bizplace\", privilege: \"query\")')\n @Query(returns => [Bizplace])\n async customerBizplaces(@Ctx() context: ResolverContext): Promise<Bizplace[]> {\n const { domain, user } = context.state\n return await getRepository(Bizplace).find({\n where: {\n domain: { id: domain.id },\n id: Not(In([await getMyBizplace(domain, user)]))\n },\n relations: ['domain', 'creator', 'updater']\n })\n }\n\n @Directive('@privilege(category: \"bizplace\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => Bizplace)\n async businessBizplace(@Ctx() context: ResolverContext): Promise<Bizplace> {\n const { domain, user } = context.state\n const myBizplace = await getMyBizplace(domain, user)\n return await getRepository(Bizplace).findOne({\n where: { id: myBizplace.id },\n relations: ['company', 'domain', 'users', 'creator', 'updater']\n })\n }\n\n /* TODO make it work */\n @Directive('@privilege(category: \"bizplace\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => [Bizplace])\n async userBizplaces(@Arg('email') email: string, @Ctx() context: ResolverContext): Promise<Bizplace[]> {\n const { domain } = context.state\n\n const user: User = await getRepository(User).findOneBy({\n email: email != '' ? email : context.state.user.email\n })\n\n const allowed = new Set(await readableBizplaceIds(context))\n return (await getUserBizplaces(user)).filter(b => b && allowed.has(b.id))\n\n // const bizplaces = await getRepository(Bizplace).find({ domain })\n // // const userBizplaces = user.bizplaces\n // return bizplaces.map((bizplace: Bizplace) => {\n // return {\n // id: bizplace.id,\n // name: bizplace.name,\n // description: bizplace.description,\n // userBizplaceId: userBizplaces\n // .map(userBiz => userBiz.bizplace.id)\n // .slice(0, 1)\n // .shift(),\n // assigned: userBizplaces.filter((userBizplace: Bizplace) => userBizplace.id === bizplace.id).length > 0\n // }\n // })\n }\n\n @Directive('@privilege(category: \"bizplace\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => BizplaceList)\n async bizplaces(@Args(type => ListParam) params: ListParam, @Ctx() context: ResolverContext): Promise<BizplaceList> {\n let bizplace_ids = []\n let bizplaceIndex: any = params.filters.findIndex(x => x.name === 'bizplace')\n if (bizplaceIndex > -1) {\n bizplace_ids = params.filters\n .filter(x => x.name === 'bizplace')\n .map(item => {\n return item.value\n })\n params.filters.splice(bizplaceIndex, 1)\n }\n\n const convertedParams = convertListParams(params)\n\n let domainIndex: any = params.filters.findIndex(x => x.name === 'domain')\n if (domainIndex > -1) {\n convertedParams.where.id = In(await getPartnerBizplaceIds(context.state.domain, context.state.user))\n } else {\n if (!(bizplace_ids.length > 0))\n convertedParams.where.id = In(await getPermittedBizplaceIds(context.state.domain, context.state.user))\n else {\n const permitted = new Set(await getPermittedBizplaceIds(context.state.domain, context.state.user))\n convertedParams.where.id = In(bizplace_ids.filter(id => permitted.has(id)))\n }\n }\n\n const [items, total] = await getRepository(Bizplace).findAndCount({\n ...convertedParams,\n relations: ['domain', 'company', 'users', 'creator', 'updater']\n })\n\n return { items, total }\n }\n\n @Directive('@privilege(category: \"bizplace\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => Bizplace)\n async bizplace(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Bizplace> {\n if (!(await readableBizplaceIds(context)).includes(id)) accessDenied()\n return await getRepository(Bizplace).findOne({\n where: { id },\n relations: ['company', 'domain', 'users', 'users.roles', 'creator', 'updater']\n })\n }\n\n @Query(returns => UserList)\n async bizplaceUsers(@Args(type => ListParam) params: ListParam, @Ctx() context: ResolverContext): Promise<UserList> {\n const { domain, user } = context.state\n const myBizplace: Bizplace = await getMyBizplace(domain, user)\n return await bizplaceUsers(myBizplace, {\n ...(await convertListParams(params)),\n relations: ['domain', 'domains', 'roles', 'roles.privileges', 'roles.users']\n })\n }\n\n @Query(returns => BizplaceList)\n async partnersBizplaces(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<BizplaceList> {\n let partnersBizplaceIds = []\n let bizplaceIndex: any = params.filters.findIndex(x => x.name === 'bizplace')\n if (bizplaceIndex > -1) {\n partnersBizplaceIds = params.filters\n .filter(x => x.name === 'bizplace')\n .map(item => {\n return item.value\n })\n params.filters.splice(bizplaceIndex, 1)\n }\n\n const allowed = new Set(\n (await getPartnersBizplaces(context.state.domain, context.state.user)).filter(Boolean).map(b => b.id)\n )\n if (partnersBizplaceIds.length) partnersBizplaceIds = partnersBizplaceIds.filter(id => allowed.has(id))\n else partnersBizplaceIds = [...allowed]\n const convertedParams = convertListParams(params, { searchables: ['name', 'description'] })\n convertedParams.where.id = In(partnersBizplaceIds)\n\n const [items, total] = await getRepository(Bizplace).findAndCount({\n ...convertedParams,\n relations: ['domain', 'company', 'users', 'creator', 'updater']\n })\n\n return { items, total }\n }\n\n @Query(returns => BizplaceList)\n async permittedPartnersCompanyBizplaces(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<BizplaceList> {\n let partnersBizplaceIds = []\n let bizplaceIndex: any = params.filters.findIndex(x => x.name === 'bizplace')\n if (bizplaceIndex > -1) {\n partnersBizplaceIds = params.filters\n .filter(x => x.name === 'bizplace')\n .map(item => {\n return item.value\n })\n params.filters.splice(bizplaceIndex, 1)\n }\n\n const convertedParams = convertListParams(params)\n\n if (!(partnersBizplaceIds.length > 0)) {\n const partnersBizplaces: Bizplace[] = await getPartnersCompanyBizplaces(\n context.state.domain,\n context.state.user,\n true\n )\n partnersBizplaceIds = partnersBizplaces.map((bizplace: Bizplace) => bizplace.id || null)\n convertedParams.where.id = In(partnersBizplaceIds)\n } else {\n const allowed = new Set(\n (await getPartnersCompanyBizplaces(context.state.domain, context.state.user, true))\n .filter(Boolean)\n .map(b => b.id)\n )\n convertedParams.where.id = In(partnersBizplaceIds.filter(id => allowed.has(id)))\n }\n\n const [items, total] = await getRepository(Bizplace).findAndCount({\n ...convertedParams,\n relations: ['domain', 'company', 'users', 'creator', 'updater']\n })\n\n return { items, total }\n }\n}\n\nexport async function bizplaceUsers(\n bizplace: Bizplace,\n params: FindManyOptions<User>,\n trxMgr?: EntityManager\n): Promise<{ items: User[]; total: number }> {\n const bizplaceRepo: Repository<Bizplace> = trxMgr?.getRepository(Bizplace) || getRepository(Bizplace)\n const userRepo: Repository<User> = trxMgr?.getRepository(User) || getRepository(User)\n\n if (!bizplace?.users?.length) {\n bizplace = await bizplaceRepo.findOne({\n where: { id: bizplace.id },\n relations: ['users']\n })\n }\n const users: User[] = bizplace.users\n const userIds: string[] = users.map((user: User) => user.id)\n\n const [items, total] = await userRepo.findAndCount({\n ...params,\n where: {\n ...(params.where as any),\n id: In(userIds)\n }\n })\n\n return {\n items,\n total\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"bizplace-query.js","sourceRoot":"","sources":["../../../server/service/bizplace/bizplace-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, Directive, Query, Resolver } from 'type-graphql'\nimport { EntityManager, FindManyOptions, In, Not, Repository } from 'typeorm'\n\nimport { User, UserList } from '@things-factory/auth-base'\nimport { convertListParams, getRepository, ListParam } from '@things-factory/shell'\n\nimport {\n getMyBizplace,\n getPartnerBizplaceIds,\n getPartnersBizplaces,\n getPartnersCompanyBizplaces,\n getPermittedBizplaceIds,\n getUserBizplaces\n} from '../../utils'\nimport { Bizplace } from './bizplace'\nimport { BizplaceList } from './bizplace-types'\nimport { accessDenied, readableBizplaceIds } from './bizplace-access'\n\n@Resolver(Bizplace)\nexport class BizplaceQuery {\n @Directive('@privilege(category: \"bizplace\", privilege: \"query\")')\n @Query(returns => [Bizplace])\n async customerBizplaces(@Ctx() context: ResolverContext): Promise<Bizplace[]> {\n const { domain, user } = context.state\n return await getRepository(Bizplace).find({\n where: {\n domain: { id: domain.id },\n id: Not(In([await getMyBizplace(domain, user)]))\n },\n relations: ['domain', 'creator', 'updater']\n })\n }\n\n @Directive('@privilege(category: \"bizplace\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => Bizplace)\n async businessBizplace(@Ctx() context: ResolverContext): Promise<Bizplace> {\n const { domain, user } = context.state\n const myBizplace = await getMyBizplace(domain, user)\n return await getRepository(Bizplace).findOne({\n where: { id: myBizplace.id },\n relations: ['company', 'domain', 'users', 'creator', 'updater']\n })\n }\n\n /* TODO make it work */\n @Directive('@privilege(category: \"bizplace\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => [Bizplace])\n async userBizplaces(@Arg('email') email: string, @Ctx() context: ResolverContext): Promise<Bizplace[]> {\n const { domain } = context.state\n\n const user: User = await getRepository(User).findOneBy({\n email: email != '' ? email : context.state.user.email\n })\n\n const allowed = new Set(await readableBizplaceIds(context))\n return (await getUserBizplaces(user)).filter(b => b && allowed.has(b.id))\n\n // const bizplaces = await getRepository(Bizplace).find({ domain })\n // // const userBizplaces = user.bizplaces\n // return bizplaces.map((bizplace: Bizplace) => {\n // return {\n // id: bizplace.id,\n // name: bizplace.name,\n // description: bizplace.description,\n // userBizplaceId: userBizplaces\n // .map(userBiz => userBiz.bizplace.id)\n // .slice(0, 1)\n // .shift(),\n // assigned: userBizplaces.filter((userBizplace: Bizplace) => userBizplace.id === bizplace.id).length > 0\n // }\n // })\n }\n\n @Directive('@privilege(category: \"bizplace\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => BizplaceList)\n async bizplaces(@Args(type => ListParam) params: ListParam, @Ctx() context: ResolverContext): Promise<BizplaceList> {\n let bizplace_ids = []\n let bizplaceIndex: any = params.filters.findIndex(x => x.name === 'bizplace')\n if (bizplaceIndex > -1) {\n bizplace_ids = params.filters\n .filter(x => x.name === 'bizplace')\n .map(item => {\n return item.value\n })\n params.filters.splice(bizplaceIndex, 1)\n }\n\n const convertedParams = convertListParams(params)\n\n let domainIndex: any = params.filters.findIndex(x => x.name === 'domain')\n if (domainIndex > -1) {\n convertedParams.where.id = In(await getPartnerBizplaceIds(context.state.domain, context.state.user))\n } else {\n if (!(bizplace_ids.length > 0))\n convertedParams.where.id = In(await getPermittedBizplaceIds(context.state.domain, context.state.user))\n else {\n const permitted = new Set(await getPermittedBizplaceIds(context.state.domain, context.state.user))\n convertedParams.where.id = In(bizplace_ids.filter(id => permitted.has(id)))\n }\n }\n\n const [items, total] = await getRepository(Bizplace).findAndCount({\n ...convertedParams,\n relations: ['domain', 'company', 'users', 'creator', 'updater']\n })\n\n return { items, total }\n }\n\n @Directive('@privilege(category: \"bizplace\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => Bizplace)\n async bizplace(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Bizplace> {\n if (!(await readableBizplaceIds(context)).includes(id)) accessDenied()\n return await getRepository(Bizplace).findOne({\n where: { id },\n relations: ['company', 'domain', 'users', 'users.roles', 'creator', 'updater']\n })\n }\n\n /* The users of a bizplace with their roles and privileges - who may hold what is the user admin's (ADR-0139). */\n @Directive('@privilege(category: \"user\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => UserList)\n async bizplaceUsers(@Args(type => ListParam) params: ListParam, @Ctx() context: ResolverContext): Promise<UserList> {\n const { domain, user } = context.state\n const myBizplace: Bizplace = await getMyBizplace(domain, user)\n return await bizplaceUsers(myBizplace, {\n ...(await convertListParams(params)),\n relations: ['domain', 'domains', 'roles', 'roles.privileges', 'roles.users']\n })\n }\n\n @Directive('@privilege(category: \"bizplace\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => BizplaceList)\n async partnersBizplaces(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<BizplaceList> {\n let partnersBizplaceIds = []\n let bizplaceIndex: any = params.filters.findIndex(x => x.name === 'bizplace')\n if (bizplaceIndex > -1) {\n partnersBizplaceIds = params.filters\n .filter(x => x.name === 'bizplace')\n .map(item => {\n return item.value\n })\n params.filters.splice(bizplaceIndex, 1)\n }\n\n const allowed = new Set(\n (await getPartnersBizplaces(context.state.domain, context.state.user)).filter(Boolean).map(b => b.id)\n )\n if (partnersBizplaceIds.length) partnersBizplaceIds = partnersBizplaceIds.filter(id => allowed.has(id))\n else partnersBizplaceIds = [...allowed]\n const convertedParams = convertListParams(params, { searchables: ['name', 'description'] })\n convertedParams.where.id = In(partnersBizplaceIds)\n\n const [items, total] = await getRepository(Bizplace).findAndCount({\n ...convertedParams,\n relations: ['domain', 'company', 'users', 'creator', 'updater']\n })\n\n return { items, total }\n }\n\n @Directive('@privilege(category: \"bizplace\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => BizplaceList)\n async permittedPartnersCompanyBizplaces(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<BizplaceList> {\n let partnersBizplaceIds = []\n let bizplaceIndex: any = params.filters.findIndex(x => x.name === 'bizplace')\n if (bizplaceIndex > -1) {\n partnersBizplaceIds = params.filters\n .filter(x => x.name === 'bizplace')\n .map(item => {\n return item.value\n })\n params.filters.splice(bizplaceIndex, 1)\n }\n\n const convertedParams = convertListParams(params)\n\n if (!(partnersBizplaceIds.length > 0)) {\n const partnersBizplaces: Bizplace[] = await getPartnersCompanyBizplaces(\n context.state.domain,\n context.state.user,\n true\n )\n partnersBizplaceIds = partnersBizplaces.map((bizplace: Bizplace) => bizplace.id || null)\n convertedParams.where.id = In(partnersBizplaceIds)\n } else {\n const allowed = new Set(\n (await getPartnersCompanyBizplaces(context.state.domain, context.state.user, true))\n .filter(Boolean)\n .map(b => b.id)\n )\n convertedParams.where.id = In(partnersBizplaceIds.filter(id => allowed.has(id)))\n }\n\n const [items, total] = await getRepository(Bizplace).findAndCount({\n ...convertedParams,\n relations: ['domain', 'company', 'users', 'creator', 'updater']\n })\n\n return { items, total }\n }\n}\n\nexport async function bizplaceUsers(\n bizplace: Bizplace,\n params: FindManyOptions<User>,\n trxMgr?: EntityManager\n): Promise<{ items: User[]; total: number }> {\n const bizplaceRepo: Repository<Bizplace> = trxMgr?.getRepository(Bizplace) || getRepository(Bizplace)\n const userRepo: Repository<User> = trxMgr?.getRepository(User) || getRepository(User)\n\n if (!bizplace?.users?.length) {\n bizplace = await bizplaceRepo.findOne({\n where: { id: bizplace.id },\n relations: ['users']\n })\n }\n const users: User[] = bizplace.users\n const userIds: string[] = users.map((user: User) => user.id)\n\n const [items, total] = await userRepo.findAndCount({\n ...params,\n where: {\n ...(params.where as any),\n id: In(userIds)\n }\n })\n\n return {\n items,\n total\n }\n}\n"]}
|
|
@@ -51,6 +51,7 @@ let CompanyMutation = class CompanyMutation {
|
|
|
51
51
|
};
|
|
52
52
|
exports.CompanyMutation = CompanyMutation;
|
|
53
53
|
tslib_1.__decorate([
|
|
54
|
+
(0, type_graphql_1.Directive)('@privilege(category: "company", privilege: "mutation")'),
|
|
54
55
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
55
56
|
(0, type_graphql_1.Mutation)(returns => company_1.Company),
|
|
56
57
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('company')),
|
|
@@ -81,6 +82,7 @@ tslib_1.__decorate([
|
|
|
81
82
|
tslib_1.__metadata("design:returntype", Promise)
|
|
82
83
|
], CompanyMutation.prototype, "updateMultipleCompany", null);
|
|
83
84
|
tslib_1.__decorate([
|
|
85
|
+
(0, type_graphql_1.Directive)('@privilege(category: "company", privilege: "mutation")'),
|
|
84
86
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
85
87
|
(0, type_graphql_1.Mutation)(returns => Boolean),
|
|
86
88
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"company-mutation.js","sourceRoot":"","sources":["../../../server/service/company/company-mutation.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"company-mutation.js","sourceRoot":"","sources":["../../../server/service/company/company-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { EntityManager, Repository } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain, getRepository } from '@things-factory/shell'\nimport { slugger } from '@things-factory/utils'\n\nimport { Company } from './company'\nimport { CompanyPatch, NewCompany } from './company-types'\n\n@Resolver(Company)\nexport class CompanyMutation {\n @Directive('@privilege(category: \"company\", privilege: \"mutation\")')\n @Directive('@transaction')\n @Mutation(returns => Company)\n async createCompany(@Arg('company') company: NewCompany, @Ctx() context: ResolverContext): Promise<Company> {\n const { domain, user, tx } = context.state\n return await createCompany(company, domain, user, tx)\n }\n\n @Directive('@privilege(category: \"company\", privilege: \"mutation\")')\n @Directive('@transaction')\n @Mutation(returns => Company)\n async updateCompany(\n @Arg('name') name: string,\n @Arg('patch') patch: CompanyPatch,\n @Ctx() context: ResolverContext\n ): Promise<Company> {\n const { domain, user, tx } = context.state\n return await updateCompany(name, patch, domain, user, tx)\n }\n\n @Directive('@privilege(category: \"company\", privilege: \"mutation\")')\n @Directive('@transaction')\n @Mutation(returns => [Company])\n async updateMultipleCompany(\n @Arg('patches', type => [CompanyPatch]) patches: CompanyPatch[],\n @Ctx() context: ResolverContext\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\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const patch: CompanyPatch = _createRecords[i]\n const result = await this.createCompany(patch as NewCompany, context)\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const patch: CompanyPatch = _updateRecords[i]\n const result = await this.updateCompany(patch.name, patch, context)\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@privilege(category: \"company\", privilege: \"mutation\")')\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async deleteCompany(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Boolean> {\n await deleteCompany(id, context.state.tx)\n\n return true\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"company\", privilege: \"mutation\")')\n @Mutation(returns => Boolean)\n async deleteCompanies(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<Boolean> {\n await deleteCompanies(ids, context.state.tx)\n\n return true\n }\n}\n\nexport async function createCompany(company: NewCompany, domain: Domain, user: User, tx?: EntityManager) {\n const companyRepository: Repository<Company> = tx ? tx.getRepository(Company) : getRepository(Company)\n const domainRepository: Repository<Domain> = tx ? tx.getRepository(Domain) : getRepository(Domain)\n\n const companyDomain: Domain = await domainRepository.save({\n subdomain: slugger(company.name),\n name: company.name\n })\n\n return await companyRepository.save({\n ...company,\n domain: companyDomain,\n creator: user,\n updater: user\n })\n}\n\nexport async function updateCompany(name: string, patch: CompanyPatch, domain: Domain, user: User, tx?: EntityManager) {\n const repository: Repository<Company> = tx ? tx.getRepository(Company) : getRepository(Company)\n const company = await repository.findOneBy({\n domain: { id: domain.id },\n name\n })\n\n return repository.save({\n ...company,\n ...patch,\n updater: user\n })\n}\n\nexport async function deleteCompanies(ids: string[], tx?: EntityManager) {\n const repository = tx ? tx.getRepository(Company) : getRepository(Company)\n return await repository.delete(ids)\n}\n\nexport async function deleteCompany(id: string, tx?: EntityManager) {\n const repository: Repository<Company> = tx ? tx.getRepository(Company) : getRepository(Company)\n return await repository.delete(id)\n}\n"]}
|
|
@@ -4,6 +4,7 @@ import { Counterparty } from './counterparty';
|
|
|
4
4
|
import { CounterpartyBankAccount } from './counterparty-bank-account';
|
|
5
5
|
export declare class CounterpartyBankAccountQuery {
|
|
6
6
|
counterpartyBankAccounts(counterpartyId: string, context: ResolverContext): Promise<CounterpartyBankAccount[]>;
|
|
7
|
+
accountTail(account: CounterpartyBankAccount): string | undefined;
|
|
7
8
|
counterparty(account: CounterpartyBankAccount): Promise<Counterparty | null>;
|
|
8
9
|
passbookCopy(account: CounterpartyBankAccount): Promise<Attachment | null>;
|
|
9
10
|
creator(account: CounterpartyBankAccount): Promise<User | null>;
|
|
@@ -9,6 +9,7 @@ const shell_1 = require("@things-factory/shell");
|
|
|
9
9
|
const counterparty_1 = require("./counterparty");
|
|
10
10
|
const counterparty_bank_account_1 = require("./counterparty-bank-account");
|
|
11
11
|
const counterparty_bank_account_service_1 = require("./counterparty-bank-account-service");
|
|
12
|
+
const counterparty_choice_1 = require("./counterparty-choice");
|
|
12
13
|
/** The one file a record keeps under a refType, or null. */
|
|
13
14
|
async function documentOf(domainId, refType, refBy) {
|
|
14
15
|
return await (0, shell_1.getRepository)(attachment_base_1.Attachment).findOne({ where: { domain: { id: domainId }, refType, refBy }, order: { createdAt: 'DESC' } });
|
|
@@ -20,6 +21,9 @@ let CounterpartyBankAccountQuery = class CounterpartyBankAccountQuery {
|
|
|
20
21
|
order: { createdAt: 'ASC' }
|
|
21
22
|
});
|
|
22
23
|
}
|
|
24
|
+
accountTail(account) {
|
|
25
|
+
return (0, counterparty_choice_1.accountTailOf)(account.accountNumber);
|
|
26
|
+
}
|
|
23
27
|
async counterparty(account) {
|
|
24
28
|
return account.counterparty ?? (account.counterpartyId ? await (0, shell_1.getRepository)(counterparty_1.Counterparty).findOneBy({ id: account.counterpartyId }) : null);
|
|
25
29
|
}
|
|
@@ -43,6 +47,13 @@ tslib_1.__decorate([
|
|
|
43
47
|
tslib_1.__metadata("design:paramtypes", [String, Object]),
|
|
44
48
|
tslib_1.__metadata("design:returntype", Promise)
|
|
45
49
|
], CounterpartyBankAccountQuery.prototype, "counterpartyBankAccounts", null);
|
|
50
|
+
tslib_1.__decorate([
|
|
51
|
+
(0, type_graphql_1.FieldResolver)(type => String, { nullable: true, description: "The account number's last four digits - what one sees without the keeper's privilege" }),
|
|
52
|
+
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
53
|
+
tslib_1.__metadata("design:type", Function),
|
|
54
|
+
tslib_1.__metadata("design:paramtypes", [counterparty_bank_account_1.CounterpartyBankAccount]),
|
|
55
|
+
tslib_1.__metadata("design:returntype", String)
|
|
56
|
+
], CounterpartyBankAccountQuery.prototype, "accountTail", null);
|
|
46
57
|
tslib_1.__decorate([
|
|
47
58
|
(0, type_graphql_1.FieldResolver)(type => counterparty_1.Counterparty, { nullable: true }),
|
|
48
59
|
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
@@ -51,6 +62,7 @@ tslib_1.__decorate([
|
|
|
51
62
|
tslib_1.__metadata("design:returntype", Promise)
|
|
52
63
|
], CounterpartyBankAccountQuery.prototype, "counterparty", null);
|
|
53
64
|
tslib_1.__decorate([
|
|
65
|
+
(0, type_graphql_1.Directive)('@privilege(category: "counterparty", privilege: "query", domainOwnerGranted: true)'),
|
|
54
66
|
(0, type_graphql_1.FieldResolver)(type => attachment_base_1.Attachment, { nullable: true, description: 'The passbook copy (통장사본) - it shows the account number' }),
|
|
55
67
|
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
56
68
|
tslib_1.__metadata("design:type", Function),
|
|
@@ -85,6 +97,7 @@ let CounterpartyFilesQuery = class CounterpartyFilesQuery {
|
|
|
85
97
|
};
|
|
86
98
|
exports.CounterpartyFilesQuery = CounterpartyFilesQuery;
|
|
87
99
|
tslib_1.__decorate([
|
|
100
|
+
(0, type_graphql_1.Directive)('@privilege(category: "counterparty", privilege: "query", domainOwnerGranted: true)'),
|
|
88
101
|
(0, type_graphql_1.FieldResolver)(type => attachment_base_1.Attachment, { nullable: true, description: 'Its business registration certificate (사업자등록증)' }),
|
|
89
102
|
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
90
103
|
tslib_1.__metadata("design:type", Function),
|
|
@@ -92,7 +105,8 @@ tslib_1.__decorate([
|
|
|
92
105
|
tslib_1.__metadata("design:returntype", Promise)
|
|
93
106
|
], CounterpartyFilesQuery.prototype, "businessRegistration", null);
|
|
94
107
|
tslib_1.__decorate([
|
|
95
|
-
(0, type_graphql_1.
|
|
108
|
+
(0, type_graphql_1.Directive)('@privilege(category: "counterparty", privilege: "query", domainOwnerGranted: true)'),
|
|
109
|
+
(0, type_graphql_1.FieldResolver)(type => type_graphql_1.Int, { nullable: true, description: 'How many accounts it is paid into are registered' }),
|
|
96
110
|
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
97
111
|
tslib_1.__metadata("design:type", Function),
|
|
98
112
|
tslib_1.__metadata("design:paramtypes", [counterparty_1.Counterparty]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"counterparty-bank-account-query.js","sourceRoot":"","sources":["../../../server/service/counterparty/counterparty-bank-account-query.ts"],"names":[],"mappings":";;;;AAAA,+CAA6F;AAE7F,qEAA4D;AAC5D,yDAAgD;AAChD,iDAAqD;AAErD,iDAA6C;AAC7C,2EAAqE;AACrE,2FAAuG;
|
|
1
|
+
{"version":3,"file":"counterparty-bank-account-query.js","sourceRoot":"","sources":["../../../server/service/counterparty/counterparty-bank-account-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Directive, FieldResolver, Int, Query, Resolver, Root } from 'type-graphql'\n\nimport { Attachment } from '@things-factory/attachment-base'\nimport { User } from '@things-factory/auth-base'\nimport { getRepository } from '@things-factory/shell'\n\nimport { Counterparty } from './counterparty'\nimport { CounterpartyBankAccount } from './counterparty-bank-account'\nimport { BUSINESS_REGISTRATION_REF_TYPE, PASSBOOK_REF_TYPE } from './counterparty-bank-account-service'\nimport { accountTailOf } from './counterparty-choice'\n\n/** The one file a record keeps under a refType, or null. */\nasync function documentOf(domainId: string | undefined, refType: string, refBy: string): Promise<Attachment | null> {\n return await getRepository(Attachment).findOne({ where: { domain: { id: domainId }, refType, refBy }, order: { createdAt: 'DESC' } as any })\n}\n\n@Resolver(CounterpartyBankAccount)\nexport class CounterpartyBankAccountQuery {\n @Directive('@privilege(category: \"counterparty\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => [CounterpartyBankAccount], { description: 'The accounts a counterparty of the domain is paid into' })\n async counterpartyBankAccounts(@Arg('counterpartyId') counterpartyId: string, @Ctx() context: ResolverContext): Promise<CounterpartyBankAccount[]> {\n return await getRepository(CounterpartyBankAccount).find({\n where: { domain: { id: context.state.domain.id }, counterparty: { id: counterpartyId } },\n order: { createdAt: 'ASC' }\n })\n }\n\n @FieldResolver(type => String, { nullable: true, description: \"The account number's last four digits - what one sees without the keeper's privilege\" })\n accountTail(@Root() account: CounterpartyBankAccount): string | undefined {\n return accountTailOf(account.accountNumber)\n }\n\n @FieldResolver(type => Counterparty, { nullable: true })\n async counterparty(@Root() account: CounterpartyBankAccount): Promise<Counterparty | null> {\n return account.counterparty ?? (account.counterpartyId ? await getRepository(Counterparty).findOneBy({ id: account.counterpartyId }) : null)\n }\n\n @Directive('@privilege(category: \"counterparty\", privilege: \"query\", domainOwnerGranted: true)')\n @FieldResolver(type => Attachment, { nullable: true, description: 'The passbook copy (통장사본) - it shows the account number' })\n async passbookCopy(@Root() account: CounterpartyBankAccount): Promise<Attachment | null> {\n return await documentOf(account.domainId, PASSBOOK_REF_TYPE, account.id)\n }\n\n @FieldResolver(type => User, { nullable: true })\n async creator(@Root() account: CounterpartyBankAccount): Promise<User | null> {\n return account.creator ?? (account.creatorId ? await getRepository(User).findOneBy({ id: account.creatorId }) : null)\n }\n\n @FieldResolver(type => User, { nullable: true })\n async updater(@Root() account: CounterpartyBankAccount): Promise<User | null> {\n return account.updater ?? (account.updaterId ? await getRepository(User).findOneBy({ id: account.updaterId }) : null)\n }\n}\n\n/** What a counterparty has on file: its business registration and the accounts it is paid into. */\n@Resolver(Counterparty)\nexport class CounterpartyFilesQuery {\n @Directive('@privilege(category: \"counterparty\", privilege: \"query\", domainOwnerGranted: true)')\n @FieldResolver(type => Attachment, { nullable: true, description: 'Its business registration certificate (사업자등록증)' })\n async businessRegistration(@Root() counterparty: Counterparty): Promise<Attachment | null> {\n return await documentOf(counterparty.domainId, BUSINESS_REGISTRATION_REF_TYPE, counterparty.id)\n }\n\n @Directive('@privilege(category: \"counterparty\", privilege: \"query\", domainOwnerGranted: true)')\n @FieldResolver(type => Int, { nullable: true, description: 'How many accounts it is paid into are registered' })\n async bankAccountCount(@Root() counterparty: Counterparty): Promise<number> {\n return await getRepository(CounterpartyBankAccount).count({ where: { counterparty: { id: counterparty.id } } })\n }\n}\n"]}
|
|
@@ -48,16 +48,19 @@ tslib_1.__decorate([
|
|
|
48
48
|
], CounterpartyBankAccount.prototype, "bankName", void 0);
|
|
49
49
|
tslib_1.__decorate([
|
|
50
50
|
(0, typeorm_1.Column)(),
|
|
51
|
-
(0, type_graphql_1.
|
|
51
|
+
(0, type_graphql_1.Directive)('@privilege(category: "counterparty", privilege: "query", domainOwnerGranted: true)'),
|
|
52
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'The account number, its digits - one counterparty\'s in the domain' }),
|
|
52
53
|
tslib_1.__metadata("design:type", String)
|
|
53
54
|
], CounterpartyBankAccount.prototype, "accountNumber", void 0);
|
|
54
55
|
tslib_1.__decorate([
|
|
55
56
|
(0, typeorm_1.Column)({ nullable: true }),
|
|
57
|
+
(0, type_graphql_1.Directive)('@privilege(category: "counterparty", privilege: "query", domainOwnerGranted: true)'),
|
|
56
58
|
(0, type_graphql_1.Field)({ nullable: true, description: 'The account holder (예금주) as the bank has it' }),
|
|
57
59
|
tslib_1.__metadata("design:type", String)
|
|
58
60
|
], CounterpartyBankAccount.prototype, "holderName", void 0);
|
|
59
61
|
tslib_1.__decorate([
|
|
60
62
|
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
|
63
|
+
(0, type_graphql_1.Directive)('@privilege(category: "counterparty", privilege: "query", domainOwnerGranted: true)'),
|
|
61
64
|
(0, type_graphql_1.Field)({ nullable: true, description: 'Notes' }),
|
|
62
65
|
tslib_1.__metadata("design:type", String)
|
|
63
66
|
], CounterpartyBankAccount.prototype, "notes", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"counterparty-bank-account.js","sourceRoot":"","sources":["../../../server/service/counterparty/counterparty-bank-account.ts"],"names":[],"mappings":";;;;AAAA,+
|
|
1
|
+
{"version":3,"file":"counterparty-bank-account.js","sourceRoot":"","sources":["../../../server/service/counterparty/counterparty-bank-account.ts"],"names":[],"mappings":"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","sourcesContent":["import { Directive, Field, ID, ObjectType } from 'type-graphql'\nimport { Column, CreateDateColumn, DeleteDateColumn, Entity, Index, ManyToOne, PrimaryGeneratedColumn, RelationId, UpdateDateColumn } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { Counterparty } from './counterparty'\n\n/**\n * An account a counterparty is paid into — where money to it goes, and how a bank line paying it is told apart (ADR-0134).\n *\n * Not the business's own account (accounting `BankAccount`, a book of its money): this one has no balance and no lines.\n * Only an account a person confirmed is kept; what the bank lines suggest is read from them, never stored.\n *\n * The number is kept as its digits (`accountKey`) and is one counterparty's in the domain — an account has one holder.\n */\n@Entity()\n@Index('ix_counterparty_bank_account_0', (account: CounterpartyBankAccount) => [account.domain, account.accountNumber], { unique: true, where: '\"deleted_at\" IS NULL' })\n@Index('ix_counterparty_bank_account_1', (account: CounterpartyBankAccount) => [account.domain, account.counterparty], { where: '\"deleted_at\" IS NULL' })\n@ObjectType({ description: 'An account a counterparty is paid into' })\nexport class CounterpartyBankAccount {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID, { description: 'Unique identifier' })\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field(type => Domain, { nullable: true, description: 'The domain whose record this is' })\n domain?: Domain\n\n @RelationId((account: CounterpartyBankAccount) => account.domain)\n domainId?: string\n\n @ManyToOne(type => Counterparty, { nullable: false })\n @Field(type => Counterparty, { nullable: true, description: 'The counterparty the account is of' })\n counterparty?: Counterparty\n\n @RelationId((account: CounterpartyBankAccount) => account.counterparty)\n counterpartyId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true, description: 'The bank' })\n bankName?: string\n\n /* The number, the holder and the notes are the keeper's (ADR-0139); a chooser sees the bank and `accountTail`. */\n @Column()\n @Directive('@privilege(category: \"counterparty\", privilege: \"query\", domainOwnerGranted: true)')\n @Field({ nullable: true, description: 'The account number, its digits - one counterparty\\'s in the domain' })\n accountNumber: string\n\n @Column({ nullable: true })\n @Directive('@privilege(category: \"counterparty\", privilege: \"query\", domainOwnerGranted: true)')\n @Field({ nullable: true, description: 'The account holder (예금주) as the bank has it' })\n holderName?: string\n\n @Column({ type: 'text', nullable: true })\n @Directive('@privilege(category: \"counterparty\", privilege: \"query\", domainOwnerGranted: true)')\n @Field({ nullable: true, description: 'Notes' })\n notes?: string\n\n @CreateDateColumn()\n @Field({ nullable: true, description: 'When it was registered' })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true, description: 'When it last changed' })\n updatedAt?: Date\n\n @DeleteDateColumn()\n @Field({ nullable: true, description: 'When it was deleted' })\n deletedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true, description: 'Who registered it' })\n creator?: User\n\n @RelationId((account: CounterpartyBankAccount) => account.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true, description: 'Who last changed it' })\n updater?: User\n\n @RelationId((account: CounterpartyBankAccount) => account.updater)\n updaterId?: string\n}\n"]}
|