@things-factory/biz-base 5.0.7 → 6.0.0-alpha.0
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/index.js +4 -17
- package/dist-server/index.js.map +1 -1
- package/dist-server/middlewares/index.js.map +1 -1
- package/dist-server/migrations/index.js.map +1 -1
- package/dist-server/service/biz-option/biz-option-mutation.js +38 -45
- package/dist-server/service/biz-option/biz-option-mutation.js.map +1 -1
- package/dist-server/service/biz-option/biz-option-query.js +17 -30
- package/dist-server/service/biz-option/biz-option-query.js.map +1 -1
- package/dist-server/service/biz-option/biz-option-types.js +24 -33
- package/dist-server/service/biz-option/biz-option-types.js.map +1 -1
- package/dist-server/service/biz-option/biz-option.js +22 -31
- package/dist-server/service/biz-option/biz-option.js.map +1 -1
- package/dist-server/service/biz-option/index.js.map +1 -1
- package/dist-server/service/biz-option-detail/biz-option-detail-mutation.js +34 -44
- 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.js +16 -29
- package/dist-server/service/biz-option-detail/biz-option-detail-query.js.map +1 -1
- package/dist-server/service/biz-option-detail/biz-option-detail-types.js +20 -29
- package/dist-server/service/biz-option-detail/biz-option-detail-types.js.map +1 -1
- package/dist-server/service/biz-option-detail/biz-option-detail.js +20 -29
- package/dist-server/service/biz-option-detail/biz-option-detail.js.map +1 -1
- package/dist-server/service/biz-option-detail/index.js.map +1 -1
- package/dist-server/service/bizplace/bizplace-mutation.js +53 -65
- package/dist-server/service/bizplace/bizplace-mutation.js.map +1 -1
- package/dist-server/service/bizplace/bizplace-query.js +79 -88
- package/dist-server/service/bizplace/bizplace-query.js.map +1 -1
- package/dist-server/service/bizplace/bizplace-types.js +53 -62
- package/dist-server/service/bizplace/bizplace-types.js.map +1 -1
- package/dist-server/service/bizplace/bizplace.js +33 -42
- package/dist-server/service/bizplace/bizplace.js.map +1 -1
- package/dist-server/service/bizplace/index.js.map +1 -1
- package/dist-server/service/company/company-mutation.js +40 -51
- package/dist-server/service/company/company-mutation.js.map +1 -1
- package/dist-server/service/company/company-query.js +28 -44
- package/dist-server/service/company/company-query.js.map +1 -1
- package/dist-server/service/company/company-types.js +42 -50
- package/dist-server/service/company/company-types.js.map +1 -1
- package/dist-server/service/company/company.js +38 -47
- package/dist-server/service/company/company.js.map +1 -1
- package/dist-server/service/company/index.js.map +1 -1
- package/dist-server/service/contact-point/contact-point-mutation.js +45 -56
- package/dist-server/service/contact-point/contact-point-mutation.js.map +1 -1
- package/dist-server/service/contact-point/contact-point-query.js +17 -30
- package/dist-server/service/contact-point/contact-point-query.js.map +1 -1
- package/dist-server/service/contact-point/contact-point-types.js +80 -89
- package/dist-server/service/contact-point/contact-point-types.js.map +1 -1
- package/dist-server/service/contact-point/contact-point.js +48 -57
- package/dist-server/service/contact-point/contact-point.js.map +1 -1
- package/dist-server/service/contact-point/index.js.map +1 -1
- package/dist-server/service/index.js +13 -26
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/worker/index.js.map +1 -1
- package/dist-server/service/worker/worker-mutation.js +40 -50
- package/dist-server/service/worker/worker-mutation.js.map +1 -1
- package/dist-server/service/worker/worker-query.js +16 -28
- package/dist-server/service/worker/worker-query.js.map +1 -1
- package/dist-server/service/worker/worker-types.js +28 -37
- package/dist-server/service/worker/worker-types.js.map +1 -1
- package/dist-server/service/worker/worker.js +22 -31
- package/dist-server/service/worker/worker.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -0
- package/dist-server/utils/get-permitted-bizplaces.js +30 -24
- package/dist-server/utils/get-permitted-bizplaces.js.map +1 -1
- package/dist-server/utils/index.js +2 -15
- package/dist-server/utils/index.js.map +1 -1
- package/package.json +3 -3
- package/server/service/biz-option/biz-option-mutation.ts +26 -12
- package/server/service/biz-option/biz-option-query.ts +4 -5
- package/server/service/biz-option-detail/biz-option-detail-mutation.ts +13 -8
- package/server/service/biz-option-detail/biz-option-detail-query.ts +3 -4
- package/server/service/bizplace/bizplace-mutation.ts +11 -12
- package/server/service/bizplace/bizplace-query.ts +44 -37
- package/server/service/company/company-mutation.ts +15 -9
- package/server/service/company/company-query.ts +9 -14
- package/server/service/contact-point/contact-point-mutation.ts +18 -16
- package/server/service/contact-point/contact-point-query.ts +4 -5
- package/server/service/worker/worker-mutation.ts +10 -10
- package/server/service/worker/worker-query.ts +4 -4
- package/server/utils/get-permitted-bizplaces.ts +15 -9
|
@@ -13,7 +13,7 @@ const bizplace_1 = require("../service/bizplace/bizplace");
|
|
|
13
13
|
* @param user
|
|
14
14
|
*/
|
|
15
15
|
async function getPermittedBizplaces(domain, user, tx) {
|
|
16
|
-
const bizplaceRepo = tx ? tx.getRepository(bizplace_1.Bizplace) : (0,
|
|
16
|
+
const bizplaceRepo = tx ? tx.getRepository(bizplace_1.Bizplace) : (0, shell_1.getRepository)(bizplace_1.Bizplace);
|
|
17
17
|
// 1. Check whether `user` belongs to `domain` or not
|
|
18
18
|
let permittedBizplaces = [];
|
|
19
19
|
if (await (0, auth_base_1.checkUserBelongsDomain)(domain, user)) {
|
|
@@ -38,7 +38,7 @@ async function getPermittedBizplaceIds(domain, user) {
|
|
|
38
38
|
}
|
|
39
39
|
exports.getPermittedBizplaceIds = getPermittedBizplaceIds;
|
|
40
40
|
async function getMyBizplace(domain, user, tx) {
|
|
41
|
-
const bizplaceRepo = tx ? tx.getRepository(bizplace_1.Bizplace) : (0,
|
|
41
|
+
const bizplaceRepo = tx ? tx.getRepository(bizplace_1.Bizplace) : (0, shell_1.getRepository)(bizplace_1.Bizplace);
|
|
42
42
|
// Case 1. 도메인에 소속된 사용자
|
|
43
43
|
// 1. 현재 도메인을 릴레이션으로 가지고 있는 비즈플레이스를 리턴
|
|
44
44
|
if (await (0, auth_base_1.checkUserBelongsDomain)(domain, user)) {
|
|
@@ -61,7 +61,7 @@ async function getMyBizplace(domain, user, tx) {
|
|
|
61
61
|
}
|
|
62
62
|
exports.getMyBizplace = getMyBizplace;
|
|
63
63
|
async function getOutletBizplace(outletId, tx) {
|
|
64
|
-
const bizplaceRepo = tx ? tx.getRepository(bizplace_1.Bizplace) : (0,
|
|
64
|
+
const bizplaceRepo = tx ? tx.getRepository(bizplace_1.Bizplace) : (0, shell_1.getRepository)(bizplace_1.Bizplace);
|
|
65
65
|
const bizplace = await bizplaceRepo.findOne({
|
|
66
66
|
where: { id: outletId }
|
|
67
67
|
});
|
|
@@ -70,12 +70,15 @@ async function getOutletBizplace(outletId, tx) {
|
|
|
70
70
|
exports.getOutletBizplace = getOutletBizplace;
|
|
71
71
|
async function getCompanyBizplace(domain, user, customerBizplaceId, tx) {
|
|
72
72
|
var _a, _b;
|
|
73
|
-
const bizplaceRepo = tx ? tx.getRepository(bizplace_1.Bizplace) : (0,
|
|
73
|
+
const bizplaceRepo = tx ? tx.getRepository(bizplace_1.Bizplace) : (0, shell_1.getRepository)(bizplace_1.Bizplace);
|
|
74
74
|
let companyDomain;
|
|
75
75
|
if (user) {
|
|
76
76
|
let myBizplace = await getMyBizplace(domain, user, tx);
|
|
77
77
|
if (!((_a = myBizplace.company) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
78
|
-
myBizplace = await bizplaceRepo.findOne(
|
|
78
|
+
myBizplace = await bizplaceRepo.findOne({
|
|
79
|
+
where: { id: myBizplace.id },
|
|
80
|
+
relations: ['company', 'company.domain']
|
|
81
|
+
});
|
|
79
82
|
companyDomain = myBizplace.company.domain;
|
|
80
83
|
}
|
|
81
84
|
}
|
|
@@ -90,7 +93,7 @@ async function getCompanyBizplace(domain, user, customerBizplaceId, tx) {
|
|
|
90
93
|
}
|
|
91
94
|
exports.getCompanyBizplace = getCompanyBizplace;
|
|
92
95
|
async function getCompaniesBizplaces(domains, warehouseDomain, tx) {
|
|
93
|
-
const bizplaceRepo = tx ? tx.getRepository(bizplace_1.Bizplace) : (0,
|
|
96
|
+
const bizplaceRepo = tx ? tx.getRepository(bizplace_1.Bizplace) : (0, shell_1.getRepository)(bizplace_1.Bizplace);
|
|
94
97
|
const partnersBizplaces = await bizplaceRepo
|
|
95
98
|
.createQueryBuilder('b')
|
|
96
99
|
.select('b.id', 'id')
|
|
@@ -110,15 +113,15 @@ async function getCompaniesBizplaces(domains, warehouseDomain, tx) {
|
|
|
110
113
|
}
|
|
111
114
|
exports.getCompaniesBizplaces = getCompaniesBizplaces;
|
|
112
115
|
async function getPartnerBizplaceIds(domain, user, tx) {
|
|
113
|
-
const bizplaceRepo = tx ? tx.getRepository(bizplace_1.Bizplace) : (0,
|
|
114
|
-
const partnerRepo = tx ? tx.getRepository(auth_base_1.Partner) : (0,
|
|
116
|
+
const bizplaceRepo = tx ? tx.getRepository(bizplace_1.Bizplace) : (0, shell_1.getRepository)(bizplace_1.Bizplace);
|
|
117
|
+
const partnerRepo = tx ? tx.getRepository(auth_base_1.Partner) : (0, shell_1.getRepository)(auth_base_1.Partner);
|
|
115
118
|
let partnerBizplaces = [];
|
|
116
|
-
const domainBizplace = await bizplaceRepo.findOne({ where: { domain } });
|
|
119
|
+
const domainBizplace = await bizplaceRepo.findOne({ where: { domain: { id: domain.id } } });
|
|
117
120
|
if (!domainBizplace) {
|
|
118
121
|
}
|
|
119
122
|
else {
|
|
120
123
|
const partners = await partnerRepo.find({
|
|
121
|
-
where: { domainBizplace }
|
|
124
|
+
where: { domain: { id: domainBizplace.id } } /* CONFIRMME regarding TYPEORM - compare original logic */,
|
|
122
125
|
relations: ['partnerBizplace', 'partnerBizplace.company', 'partnerBizplace.company.domain']
|
|
123
126
|
});
|
|
124
127
|
for (let partner of partners) {
|
|
@@ -129,9 +132,9 @@ async function getPartnerBizplaceIds(domain, user, tx) {
|
|
|
129
132
|
}
|
|
130
133
|
exports.getPartnerBizplaceIds = getPartnerBizplaceIds;
|
|
131
134
|
async function getPartnersBizplaces(domain, user, tx) {
|
|
132
|
-
const userRepo = tx ? tx.getRepository(auth_base_1.User) : (0,
|
|
133
|
-
const bizplaceRepo = tx ? tx.getRepository(bizplace_1.Bizplace) : (0,
|
|
134
|
-
const partnerRepo = tx ? tx.getRepository(auth_base_1.Partner) : (0,
|
|
135
|
+
const userRepo = tx ? tx.getRepository(auth_base_1.User) : (0, shell_1.getRepository)(auth_base_1.User);
|
|
136
|
+
const bizplaceRepo = tx ? tx.getRepository(bizplace_1.Bizplace) : (0, shell_1.getRepository)(bizplace_1.Bizplace);
|
|
137
|
+
const partnerRepo = tx ? tx.getRepository(auth_base_1.Partner) : (0, shell_1.getRepository)(auth_base_1.Partner);
|
|
135
138
|
let partnersBizplaces = [];
|
|
136
139
|
const qb = userRepo
|
|
137
140
|
.createQueryBuilder('user')
|
|
@@ -180,8 +183,8 @@ async function getPartnersBizplaces(domain, user, tx) {
|
|
|
180
183
|
}
|
|
181
184
|
exports.getPartnersBizplaces = getPartnersBizplaces;
|
|
182
185
|
async function getPartnersCompanyBizplaces(domain, user, strictAccess = false, tx) {
|
|
183
|
-
const userRepo = tx ? tx.getRepository(auth_base_1.User) : (0,
|
|
184
|
-
const bizplaceRepo = tx ? tx.getRepository(bizplace_1.Bizplace) : (0,
|
|
186
|
+
const userRepo = tx ? tx.getRepository(auth_base_1.User) : (0, shell_1.getRepository)(auth_base_1.User);
|
|
187
|
+
const bizplaceRepo = tx ? tx.getRepository(bizplace_1.Bizplace) : (0, shell_1.getRepository)(bizplace_1.Bizplace);
|
|
185
188
|
let partnersBizplaces = [];
|
|
186
189
|
let userRoles = await userRepo
|
|
187
190
|
.createQueryBuilder('user')
|
|
@@ -211,7 +214,7 @@ async function getPartnersCompanyBizplaces(domain, user, strictAccess = false, t
|
|
|
211
214
|
.addGroupBy('b.name')
|
|
212
215
|
.addGroupBy('b.description');
|
|
213
216
|
if (strictAccess) {
|
|
214
|
-
const userRepo = tx ? tx.getRepository(auth_base_1.User) : (0,
|
|
217
|
+
const userRepo = tx ? tx.getRepository(auth_base_1.User) : (0, shell_1.getRepository)(auth_base_1.User);
|
|
215
218
|
qbPartnersBizplaces.andWhere(`exists (
|
|
216
219
|
${userRepo
|
|
217
220
|
.createQueryBuilder('u2')
|
|
@@ -228,8 +231,8 @@ async function getPartnersCompanyBizplaces(domain, user, strictAccess = false, t
|
|
|
228
231
|
}
|
|
229
232
|
exports.getPartnersCompanyBizplaces = getPartnersCompanyBizplaces;
|
|
230
233
|
async function getCustomerBizplaces(domain, tx) {
|
|
231
|
-
const partnerRepo = tx ? tx.getRepository(auth_base_1.Partner) : (0,
|
|
232
|
-
const bizplaceRepo = tx ? tx.getRepository(bizplace_1.Bizplace) : (0,
|
|
234
|
+
const partnerRepo = tx ? tx.getRepository(auth_base_1.Partner) : (0, shell_1.getRepository)(auth_base_1.Partner);
|
|
235
|
+
const bizplaceRepo = tx ? tx.getRepository(bizplace_1.Bizplace) : (0, shell_1.getRepository)(bizplace_1.Bizplace);
|
|
233
236
|
const customers = await partnerRepo.find({
|
|
234
237
|
where: { domain },
|
|
235
238
|
relations: ['partnerDomain']
|
|
@@ -242,29 +245,32 @@ async function getCustomerBizplaces(domain, tx) {
|
|
|
242
245
|
}
|
|
243
246
|
exports.getCustomerBizplaces = getCustomerBizplaces;
|
|
244
247
|
async function getSubdomainBizplace(subdomain, tx) {
|
|
245
|
-
const domainRepo = tx ? tx.getRepository(shell_1.Domain) : (0,
|
|
248
|
+
const domainRepo = tx ? tx.getRepository(shell_1.Domain) : (0, shell_1.getRepository)(shell_1.Domain);
|
|
246
249
|
const domain = await domainRepo.findOne({
|
|
247
250
|
where: { subdomain }
|
|
248
251
|
});
|
|
249
|
-
return await (0,
|
|
252
|
+
return await (0, shell_1.getRepository)(bizplace_1.Bizplace).findOne({ where: { domain } });
|
|
250
253
|
}
|
|
251
254
|
exports.getSubdomainBizplace = getSubdomainBizplace;
|
|
252
255
|
async function getUserBizplaces(user, tx) {
|
|
253
256
|
var _a;
|
|
254
|
-
const userRepo = tx ? tx.getRepository(auth_base_1.User) : (0,
|
|
257
|
+
const userRepo = tx ? tx.getRepository(auth_base_1.User) : (0, shell_1.getRepository)(auth_base_1.User);
|
|
255
258
|
let userBizplaces = [];
|
|
256
259
|
if (!((_a = user.domains) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
257
|
-
user = await userRepo.findOne(
|
|
260
|
+
user = await userRepo.findOne({
|
|
261
|
+
where: { id: user.id },
|
|
262
|
+
relations: ['domains']
|
|
263
|
+
});
|
|
258
264
|
}
|
|
259
265
|
const userDomains = user.domains;
|
|
260
266
|
if (userDomains.every((userDomain) => userDomain.extType !== 'company')) {
|
|
261
267
|
userBizplaces.push(await getCompanyBizplace(userDomains[0], user, null, tx));
|
|
262
268
|
}
|
|
263
|
-
return userBizplaces.concat(await (0,
|
|
269
|
+
return userBizplaces.concat(await (0, shell_1.getRepository)(bizplace_1.Bizplace).find({ where: { domain: (0, typeorm_1.In)(userDomains.map((d) => d.id)) } }));
|
|
264
270
|
}
|
|
265
271
|
exports.getUserBizplaces = getUserBizplaces;
|
|
266
272
|
async function getDomainUsers(bizplace, tx) {
|
|
267
|
-
const userDomainRepo = tx ? tx.getRepository('users_domains') : (0,
|
|
273
|
+
const userDomainRepo = tx ? tx.getRepository('users_domains') : (0, shell_1.getRepository)('users_domains');
|
|
268
274
|
const users = await userDomainRepo
|
|
269
275
|
.createQueryBuilder('ud')
|
|
270
276
|
.select('ud.users_id', 'id')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-permitted-bizplaces.js","sourceRoot":"","sources":["../../server/utils/get-permitted-bizplaces.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"get-permitted-bizplaces.js","sourceRoot":"","sources":["../../server/utils/get-permitted-bizplaces.ts"],"names":[],"mappings":";;;AAAA,qCAA+D;AAE/D,yDAAiF;AACjF,iDAA6D;AAE7D,2DAAuD;AAEvD;;;;;;GAMG;AACI,KAAK,UAAU,qBAAqB,CAAC,MAAc,EAAE,IAAU,EAAE,EAAkB;IACxF,MAAM,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,mBAAQ,CAAC,CAAA;IAE9E,qDAAqD;IACrD,IAAI,kBAAkB,GAAe,EAAE,CAAA;IACvC,IAAI,MAAM,IAAA,kCAAsB,EAAC,MAAM,EAAE,IAAI,CAAC,EAAE;QAC9C,gCAAgC;QAChC,oFAAoF;QAEpF,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;YAAE,kBAAkB,CAAC,IAAI,CAAC,MAAM,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;QAC3G,kBAAkB,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAA;QAC1E,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,oBAAoB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAA;KACvF;SAAM;QACL,uCAAuC;QACvC,oEAAoE;QACpE,kBAAkB,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAA;KAClD;IAED,OAAO,kBAAkB,CAAA;AAC3B,CAAC;AAnBD,sDAmBC;AAEM,KAAK,UAAU,uBAAuB,CAAC,MAAc,EAAE,IAAU;IACtE,MAAM,SAAS,GAAe,MAAM,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACvE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,IAAI,CAAC,CAAA;AACnE,CAAC;AAHD,0DAGC;AAEM,KAAK,UAAU,aAAa,CAAC,MAAc,EAAE,IAAU,EAAE,EAAkB;IAChF,MAAM,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,mBAAQ,CAAC,CAAA;IAE9E,uBAAuB;IACvB,sCAAsC;IAEtC,IAAI,MAAM,IAAA,kCAAsB,EAAC,MAAM,EAAE,IAAI,CAAC,EAAE;QAC9C,OAAO,MAAM,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;KACzD;SAAM;QACL,MAAM,iBAAiB,GAAe,MAAM,oBAAoB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC5E,MAAM,aAAa,GAAe,MAAM,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAElE,MAAM,qBAAqB,GAAgB,IAAI,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAY,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAClG,MAAM,iBAAiB,GAAgB,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAY,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAE1F,MAAM,aAAa,GAAa,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE,CACxF,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAC5B,CAAA;QACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,+BAA+B,aAAa,EAAE,CAAC,CAAA;QAE1F,gEAAgE;QAChE,4BAA4B;QAC5B,OAAO,MAAM,YAAY,CAAC,OAAO,CAAC;YAChC,KAAK,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,aAAa,CAAC,EAAE;SACjC,CAAC,CAAA;KACH;AACH,CAAC;AA1BD,sCA0BC;AAEM,KAAK,UAAU,iBAAiB,CAAC,QAAgB,EAAE,EAAkB;IAC1E,MAAM,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,mBAAQ,CAAC,CAAA;IAE9E,MAAM,QAAQ,GAAa,MAAM,YAAY,CAAC,OAAO,CAAC;QACpD,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE;KACxB,CAAC,CAAA;IACF,OAAO,QAAQ,CAAA;AACjB,CAAC;AAPD,8CAOC;AAEM,KAAK,UAAU,kBAAkB,CACtC,MAAc,EACd,IAAU,EACV,kBAA2B,EAC3B,EAAkB;;IAElB,MAAM,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,mBAAQ,CAAC,CAAA;IAE9E,IAAI,aAAqB,CAAA;IAEzB,IAAI,IAAI,EAAE;QACR,IAAI,UAAU,GAAa,MAAM,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QAChE,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,OAAO,0CAAE,EAAE,CAAA,EAAE;YAC3B,UAAU,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC;gBACtC,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE;gBAC5B,SAAS,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;aACzC,CAAC,CAAA;YACF,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAA;SAC1C;KACF;IAED,IAAI,kBAAkB,EAAE;QACtB,MAAM,gBAAgB,GAAa,MAAM,YAAY,CAAC,OAAO,CAAC;YAC5D,KAAK,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE;YACjC,SAAS,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;SACzC,CAAC,CAAA;QAEF,aAAa,GAAG,MAAA,gBAAgB,CAAC,OAAO,0CAAE,MAAM,CAAA;KACjD;IACD,OAAO,MAAM,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;AAChG,CAAC;AA9BD,gDA8BC;AAEM,KAAK,UAAU,qBAAqB,CACzC,OAAiB,EACjB,eAAuB,EACvB,EAAkB;IAElB,MAAM,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,mBAAQ,CAAC,CAAA;IAE9E,MAAM,iBAAiB,GAAG,MAAM,YAAY;SACzC,kBAAkB,CAAC,GAAG,CAAC;SACvB,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;SACpB,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;SAC3B,SAAS,CAAC,eAAe,EAAE,aAAa,CAAC;SACzC,SAAS,CAAC,WAAW,EAAE,GAAG,EAAE,2BAA2B,CAAC;SACxD,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,sBAAsB,CAAC;SACpD,SAAS,CAAC,SAAS,EAAE,GAAG,EAAE,qBAAqB,CAAC;SAChD,SAAS,CAAC,UAAU,EAAE,GAAG,EAAE,4BAA4B,CAAC;SACxD,KAAK,CAAC,yBAAyB,EAAE,EAAE,QAAQ,EAAE,eAAe,CAAC,EAAE,EAAE,CAAC;SAClE,QAAQ,CAAC,iCAAiC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;SAC5F,OAAO,CAAC,MAAM,CAAC;SACf,UAAU,CAAC,QAAQ,CAAC;SACpB,UAAU,CAAC,eAAe,CAAC;SAC3B,UAAU,EAAE,CAAA;IAEf,OAAO,iBAAiB,CAAA;AAC1B,CAAC;AAxBD,sDAwBC;AAEM,KAAK,UAAU,qBAAqB,CAAC,MAAc,EAAE,IAAU,EAAE,EAAkB;IACxF,MAAM,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,mBAAQ,CAAC,CAAA;IAC9E,MAAM,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,mBAAO,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,mBAAO,CAAC,CAAA;IAE3E,IAAI,gBAAgB,GAAe,EAAE,CAAA;IAErC,MAAM,cAAc,GAAa,MAAM,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IACrG,IAAI,CAAC,cAAc,EAAE;KACpB;SAAM;QACL,MAAM,QAAQ,GAAc,MAAM,WAAW,CAAC,IAAI,CAAC;YACjD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,0DAA0D;YACvG,SAAS,EAAE,CAAC,iBAAiB,EAAE,yBAAyB,EAAE,gCAAgC,CAAC;SAC5F,CAAC,CAAA;QAEF,KAAK,IAAI,OAAO,IAAI,QAAQ,EAAE;YAC5B,gBAAgB,CAAC,IAAI,CAAE,OAAe,CAAC,eAAe,CAAC,CAAA;SACxD;KACF;IACD,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,IAAI,CAAC,CAAA;AAC1E,CAAC;AAnBD,sDAmBC;AAEM,KAAK,UAAU,oBAAoB,CAAC,MAAc,EAAE,IAAU,EAAE,EAAkB;IACvF,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAA;IAClE,MAAM,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,mBAAQ,CAAC,CAAA;IAC9E,MAAM,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,mBAAO,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,mBAAO,CAAC,CAAA;IAE3E,IAAI,iBAAiB,GAAe,EAAE,CAAA;IAEtC,MAAM,EAAE,GAA6B,QAAQ;SAC1C,kBAAkB,CAAC,MAAM,CAAC;SAC1B,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC;SAC3B,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC;SAC9B,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC;SAClC,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC;SAClC,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC;SACtC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,uBAAuB,CAAC;SACvD,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,uBAAuB,CAAC;SACnD,SAAS,CAAC,SAAS,EAAE,QAAQ,EAAE,4BAA4B,CAAC;SAC5D,KAAK,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;SAC/C,QAAQ,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;IAE7D,IAAI,SAAS,GAAG,MAAM,EAAE,CAAC,UAAU,EAAE,CAAA;IAErC,6BAA6B;IAC7B,IAAI,iBAAiB,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAA;IAE5E,mBAAmB;IACnB,IAAI,eAAe,GAAc,MAAM,WAAW,CAAC,IAAI,CAAC;QACtD,KAAK,EAAE,EAAE,MAAM,EAAE;QACjB,SAAS,EAAE,CAAC,eAAe,CAAC;KAC7B,CAAC,CAAA;IAEF,IAAI,iBAAiB,EAAE;QACrB,IAAI,WAAW,GAAG,IAAI,CAAC,OAAO,CAAA;QAC9B,KAAK,IAAI,UAAU,IAAI,eAAe,EAAE;YACtC,KAAK,IAAI,UAAU,IAAI,WAAW,EAAE;gBAClC,IAAI,UAAU,CAAC,EAAE,KAAK,UAAU,CAAC,aAAa,CAAC,EAAE,EAAE;oBACjD,IAAI,eAAe,GAAa,MAAM,YAAY,CAAC,OAAO,CAAC;wBACzD,KAAK,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,aAAa,EAAE;wBAC3C,SAAS,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;qBACzC,CAAC,CAAA;oBAEF,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;iBACxC;aACF;SACF;KACF;SAAM;QACL,KAAK,IAAI,UAAU,IAAI,eAAe,EAAE;YACtC,IAAI,eAAe,GAAa,MAAM,YAAY,CAAC,OAAO,CAAC;gBACzD,KAAK,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,aAAa,EAAE;gBAC3C,SAAS,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;aACzC,CAAC,CAAA;YAEF,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;SACxC;KACF;IAED,OAAO,iBAAiB,CAAA;AAC1B,CAAC;AAzDD,oDAyDC;AAEM,KAAK,UAAU,2BAA2B,CAC/C,MAAc,EACd,IAAU,EACV,eAAwB,KAAK,EAC7B,EAAkB;IAElB,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAA;IAClE,MAAM,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,mBAAQ,CAAC,CAAA;IAE9E,IAAI,iBAAiB,GAAe,EAAE,CAAA;IAEtC,IAAI,SAAS,GAAQ,MAAM,QAAQ;SAChC,kBAAkB,CAAC,MAAM,CAAC;SAC1B,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC;SAC3B,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC;SAC9B,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC;SAClC,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC;SAClC,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC;SACtC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,uBAAuB,CAAC;SACvD,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,uBAAuB,CAAC;SACnD,SAAS,CAAC,SAAS,EAAE,QAAQ,EAAE,4BAA4B,CAAC;SAC5D,KAAK,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;SAC/C,QAAQ,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;SAC1D,UAAU,EAAE,CAAA;IAEf,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,UAAU,CAAC,EAAE;QACxD,IAAI,mBAAmB,GAAG,YAAY;aACnC,kBAAkB,CAAC,GAAG,CAAC;aACvB,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;aACpB,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;aAC3B,SAAS,CAAC,eAAe,EAAE,aAAa,CAAC;aACzC,SAAS,CAAC,WAAW,EAAE,GAAG,EAAE,2BAA2B,CAAC;aACxD,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,sBAAsB,CAAC;aACpD,SAAS,CAAC,SAAS,EAAE,GAAG,EAAE,qBAAqB,CAAC;aAChD,SAAS,CAAC,UAAU,EAAE,GAAG,EAAE,4BAA4B,CAAC;aACxD,KAAK,CAAC,yBAAyB,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;aACzD,OAAO,CAAC,MAAM,CAAC;aACf,UAAU,CAAC,QAAQ,CAAC;aACpB,UAAU,CAAC,eAAe,CAAC,CAAA;QAE9B,IAAI,YAAY,EAAE;YAChB,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAA;YAClE,mBAAmB,CAAC,QAAQ,CAC1B;YACI,QAAQ;iBACP,kBAAkB,CAAC,IAAI,CAAC;iBACxB,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,qBAAqB,CAAC;iBACrD,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,oBAAoB,CAAC;iBAC7C,KAAK,CAAC,2BAA2B,CAAC;iBAClC,QAAQ,CAAC,iDAAiD,CAAC;iBAC3D,QAAQ,CAAC,YAAY,IAAI,CAAC,EAAE,GAAG,CAAC;iBAChC,QAAQ,EAAE,GAAG,CACnB,CAAA;SACF;QAED,iBAAiB,GAAG,MAAM,mBAAmB,CAAC,UAAU,EAAE,CAAA;KAC3D;IAED,OAAO,iBAAiB,CAAA;AAC1B,CAAC;AA3DD,kEA2DC;AAEM,KAAK,UAAU,oBAAoB,CAAC,MAAc,EAAE,EAAkB;IAC3E,MAAM,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,mBAAO,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,mBAAO,CAAC,CAAA;IAC3E,MAAM,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,mBAAQ,CAAC,CAAA;IAE9E,MAAM,SAAS,GAAc,MAAM,WAAW,CAAC,IAAI,CAAC;QAClD,KAAK,EAAE,EAAE,MAAM,EAAE;QACjB,SAAS,EAAE,CAAC,eAAe,CAAC;KAC7B,CAAC,CAAA;IACF,MAAM,eAAe,GAAa,SAAS,CAAC,GAAG,CAAC,CAAC,QAAiB,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;IAC9F,OAAO,MAAM,YAAY,CAAC,IAAI,CAAC;QAC7B,KAAK,EAAE,EAAE,MAAM,EAAE,IAAA,YAAE,EAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC/D,SAAS,EAAE,CAAC,SAAS,EAAE,gBAAgB,EAAE,QAAQ,CAAC;KACnD,CAAC,CAAA;AACJ,CAAC;AAbD,oDAaC;AAEM,KAAK,UAAU,oBAAoB,CAAC,SAAiB,EAAE,EAAkB;IAC9E,MAAM,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,cAAM,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAA;IAExE,MAAM,MAAM,GAAW,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,SAAS,EAAE;KACrB,CAAC,CAAA;IAEF,OAAO,MAAM,IAAA,qBAAa,EAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;AACrE,CAAC;AARD,oDAQC;AAEM,KAAK,UAAU,gBAAgB,CAAC,IAAU,EAAE,EAAkB;;IACnE,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAA;IAClE,IAAI,aAAa,GAAe,EAAE,CAAA;IAElC,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,CAAA,EAAE;QACzB,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC;YAC5B,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;YACtB,SAAS,EAAE,CAAC,SAAS,CAAC;SACvB,CAAC,CAAA;KACH;IAED,MAAM,WAAW,GAAa,IAAI,CAAC,OAAO,CAAA;IAC1C,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,UAAkB,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,KAAK,SAAS,CAAC,EAAE;QAC/E,aAAa,CAAC,IAAI,CAAC,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;KAC7E;IAED,OAAO,aAAa,CAAC,MAAM,CACzB,MAAM,IAAA,qBAAa,EAAC,mBAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAA,YAAE,EAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CACpG,CAAA;AACH,CAAC;AAnBD,4CAmBC;AAEM,KAAK,UAAU,cAAc,CAAC,QAAkB,EAAE,EAAkB;IACzE,MAAM,cAAc,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,eAAe,CAAC,CAAA;IAE9F,MAAM,KAAK,GAAU,MAAM,cAAc;SACtC,kBAAkB,CAAC,IAAI,CAAC;SACxB,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC;SAC3B,QAAQ,CAAC,IAAI,CAAC;SACd,KAAK,CAAC,EAAE,CAAC,EAAE;QACV,MAAM,QAAQ,GAAG,EAAE;aAChB,QAAQ,EAAE;aACV,MAAM,CAAC,oBAAoB,CAAC;aAC5B,IAAI,CAAC,mBAAQ,EAAE,UAAU,CAAC;aAC1B,KAAK,CAAC,mCAAmC,EAAE,EAAE,kBAAkB,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,EAAE,EAAE,CAAC;aAChF,QAAQ,EAAE,CAAA;QACb,OAAO,kBAAkB,GAAG,QAAQ,CAAA;IACtC,CAAC,CAAC;SACD,UAAU,EAAE,CAAA;IAEf,OAAO,KAAK,CAAA;AACd,CAAC;AAnBD,wCAmBC","sourcesContent":["import { EntityManager, In, SelectQueryBuilder } from 'typeorm'\n\nimport { checkUserBelongsDomain, Partner, User } from '@things-factory/auth-base'\nimport { Domain, getRepository } from '@things-factory/shell'\n\nimport { Bizplace } from '../service/bizplace/bizplace'\n\n/**\n * @description 도메인과 사용자의 관계를 판단하여\n * 접속한 도메인을 통해 접근 할 수 있는 대상 bizplaces를 찾아 return\n *\n * @param domain\n * @param user\n */\nexport async function getPermittedBizplaces(domain: Domain, user: User, tx?: EntityManager): Promise<Bizplace[]> {\n const bizplaceRepo = tx ? tx.getRepository(Bizplace) : getRepository(Bizplace)\n\n // 1. Check whether `user` belongs to `domain` or not\n let permittedBizplaces: Bizplace[] = []\n if (await checkUserBelongsDomain(domain, user)) {\n // If `user` belongs to `domain`\n // return set of company bizplace, bizplace of passed domain, bizplaces of customers\n\n if (domain.extType !== 'company') permittedBizplaces.push(await getCompanyBizplace(domain, user, null, tx))\n permittedBizplaces.push(await bizplaceRepo.findOne({ where: { domain } }))\n permittedBizplaces = permittedBizplaces.concat(await getCustomerBizplaces(domain, tx))\n } else {\n // If `user` doesn't belong to `domain`\n // return set of company bizplace, bizplaces which `user` can access\n permittedBizplaces = await getUserBizplaces(user)\n }\n\n return permittedBizplaces\n}\n\nexport async function getPermittedBizplaceIds(domain: Domain, user: User): Promise<string[] | any[]> {\n const bizplaces: Bizplace[] = await getPermittedBizplaces(domain, user)\n return bizplaces.map((bizplace: Bizplace) => bizplace.id || null)\n}\n\nexport async function getMyBizplace(domain: Domain, user: User, tx?: EntityManager): Promise<Bizplace> {\n const bizplaceRepo = tx ? tx.getRepository(Bizplace) : getRepository(Bizplace)\n\n // Case 1. 도메인에 소속된 사용자\n // 1. 현재 도메인을 릴레이션으로 가지고 있는 비즈플레이스를 리턴\n\n if (await checkUserBelongsDomain(domain, user)) {\n return await bizplaceRepo.findOne({ where: { domain } })\n } else {\n const customerBizplaces: Bizplace[] = await getCustomerBizplaces(domain, tx)\n const userBizplaces: Bizplace[] = await getUserBizplaces(user, tx)\n\n const customerBizplaceIdSet: Set<string> = new Set(customerBizplaces.map((pb: Bizplace) => pb.id))\n const userBizplaceIdSet: Set<string> = new Set(userBizplaces.map((ub: Bizplace) => ub.id))\n\n const myBizplaceIds: string[] = Array.from(customerBizplaceIdSet).filter((pbId: string) =>\n userBizplaceIdSet.has(pbId)\n )\n if (myBizplaceIds.length > 1) console.warn(`User has multiple bizplaces ${myBizplaceIds}`)\n\n // TODO: 복수의 비즈플레이스를 가지고 있는 사용자는 조회 결과의 첫번째 비즈플레이스만 리턴 받도록 되어 있음\n // 이런 케이스에 처리 방식을 결정하고 수정해야함\n return await bizplaceRepo.findOne({\n where: { id: In(myBizplaceIds) }\n })\n }\n}\n\nexport async function getOutletBizplace(outletId: string, tx?: EntityManager) {\n const bizplaceRepo = tx ? tx.getRepository(Bizplace) : getRepository(Bizplace)\n\n const bizplace: Bizplace = await bizplaceRepo.findOne({\n where: { id: outletId }\n })\n return bizplace\n}\n\nexport async function getCompanyBizplace(\n domain: Domain,\n user: User,\n customerBizplaceId?: string,\n tx?: EntityManager\n): Promise<Bizplace> {\n const bizplaceRepo = tx ? tx.getRepository(Bizplace) : getRepository(Bizplace)\n\n let companyDomain: Domain\n\n if (user) {\n let myBizplace: Bizplace = await getMyBizplace(domain, user, tx)\n if (!myBizplace.company?.id) {\n myBizplace = await bizplaceRepo.findOne({\n where: { id: myBizplace.id },\n relations: ['company', 'company.domain']\n })\n companyDomain = myBizplace.company.domain\n }\n }\n\n if (customerBizplaceId) {\n const customerBizplace: Bizplace = await bizplaceRepo.findOne({\n where: { id: customerBizplaceId },\n relations: ['company', 'company.domain']\n })\n\n companyDomain = customerBizplace.company?.domain\n }\n return await bizplaceRepo.findOne({ where: { domain: companyDomain }, relations: ['domain'] })\n}\n\nexport async function getCompaniesBizplaces(\n domains: Domain[],\n warehouseDomain: Domain,\n tx?: EntityManager\n): Promise<Bizplace[]> {\n const bizplaceRepo = tx ? tx.getRepository(Bizplace) : getRepository(Bizplace)\n\n const partnersBizplaces = await bizplaceRepo\n .createQueryBuilder('b')\n .select('b.id', 'id')\n .addSelect('b.name', 'name')\n .addSelect('b.description', 'description')\n .innerJoin('companies', 'c', 'c.domain_id = b.domain_id')\n .innerJoin('bizplaces', 'b2', 'b2.company_id = c.id')\n .innerJoin('domains', 'd', 'd.id = b2.domain_id')\n .innerJoin('partners', 'p', 'p.partner_domain_id = d.id')\n .where('p.domain_id = :domainId', { domainId: warehouseDomain.id })\n .andWhere('b2.domain_id IN (:...domainIds)', { domainIds: domains.map(domain => domain.id) })\n .groupBy('b.id')\n .addGroupBy('b.name')\n .addGroupBy('b.description')\n .getRawMany()\n\n return partnersBizplaces\n}\n\nexport async function getPartnerBizplaceIds(domain: Domain, user: User, tx?: EntityManager): Promise<string[] | any[]> {\n const bizplaceRepo = tx ? tx.getRepository(Bizplace) : getRepository(Bizplace)\n const partnerRepo = tx ? tx.getRepository(Partner) : getRepository(Partner)\n\n let partnerBizplaces: Bizplace[] = []\n\n const domainBizplace: Bizplace = await bizplaceRepo.findOne({ where: { domain: { id: domain.id } } })\n if (!domainBizplace) {\n } else {\n const partners: Partner[] = await partnerRepo.find({\n where: { domain: { id: domainBizplace.id } } /* CONFIRMME regarding TYPEORM - compare original logic */,\n relations: ['partnerBizplace', 'partnerBizplace.company', 'partnerBizplace.company.domain']\n })\n\n for (let partner of partners) {\n partnerBizplaces.push((partner as any).partnerBizplace)\n }\n }\n return partnerBizplaces.map((bizplace: Bizplace) => bizplace.id || null)\n}\n\nexport async function getPartnersBizplaces(domain: Domain, user: User, tx?: EntityManager): Promise<Bizplace[]> {\n const userRepo = tx ? tx.getRepository(User) : getRepository(User)\n const bizplaceRepo = tx ? tx.getRepository(Bizplace) : getRepository(Bizplace)\n const partnerRepo = tx ? tx.getRepository(Partner) : getRepository(Partner)\n\n let partnersBizplaces: Bizplace[] = []\n\n const qb: SelectQueryBuilder<User> = userRepo\n .createQueryBuilder('user')\n .select('user.id', 'userId')\n .addSelect('role.id', 'roleId')\n .addSelect('role.name', 'roleName')\n .addSelect('domain.id', 'domainId')\n .addSelect('domain.name', 'domainName')\n .innerJoin('users_roles', 'ur', 'user.id = ur.users_id')\n .innerJoin('roles', 'role', 'ur.roles_id = role.id')\n .innerJoin('domains', 'domain', 'role.domain_id = domain.id')\n .where('user.id = :userId', { userId: user.id })\n .andWhere('domain.id = :domainId', { domainId: domain.id })\n\n let userRoles = await qb.getRawMany()\n\n // detect if user is Customer\n let foundCustomerRole = userRoles.find(role => role.roleName === 'Customer')\n\n // get all partners\n let partnersDomains: Partner[] = await partnerRepo.find({\n where: { domain },\n relations: ['partnerDomain']\n })\n\n if (foundCustomerRole) {\n let userDomains = user.domains\n for (let partDomain of partnersDomains) {\n for (let userDomain of userDomains) {\n if (userDomain.id === partDomain.partnerDomain.id) {\n let partnerBizplace: Bizplace = await bizplaceRepo.findOne({\n where: { domain: partDomain.partnerDomain },\n relations: ['company', 'company.domain']\n })\n\n partnersBizplaces.push(partnerBizplace)\n }\n }\n }\n } else {\n for (let partDomain of partnersDomains) {\n let partnerBizplace: Bizplace = await bizplaceRepo.findOne({\n where: { domain: partDomain.partnerDomain },\n relations: ['company', 'company.domain']\n })\n\n partnersBizplaces.push(partnerBizplace)\n }\n }\n\n return partnersBizplaces\n}\n\nexport async function getPartnersCompanyBizplaces(\n domain: Domain,\n user: User,\n strictAccess: Boolean = false,\n tx?: EntityManager\n): Promise<Bizplace[]> {\n const userRepo = tx ? tx.getRepository(User) : getRepository(User)\n const bizplaceRepo = tx ? tx.getRepository(Bizplace) : getRepository(Bizplace)\n\n let partnersBizplaces: Bizplace[] = []\n\n let userRoles: any = await userRepo\n .createQueryBuilder('user')\n .select('user.id', 'userId')\n .addSelect('role.id', 'roleId')\n .addSelect('role.name', 'roleName')\n .addSelect('domain.id', 'domainId')\n .addSelect('domain.name', 'domainName')\n .innerJoin('users_roles', 'ur', 'user.id = ur.users_id')\n .innerJoin('roles', 'role', 'ur.roles_id = role.id')\n .innerJoin('domains', 'domain', 'role.domain_id = domain.id')\n .where('user.id = :userId', { userId: user.id })\n .andWhere('domain.id = :domainId', { domainId: domain.id })\n .getRawMany()\n\n if (userRoles.find(role => role.roleName !== 'Customer')) {\n let qbPartnersBizplaces = bizplaceRepo\n .createQueryBuilder('b')\n .select('b.id', 'id')\n .addSelect('b.name', 'name')\n .addSelect('b.description', 'description')\n .innerJoin('companies', 'c', 'c.domain_id = b.domain_id')\n .innerJoin('bizplaces', 'b2', 'b2.company_id = c.id')\n .innerJoin('domains', 'd', 'd.id = b2.domain_id')\n .innerJoin('partners', 'p', 'p.partner_domain_id = d.id')\n .where('p.domain_id = :domainId', { domainId: domain.id })\n .groupBy('b.id')\n .addGroupBy('b.name')\n .addGroupBy('b.description')\n\n if (strictAccess) {\n const userRepo = tx ? tx.getRepository(User) : getRepository(User)\n qbPartnersBizplaces.andWhere(\n `exists (\n ${userRepo\n .createQueryBuilder('u2')\n .innerJoin('users_roles', 'ur', 'ur.users_id = u2.id')\n .innerJoin('roles', 'r', 'r.id = ur.roles_id')\n .where('r.domain_id = c.domain_id')\n .andWhere(`r.name IN ('BUSINESS-OWNER','BUSINESS-MANAGER')`)\n .andWhere(`u2.id = '${user.id}'`)\n .getQuery()})`\n )\n }\n\n partnersBizplaces = await qbPartnersBizplaces.getRawMany()\n }\n\n return partnersBizplaces\n}\n\nexport async function getCustomerBizplaces(domain: Domain, tx?: EntityManager): Promise<Bizplace[]> {\n const partnerRepo = tx ? tx.getRepository(Partner) : getRepository(Partner)\n const bizplaceRepo = tx ? tx.getRepository(Bizplace) : getRepository(Bizplace)\n\n const customers: Partner[] = await partnerRepo.find({\n where: { domain },\n relations: ['partnerDomain']\n })\n const customerDomains: Domain[] = customers.map((customer: Partner) => customer.partnerDomain)\n return await bizplaceRepo.find({\n where: { domain: In(customerDomains.map((d: Domain) => d.id)) },\n relations: ['company', 'company.domain', 'domain']\n })\n}\n\nexport async function getSubdomainBizplace(subdomain: string, tx?: EntityManager): Promise<Bizplace> {\n const domainRepo = tx ? tx.getRepository(Domain) : getRepository(Domain)\n\n const domain: Domain = await domainRepo.findOne({\n where: { subdomain }\n })\n\n return await getRepository(Bizplace).findOne({ where: { domain } })\n}\n\nexport async function getUserBizplaces(user: User, tx?: EntityManager): Promise<Bizplace[]> {\n const userRepo = tx ? tx.getRepository(User) : getRepository(User)\n let userBizplaces: Bizplace[] = []\n\n if (!user.domains?.length) {\n user = await userRepo.findOne({\n where: { id: user.id },\n relations: ['domains']\n })\n }\n\n const userDomains: Domain[] = user.domains\n if (userDomains.every((userDomain: Domain) => userDomain.extType !== 'company')) {\n userBizplaces.push(await getCompanyBizplace(userDomains[0], user, null, tx))\n }\n\n return userBizplaces.concat(\n await getRepository(Bizplace).find({ where: { domain: In(userDomains.map((d: Domain) => d.id)) } })\n )\n}\n\nexport async function getDomainUsers(bizplace: Bizplace, tx?: EntityManager): Promise<any[]> {\n const userDomainRepo = tx ? tx.getRepository('users_domains') : getRepository('users_domains')\n\n const users: any[] = await userDomainRepo\n .createQueryBuilder('ud')\n .select('ud.users_id', 'id')\n .distinct(true)\n .where(qb => {\n const subquery = qb\n .subQuery()\n .select('bizplace.domain_id')\n .from(Bizplace, 'bizplace')\n .where('bizplace.id = :customerBizplaceId', { customerBizplaceId: bizplace?.id })\n .getQuery()\n return 'ud.domains_id = ' + subquery\n })\n .getRawMany()\n\n return users\n}\n"]}
|
|
@@ -1,18 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./get-permitted-bizplaces"), exports);
|
|
18
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/utils/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/utils/index.ts"],"names":[],"mappings":";;;AAAA,oEAAyC","sourcesContent":["export * from './get-permitted-bizplaces'\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/biz-base",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0-alpha.0",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"migration:create": "node ../../node_modules/typeorm/cli.js migration:create -d ./server/migrations"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@things-factory/auth-base": "^
|
|
27
|
+
"@things-factory/auth-base": "^6.0.0-alpha.0"
|
|
28
28
|
},
|
|
29
|
-
"gitHead": "
|
|
29
|
+
"gitHead": "e5b9823ab3ebc5d6ae5bcb4b5aa60c1306e4dd7e"
|
|
30
30
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Arg, Ctx, Mutation, Resolver } from 'type-graphql'
|
|
2
|
-
import {
|
|
2
|
+
import { In } from 'typeorm'
|
|
3
|
+
|
|
4
|
+
import { getRepository } from '@things-factory/shell'
|
|
3
5
|
|
|
4
6
|
import { BizOption } from './biz-option'
|
|
5
7
|
import { BizOptionPatch, NewBizOption } from './biz-option-types'
|
|
@@ -7,12 +9,17 @@ import { BizOptionPatch, NewBizOption } from './biz-option-types'
|
|
|
7
9
|
@Resolver(BizOption)
|
|
8
10
|
export class BizOptionMutation {
|
|
9
11
|
@Mutation(returns => BizOption)
|
|
10
|
-
async createBizOption(
|
|
12
|
+
async createBizOption(
|
|
13
|
+
@Arg('bizOption') bizOption: NewBizOption,
|
|
14
|
+
@Ctx() context: ResolverContext
|
|
15
|
+
): Promise<BizOption> {
|
|
16
|
+
const { domain, user } = context.state
|
|
17
|
+
|
|
11
18
|
return await getRepository(BizOption).save({
|
|
12
19
|
...bizOption,
|
|
13
|
-
domain:
|
|
14
|
-
creator:
|
|
15
|
-
updater:
|
|
20
|
+
domain: domain,
|
|
21
|
+
creator: user,
|
|
22
|
+
updater: user
|
|
16
23
|
})
|
|
17
24
|
}
|
|
18
25
|
|
|
@@ -20,30 +27,37 @@ export class BizOptionMutation {
|
|
|
20
27
|
async updateBizOption(
|
|
21
28
|
@Arg('name') name: string,
|
|
22
29
|
@Arg('patch') patch: BizOptionPatch,
|
|
23
|
-
@Ctx() context:
|
|
30
|
+
@Ctx() context: ResolverContext
|
|
24
31
|
): Promise<BizOption> {
|
|
32
|
+
const { domain, user } = context.state
|
|
33
|
+
|
|
25
34
|
const repository = getRepository(BizOption)
|
|
26
35
|
const bizOption = await repository.findOne({
|
|
27
|
-
where: { domain:
|
|
36
|
+
where: { domain: { id: domain.id }, name }
|
|
28
37
|
})
|
|
29
38
|
|
|
30
39
|
return await repository.save({
|
|
31
40
|
...bizOption,
|
|
32
41
|
...patch,
|
|
33
|
-
updater:
|
|
42
|
+
updater: user
|
|
34
43
|
})
|
|
35
44
|
}
|
|
36
45
|
|
|
37
46
|
@Mutation(returns => Boolean)
|
|
38
|
-
async deleteBizOption(@Arg('name') name: string, @Ctx() context:
|
|
39
|
-
|
|
47
|
+
async deleteBizOption(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Boolean> {
|
|
48
|
+
const { domain } = context.state
|
|
49
|
+
|
|
50
|
+
await getRepository(BizOption).delete({ domain: { id: domain.id }, name })
|
|
40
51
|
return true
|
|
41
52
|
}
|
|
42
53
|
|
|
43
54
|
@Mutation(returns => Boolean)
|
|
44
|
-
async deleteBizOptions(
|
|
55
|
+
async deleteBizOptions(
|
|
56
|
+
@Arg('names', type => [String]) names: string[],
|
|
57
|
+
@Ctx() context: ResolverContext
|
|
58
|
+
): Promise<Boolean> {
|
|
45
59
|
await getRepository(BizOption).delete({
|
|
46
|
-
domain: context.state.domain,
|
|
60
|
+
domain: { id: context.state.domain.id },
|
|
47
61
|
name: In(names)
|
|
48
62
|
})
|
|
49
63
|
return true
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Arg, Args, Ctx, Query, Resolver } from 'type-graphql'
|
|
2
|
-
import { getRepository } from 'typeorm'
|
|
3
2
|
|
|
4
|
-
import { convertListParams, ListParam } from '@things-factory/shell'
|
|
3
|
+
import { convertListParams, getRepository, ListParam } from '@things-factory/shell'
|
|
5
4
|
|
|
6
5
|
import { BizOption } from './biz-option'
|
|
7
6
|
import { BizOptionList } from './biz-option-types'
|
|
@@ -9,15 +8,15 @@ import { BizOptionList } from './biz-option-types'
|
|
|
9
8
|
@Resolver(BizOption)
|
|
10
9
|
export class BizOptionQuery {
|
|
11
10
|
@Query(returns => BizOption)
|
|
12
|
-
async bizOption(@Arg('name') name: string, @Ctx() context:
|
|
11
|
+
async bizOption(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<BizOption> {
|
|
13
12
|
return await getRepository(BizOption).findOne({
|
|
14
|
-
where: { domain: context.state.domain, name },
|
|
13
|
+
where: { domain: { id: context.state.domain.id }, name },
|
|
15
14
|
relations: ['domain', 'bizplace', 'bizOptionDetails', 'creator', 'updater']
|
|
16
15
|
})
|
|
17
16
|
}
|
|
18
17
|
|
|
19
18
|
@Query(returns => BizOptionList)
|
|
20
|
-
async bizOptions(@Args() params: ListParam, @Ctx() context:
|
|
19
|
+
async bizOptions(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<BizOptionList> {
|
|
21
20
|
const convertedParams = convertListParams(params)
|
|
22
21
|
const [items, total] = await getRepository(BizOption).findAndCount({
|
|
23
22
|
...convertedParams,
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Arg, Ctx, Mutation, Resolver } from 'type-graphql'
|
|
2
|
-
import {
|
|
2
|
+
import { In } from 'typeorm'
|
|
3
|
+
|
|
4
|
+
import { getRepository } from '@things-factory/shell'
|
|
3
5
|
|
|
4
6
|
import { BizOptionDetail } from './biz-option-detail'
|
|
5
7
|
import { BizOptionDetailPatch, NewBizOptionDetail } from './biz-option-detail-types'
|
|
@@ -9,7 +11,7 @@ export class BizOptionDetailMutation {
|
|
|
9
11
|
@Mutation(returns => BizOptionDetail)
|
|
10
12
|
async createBizOptionDetail(
|
|
11
13
|
@Arg('bizOptionDetail') bizOptionDetail: NewBizOptionDetail,
|
|
12
|
-
@Ctx() context:
|
|
14
|
+
@Ctx() context: ResolverContext
|
|
13
15
|
): Promise<BizOptionDetail> {
|
|
14
16
|
return await getRepository(BizOptionDetail).save({
|
|
15
17
|
...bizOptionDetail,
|
|
@@ -23,11 +25,11 @@ export class BizOptionDetailMutation {
|
|
|
23
25
|
async updateBizOptionDetail(
|
|
24
26
|
@Arg('name') name: string,
|
|
25
27
|
@Arg('patch') patch: BizOptionDetailPatch,
|
|
26
|
-
@Ctx() context:
|
|
28
|
+
@Ctx() context: ResolverContext
|
|
27
29
|
): Promise<BizOptionDetail> {
|
|
28
30
|
const repository = getRepository(BizOptionDetail)
|
|
29
31
|
const bizOptionDetail = await repository.findOne({
|
|
30
|
-
where: { domain: context.state.domain, name }
|
|
32
|
+
where: { domain: { id: context.state.domain.id }, name }
|
|
31
33
|
})
|
|
32
34
|
|
|
33
35
|
return await repository.save({
|
|
@@ -38,15 +40,18 @@ export class BizOptionDetailMutation {
|
|
|
38
40
|
}
|
|
39
41
|
|
|
40
42
|
@Mutation(returns => Boolean)
|
|
41
|
-
async deleteBizOptionDetail(@Arg('name') name: string, @Ctx() context:
|
|
42
|
-
await getRepository(BizOptionDetail).delete({ domain: context.state.domain, name })
|
|
43
|
+
async deleteBizOptionDetail(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Boolean> {
|
|
44
|
+
await getRepository(BizOptionDetail).delete({ domain: { id: context.state.domain.id }, name })
|
|
43
45
|
return true
|
|
44
46
|
}
|
|
45
47
|
|
|
46
48
|
@Mutation(returns => Boolean)
|
|
47
|
-
async deleteBizOptionDetails(
|
|
49
|
+
async deleteBizOptionDetails(
|
|
50
|
+
@Arg('names', type => [String]) names: string[],
|
|
51
|
+
@Ctx() context: ResolverContext
|
|
52
|
+
): Promise<Boolean> {
|
|
48
53
|
await getRepository(BizOptionDetail).delete({
|
|
49
|
-
domain: context.state.domain,
|
|
54
|
+
domain: { id: context.state.domain.id },
|
|
50
55
|
name: In(names)
|
|
51
56
|
})
|
|
52
57
|
return true
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Arg, Args, Ctx, Query, Resolver } from 'type-graphql'
|
|
2
|
-
import { getRepository } from 'typeorm'
|
|
3
2
|
|
|
4
|
-
import { convertListParams, ListParam } from '@things-factory/shell'
|
|
3
|
+
import { convertListParams, getRepository, ListParam } from '@things-factory/shell'
|
|
5
4
|
|
|
6
5
|
import { BizOptionDetail } from './biz-option-detail'
|
|
7
6
|
import { BizOptionDetailList } from './biz-option-detail-types'
|
|
@@ -9,9 +8,9 @@ import { BizOptionDetailList } from './biz-option-detail-types'
|
|
|
9
8
|
@Resolver(BizOptionDetail)
|
|
10
9
|
export class BizOptionDetailQuery {
|
|
11
10
|
@Query(returns => BizOptionDetail)
|
|
12
|
-
async bizOptionDetail(@Arg('name') name: string, @Ctx() context:
|
|
11
|
+
async bizOptionDetail(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<BizOptionDetail> {
|
|
13
12
|
return await getRepository(BizOptionDetail).findOne({
|
|
14
|
-
where: { domain: context.state.domain, name },
|
|
13
|
+
where: { domain: { id: context.state.domain.id }, name },
|
|
15
14
|
relations: ['domain', 'bizOption', 'creator', 'updater']
|
|
16
15
|
})
|
|
17
16
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'
|
|
2
|
-
import { getRepository } from 'typeorm'
|
|
3
2
|
|
|
4
|
-
import { Domain } from '@things-factory/shell'
|
|
3
|
+
import { Domain, getRepository } from '@things-factory/shell'
|
|
5
4
|
import { slugger } from '@things-factory/utils'
|
|
6
5
|
|
|
7
6
|
import { Company } from '../company/company'
|
|
@@ -12,10 +11,10 @@ import { BizplacePatch, NewBizplace } from './bizplace-types'
|
|
|
12
11
|
export class BizplaceMutation {
|
|
13
12
|
@Directive('@privilege(category: "bizplace", privilege: "mutation")')
|
|
14
13
|
@Mutation(returns => Bizplace)
|
|
15
|
-
async createBizplace(@Arg('bizplace') bizplace: NewBizplace, @Ctx() context:
|
|
14
|
+
async createBizplace(@Arg('bizplace') bizplace: NewBizplace, @Ctx() context: ResolverContext): Promise<Bizplace> {
|
|
16
15
|
const { domain, user } = context.state
|
|
17
16
|
if (bizplace.company && bizplace.company.id) {
|
|
18
|
-
bizplace.company = await getRepository(Company).
|
|
17
|
+
bizplace.company = await getRepository(Company).findOneBy({ id: bizplace.company.id })
|
|
19
18
|
}
|
|
20
19
|
|
|
21
20
|
return await getRepository(Bizplace).save({
|
|
@@ -31,12 +30,12 @@ export class BizplaceMutation {
|
|
|
31
30
|
async updateBizplace(
|
|
32
31
|
@Arg('name') name: string,
|
|
33
32
|
@Arg('patch') patch: BizplacePatch,
|
|
34
|
-
@Ctx() context:
|
|
33
|
+
@Ctx() context: ResolverContext
|
|
35
34
|
): Promise<Bizplace> {
|
|
36
|
-
const bizplace = await getRepository(Bizplace).
|
|
35
|
+
const bizplace = await getRepository(Bizplace).findOneBy({ domain: context.state.domain, name })
|
|
37
36
|
|
|
38
37
|
if (patch.company && patch.company.id) {
|
|
39
|
-
patch.company = await getRepository(Company).
|
|
38
|
+
patch.company = await getRepository(Company).findOneBy({ id: patch.company.id })
|
|
40
39
|
}
|
|
41
40
|
|
|
42
41
|
return await getRepository(Bizplace).save({
|
|
@@ -50,7 +49,7 @@ export class BizplaceMutation {
|
|
|
50
49
|
@Mutation(returns => [Bizplace])
|
|
51
50
|
async updateMultipleBizplace(
|
|
52
51
|
@Arg('patches', type => [BizplacePatch]) patches: BizplacePatch[],
|
|
53
|
-
@Ctx() context:
|
|
52
|
+
@Ctx() context: ResolverContext
|
|
54
53
|
): Promise<Bizplace[]> {
|
|
55
54
|
let results = []
|
|
56
55
|
const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')
|
|
@@ -63,7 +62,7 @@ export class BizplaceMutation {
|
|
|
63
62
|
const newRecord = _createRecords[i]
|
|
64
63
|
|
|
65
64
|
if (newRecord.company && newRecord.company.id) {
|
|
66
|
-
newRecord.company = await companyRepo.
|
|
65
|
+
newRecord.company = await companyRepo.findOneBy({ id: newRecord.company.id })
|
|
67
66
|
}
|
|
68
67
|
|
|
69
68
|
const result = await bizplaceRepo.save({
|
|
@@ -80,10 +79,10 @@ export class BizplaceMutation {
|
|
|
80
79
|
if (_updateRecords.length > 0) {
|
|
81
80
|
for (let i = 0; i < _updateRecords.length; i++) {
|
|
82
81
|
const newRecord = _updateRecords[i]
|
|
83
|
-
const bizplace = await bizplaceRepo.
|
|
82
|
+
const bizplace = await bizplaceRepo.findOneBy({ id: newRecord.id })
|
|
84
83
|
|
|
85
84
|
if (newRecord.company && newRecord.company.id) {
|
|
86
|
-
newRecord.company = await companyRepo.
|
|
85
|
+
newRecord.company = await companyRepo.findOneBy({ id: newRecord.company.id })
|
|
87
86
|
}
|
|
88
87
|
|
|
89
88
|
const result = await bizplaceRepo.save({
|
|
@@ -104,7 +103,7 @@ export class BizplaceMutation {
|
|
|
104
103
|
async updateBizplaceCheckDomain(
|
|
105
104
|
@Arg('name') name: string,
|
|
106
105
|
@Arg('patch') patch: BizplacePatch,
|
|
107
|
-
@Ctx() context:
|
|
106
|
+
@Ctx() context: ResolverContext
|
|
108
107
|
): Promise<Bizplace> {
|
|
109
108
|
let bizplace: Bizplace = await getRepository(Bizplace).findOne({ where: { name }, relations: ['domain'] })
|
|
110
109
|
let domain: Domain = bizplace.domain
|