@things-factory/operato-hub 4.3.232 → 4.3.234
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/config.development.js +105 -76
- package/dist-server/routers/internal/apis/create-bizplace.js +32 -3
- package/dist-server/routers/internal/apis/create-bizplace.js.map +1 -1
- package/dist-server/routers/internal/apis/create-company.js +6 -2
- package/dist-server/routers/internal/apis/create-company.js.map +1 -1
- package/dist-server/routers/internal/apis/create-partner.js +9 -9
- package/dist-server/routers/internal/apis/create-partner.js.map +1 -1
- package/dist-server/routers/internal/apis/create-user.js +2 -2
- package/dist-server/routers/internal/apis/create-user.js.map +1 -1
- package/dist-server/routers/internal/apis/invite-user.js +7 -7
- package/dist-server/routers/internal/apis/invite-user.js.map +1 -1
- package/dist-server/routers/internal/apis/terminate-partner.js +7 -7
- package/dist-server/routers/internal/apis/terminate-partner.js.map +1 -1
- package/dist-server/routers/internal/apis/terminate-user.js +7 -7
- package/dist-server/routers/internal/apis/terminate-user.js.map +1 -1
- package/dist-server/routers/internal/apis/update-bizplace.js +2 -2
- package/dist-server/routers/internal/apis/update-bizplace.js.map +1 -1
- package/dist-server/routers/internal/apis/update-company.js +19 -22
- package/dist-server/routers/internal/apis/update-company.js.map +1 -1
- package/dist-server/routers/internal/apis/update-user.js +1 -1
- package/dist-server/routers/internal/apis/update-user.js.map +1 -1
- package/dist-server/routers/internal/utils/params.js +45 -30
- package/dist-server/routers/internal/utils/params.js.map +1 -1
- package/package.json +29 -29
- package/server/routers/internal/apis/create-bizplace.ts +49 -5
- package/server/routers/internal/apis/create-company.ts +7 -2
- package/server/routers/internal/apis/create-partner.ts +9 -9
- package/server/routers/internal/apis/create-user.ts +2 -2
- package/server/routers/internal/apis/invite-user.ts +7 -7
- package/server/routers/internal/apis/terminate-partner.ts +7 -7
- package/server/routers/internal/apis/terminate-user.ts +7 -7
- package/server/routers/internal/apis/update-bizplace.ts +2 -2
- package/server/routers/internal/apis/update-company.ts +20 -22
- package/server/routers/internal/apis/update-user.ts +1 -1
- package/server/routers/internal/utils/params.ts +45 -30
package/config.development.js
CHANGED
|
@@ -1,14 +1,40 @@
|
|
|
1
1
|
module.exports = {
|
|
2
2
|
domainType: 'company',
|
|
3
3
|
domainExtType: 'company',
|
|
4
|
+
useVirtualHostBasedDomain: false,
|
|
5
|
+
fallbackRoute: '/',
|
|
4
6
|
subdomainOffset: 2,
|
|
7
|
+
port: 3000,
|
|
8
|
+
inspect: '9260',
|
|
9
|
+
// ormconfig: {
|
|
10
|
+
// name: 'default',
|
|
11
|
+
// type: 'postgres',
|
|
12
|
+
// database: 'dev',
|
|
13
|
+
// username: 'postgres',
|
|
14
|
+
// password: 'abcd1234',
|
|
15
|
+
// host: 'operatov3.cluster-cijhm4n1hbst.ap-southeast-1.rds.amazonaws.com',
|
|
16
|
+
// port: 55432,
|
|
17
|
+
// synchronize: false,
|
|
18
|
+
// logging: true
|
|
19
|
+
// },
|
|
20
|
+
// ormconfig: {
|
|
21
|
+
// name: 'default',
|
|
22
|
+
// type: 'postgres',
|
|
23
|
+
// database: 'v3-hub1',
|
|
24
|
+
// username: 'postgres',
|
|
25
|
+
// password: 'hatio',
|
|
26
|
+
// host: 'localhost',
|
|
27
|
+
// port: 15432,
|
|
28
|
+
// synchronize: true,
|
|
29
|
+
// logging: true
|
|
30
|
+
// },
|
|
5
31
|
ormconfig: {
|
|
6
32
|
name: 'default',
|
|
7
33
|
type: 'postgres',
|
|
8
|
-
database: '
|
|
34
|
+
database: 'dev2',
|
|
9
35
|
username: 'postgres',
|
|
10
36
|
password: 'hatio',
|
|
11
|
-
host: '192.168.0.
|
|
37
|
+
host: '192.168.0.161',
|
|
12
38
|
port: 15432,
|
|
13
39
|
synchronize: true,
|
|
14
40
|
logging: true
|
|
@@ -16,95 +42,105 @@ module.exports = {
|
|
|
16
42
|
// ormconfig: {
|
|
17
43
|
// name: 'default',
|
|
18
44
|
// type: 'postgres',
|
|
19
|
-
// database: '
|
|
45
|
+
// database: 'dev',
|
|
20
46
|
// username: 'postgres',
|
|
21
|
-
// password: '
|
|
22
|
-
// host: '
|
|
23
|
-
// port:
|
|
24
|
-
// synchronize:
|
|
25
|
-
// logging:
|
|
47
|
+
// password: 'hatio',
|
|
48
|
+
// host: 'localhost',
|
|
49
|
+
// port: 15432,
|
|
50
|
+
// synchronize: true,
|
|
51
|
+
// logging: true
|
|
26
52
|
// },
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
messagingSenderId: 79537064975,
|
|
39
|
-
appId: '1:79537064975:web:32f53119e9c8c6ee2a277a'
|
|
40
|
-
},
|
|
41
|
-
serverKey:
|
|
42
|
-
'AAAAEoTHTA8:APA91bGwt-4HT82Dfwf_VwbQaKT0_qHd0Y3tuW41udjWz5Lz0Ko0mEMD6WbHHSILvQpa6yuoGGKCMsrU7VW2qWRrUm3CYpyG9oSwshNm1tIhljAnOuUfwHCoawbVLwf9qlWpHt4dwCoc'
|
|
43
|
-
},
|
|
44
|
-
vapidKey: {
|
|
45
|
-
subject: 'mailto:heartyoh@hatiolab.com',
|
|
46
|
-
publicKey: 'BAkVkITsCXBIsYL1yeaBmx5_dn57we-ZXMjirPPHzC2dan82cdEnAio_53PQ-1_w3ykWCBPrrFAWQ_d9N4cFF0o',
|
|
47
|
-
privateKey: '4pmlt3Wk019u7nqU3Q_oGZE6LbUDjjf8DpmAcn9-iss'
|
|
48
|
-
}
|
|
53
|
+
password: {
|
|
54
|
+
lowerCase: true,
|
|
55
|
+
upperCase: false,
|
|
56
|
+
digit: false,
|
|
57
|
+
specialCharacter: false,
|
|
58
|
+
allowRepeat: true,
|
|
59
|
+
useTightPattern: false,
|
|
60
|
+
useLoosePattern: true,
|
|
61
|
+
tightCharacterLength: 4,
|
|
62
|
+
looseCharacterLength: 4,
|
|
63
|
+
history: 2
|
|
49
64
|
},
|
|
50
|
-
|
|
65
|
+
sftpFileStorage: {
|
|
66
|
+
type: 's3',
|
|
67
|
+
accessKeyId: 'AKIAUQEOPWEJKL43OMZA',
|
|
68
|
+
secretAccessKey: 'OG2qS0Usg4wyjPWbfv1ahPZzP80/w8z4i8MYHl+e',
|
|
69
|
+
bucketName: 'operato-sftp'
|
|
70
|
+
},
|
|
71
|
+
// storage: {
|
|
72
|
+
// type: 's3',
|
|
73
|
+
// accessKeyId: 'AKIAUQEOPWEJCDH6AR5H',
|
|
74
|
+
// secretAccessKey: 'AuDAgmODf9EJNB24OveRhTSLV/OJy6IFFoRxe8k2',
|
|
75
|
+
// bucketName: 'opa-one',
|
|
76
|
+
// region: 'ap-southeast-1'
|
|
77
|
+
// },
|
|
78
|
+
uploads: 'uploads',
|
|
79
|
+
attachmentsPath: 'attachments',
|
|
51
80
|
SECRET: '0xD58F835B69D207A76CC5F84a70a1D0d4C79dfC95',
|
|
52
|
-
|
|
81
|
+
logger: {
|
|
82
|
+
file: {
|
|
83
|
+
filename: 'logs/application-%DATE%.log',
|
|
84
|
+
datePattern: 'YYYY-MM-DD-HH',
|
|
85
|
+
zippedArchive: true,
|
|
86
|
+
maxSize: '200m',
|
|
87
|
+
maxFiles: '1m',
|
|
88
|
+
level: 'info'
|
|
89
|
+
}
|
|
90
|
+
},
|
|
53
91
|
email: {
|
|
54
92
|
host: 'smtp.office365.com',
|
|
55
93
|
port: 587,
|
|
56
94
|
secure: false, // true for 465, false for other ports
|
|
57
95
|
auth: {
|
|
58
|
-
user: '
|
|
96
|
+
user: 'noreply@hatiolab.com', // generated ethereal user
|
|
59
97
|
pass: 'h@ti0LAB1008' // generated ethereal password
|
|
60
98
|
},
|
|
61
99
|
secureConnection: false,
|
|
62
100
|
tls: {
|
|
63
101
|
ciphers: 'SSLv3'
|
|
64
|
-
}
|
|
65
|
-
sender: 'no-reply@hatiolab.com'
|
|
102
|
+
}
|
|
66
103
|
},
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
104
|
+
sender: 'noreply@hatiolab.com',
|
|
105
|
+
notification: {
|
|
106
|
+
// fcm: {
|
|
107
|
+
// serviceAccount: {
|
|
108
|
+
// project_id: 'operato',
|
|
109
|
+
// private_key:
|
|
110
|
+
// '-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDYNOfyNjPMSeG9\nzU1qs0cpVK5cVfadcUaw5g+hkQZMOMlAA7uqW2eX4vkayj7MzbYUayH+sei8044Q\nJIyl6f26dNX1VT3UgTmSmCS0v48EBEZHCgusrUGFjduLRN6OS6uvrXW1xKA18k9q\nai1C2EHCXF2AE4PTvf239RC1UIOnVePcMtT7rMTdHRO4s8OKVuSDbzIt8k1cV3Zt\nES0YsJlkELqBisYpV//2/ZSILTt39J9JzrVef03X9kkoo9p+YnNyy6tWsfQPfgJO\nybiRGBNxiyJ/E2pxRo/WqU0go9OzYJlGaSUrUx09heNiRD1b0MAOmyPDJz/6AaTk\nkU/A+kLzAgMBAAECggEADQ5s2gtR53VSujk1V/Xe8e0Di99DwaWUj5w6YhcK7/wX\nPdQRN4Fw6RLeLjL7xeG/rCNSwzm6hKSrQJL5zLnWW7XbMdyQRk6jdmnVAEv3zACi\nFH9+eFK3e+Q214XfgWz/v4p/FZdRLCYni5VBNHcwyWxLLS/V1ynzB3KM1sDiTRmI\npcT7+uTtwrKgJq64sXtFE2pYrFxDdCiyqzkhv/2ed4YIowAjpKBbbcCDKeVxVkoz\nC1P4PAzs9EeUuKSWYrWaUjN17lqtRlYeT1ylR1PIJuWqd4cKfgoEgz+lHwRPDCEX\nAYbk3nofiJIPBhSfCHrXS755wK48mY8vMwFdfCPJeQKBgQDsz4tjYTHdat5A25n5\nekwMxZwFQ5OvMV4eulwZUDMypTAYSz1iB6sDlgwKDm5omZIfuneqCEIvrqxV/kx3\n5wV/DANHO3hYxdp/NV7rM23xmqlaKZhHQbDono1Fm/LP6DEmJiD7N2eFKsXYcPpR\nSAIdCv0X3zkDQ4zRi51yJlCXzQKBgQDpufJBxCoXngiQJ2j14lWVAeOOdQ6zh5Ip\nBcDwF0X67cNSN3Wl40bS4yLFdolhEAyj5m0WPuYYXpjzhHhZ0W3V3ItdBkrmwIvy\nWOWu26qN0ZbwxVS2qVpHuj6iHWJKHuDZZUkFtJg3BeeBSOUHSA8TvjnA0xd83xeb\n8ZJasWoFvwKBgQDFs/gQ/gIdcq0exLfluh5nw0qgcmyHpNWJHdjqITS9IX/nqFkU\n0IYLtmdStf2jQiLmbkydHcvz9wZVvLqml67VBHhwLcwpgPULoskd34/4V0Dvzy4c\nv1Esw8H5zVqIDLeLu+VpFjZMzQrjyl6RIWbyTExEc84rVWfpQYAu3qIGOQKBgAFr\nXatEk7TdAtRNSPflTfu/rTAaSeKROjQBkvBiU8x4US1YpOBDBxUUyAtG8wKh5FHC\nfnsaGq+fM3KXJVv2R6J62mXQOfg4xyDLpWlwcBK4aSBBMoiBcsjouqSlZQlqMpdf\nZBgixqHe6U8BsFJg/6ZxC0y+e3AIss4Bo4/lb+1lAoGAFOexvaBh21K6W3inmRW4\nLlkVYJaBJ20OwokXg5aXjBiHxqmk7VLAuFbkpb5LOKH2xPILRQ0OEkn51yVymS3T\n9lLpHOFTQXt5tF2/F7NW7kaQJNlLr/h5jPi3O9XHeFmuaN2z150ZB6zzgjeGKzr8\ni+1fgTsRfDtNw8xkSH9qL1Y=\n-----END PRIVATE KEY-----\n',
|
|
111
|
+
// client_email: 'firebase-adminsdk-xmm2e@operato.iam.gserviceaccount.com'
|
|
112
|
+
// },
|
|
113
|
+
// appConfig: {
|
|
114
|
+
// apiKey: 'AIzaSyDdTM2BTLHSt2LNS0G5QB8G0i4KBXFiG7U',
|
|
115
|
+
// projectId: 'operato',
|
|
116
|
+
// messagingSenderId: 79537064975,
|
|
117
|
+
// appId: '1:79537064975:web:32f53119e9c8c6ee2a277a'
|
|
118
|
+
// },
|
|
119
|
+
// serverKey:
|
|
120
|
+
// 'AAAAEoTHTA8:APA91bGwt-4HT82Dfwf_VwbQaKT0_qHd0Y3tuW41udjWz5Lz0Ko0mEMD6WbHHSILvQpa6yuoGGKCMsrU7VW2qWRrUm3CYpyG9oSwshNm1tIhljAnOuUfwHCoawbVLwf9qlWpHt4dwCoc'
|
|
121
|
+
// },
|
|
122
|
+
// vapidKey: {
|
|
123
|
+
// subject: 'mailto:heartyoh@hatiolab.com',
|
|
124
|
+
// publicKey: 'BAkVkITsCXBIsYL1yeaBmx5_dn57we-ZXMjirPPHzC2dan82cdEnAio_53PQ-1_w3ykWCBPrrFAWQ_d9N4cFF0o',
|
|
125
|
+
// privateKey: '4pmlt3Wk019u7nqU3Q_oGZE6LbUDjjf8DpmAcn9-iss'
|
|
126
|
+
// }
|
|
71
127
|
},
|
|
72
|
-
attachmentsPath: 'attachment',
|
|
73
128
|
fulfillmentIntegrationOperato: {
|
|
74
|
-
host: 'operato.com:3000',
|
|
129
|
+
host: 'operato-h.com:3000',
|
|
75
130
|
protocol: 'http',
|
|
76
131
|
platform: 'operato',
|
|
77
132
|
application: 'Operato MMS',
|
|
78
133
|
appKey: 'a9bf751e622bf146662b240d58971051',
|
|
79
134
|
appSecret: '1c385935dc131c4b902b9bbf6a4798af',
|
|
80
|
-
|
|
81
|
-
callback: 'http://operato.com:9000/callback-operato'
|
|
82
|
-
},
|
|
83
|
-
fulfillmentIntegrationOperatoSftp: {
|
|
84
|
-
host: 'operato.com:3000',
|
|
85
|
-
protocol: 'http',
|
|
86
|
-
platform: 'operato',
|
|
87
|
-
application: 'Operato SFTP',
|
|
88
|
-
appKey: 'd3ebaf18121947931b5902d78adc9a98',
|
|
89
|
-
appSecret: '41e5591dd6597a75ae5d54603494525b',
|
|
90
|
-
type: 'SFTP',
|
|
91
|
-
callback: 'http://operato.com:9000/callback-operato'
|
|
135
|
+
callback: 'http://operato-retail.com:5000/callback-operato'
|
|
92
136
|
},
|
|
93
137
|
marketplaceIntegrationShopee: {
|
|
94
138
|
platform: 'shopee',
|
|
95
139
|
isUAT: false,
|
|
96
140
|
application: 'Operato MMS',
|
|
97
141
|
partnerId: 846025,
|
|
98
|
-
partnerKey: 'd34cfd85a603f196a0d74ebe08043280c1a27788bb36bdffd61e7e0bb1c90b64'
|
|
99
|
-
v2: true
|
|
142
|
+
partnerKey: 'd34cfd85a603f196a0d74ebe08043280c1a27788bb36bdffd61e7e0bb1c90b64'
|
|
100
143
|
},
|
|
101
|
-
// marketplaceIntegrationShopee: {
|
|
102
|
-
// platform: 'shopee',
|
|
103
|
-
// isUAT: false,
|
|
104
|
-
// application: 'Staging MMS',
|
|
105
|
-
// partnerId: 845525,
|
|
106
|
-
// partnerKey: '4a3f4214fd0f0bda970b342a99b6f8705fc7bacad2743cffa7ed67b79840665e'
|
|
107
|
-
// },
|
|
108
144
|
marketplaceIntegrationLazada: {
|
|
109
145
|
platform: 'lazada',
|
|
110
146
|
application: 'operato-mms',
|
|
@@ -112,19 +148,12 @@ module.exports = {
|
|
|
112
148
|
appSecret: 'HB3RTNEXHlVSlBr9SmWF8AjbSUT7a825',
|
|
113
149
|
callback: 'https://maybank.operato-m.com/lazada-callback'
|
|
114
150
|
},
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
apiKey: 'Et0KqtLvA6e92bDvOywy9eCCud4hpAal8akpqI90'
|
|
123
|
-
},
|
|
124
|
-
sftpFileStorage: {
|
|
125
|
-
type: 's3',
|
|
126
|
-
accessKeyId: 'AKIAUQEOPWEJKL43OMZA',
|
|
127
|
-
secretAccessKey: 'OG2qS0Usg4wyjPWbfv1ahPZzP80/w8z4i8MYHl+e',
|
|
128
|
-
bucketName: 'operato-sftp'
|
|
151
|
+
accountingIntegrationXero: {
|
|
152
|
+
platform: 'xero',
|
|
153
|
+
application: 'Operato WMS',
|
|
154
|
+
apiKey: '6B12D1AAC05347DC92159C2AEC812859',
|
|
155
|
+
apiSecret: 'T139_ItMjObC82mmy7iwnNflhd2iV0kUvDBj0P_201EmA7Sj',
|
|
156
|
+
callback: 'http://operato-h.com:3000/callback-xero',
|
|
157
|
+
hostname: 'http://operato-h.com:3000/'
|
|
129
158
|
}
|
|
130
159
|
}
|
|
@@ -3,11 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createBizplace = void 0;
|
|
4
4
|
const auth_base_1 = require("@things-factory/auth-base");
|
|
5
5
|
const biz_base_1 = require("@things-factory/biz-base");
|
|
6
|
+
const shell_1 = require("@things-factory/shell");
|
|
6
7
|
const bizplace_initializer_1 = require("../../../controllers/bizplace-initializer");
|
|
8
|
+
const generate_bizplace_domain_roles_1 = require("../../../controllers/bizplace-initializer/generate-bizplace-domain-roles");
|
|
7
9
|
const error_util_1 = require("../utils/error-util");
|
|
8
10
|
async function createBizplace(request, context, tx) {
|
|
9
11
|
const { data: bizplace } = request;
|
|
10
|
-
const company = await tx.getRepository(biz_base_1.Company).findOne({ where: {
|
|
12
|
+
const company = await tx.getRepository(biz_base_1.Company).findOne({ where: { refCompanyId: bizplace.refCompanyId } });
|
|
13
|
+
if (!company) {
|
|
14
|
+
throw new error_util_1.ApiError('E04', `${bizplace.refCompanyId} not found`);
|
|
15
|
+
}
|
|
11
16
|
const oldBizplace = await tx.getRepository(biz_base_1.Bizplace).findOne({
|
|
12
17
|
where: {
|
|
13
18
|
refBizplaceId: bizplace.refBizplaceId
|
|
@@ -16,7 +21,7 @@ async function createBizplace(request, context, tx) {
|
|
|
16
21
|
if (oldBizplace) {
|
|
17
22
|
throw new error_util_1.ApiError('E04', `${bizplace.name} is duplicated`);
|
|
18
23
|
}
|
|
19
|
-
let foundUser = await tx.getRepository(auth_base_1.User).findOne({ where: {
|
|
24
|
+
let foundUser = await tx.getRepository(auth_base_1.User).findOne({ where: { email: bizplace.userEmail } });
|
|
20
25
|
let createdBizplace = await tx.getRepository(biz_base_1.Bizplace).save({
|
|
21
26
|
name: bizplace.name,
|
|
22
27
|
description: (bizplace === null || bizplace === void 0 ? void 0 : bizplace.description) || null,
|
|
@@ -29,7 +34,31 @@ async function createBizplace(request, context, tx) {
|
|
|
29
34
|
updater: foundUser,
|
|
30
35
|
creator: foundUser
|
|
31
36
|
});
|
|
32
|
-
await (0, bizplace_initializer_1.generateBizplaceDomain)(createdBizplace.id, foundUser, tx);
|
|
37
|
+
let domain = await (0, bizplace_initializer_1.generateBizplaceDomain)(createdBizplace.id, foundUser, tx);
|
|
38
|
+
if ((bizplace === null || bizplace === void 0 ? void 0 : bizplace.extType) && (bizplace === null || bizplace === void 0 ? void 0 : bizplace.extType) == 'warehouse') {
|
|
39
|
+
domain.extType = bizplace.extType;
|
|
40
|
+
await (0, generate_bizplace_domain_roles_1.generateBizplaceDomainRoles)(domain, tx);
|
|
41
|
+
await (0, bizplace_initializer_1.initMenus)(tx, domain);
|
|
42
|
+
await (0, bizplace_initializer_1.initCodes)(tx, domain);
|
|
43
|
+
await (0, bizplace_initializer_1.initSettings)(tx, domain);
|
|
44
|
+
await (0, bizplace_initializer_1.initGroups)(tx, domain);
|
|
45
|
+
const userRepo = tx.getRepository(auth_base_1.User);
|
|
46
|
+
const user = await userRepo.findOne({ where: { email: bizplace.userEmail }, relations: ['domains', 'roles'] });
|
|
47
|
+
const roleRepo = tx.getRepository(auth_base_1.Role);
|
|
48
|
+
const role = await roleRepo.findOne({ where: { domain } });
|
|
49
|
+
const privilegeRepo = tx.getRepository(auth_base_1.Privilege);
|
|
50
|
+
const privileges = await privilegeRepo.find();
|
|
51
|
+
const domains = user.domains;
|
|
52
|
+
domains.push(domain);
|
|
53
|
+
user.domains = domains;
|
|
54
|
+
const roles = await user.roles;
|
|
55
|
+
roles.push(role);
|
|
56
|
+
user.roles = roles;
|
|
57
|
+
role.privileges = privileges;
|
|
58
|
+
await userRepo.save(user);
|
|
59
|
+
await roleRepo.save(role);
|
|
60
|
+
await tx.getRepository(shell_1.Domain).update({ id: domain.id }, { extType: bizplace.extType });
|
|
61
|
+
}
|
|
33
62
|
let data = {
|
|
34
63
|
id: createdBizplace.id,
|
|
35
64
|
name: createdBizplace.name
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-bizplace.js","sourceRoot":"","sources":["../../../../server/routers/internal/apis/create-bizplace.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"create-bizplace.js","sourceRoot":"","sources":["../../../../server/routers/internal/apis/create-bizplace.ts"],"names":[],"mappings":";;;AAEA,yDAAiE;AACjE,uDAA4D;AAC5D,iDAA8C;AAE9C,oFAMkD;AAClD,6HAAsH;AACtH,oDAA8C;AAEvC,KAAK,UAAU,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;IACvD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;IAClC,MAAM,OAAO,GAAY,MAAM,EAAE,CAAC,aAAa,CAAC,kBAAO,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;IAEpH,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,qBAAQ,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,YAAY,YAAY,CAAC,CAAA;KAChE;IAED,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC;QAC3D,KAAK,EAAE;YACL,aAAa,EAAE,QAAQ,CAAC,aAAa;SACtC;KACF,CAAC,CAAA;IACF,IAAI,WAAW,EAAE;QACf,MAAM,IAAI,qBAAQ,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAA;KAC5D;IAED,IAAI,SAAS,GAAS,MAAM,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;IAEpG,IAAI,eAAe,GAAa,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,IAAI,CAAC;QACpE,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,WAAW,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,KAAI,IAAI;QAC1C,OAAO,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,KAAI,EAAE;QAChC,UAAU,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,KAAI,EAAE;QACtC,MAAM,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,KAAI,EAAE;QAC9B,MAAM,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,KAAI,IAAI;QAChC,aAAa,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,aAAa,KAAI,IAAI;QAC9C,OAAO;QACP,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,SAAS;KACnB,CAAC,CAAA;IAEF,IAAI,MAAM,GAAW,MAAM,IAAA,6CAAsB,EAAC,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAA;IACpF,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,KAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,KAAI,WAAW,EAAE;QACzD,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;QACjC,MAAM,IAAA,4DAA2B,EAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC7C,MAAM,IAAA,gCAAS,EAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAC3B,MAAM,IAAA,gCAAS,EAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAC3B,MAAM,IAAA,mCAAY,EAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAC9B,MAAM,IAAA,iCAAU,EAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAE5B,MAAM,QAAQ,GAAqB,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAA;QACzD,MAAM,IAAI,GAAS,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;QACpH,MAAM,QAAQ,GAAqB,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAA;QACzD,MAAM,IAAI,GAAS,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;QAChE,MAAM,aAAa,GAA0B,EAAE,CAAC,aAAa,CAAC,qBAAS,CAAC,CAAA;QACxE,MAAM,UAAU,GAAc,MAAM,aAAa,CAAC,IAAI,EAAE,CAAA;QAExD,MAAM,OAAO,GAAa,IAAI,CAAC,OAAO,CAAA;QACtC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QAEtB,MAAM,KAAK,GAAW,MAAM,IAAI,CAAC,KAAK,CAAA;QACtC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAElB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAE5B,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzB,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEzB,MAAM,EAAE,CAAC,aAAa,CAAC,cAAM,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;KACxF;IAED,IAAI,IAAI,GAAG;QACT,EAAE,EAAE,eAAe,CAAC,EAAE;QACtB,IAAI,EAAE,eAAe,CAAC,IAAI;KAC3B,CAAA;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAtED,wCAsEC"}
|
|
@@ -8,8 +8,10 @@ const utils_1 = require("@things-factory/utils");
|
|
|
8
8
|
const company_initializer_1 = require("../../../controllers/company-initializer");
|
|
9
9
|
const error_util_1 = require("../utils/error-util");
|
|
10
10
|
async function createCompany(request, context, tx) {
|
|
11
|
-
const { name, description, brn, address, postalCode, countryCode, type, status,
|
|
12
|
-
let foundUser = await tx
|
|
11
|
+
const { name, description, brn, address, postalCode, countryCode, type, status, userEmail, refCompanyId } = request.data;
|
|
12
|
+
let foundUser = await tx
|
|
13
|
+
.getRepository(auth_base_1.User)
|
|
14
|
+
.findOne({ where: { email: userEmail }, relations: ['domains', 'roles'] });
|
|
13
15
|
const subdomain = (0, utils_1.slugger)(name);
|
|
14
16
|
//check for existing company
|
|
15
17
|
const oldCompany = await tx.getRepository(biz_base_1.Company).findOne({
|
|
@@ -33,6 +35,7 @@ async function createCompany(request, context, tx) {
|
|
|
33
35
|
subdomain,
|
|
34
36
|
name,
|
|
35
37
|
extType: 'company',
|
|
38
|
+
owner: foundUser.id,
|
|
36
39
|
creator: foundUser,
|
|
37
40
|
updater: foundUser
|
|
38
41
|
});
|
|
@@ -61,6 +64,7 @@ async function createCompany(request, context, tx) {
|
|
|
61
64
|
address: company.address,
|
|
62
65
|
postalCode: company.postalCode || '',
|
|
63
66
|
latlng: '',
|
|
67
|
+
refBizplaceId: refCompanyId || null,
|
|
64
68
|
domain,
|
|
65
69
|
company
|
|
66
70
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-company.js","sourceRoot":"","sources":["../../../../server/routers/internal/apis/create-company.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AACtD,uDAA4D;AAC5D,iDAA8C;AAC9C,iDAA+C;AAE/C,kFAAgF;AAChF,oDAA8C;AAEvC,KAAK,UAAU,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;IACtD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"create-company.js","sourceRoot":"","sources":["../../../../server/routers/internal/apis/create-company.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,26 +5,26 @@ const auth_base_1 = require("@things-factory/auth-base");
|
|
|
5
5
|
const biz_base_1 = require("@things-factory/biz-base");
|
|
6
6
|
const error_util_1 = require("../utils/error-util");
|
|
7
7
|
async function createPartner(request, context, tx) {
|
|
8
|
-
const {
|
|
8
|
+
const { refBizplaceId, partnerRefBizplaceId, userEmail } = request.data;
|
|
9
9
|
const bizplace = await tx
|
|
10
10
|
.getRepository(biz_base_1.Bizplace)
|
|
11
|
-
.findOne({ where: {
|
|
11
|
+
.findOne({ where: { refBizplaceId }, relations: ['domain'] });
|
|
12
12
|
if (!bizplace) {
|
|
13
|
-
throw new error_util_1.ApiError('E04', `${
|
|
13
|
+
throw new error_util_1.ApiError('E04', `${refBizplaceId} does not exist`);
|
|
14
14
|
}
|
|
15
15
|
const partnerBizplace = await tx
|
|
16
16
|
.getRepository(biz_base_1.Bizplace)
|
|
17
|
-
.findOne({ where: {
|
|
17
|
+
.findOne({ where: { refBizplaceId: partnerRefBizplaceId }, relations: ['domain'] });
|
|
18
18
|
if (!partnerBizplace) {
|
|
19
|
-
throw new error_util_1.ApiError('E04', `${
|
|
19
|
+
throw new error_util_1.ApiError('E04', `${partnerRefBizplaceId} does not exist`);
|
|
20
20
|
}
|
|
21
21
|
const isExistingCustomer = Boolean(await tx.getRepository(auth_base_1.Partner).count({
|
|
22
22
|
where: { domain: bizplace.domain, partnerDomain: partnerBizplace.domain }
|
|
23
23
|
}));
|
|
24
24
|
if (isExistingCustomer) {
|
|
25
|
-
throw new error_util_1.ApiError('E04', `${
|
|
25
|
+
throw new error_util_1.ApiError('E04', `${partnerRefBizplaceId} already registered as partner`);
|
|
26
26
|
}
|
|
27
|
-
let user = await tx.getRepository(auth_base_1.User).findOne({ where: {
|
|
27
|
+
let user = await tx.getRepository(auth_base_1.User).findOne({ where: { email: userEmail } });
|
|
28
28
|
await tx.getRepository(auth_base_1.Partner).save({
|
|
29
29
|
domain: bizplace.domain,
|
|
30
30
|
partnerDomain: partnerBizplace.domain,
|
|
@@ -32,8 +32,8 @@ async function createPartner(request, context, tx) {
|
|
|
32
32
|
approver: user || null
|
|
33
33
|
});
|
|
34
34
|
let data = {
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
refBizplaceId,
|
|
36
|
+
partnerRefBizplaceId
|
|
37
37
|
};
|
|
38
38
|
return data;
|
|
39
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-partner.js","sourceRoot":"","sources":["../../../../server/routers/internal/apis/create-partner.ts"],"names":[],"mappings":";;;AAAA,yDAAyD;AACzD,uDAAmD;AAEnD,oDAA8C;AAEvC,KAAK,UAAU,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;IACtD,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"create-partner.js","sourceRoot":"","sources":["../../../../server/routers/internal/apis/create-partner.ts"],"names":[],"mappings":";;;AAAA,yDAAyD;AACzD,uDAAmD;AAEnD,oDAA8C;AAEvC,KAAK,UAAU,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;IACtD,MAAM,EAAE,aAAa,EAAE,oBAAoB,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAA;IAEvE,MAAM,QAAQ,GAAa,MAAM,EAAE;SAChC,aAAa,CAAC,mBAAQ,CAAC;SACvB,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAE/D,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,qBAAQ,CAAC,KAAK,EAAE,GAAG,aAAa,iBAAiB,CAAC,CAAA;KAC7D;IAED,MAAM,eAAe,GAAa,MAAM,EAAE;SACvC,aAAa,CAAC,mBAAQ,CAAC;SACvB,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,oBAAoB,EAAE,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAErF,IAAI,CAAC,eAAe,EAAE;QACpB,MAAM,IAAI,qBAAQ,CAAC,KAAK,EAAE,GAAG,oBAAoB,iBAAiB,CAAC,CAAA;KACpE;IAED,MAAM,kBAAkB,GAAY,OAAO,CACzC,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAO,CAAC,CAAC,KAAK,CAAC;QACpC,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,eAAe,CAAC,MAAM,EAAE;KAC1E,CAAC,CACH,CAAA;IAED,IAAI,kBAAkB,EAAE;QACtB,MAAM,IAAI,qBAAQ,CAAC,KAAK,EAAE,GAAG,oBAAoB,gCAAgC,CAAC,CAAA;KACnF;IAED,IAAI,IAAI,GAAS,MAAM,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,CAAA;IAEtF,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAO,CAAC,CAAC,IAAI,CAAC;QACnC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,aAAa,EAAE,eAAe,CAAC,MAAM;QACrC,SAAS,EAAE,IAAI,IAAI,IAAI;QACvB,QAAQ,EAAE,IAAI,IAAI,IAAI;KACvB,CAAC,CAAA;IAEF,IAAI,IAAI,GAAG;QACT,aAAa;QACb,oBAAoB;KACrB,CAAA;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AA5CD,sCA4CC"}
|
|
@@ -7,12 +7,12 @@ async function createUser(request, context, tx) {
|
|
|
7
7
|
let user = (request === null || request === void 0 ? void 0 : request.data) || {};
|
|
8
8
|
const { email } = user;
|
|
9
9
|
user.email = email.trim();
|
|
10
|
-
const oldUser = await tx.getRepository(auth_base_1.User).findOne({ where: {
|
|
10
|
+
const oldUser = await tx.getRepository(auth_base_1.User).findOne({ where: { email: user.email } });
|
|
11
11
|
if (oldUser) {
|
|
12
12
|
throw new error_util_1.ApiError('E04', context.t('error.x already exists in y', { x: context.t('field.user'), y: 'operato' }));
|
|
13
13
|
}
|
|
14
14
|
const salt = auth_base_1.User.generateSalt();
|
|
15
|
-
let createdUser = await tx.getRepository(auth_base_1.User).save(Object.assign(Object.assign({}, user), { refUserId: user === null || user === void 0 ? void 0 : user.refUserId, userType: (user === null || user === void 0 ? void 0 : user.userType) || 'user', status: (user === null || user === void 0 ? void 0 : user.status) || 'inactive', salt: (user === null || user === void 0 ? void 0 : user.salt) || salt, passwordUpdatedAt: new Date(), password: (user === null || user === void 0 ? void 0 : user.password) || auth_base_1.User.encode(user.password, salt) }));
|
|
15
|
+
let createdUser = await tx.getRepository(auth_base_1.User).save(Object.assign(Object.assign({}, user), { refUserId: user === null || user === void 0 ? void 0 : user.refUserId, userType: (user === null || user === void 0 ? void 0 : user.userType) || 'user', status: (user === null || user === void 0 ? void 0 : user.status) || 'inactive', salt: (user === null || user === void 0 ? void 0 : user.salt) || salt, passwordUpdatedAt: new Date(), password: (user === null || user === void 0 ? void 0 : user.password) && (user === null || user === void 0 ? void 0 : user.salt) ? user.password : auth_base_1.User.encode(user.password, salt) }));
|
|
16
16
|
let data = {
|
|
17
17
|
id: createdUser.id,
|
|
18
18
|
email: createdUser.email
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-user.js","sourceRoot":"","sources":["../../../../server/routers/internal/apis/create-user.ts"],"names":[],"mappings":";;;AAAA,yDAAyD;AAEzD,oDAA8C;AAEvC,KAAK,UAAU,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;IACnD,IAAI,IAAI,GAAY,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,KAAI,EAAE,CAAA;IACvC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;IACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAEzB,MAAM,OAAO,GAAS,MAAM,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"create-user.js","sourceRoot":"","sources":["../../../../server/routers/internal/apis/create-user.ts"],"names":[],"mappings":";;;AAAA,yDAAyD;AAEzD,oDAA8C;AAEvC,KAAK,UAAU,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;IACnD,IAAI,IAAI,GAAY,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,KAAI,EAAE,CAAA;IACvC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;IACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAEzB,MAAM,OAAO,GAAS,MAAM,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC5F,IAAI,OAAO,EAAE;QACX,MAAM,IAAI,qBAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,6BAA6B,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;KAClH;IAED,MAAM,IAAI,GAAG,gBAAI,CAAC,YAAY,EAAE,CAAA;IAEhC,IAAI,WAAW,GAAS,MAAM,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,IAAI,iCACpD,IAAI,KACP,SAAS,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,EAC1B,QAAQ,EAAE,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,KAAI,MAAM,EAClC,MAAM,EAAE,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,KAAI,UAAU,EAClC,IAAI,EAAE,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,KAAI,IAAI,EACxB,iBAAiB,EAAE,IAAI,IAAI,EAAE,EAC7B,QAAQ,EAAE,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,MAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAA,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IACzF,CAAA;IAEF,IAAI,IAAI,GAAG;QACT,EAAE,EAAE,WAAW,CAAC,EAAE;QAClB,KAAK,EAAE,WAAW,CAAC,KAAK;KACzB,CAAA;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AA5BD,gCA4BC"}
|
|
@@ -5,16 +5,16 @@ const auth_base_1 = require("@things-factory/auth-base");
|
|
|
5
5
|
const biz_base_1 = require("@things-factory/biz-base");
|
|
6
6
|
const error_util_1 = require("../utils/error-util");
|
|
7
7
|
async function inviteUser(request, context, tx) {
|
|
8
|
-
const {
|
|
9
|
-
const user = await tx.getRepository(auth_base_1.User).findOne({ where: {
|
|
8
|
+
const { userEmail, refBizplaceId } = request.data;
|
|
9
|
+
const user = await tx.getRepository(auth_base_1.User).findOne({ where: { email: userEmail }, relations: ['domains'] });
|
|
10
10
|
if (!user) {
|
|
11
|
-
throw new error_util_1.ApiError('E04', `${
|
|
11
|
+
throw new error_util_1.ApiError('E04', `${userEmail} does not exist`);
|
|
12
12
|
}
|
|
13
13
|
const bizplace = await tx
|
|
14
14
|
.getRepository(biz_base_1.Bizplace)
|
|
15
|
-
.findOne({ where: {
|
|
15
|
+
.findOne({ where: { refBizplaceId }, relations: ['domain'] });
|
|
16
16
|
if (!bizplace) {
|
|
17
|
-
throw new error_util_1.ApiError('E04', `${
|
|
17
|
+
throw new error_util_1.ApiError('E04', `${refBizplaceId} does not exist`);
|
|
18
18
|
}
|
|
19
19
|
const existingDomains = user.domains;
|
|
20
20
|
if (existingDomains.find((d) => d.id === bizplace.domain.id)) {
|
|
@@ -23,8 +23,8 @@ async function inviteUser(request, context, tx) {
|
|
|
23
23
|
user.domains = [...existingDomains, bizplace.domain];
|
|
24
24
|
await tx.getRepository(auth_base_1.User).save(user);
|
|
25
25
|
let data = {
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
refBizplaceId,
|
|
27
|
+
userEmail
|
|
28
28
|
};
|
|
29
29
|
return data;
|
|
30
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invite-user.js","sourceRoot":"","sources":["../../../../server/routers/internal/apis/invite-user.ts"],"names":[],"mappings":";;;AAAA,yDAAgD;AAChD,uDAAmD;AAGnD,oDAA8C;AAEvC,KAAK,UAAU,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;IACnD,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"invite-user.js","sourceRoot":"","sources":["../../../../server/routers/internal/apis/invite-user.ts"],"names":[],"mappings":";;;AAAA,yDAAgD;AAChD,uDAAmD;AAGnD,oDAA8C;AAEvC,KAAK,UAAU,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;IACnD,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAA;IAEjD,MAAM,IAAI,GAAS,MAAM,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IAEhH,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,qBAAQ,CAAC,KAAK,EAAE,GAAG,SAAS,iBAAiB,CAAC,CAAA;KACzD;IAED,MAAM,QAAQ,GAAa,MAAM,EAAE;SAChC,aAAa,CAAC,mBAAQ,CAAC;SACvB,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAE/D,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,qBAAQ,CAAC,KAAK,EAAE,GAAG,aAAa,iBAAiB,CAAC,CAAA;KAC7D;IAED,MAAM,eAAe,GAAa,IAAI,CAAC,OAAO,CAAA;IAC9C,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;QACpE,MAAM,IAAI,qBAAQ,CAAC,KAAK,EAAE,0BAA0B,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;KACrE;IAED,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IACpD,MAAM,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEvC,IAAI,IAAI,GAAG;QACT,aAAa;QACb,SAAS;KACV,CAAA;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AA/BD,gCA+BC"}
|
|
@@ -5,18 +5,18 @@ const auth_base_1 = require("@things-factory/auth-base");
|
|
|
5
5
|
const biz_base_1 = require("@things-factory/biz-base");
|
|
6
6
|
const error_util_1 = require("../utils/error-util");
|
|
7
7
|
async function terminatePartner(request, context, tx) {
|
|
8
|
-
const {
|
|
8
|
+
const { refBizplaceId, partnerRefBizplaceId } = request.data;
|
|
9
9
|
const bizplace = await tx
|
|
10
10
|
.getRepository(biz_base_1.Bizplace)
|
|
11
|
-
.findOne({ where: {
|
|
11
|
+
.findOne({ where: { refBizplaceId }, relations: ['domain'] });
|
|
12
12
|
if (!bizplace) {
|
|
13
|
-
throw new error_util_1.ApiError('E04', `${
|
|
13
|
+
throw new error_util_1.ApiError('E04', `${refBizplaceId} does not exist`);
|
|
14
14
|
}
|
|
15
15
|
const partnerBizplace = await tx
|
|
16
16
|
.getRepository(biz_base_1.Bizplace)
|
|
17
|
-
.findOne({ where: {
|
|
17
|
+
.findOne({ where: { refBizplaceId: partnerRefBizplaceId }, relations: ['domain'] });
|
|
18
18
|
if (!partnerBizplace) {
|
|
19
|
-
throw new error_util_1.ApiError('E04', `${
|
|
19
|
+
throw new error_util_1.ApiError('E04', `${partnerRefBizplaceId} does not exist`);
|
|
20
20
|
}
|
|
21
21
|
const partner = await tx.getRepository(auth_base_1.Partner).findOne({
|
|
22
22
|
where: { domain: bizplace.domain, partnerDomain: partnerBizplace.domain }
|
|
@@ -29,8 +29,8 @@ async function terminatePartner(request, context, tx) {
|
|
|
29
29
|
// Remove granted roles
|
|
30
30
|
await (0, auth_base_1.terminateGrantedRoles)(bizplace.domain, partnerBizplace.domain, tx);
|
|
31
31
|
let data = {
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
refBizplaceId,
|
|
33
|
+
partnerRefBizplaceId
|
|
34
34
|
};
|
|
35
35
|
return data;
|
|
36
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminate-partner.js","sourceRoot":"","sources":["../../../../server/routers/internal/apis/terminate-partner.ts"],"names":[],"mappings":";;;AAAA,yDAA0E;AAC1E,uDAAmD;AAEnD,oDAA8C;AAEvC,KAAK,UAAU,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;IACzD,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"terminate-partner.js","sourceRoot":"","sources":["../../../../server/routers/internal/apis/terminate-partner.ts"],"names":[],"mappings":";;;AAAA,yDAA0E;AAC1E,uDAAmD;AAEnD,oDAA8C;AAEvC,KAAK,UAAU,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;IACzD,MAAM,EAAE,aAAa,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAA;IAE5D,MAAM,QAAQ,GAAa,MAAM,EAAE;SAChC,aAAa,CAAC,mBAAQ,CAAC;SACvB,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAE/D,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,qBAAQ,CAAC,KAAK,EAAE,GAAG,aAAa,iBAAiB,CAAC,CAAA;KAC7D;IAED,MAAM,eAAe,GAAa,MAAM,EAAE;SACvC,aAAa,CAAC,mBAAQ,CAAC;SACvB,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,oBAAoB,EAAE,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAErF,IAAI,CAAC,eAAe,EAAE;QACpB,MAAM,IAAI,qBAAQ,CAAC,KAAK,EAAE,GAAG,oBAAoB,iBAAiB,CAAC,CAAA;KACpE;IAED,MAAM,OAAO,GAAY,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAO,CAAC,CAAC,OAAO,CAAC;QAC/D,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,eAAe,CAAC,MAAM,EAAE;KAC1E,CAAC,CAAA;IAEF,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,qBAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAA;KACpD;IAED,iBAAiB;IACjB,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAElD,uBAAuB;IACvB,MAAM,IAAA,iCAAqB,EAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAExE,IAAI,IAAI,GAAG;QACT,aAAa;QACb,oBAAoB;KACrB,CAAA;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAvCD,4CAuCC"}
|
|
@@ -5,18 +5,18 @@ const auth_base_1 = require("@things-factory/auth-base");
|
|
|
5
5
|
const biz_base_1 = require("@things-factory/biz-base");
|
|
6
6
|
const error_util_1 = require("../utils/error-util");
|
|
7
7
|
async function terminateUser(request, context, tx) {
|
|
8
|
-
const {
|
|
8
|
+
const { userEmail, refBizplaceId } = request.data;
|
|
9
9
|
const user = await tx
|
|
10
10
|
.getRepository(auth_base_1.User)
|
|
11
|
-
.findOne({ where: {
|
|
11
|
+
.findOne({ where: { email: userEmail }, relations: ['domains', 'roles', 'roles.domain'] });
|
|
12
12
|
if (!user) {
|
|
13
|
-
throw new error_util_1.ApiError('E04', `${
|
|
13
|
+
throw new error_util_1.ApiError('E04', `${userEmail} does not exist`);
|
|
14
14
|
}
|
|
15
15
|
const bizplace = await tx
|
|
16
16
|
.getRepository(biz_base_1.Bizplace)
|
|
17
|
-
.findOne({ where: {
|
|
17
|
+
.findOne({ where: { refBizplaceId }, relations: ['domain'] });
|
|
18
18
|
if (!bizplace) {
|
|
19
|
-
throw new error_util_1.ApiError('E04', `${
|
|
19
|
+
throw new error_util_1.ApiError('E04', `${refBizplaceId} does not exist`);
|
|
20
20
|
}
|
|
21
21
|
const targetDomainIdx = user.domains.findIndex((userDomain) => userDomain.id === bizplace.domain.id);
|
|
22
22
|
if (targetDomainIdx < 0) {
|
|
@@ -28,8 +28,8 @@ async function terminateUser(request, context, tx) {
|
|
|
28
28
|
user.roles = user.roles.filter((role) => role.domain.id !== bizplace.domain.id);
|
|
29
29
|
await tx.getRepository(auth_base_1.User).save(user);
|
|
30
30
|
let data = {
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
refBizplaceId,
|
|
32
|
+
userEmail
|
|
33
33
|
};
|
|
34
34
|
return data;
|
|
35
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminate-user.js","sourceRoot":"","sources":["../../../../server/routers/internal/apis/terminate-user.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AACtD,uDAAmD;AAGnD,oDAA8C;AAEvC,KAAK,UAAU,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;IACtD,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"terminate-user.js","sourceRoot":"","sources":["../../../../server/routers/internal/apis/terminate-user.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AACtD,uDAAmD;AAGnD,oDAA8C;AAEvC,KAAK,UAAU,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;IACtD,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAA;IAEjD,MAAM,IAAI,GAAS,MAAM,EAAE;SACxB,aAAa,CAAC,gBAAI,CAAC;SACnB,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,CAAC,CAAA;IAE5F,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,qBAAQ,CAAC,KAAK,EAAE,GAAG,SAAS,iBAAiB,CAAC,CAAA;KACzD;IAED,MAAM,QAAQ,GAAa,MAAM,EAAE;SAChC,aAAa,CAAC,mBAAQ,CAAC;SACvB,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAE/D,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,qBAAQ,CAAC,KAAK,EAAE,GAAG,aAAa,iBAAiB,CAAC,CAAA;KAC7D;IAED,MAAM,eAAe,GAAW,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,UAAkB,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACpH,IAAI,eAAe,GAAG,CAAC,EAAE;QACvB,MAAM,IAAI,qBAAQ,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,uBAAuB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;KAC9E;IAED,mCAAmC;IACnC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAA;IAEvC,sCAAsC;IACtC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAErF,MAAM,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEvC,IAAI,IAAI,GAAG;QACT,aAAa;QACb,SAAS;KACV,CAAA;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAtCD,sCAsCC"}
|
|
@@ -9,12 +9,12 @@ async function updateBizplace(request, context, tx) {
|
|
|
9
9
|
const { data: bizplace } = request;
|
|
10
10
|
const existingBizplace = await tx.getRepository(biz_base_1.Bizplace).findOne({
|
|
11
11
|
where: {
|
|
12
|
-
|
|
12
|
+
refBizplaceId: bizplace.refBizplaceId
|
|
13
13
|
},
|
|
14
14
|
relations: ['company', 'domain']
|
|
15
15
|
});
|
|
16
16
|
if (!existingBizplace) {
|
|
17
|
-
throw new error_util_1.ApiError('E04', `${bizplace.
|
|
17
|
+
throw new error_util_1.ApiError('E04', `${bizplace.refBizplaceId} does not exist`);
|
|
18
18
|
}
|
|
19
19
|
const company = existingBizplace.company;
|
|
20
20
|
const domain = existingBizplace.domain;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-bizplace.js","sourceRoot":"","sources":["../../../../server/routers/internal/apis/update-bizplace.ts"],"names":[],"mappings":";;;AAAA,uDAA4D;AAC5D,iDAA8C;AAC9C,iDAA+C;AAE/C,oDAA8C;AAEvC,KAAK,UAAU,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;IACvD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;IAElC,MAAM,gBAAgB,GAAa,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC;QAC1E,KAAK,EAAE;YACL,
|
|
1
|
+
{"version":3,"file":"update-bizplace.js","sourceRoot":"","sources":["../../../../server/routers/internal/apis/update-bizplace.ts"],"names":[],"mappings":"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"}
|