storemw-core-api 1.0.149 → 1.0.150
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/app.js +3 -1
- package/dist/app.js.map +1 -1
- package/dist/controllers/access_control/accessControlRoleController.d.ts +11 -0
- package/dist/controllers/access_control/accessControlRoleController.js +156 -0
- package/dist/controllers/access_control/accessControlRoleController.js.map +1 -0
- package/dist/controllers/access_control/accessControlUserController.d.ts +7 -0
- package/dist/controllers/access_control/accessControlUserController.js +140 -0
- package/dist/controllers/access_control/accessControlUserController.js.map +1 -0
- package/dist/controllers/index.d.ts +3 -0
- package/dist/controllers/index.js +16 -2
- package/dist/controllers/index.js.map +1 -1
- package/dist/controllers/repository/repositoryController.d.ts +12 -0
- package/dist/controllers/repository/repositoryController.js +249 -0
- package/dist/controllers/repository/repositoryController.js.map +1 -0
- package/dist/middlewares/route/index.d.ts +2 -0
- package/dist/middlewares/route/index.js +15 -2
- package/dist/middlewares/route/index.js.map +1 -1
- package/dist/middlewares/route/validateAccessControl.d.ts +7 -0
- package/dist/middlewares/route/validateAccessControl.js +28 -0
- package/dist/middlewares/route/validateAccessControl.js.map +1 -0
- package/dist/middlewares/route/validateRepository.d.ts +4 -0
- package/dist/middlewares/route/validateRepository.js +14 -24
- package/dist/middlewares/route/validateRepository.js.map +1 -1
- package/dist/models/access_control/AccessControlRoleModel.d.ts +228 -0
- package/dist/models/access_control/AccessControlRoleModel.js +13 -0
- package/dist/models/access_control/AccessControlRoleModel.js.map +1 -0
- package/dist/models/access_control/AccessControlRolePolicyModel.d.ts +206 -0
- package/dist/models/access_control/AccessControlRolePolicyModel.js +13 -0
- package/dist/models/access_control/AccessControlRolePolicyModel.js.map +1 -0
- package/dist/models/access_control/AccessControlUserRoleModel.d.ts +206 -0
- package/dist/models/access_control/AccessControlUserRoleModel.js +13 -0
- package/dist/models/access_control/AccessControlUserRoleModel.js.map +1 -0
- package/dist/models/index.d.ts +18 -0
- package/dist/models/index.js +30 -2
- package/dist/models/index.js.map +1 -1
- package/dist/models/repository/RepositoryCartonModel.d.ts +312 -0
- package/dist/models/repository/RepositoryCartonModel.js +13 -0
- package/dist/models/repository/RepositoryCartonModel.js.map +1 -0
- package/dist/models/repository/RepositoryContainerModel.d.ts +268 -0
- package/dist/models/repository/RepositoryContainerModel.js +13 -0
- package/dist/models/repository/RepositoryContainerModel.js.map +1 -0
- package/dist/models/repository/RepositoryModel.d.ts +235 -0
- package/dist/models/repository/RepositoryModel.js +13 -0
- package/dist/models/repository/RepositoryModel.js.map +1 -0
- package/dist/models/repository/RepositoryPackageItemModel.d.ts +334 -0
- package/dist/models/repository/RepositoryPackageItemModel.js +13 -0
- package/dist/models/repository/RepositoryPackageItemModel.js.map +1 -0
- package/dist/models/repository/RepositoryPackageModel.d.ts +323 -0
- package/dist/models/repository/RepositoryPackageModel.js +13 -0
- package/dist/models/repository/RepositoryPackageModel.js.map +1 -0
- package/dist/models/repository/RepositoryPalletModel.d.ts +301 -0
- package/dist/models/repository/RepositoryPalletModel.js +13 -0
- package/dist/models/repository/RepositoryPalletModel.js.map +1 -0
- package/dist/routes/access_control/accessControlPoliciesRoutes.d.ts +2 -0
- package/dist/routes/access_control/accessControlPoliciesRoutes.js +11 -0
- package/dist/routes/access_control/accessControlPoliciesRoutes.js.map +1 -0
- package/dist/routes/access_control/accessControlRoleRoutes.d.ts +2 -0
- package/dist/routes/access_control/accessControlRoleRoutes.js +15 -0
- package/dist/routes/access_control/accessControlRoleRoutes.js.map +1 -0
- package/dist/routes/access_control/accessControlRolesRoutes.d.ts +2 -0
- package/dist/routes/access_control/accessControlRolesRoutes.js +13 -0
- package/dist/routes/access_control/accessControlRolesRoutes.js.map +1 -0
- package/dist/routes/access_control/accessControlRoutes.d.ts +0 -1
- package/dist/routes/access_control/accessControlRoutes.js +8 -5
- package/dist/routes/access_control/accessControlRoutes.js.map +1 -1
- package/dist/routes/access_control/accessControlUsersRoutes.d.ts +3 -0
- package/dist/routes/access_control/accessControlUsersRoutes.js +13 -0
- package/dist/routes/access_control/accessControlUsersRoutes.js.map +1 -0
- package/dist/routes/index.d.ts +2 -0
- package/dist/routes/index.js +5 -1
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/repository/repositoriesRoutes.d.ts +2 -0
- package/dist/routes/repository/repositoriesRoutes.js +13 -0
- package/dist/routes/repository/repositoriesRoutes.js.map +1 -0
- package/dist/routes/repository/repositoryRoutes.d.ts +2 -0
- package/dist/routes/repository/repositoryRoutes.js +15 -0
- package/dist/routes/repository/repositoryRoutes.js.map +1 -0
- package/dist/schema/middleware/route/index.d.ts +2 -2
- package/dist/schema/middleware/route/index.js +2 -1
- package/dist/schema/middleware/route/index.js.map +1 -1
- package/dist/schema/middleware/route/schemaAccessControl.d.ts +3 -0
- package/dist/schema/middleware/route/schemaAccessControl.js +6 -1
- package/dist/schema/middleware/route/schemaAccessControl.js.map +1 -1
- package/dist/schema/middleware/route/schemaRepository.d.ts +2 -2
- package/dist/schema/payload/access_control/schemaAccessControlRole.d.ts +219 -0
- package/dist/schema/payload/access_control/schemaAccessControlRole.js +41 -0
- package/dist/schema/payload/access_control/schemaAccessControlRole.js.map +1 -0
- package/dist/schema/payload/access_control/schemaAccessControlUser.d.ts +54 -0
- package/dist/schema/payload/access_control/schemaAccessControlUser.js +34 -0
- package/dist/schema/payload/access_control/schemaAccessControlUser.js.map +1 -0
- package/dist/schema/payload/business/schemaBusiness.d.ts +16 -1
- package/dist/schema/payload/business/schemaBusiness.js +8 -12
- package/dist/schema/payload/business/schemaBusiness.js.map +1 -1
- package/dist/schema/payload/index.d.ts +8 -0
- package/dist/schema/payload/index.js +18 -2
- package/dist/schema/payload/index.js.map +1 -1
- package/dist/schema/payload/injection_field/schemaInjectionField.d.ts +20 -134
- package/dist/schema/payload/injection_field/schemaInjectionField.js +8 -8
- package/dist/schema/payload/injection_field/schemaInjectionField.js.map +1 -1
- package/dist/schema/payload/repository/schemaRepository.d.ts +66 -0
- package/dist/schema/payload/repository/schemaRepository.js +26 -0
- package/dist/schema/payload/repository/schemaRepository.js.map +1 -0
- package/dist/schema/payload/repository/schemaRepositoryContainer.d.ts +292 -0
- package/dist/schema/payload/repository/schemaRepositoryContainer.js +41 -0
- package/dist/schema/payload/repository/schemaRepositoryContainer.js.map +1 -0
- package/dist/services/access_control/AccessControlRoleService.d.ts +49 -0
- package/dist/services/access_control/AccessControlRoleService.js +249 -0
- package/dist/services/access_control/AccessControlRoleService.js.map +1 -0
- package/dist/services/access_control/AccessControlUserService.d.ts +27 -0
- package/dist/services/access_control/AccessControlUserService.js +260 -0
- package/dist/services/access_control/AccessControlUserService.js.map +1 -0
- package/dist/services/index.d.ts +6 -0
- package/dist/services/index.js +8 -5
- package/dist/services/index.js.map +1 -1
- package/dist/services/injection_field/InjectionFieldService.d.ts +4 -2
- package/dist/services/injection_field/RepositoryInjectionFieldService.d.ts +14 -5
- package/dist/services/injection_field/RepositoryInjectionFieldService.js +6 -2
- package/dist/services/injection_field/RepositoryInjectionFieldService.js.map +1 -1
- package/dist/services/repository/RepositoryContainerService.d.ts +64 -0
- package/dist/services/repository/RepositoryContainerService.js +187 -0
- package/dist/services/repository/RepositoryContainerService.js.map +1 -0
- package/dist/services/repository/RepositoryMainService.d.ts +80 -0
- package/dist/services/repository/RepositoryMainService.js +143 -0
- package/dist/services/repository/RepositoryMainService.js.map +1 -0
- package/dist/services/repository/RepositoryService.d.ts +46 -0
- package/dist/services/repository/RepositoryService.js +133 -0
- package/dist/services/repository/RepositoryService.js.map +1 -0
- package/dist/utils/accessControlUtils.d.ts +17 -0
- package/dist/utils/accessControlUtils.js +8 -0
- package/dist/utils/accessControlUtils.js.map +1 -0
- package/dist/utils/index.d.ts +2 -1
- package/dist/utils/index.js +4 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/zodUtils.d.ts +13 -0
- package/dist/utils/zodUtils.js +17 -1
- package/dist/utils/zodUtils.js.map +1 -1
- package/package.json +1 -1
- package/prisma/schema.prisma +188 -0
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const containerSchema: z.ZodObject<{
|
|
3
|
+
containerNumber: z.ZodString;
|
|
4
|
+
containerDescription: z.ZodOptional<z.ZodString>;
|
|
5
|
+
loadDate: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodDate>>, Date | null | undefined, unknown>;
|
|
6
|
+
arrivalDate: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodDate>>, Date | null | undefined, unknown>;
|
|
7
|
+
sealNumber: z.ZodOptional<z.ZodString>;
|
|
8
|
+
inspectionProviderName: z.ZodOptional<z.ZodString>;
|
|
9
|
+
shippingProviderName: z.ZodOptional<z.ZodString>;
|
|
10
|
+
}, "strip", z.ZodTypeAny, {
|
|
11
|
+
containerNumber: string;
|
|
12
|
+
containerDescription?: string | undefined;
|
|
13
|
+
arrivalDate?: Date | null | undefined;
|
|
14
|
+
loadDate?: Date | null | undefined;
|
|
15
|
+
sealNumber?: string | undefined;
|
|
16
|
+
inspectionProviderName?: string | undefined;
|
|
17
|
+
shippingProviderName?: string | undefined;
|
|
18
|
+
}, {
|
|
19
|
+
containerNumber: string;
|
|
20
|
+
containerDescription?: string | undefined;
|
|
21
|
+
arrivalDate?: unknown;
|
|
22
|
+
loadDate?: unknown;
|
|
23
|
+
sealNumber?: string | undefined;
|
|
24
|
+
inspectionProviderName?: string | undefined;
|
|
25
|
+
shippingProviderName?: string | undefined;
|
|
26
|
+
}>;
|
|
27
|
+
/** Create */
|
|
28
|
+
export declare const schemaRepositoryContainerCreatePayload: z.ZodObject<{
|
|
29
|
+
scope: z.ZodObject<{
|
|
30
|
+
target: z.ZodEnum<["container" | "pallet" | "carton" | "package" | "package_item", ...("container" | "pallet" | "carton" | "package" | "package_item")[]]>;
|
|
31
|
+
action: z.ZodOptional<z.ZodString>;
|
|
32
|
+
}, "strip", z.ZodTypeAny, {
|
|
33
|
+
target: "container" | "pallet" | "carton" | "package" | "package_item";
|
|
34
|
+
action?: string | undefined;
|
|
35
|
+
}, {
|
|
36
|
+
target: "container" | "pallet" | "carton" | "package" | "package_item";
|
|
37
|
+
action?: string | undefined;
|
|
38
|
+
}>;
|
|
39
|
+
payload: z.ZodObject<{
|
|
40
|
+
repository: z.ZodObject<{
|
|
41
|
+
repositoryNumber: z.ZodOptional<z.ZodString>;
|
|
42
|
+
repositoryDate: z.ZodOptional<z.ZodString>;
|
|
43
|
+
description: z.ZodString;
|
|
44
|
+
remark: z.ZodString;
|
|
45
|
+
}, "strip", z.ZodTypeAny, {
|
|
46
|
+
description: string;
|
|
47
|
+
remark: string;
|
|
48
|
+
repositoryNumber?: string | undefined;
|
|
49
|
+
repositoryDate?: string | undefined;
|
|
50
|
+
}, {
|
|
51
|
+
description: string;
|
|
52
|
+
remark: string;
|
|
53
|
+
repositoryNumber?: string | undefined;
|
|
54
|
+
repositoryDate?: string | undefined;
|
|
55
|
+
}>;
|
|
56
|
+
container: z.ZodObject<{
|
|
57
|
+
containerNumber: z.ZodString;
|
|
58
|
+
containerDescription: z.ZodOptional<z.ZodString>;
|
|
59
|
+
loadDate: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodDate>>, Date | null | undefined, unknown>;
|
|
60
|
+
arrivalDate: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodDate>>, Date | null | undefined, unknown>;
|
|
61
|
+
sealNumber: z.ZodOptional<z.ZodString>;
|
|
62
|
+
inspectionProviderName: z.ZodOptional<z.ZodString>;
|
|
63
|
+
shippingProviderName: z.ZodOptional<z.ZodString>;
|
|
64
|
+
}, "strip", z.ZodTypeAny, {
|
|
65
|
+
containerNumber: string;
|
|
66
|
+
containerDescription?: string | undefined;
|
|
67
|
+
arrivalDate?: Date | null | undefined;
|
|
68
|
+
loadDate?: Date | null | undefined;
|
|
69
|
+
sealNumber?: string | undefined;
|
|
70
|
+
inspectionProviderName?: string | undefined;
|
|
71
|
+
shippingProviderName?: string | undefined;
|
|
72
|
+
}, {
|
|
73
|
+
containerNumber: string;
|
|
74
|
+
containerDescription?: string | undefined;
|
|
75
|
+
arrivalDate?: unknown;
|
|
76
|
+
loadDate?: unknown;
|
|
77
|
+
sealNumber?: string | undefined;
|
|
78
|
+
inspectionProviderName?: string | undefined;
|
|
79
|
+
shippingProviderName?: string | undefined;
|
|
80
|
+
}>;
|
|
81
|
+
}, "strip", z.ZodTypeAny, {
|
|
82
|
+
container: {
|
|
83
|
+
containerNumber: string;
|
|
84
|
+
containerDescription?: string | undefined;
|
|
85
|
+
arrivalDate?: Date | null | undefined;
|
|
86
|
+
loadDate?: Date | null | undefined;
|
|
87
|
+
sealNumber?: string | undefined;
|
|
88
|
+
inspectionProviderName?: string | undefined;
|
|
89
|
+
shippingProviderName?: string | undefined;
|
|
90
|
+
};
|
|
91
|
+
repository: {
|
|
92
|
+
description: string;
|
|
93
|
+
remark: string;
|
|
94
|
+
repositoryNumber?: string | undefined;
|
|
95
|
+
repositoryDate?: string | undefined;
|
|
96
|
+
};
|
|
97
|
+
}, {
|
|
98
|
+
container: {
|
|
99
|
+
containerNumber: string;
|
|
100
|
+
containerDescription?: string | undefined;
|
|
101
|
+
arrivalDate?: unknown;
|
|
102
|
+
loadDate?: unknown;
|
|
103
|
+
sealNumber?: string | undefined;
|
|
104
|
+
inspectionProviderName?: string | undefined;
|
|
105
|
+
shippingProviderName?: string | undefined;
|
|
106
|
+
};
|
|
107
|
+
repository: {
|
|
108
|
+
description: string;
|
|
109
|
+
remark: string;
|
|
110
|
+
repositoryNumber?: string | undefined;
|
|
111
|
+
repositoryDate?: string | undefined;
|
|
112
|
+
};
|
|
113
|
+
}>;
|
|
114
|
+
}, "strip", z.ZodTypeAny, {
|
|
115
|
+
scope: {
|
|
116
|
+
target: "container" | "pallet" | "carton" | "package" | "package_item";
|
|
117
|
+
action?: string | undefined;
|
|
118
|
+
};
|
|
119
|
+
payload: {
|
|
120
|
+
container: {
|
|
121
|
+
containerNumber: string;
|
|
122
|
+
containerDescription?: string | undefined;
|
|
123
|
+
arrivalDate?: Date | null | undefined;
|
|
124
|
+
loadDate?: Date | null | undefined;
|
|
125
|
+
sealNumber?: string | undefined;
|
|
126
|
+
inspectionProviderName?: string | undefined;
|
|
127
|
+
shippingProviderName?: string | undefined;
|
|
128
|
+
};
|
|
129
|
+
repository: {
|
|
130
|
+
description: string;
|
|
131
|
+
remark: string;
|
|
132
|
+
repositoryNumber?: string | undefined;
|
|
133
|
+
repositoryDate?: string | undefined;
|
|
134
|
+
};
|
|
135
|
+
};
|
|
136
|
+
}, {
|
|
137
|
+
scope: {
|
|
138
|
+
target: "container" | "pallet" | "carton" | "package" | "package_item";
|
|
139
|
+
action?: string | undefined;
|
|
140
|
+
};
|
|
141
|
+
payload: {
|
|
142
|
+
container: {
|
|
143
|
+
containerNumber: string;
|
|
144
|
+
containerDescription?: string | undefined;
|
|
145
|
+
arrivalDate?: unknown;
|
|
146
|
+
loadDate?: unknown;
|
|
147
|
+
sealNumber?: string | undefined;
|
|
148
|
+
inspectionProviderName?: string | undefined;
|
|
149
|
+
shippingProviderName?: string | undefined;
|
|
150
|
+
};
|
|
151
|
+
repository: {
|
|
152
|
+
description: string;
|
|
153
|
+
remark: string;
|
|
154
|
+
repositoryNumber?: string | undefined;
|
|
155
|
+
repositoryDate?: string | undefined;
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
}>;
|
|
159
|
+
export type SchemaRepositoryContainerCreatePayload = z.infer<typeof schemaRepositoryContainerCreatePayload>;
|
|
160
|
+
/** Update */
|
|
161
|
+
export declare const schemaRepositoryContainerUpdatePayload: z.ZodObject<{
|
|
162
|
+
scope: z.ZodObject<{
|
|
163
|
+
target: z.ZodEnum<["container" | "pallet" | "carton" | "package" | "package_item", ...("container" | "pallet" | "carton" | "package" | "package_item")[]]>;
|
|
164
|
+
action: z.ZodOptional<z.ZodString>;
|
|
165
|
+
}, "strip", z.ZodTypeAny, {
|
|
166
|
+
target: "container" | "pallet" | "carton" | "package" | "package_item";
|
|
167
|
+
action?: string | undefined;
|
|
168
|
+
}, {
|
|
169
|
+
target: "container" | "pallet" | "carton" | "package" | "package_item";
|
|
170
|
+
action?: string | undefined;
|
|
171
|
+
}>;
|
|
172
|
+
payload: z.ZodObject<{
|
|
173
|
+
repository: z.ZodObject<{
|
|
174
|
+
repositoryNumber: z.ZodOptional<z.ZodString>;
|
|
175
|
+
repositoryDate: z.ZodOptional<z.ZodString>;
|
|
176
|
+
description: z.ZodString;
|
|
177
|
+
remark: z.ZodString;
|
|
178
|
+
}, "strip", z.ZodTypeAny, {
|
|
179
|
+
description: string;
|
|
180
|
+
remark: string;
|
|
181
|
+
repositoryNumber?: string | undefined;
|
|
182
|
+
repositoryDate?: string | undefined;
|
|
183
|
+
}, {
|
|
184
|
+
description: string;
|
|
185
|
+
remark: string;
|
|
186
|
+
repositoryNumber?: string | undefined;
|
|
187
|
+
repositoryDate?: string | undefined;
|
|
188
|
+
}>;
|
|
189
|
+
container: z.ZodObject<{
|
|
190
|
+
containerNumber: z.ZodString;
|
|
191
|
+
containerDescription: z.ZodOptional<z.ZodString>;
|
|
192
|
+
loadDate: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodDate>>, Date | null | undefined, unknown>;
|
|
193
|
+
arrivalDate: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodDate>>, Date | null | undefined, unknown>;
|
|
194
|
+
sealNumber: z.ZodOptional<z.ZodString>;
|
|
195
|
+
inspectionProviderName: z.ZodOptional<z.ZodString>;
|
|
196
|
+
shippingProviderName: z.ZodOptional<z.ZodString>;
|
|
197
|
+
}, "strip", z.ZodTypeAny, {
|
|
198
|
+
containerNumber: string;
|
|
199
|
+
containerDescription?: string | undefined;
|
|
200
|
+
arrivalDate?: Date | null | undefined;
|
|
201
|
+
loadDate?: Date | null | undefined;
|
|
202
|
+
sealNumber?: string | undefined;
|
|
203
|
+
inspectionProviderName?: string | undefined;
|
|
204
|
+
shippingProviderName?: string | undefined;
|
|
205
|
+
}, {
|
|
206
|
+
containerNumber: string;
|
|
207
|
+
containerDescription?: string | undefined;
|
|
208
|
+
arrivalDate?: unknown;
|
|
209
|
+
loadDate?: unknown;
|
|
210
|
+
sealNumber?: string | undefined;
|
|
211
|
+
inspectionProviderName?: string | undefined;
|
|
212
|
+
shippingProviderName?: string | undefined;
|
|
213
|
+
}>;
|
|
214
|
+
}, "strip", z.ZodTypeAny, {
|
|
215
|
+
container: {
|
|
216
|
+
containerNumber: string;
|
|
217
|
+
containerDescription?: string | undefined;
|
|
218
|
+
arrivalDate?: Date | null | undefined;
|
|
219
|
+
loadDate?: Date | null | undefined;
|
|
220
|
+
sealNumber?: string | undefined;
|
|
221
|
+
inspectionProviderName?: string | undefined;
|
|
222
|
+
shippingProviderName?: string | undefined;
|
|
223
|
+
};
|
|
224
|
+
repository: {
|
|
225
|
+
description: string;
|
|
226
|
+
remark: string;
|
|
227
|
+
repositoryNumber?: string | undefined;
|
|
228
|
+
repositoryDate?: string | undefined;
|
|
229
|
+
};
|
|
230
|
+
}, {
|
|
231
|
+
container: {
|
|
232
|
+
containerNumber: string;
|
|
233
|
+
containerDescription?: string | undefined;
|
|
234
|
+
arrivalDate?: unknown;
|
|
235
|
+
loadDate?: unknown;
|
|
236
|
+
sealNumber?: string | undefined;
|
|
237
|
+
inspectionProviderName?: string | undefined;
|
|
238
|
+
shippingProviderName?: string | undefined;
|
|
239
|
+
};
|
|
240
|
+
repository: {
|
|
241
|
+
description: string;
|
|
242
|
+
remark: string;
|
|
243
|
+
repositoryNumber?: string | undefined;
|
|
244
|
+
repositoryDate?: string | undefined;
|
|
245
|
+
};
|
|
246
|
+
}>;
|
|
247
|
+
}, "strip", z.ZodTypeAny, {
|
|
248
|
+
scope: {
|
|
249
|
+
target: "container" | "pallet" | "carton" | "package" | "package_item";
|
|
250
|
+
action?: string | undefined;
|
|
251
|
+
};
|
|
252
|
+
payload: {
|
|
253
|
+
container: {
|
|
254
|
+
containerNumber: string;
|
|
255
|
+
containerDescription?: string | undefined;
|
|
256
|
+
arrivalDate?: Date | null | undefined;
|
|
257
|
+
loadDate?: Date | null | undefined;
|
|
258
|
+
sealNumber?: string | undefined;
|
|
259
|
+
inspectionProviderName?: string | undefined;
|
|
260
|
+
shippingProviderName?: string | undefined;
|
|
261
|
+
};
|
|
262
|
+
repository: {
|
|
263
|
+
description: string;
|
|
264
|
+
remark: string;
|
|
265
|
+
repositoryNumber?: string | undefined;
|
|
266
|
+
repositoryDate?: string | undefined;
|
|
267
|
+
};
|
|
268
|
+
};
|
|
269
|
+
}, {
|
|
270
|
+
scope: {
|
|
271
|
+
target: "container" | "pallet" | "carton" | "package" | "package_item";
|
|
272
|
+
action?: string | undefined;
|
|
273
|
+
};
|
|
274
|
+
payload: {
|
|
275
|
+
container: {
|
|
276
|
+
containerNumber: string;
|
|
277
|
+
containerDescription?: string | undefined;
|
|
278
|
+
arrivalDate?: unknown;
|
|
279
|
+
loadDate?: unknown;
|
|
280
|
+
sealNumber?: string | undefined;
|
|
281
|
+
inspectionProviderName?: string | undefined;
|
|
282
|
+
shippingProviderName?: string | undefined;
|
|
283
|
+
};
|
|
284
|
+
repository: {
|
|
285
|
+
description: string;
|
|
286
|
+
remark: string;
|
|
287
|
+
repositoryNumber?: string | undefined;
|
|
288
|
+
repositoryDate?: string | undefined;
|
|
289
|
+
};
|
|
290
|
+
};
|
|
291
|
+
}>;
|
|
292
|
+
export type SchemaRepositoryContainerUpdatePayload = z.infer<typeof schemaRepositoryContainerUpdatePayload>;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.schemaRepositoryContainerUpdatePayload = exports.schemaRepositoryContainerCreatePayload = exports.containerSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const schemaRepository_1 = require("./schemaRepository");
|
|
6
|
+
exports.containerSchema = zod_1.z.object({
|
|
7
|
+
containerNumber: zod_1.z.string(),
|
|
8
|
+
containerDescription: zod_1.z.string().optional(),
|
|
9
|
+
// loadDate can be Date | null | undefined | ""
|
|
10
|
+
loadDate: zod_1.z.preprocess((val) => {
|
|
11
|
+
if (val === "")
|
|
12
|
+
return null; // convert empty string to null
|
|
13
|
+
return val;
|
|
14
|
+
}, zod_1.z.coerce.date().nullable().optional()),
|
|
15
|
+
// arrivalDate can be Date | null | undefined | ""
|
|
16
|
+
arrivalDate: zod_1.z.preprocess((val) => {
|
|
17
|
+
if (val === "")
|
|
18
|
+
return null; // convert empty string to null
|
|
19
|
+
return val;
|
|
20
|
+
}, zod_1.z.coerce.date().nullable().optional()),
|
|
21
|
+
sealNumber: zod_1.z.string().optional(),
|
|
22
|
+
inspectionProviderName: zod_1.z.string().optional(),
|
|
23
|
+
shippingProviderName: zod_1.z.string().optional(),
|
|
24
|
+
});
|
|
25
|
+
/** Create */
|
|
26
|
+
exports.schemaRepositoryContainerCreatePayload = zod_1.z.object({
|
|
27
|
+
scope: schemaRepository_1.schemaRepositoryScope,
|
|
28
|
+
payload: zod_1.z.object({
|
|
29
|
+
repository: schemaRepository_1.schemaRepository,
|
|
30
|
+
container: exports.containerSchema,
|
|
31
|
+
})
|
|
32
|
+
});
|
|
33
|
+
/** Update */
|
|
34
|
+
exports.schemaRepositoryContainerUpdatePayload = zod_1.z.object({
|
|
35
|
+
scope: schemaRepository_1.schemaRepositoryScope,
|
|
36
|
+
payload: zod_1.z.object({
|
|
37
|
+
repository: schemaRepository_1.schemaRepository,
|
|
38
|
+
container: exports.containerSchema,
|
|
39
|
+
})
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=schemaRepositoryContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemaRepositoryContainer.js","sourceRoot":"","sources":["../../../../src/schema/payload/repository/schemaRepositoryContainer.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAIxB,yDAA4E;AAE/D,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE;IAC3B,oBAAoB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3C,+CAA+C;IAC/C,QAAQ,EAAE,OAAC,CAAC,UAAU,CAClB,CAAC,GAAG,EAAE,EAAE;QACJ,IAAI,GAAG,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC,CAAC,+BAA+B;QAC5D,OAAO,GAAG,CAAC;IACf,CAAC,EACD,OAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CACxC;IACD,kDAAkD;IAClD,WAAW,EAAE,OAAC,CAAC,UAAU,CACrB,CAAC,GAAG,EAAE,EAAE;QACJ,IAAI,GAAG,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC,CAAC,+BAA+B;QAC5D,OAAO,GAAG,CAAC;IACf,CAAC,EACD,OAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CACxC;IAED,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,sBAAsB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7C,oBAAoB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC;AAEH,aAAa;AACA,QAAA,sCAAsC,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3D,KAAK,EAAE,wCAAqB;IAC5B,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC;QACd,UAAU,EAAE,mCAAgB;QAC5B,SAAS,EAAE,uBAAe;KAC7B,CAAC;CACL,CAAC,CAAC;AAIH,aAAa;AACA,QAAA,sCAAsC,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3D,KAAK,EAAE,wCAAqB;IAC5B,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC;QACd,UAAU,EAAE,mCAAgB;QAC5B,SAAS,EAAE,uBAAe;KAC7B,CAAC;CACL,CAAC,CAAC","sourcesContent":["import { z } from \"zod\";\n\nimport { _, dayjs } from \"@/utils\";\n\nimport { schemaRepository, schemaRepositoryScope } from \"./schemaRepository\"\n\nexport const containerSchema = z.object({\n containerNumber: z.string(),\n containerDescription: z.string().optional(),\n // loadDate can be Date | null | undefined | \"\"\n loadDate: z.preprocess(\n (val) => {\n if (val === \"\") return null; // convert empty string to null\n return val;\n },\n z.coerce.date().nullable().optional()\n ),\n // arrivalDate can be Date | null | undefined | \"\"\n arrivalDate: z.preprocess(\n (val) => {\n if (val === \"\") return null; // convert empty string to null\n return val;\n },\n z.coerce.date().nullable().optional()\n ),\n\n sealNumber: z.string().optional(),\n inspectionProviderName: z.string().optional(),\n shippingProviderName: z.string().optional(),\n});\n\n/** Create */\nexport const schemaRepositoryContainerCreatePayload = z.object({\n scope: schemaRepositoryScope,\n payload: z.object({\n repository: schemaRepository,\n container: containerSchema,\n })\n});\n\nexport type SchemaRepositoryContainerCreatePayload = z.infer<typeof schemaRepositoryContainerCreatePayload>;\n\n/** Update */\nexport const schemaRepositoryContainerUpdatePayload = z.object({\n scope: schemaRepositoryScope,\n payload: z.object({\n repository: schemaRepository,\n container: containerSchema,\n })\n});\n\nexport type SchemaRepositoryContainerUpdatePayload = z.infer<typeof schemaRepositoryContainerUpdatePayload>;"]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { UserType } from "../../services";
|
|
2
|
+
import { QueryList, QueryGet } from "../../schema/common";
|
|
3
|
+
import { DefaultServiceProps } from "../../utils";
|
|
4
|
+
export type AccessControlRoleUserType = UserType;
|
|
5
|
+
export type AccessControlRoleServiceProps = DefaultServiceProps & {};
|
|
6
|
+
export type AccessControlRoleGetProps = Omit<QueryGet, "datatypes"> & {
|
|
7
|
+
id: number;
|
|
8
|
+
};
|
|
9
|
+
export type AccessControlRoleListProps = Omit<QueryList, "datatypes"> & {};
|
|
10
|
+
export type AccessControlRoleRemoveProps = {
|
|
11
|
+
roleIds: BigInt[];
|
|
12
|
+
};
|
|
13
|
+
export type AccessControlRole = {
|
|
14
|
+
name: string;
|
|
15
|
+
description: string;
|
|
16
|
+
userType: AccessControlRoleUserType;
|
|
17
|
+
permissionKeys: string[];
|
|
18
|
+
status: boolean;
|
|
19
|
+
};
|
|
20
|
+
export type AccessControlRoleCreateProps = {
|
|
21
|
+
data: AccessControlRole;
|
|
22
|
+
};
|
|
23
|
+
export type AccessControlRoleUpdateProps = {
|
|
24
|
+
roleId: number;
|
|
25
|
+
data: Omit<AccessControlRole, "userType">;
|
|
26
|
+
};
|
|
27
|
+
export declare const AccessControlRoleService: (props: AccessControlRoleServiceProps) => {
|
|
28
|
+
getAccessControlRole: ({ id }: AccessControlRoleGetProps) => Promise<any>;
|
|
29
|
+
createAccessControlRole: ({ data }: AccessControlRoleCreateProps) => Promise<any>;
|
|
30
|
+
updateAccessControlRole: ({ roleId, data }: AccessControlRoleUpdateProps) => Promise<any>;
|
|
31
|
+
removeAccessControlRoles: ({ roleIds }: AccessControlRoleRemoveProps) => Promise<{
|
|
32
|
+
createdatetime: Date | null;
|
|
33
|
+
createuserid: bigint;
|
|
34
|
+
updatedatetime: Date | null;
|
|
35
|
+
updateuserid: bigint;
|
|
36
|
+
isdelete: boolean | null;
|
|
37
|
+
istrash: boolean | null;
|
|
38
|
+
accountid: bigint;
|
|
39
|
+
status: boolean | null;
|
|
40
|
+
name: string;
|
|
41
|
+
user_type: string;
|
|
42
|
+
description: string | null;
|
|
43
|
+
access_control_role_id: bigint;
|
|
44
|
+
}[]>;
|
|
45
|
+
listAccessControlRoles: ({ limit, offset, filters, sortfield, sortorder }: AccessControlRoleListProps) => Promise<{
|
|
46
|
+
data: any[];
|
|
47
|
+
total: number;
|
|
48
|
+
}>;
|
|
49
|
+
};
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AccessControlRoleService = void 0;
|
|
4
|
+
const utils_1 = require("../../utils");
|
|
5
|
+
const models_1 = require("../../models");
|
|
6
|
+
const services_1 = require("../../services");
|
|
7
|
+
const utils_2 = require("../../utils");
|
|
8
|
+
const lib_1 = require("../../lib");
|
|
9
|
+
const getCreatePayload = (data) => {
|
|
10
|
+
return {
|
|
11
|
+
[`${models_1.ModelAccessControlRoleFields.name}`]: data.name,
|
|
12
|
+
[`${models_1.ModelAccessControlRoleFields.description}`]: data.description,
|
|
13
|
+
[`${models_1.ModelAccessControlRoleFields.user_type}`]: data.userType,
|
|
14
|
+
[`${models_1.ModelAccessControlRoleFields.status}`]: Boolean(data.status)
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
const getUpdatePayload = (data) => {
|
|
18
|
+
return {
|
|
19
|
+
[`${models_1.ModelAccessControlRoleFields.name}`]: data.name,
|
|
20
|
+
[`${models_1.ModelAccessControlRoleFields.description}`]: data.description,
|
|
21
|
+
// [`${ModelAccessControlRoleFields.user_type}`]: data.userType,
|
|
22
|
+
[`${models_1.ModelAccessControlRoleFields.status}`]: Boolean(data.status)
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
let mainSqlSelect = {
|
|
26
|
+
[`role.${models_1.ModelAccessControlRoleFields.access_control_role_id}`]: "access_control_role_id",
|
|
27
|
+
[`role.${models_1.ModelAccessControlRoleFields.name}`]: "name",
|
|
28
|
+
[`role.${models_1.ModelAccessControlRoleFields.description}`]: "description",
|
|
29
|
+
[`role.${models_1.ModelAccessControlRoleFields.user_type}`]: "user_type",
|
|
30
|
+
[`role.${models_1.ModelAccessControlRoleFields.status}`]: "status",
|
|
31
|
+
};
|
|
32
|
+
let rolePolicySqlSelect = {
|
|
33
|
+
[`COALESCE(
|
|
34
|
+
JSON_AGG(
|
|
35
|
+
DISTINCT ${models_1.ModelAccessControlRolePolicyFields.permission_key}
|
|
36
|
+
) FILTER (
|
|
37
|
+
WHERE rolepol.access_control_role_policy_id IS NOT NULL
|
|
38
|
+
AND rolepol.isdelete = false
|
|
39
|
+
AND rolepol.istrash = false
|
|
40
|
+
),
|
|
41
|
+
'[]'
|
|
42
|
+
)`]: "permission_keys"
|
|
43
|
+
// [`COALESCE(
|
|
44
|
+
// STRING_AGG(DISTINCT rolepol.${ModelAccessControlRolePolicyFields.permission_key}::text, ', '),
|
|
45
|
+
// ''
|
|
46
|
+
// )`]: "permission_keys",
|
|
47
|
+
// [`rolepol.${ModelAccessControlRolePolicyFields.permission_key}`]: "permission_key",
|
|
48
|
+
// [`rolepol.${ModelAccessControlRolePolicyFields.role_policy_id}`]: "role_policy_id",
|
|
49
|
+
};
|
|
50
|
+
let defaultSqlSelect = {
|
|
51
|
+
[`role.${models_1.ModelAccessControlRoleFields.createdatetime}`]: "createdatetime",
|
|
52
|
+
[`creator.${models_1.ModelUserFields.login_username}`]: "createusername",
|
|
53
|
+
[`role.${models_1.ModelAccessControlRoleFields.updatedatetime}`]: "updatedatetime",
|
|
54
|
+
[`updater.${models_1.ModelUserFields.login_username}`]: "updateusername",
|
|
55
|
+
[`role.${models_1.ModelAccessControlRoleFields.isdelete}`]: "isdelete",
|
|
56
|
+
[`role.${models_1.ModelAccessControlRoleFields.istrash}`]: "istrash",
|
|
57
|
+
[`role.${models_1.ModelAccessControlRoleFields.accountid}`]: "accountid",
|
|
58
|
+
};
|
|
59
|
+
const AccessControlRoleService = (props) => {
|
|
60
|
+
const { ...rest } = props;
|
|
61
|
+
const accessControlRoleModel = (0, models_1.AccessControlRoleModel)({ ...rest });
|
|
62
|
+
const accessControlRolePolicyModel = (0, models_1.AccessControlRolePolicyModel)({ ...rest });
|
|
63
|
+
const accessControlService = (0, services_1.AccessControlService)({ ...rest });
|
|
64
|
+
const getUserTypeAllPermissionKeys = (userType) => {
|
|
65
|
+
let payload = {
|
|
66
|
+
userType
|
|
67
|
+
};
|
|
68
|
+
const { options: aclPolicyOptions } = accessControlService.listAccessControlPolicyOptions(payload);
|
|
69
|
+
const permissionKeys = (0, utils_2.getAllPermissionKeysByPolicies)(aclPolicyOptions.scopes);
|
|
70
|
+
return permissionKeys;
|
|
71
|
+
};
|
|
72
|
+
const validatePermissionKeys = (userType, permissionKeys) => {
|
|
73
|
+
const allowedPermissionKeys = getUserTypeAllPermissionKeys(userType);
|
|
74
|
+
// Get invalid values
|
|
75
|
+
const invalidValues = permissionKeys.filter(item => !allowedPermissionKeys.includes(item));
|
|
76
|
+
if (invalidValues.length > 0) {
|
|
77
|
+
(0, utils_1.throwError)(`Invalid permission keys: ${invalidValues.join(", ")}`);
|
|
78
|
+
}
|
|
79
|
+
return permissionKeys;
|
|
80
|
+
};
|
|
81
|
+
const validateUniquePermissionKeys = (arr) => {
|
|
82
|
+
const seen = new Set();
|
|
83
|
+
const duplicates = new Set();
|
|
84
|
+
for (const item of arr) {
|
|
85
|
+
if (seen.has(item)) {
|
|
86
|
+
duplicates.add(item);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
seen.add(item);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
if (duplicates.size > 0)
|
|
93
|
+
(0, utils_1.throwError)(`Duplicate permission keys: ${Array.from(duplicates).join(", ")}`);
|
|
94
|
+
return true;
|
|
95
|
+
};
|
|
96
|
+
const createAccessControlRole = async ({ data }) => {
|
|
97
|
+
const requestUserType = data.userType;
|
|
98
|
+
const requestPermissionKeys = data.permissionKeys;
|
|
99
|
+
// validate duplicate permission keys
|
|
100
|
+
validateUniquePermissionKeys(requestPermissionKeys);
|
|
101
|
+
// validate the request permission keys with allowed keys
|
|
102
|
+
validatePermissionKeys(requestUserType, requestPermissionKeys);
|
|
103
|
+
const _data = getCreatePayload(data);
|
|
104
|
+
if (!_data) {
|
|
105
|
+
throw new Error(`Invalid create role payload: ${JSON.stringify(_data)}`);
|
|
106
|
+
}
|
|
107
|
+
// create role record
|
|
108
|
+
let response = await accessControlRoleModel.create({ data: _data });
|
|
109
|
+
const roleId = Number(response?.access_control_role_id ?? 0);
|
|
110
|
+
const rolePolicyData = requestPermissionKeys.map(i => ({
|
|
111
|
+
[`${models_1.ModelAccessControlRolePolicyFields.permission_key}`]: i,
|
|
112
|
+
[`${models_1.ModelAccessControlRolePolicyFields.access_control_role_id}`]: roleId,
|
|
113
|
+
}));
|
|
114
|
+
// create role policies records
|
|
115
|
+
await accessControlRolePolicyModel.createMany({
|
|
116
|
+
dataList: rolePolicyData
|
|
117
|
+
});
|
|
118
|
+
return await getAccessControlRole({ id: roleId });
|
|
119
|
+
};
|
|
120
|
+
const updateAccessControlRole = async ({ roleId, data }) => {
|
|
121
|
+
const requestPermissionKeys = data.permissionKeys ?? [];
|
|
122
|
+
// validate duplicate permission keys
|
|
123
|
+
validateUniquePermissionKeys(requestPermissionKeys);
|
|
124
|
+
// get the role info
|
|
125
|
+
const role = await getAccessControlRole({ id: Number(roleId) });
|
|
126
|
+
const roleUserType = role?.user_type ?? "";
|
|
127
|
+
const rolePermissionKeys = role?.permission_keys ?? [];
|
|
128
|
+
// console.log('rolePermissionKeys', rolePermissionKeys)
|
|
129
|
+
if (roleUserType === "")
|
|
130
|
+
(0, utils_1.throwError)(`Invalid role user type, roleId: ${roleId}`);
|
|
131
|
+
// validate the request permission keys with allowed keys
|
|
132
|
+
validatePermissionKeys(roleUserType, requestPermissionKeys);
|
|
133
|
+
// Keys to remove: exist in role but NOT in request
|
|
134
|
+
const needRemoveKeys = rolePermissionKeys.filter((key) => !requestPermissionKeys.includes(key));
|
|
135
|
+
// Keys to create: exist in request but NOT in role
|
|
136
|
+
const needCreateKeys = requestPermissionKeys.filter(key => !rolePermissionKeys.includes(key));
|
|
137
|
+
// console.log('needCreateKeys', needCreateKeys)
|
|
138
|
+
// console.log('needRemoveKeys', needRemoveKeys)
|
|
139
|
+
const _data = getUpdatePayload(data);
|
|
140
|
+
if (!_data) {
|
|
141
|
+
throw new Error(`Invalid update role payload: ${JSON.stringify(_data)}`);
|
|
142
|
+
}
|
|
143
|
+
// update role record
|
|
144
|
+
await accessControlRoleModel.update({ where: { [`${models_1.ModelAccessControlRoleFields.access_control_role_id}`]: roleId }, data: _data });
|
|
145
|
+
const createRolePolicyData = needCreateKeys.map(i => ({
|
|
146
|
+
[`${models_1.ModelAccessControlRolePolicyFields.permission_key}`]: i,
|
|
147
|
+
[`${models_1.ModelAccessControlRolePolicyFields.access_control_role_id}`]: roleId,
|
|
148
|
+
}));
|
|
149
|
+
// remove role policies records
|
|
150
|
+
if (needRemoveKeys.length > 0) {
|
|
151
|
+
await accessControlRolePolicyModel.remove({
|
|
152
|
+
where: {
|
|
153
|
+
[`${models_1.ModelAccessControlRolePolicyFields.permission_key}`]: {
|
|
154
|
+
in: needRemoveKeys
|
|
155
|
+
},
|
|
156
|
+
[`${models_1.ModelAccessControlRolePolicyFields.access_control_role_id}`]: roleId
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
// create role policies records
|
|
161
|
+
if (createRolePolicyData.length > 0) {
|
|
162
|
+
await accessControlRolePolicyModel.createMany({
|
|
163
|
+
dataList: createRolePolicyData
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
return await getAccessControlRole({ id: Number(roleId) });
|
|
167
|
+
};
|
|
168
|
+
const getAccessControlRole = async ({ id }) => {
|
|
169
|
+
let { data } = await listAccessControlRoles({
|
|
170
|
+
limit: 1,
|
|
171
|
+
offset: 0,
|
|
172
|
+
filters: [{ field: `${models_1.ModelAccessControlRoleFields.access_control_role_id}`, operator: "=", value: id }],
|
|
173
|
+
sortfield: `${models_1.ModelAccessControlRoleFields.access_control_role_id}`,
|
|
174
|
+
sortorder: "ASC",
|
|
175
|
+
});
|
|
176
|
+
return data[0] ?? null;
|
|
177
|
+
};
|
|
178
|
+
const listAccessControlRoles = async ({ limit, offset, filters = [], sortfield, sortorder }) => {
|
|
179
|
+
let data = [];
|
|
180
|
+
let sqlSelect = [
|
|
181
|
+
`COUNT(role.*) OVER() as filtered_count`,
|
|
182
|
+
(0, lib_1.buildSqlSelect)(``, mainSqlSelect),
|
|
183
|
+
(0, lib_1.buildSqlSelect)(``, rolePolicySqlSelect),
|
|
184
|
+
(0, lib_1.buildSqlSelect)(``, defaultSqlSelect)
|
|
185
|
+
];
|
|
186
|
+
let sqlRelation = [
|
|
187
|
+
(0, lib_1.buildSqlRelation)("left", "role", "access_control_role_policies", "rolepol", ["role.access_control_role_id = rolepol.access_control_role_id", "rolepol.isdelete = false", "rolepol.istrash = false"]),
|
|
188
|
+
(0, lib_1.buildSqlRelation)("left", "role", "users", "creator", ["role.createuserid = creator.user_id", "creator.isdelete = false", "creator.istrash = false"]),
|
|
189
|
+
(0, lib_1.buildSqlRelation)("left", "role", "users", "updater", ["role.updateuserid = updater.user_id", "updater.isdelete = false", "updater.istrash = false"])
|
|
190
|
+
];
|
|
191
|
+
let sqlGroupBy = [
|
|
192
|
+
...Object.keys(mainSqlSelect),
|
|
193
|
+
// ...Object.keys(rolePolicySqlSelect),
|
|
194
|
+
...Object.keys(defaultSqlSelect)
|
|
195
|
+
];
|
|
196
|
+
let filterColumns = {
|
|
197
|
+
...mainSqlSelect,
|
|
198
|
+
...rolePolicySqlSelect,
|
|
199
|
+
...defaultSqlSelect
|
|
200
|
+
};
|
|
201
|
+
let sqlWhere = [
|
|
202
|
+
`role.isdelete = false`,
|
|
203
|
+
`role.istrash = false`,
|
|
204
|
+
...(filters.length ? [(0, lib_1.buildSqlWhere)(filters, filterColumns)?.where] : []),
|
|
205
|
+
];
|
|
206
|
+
let sqlOrderby = (0, lib_1.buildSqlOrderBy)(sortfield, sortorder);
|
|
207
|
+
let sqlLimitOffset = (0, lib_1.buildSqlLimitOffset)(limit, offset);
|
|
208
|
+
const sqlRaw = (0, lib_1.buildSqlRawSelect)({
|
|
209
|
+
tableName: "access_control_roles",
|
|
210
|
+
mainAlias: "role",
|
|
211
|
+
accountId: rest.accountId,
|
|
212
|
+
sqlSelect,
|
|
213
|
+
sqlRelation,
|
|
214
|
+
sqlWhere,
|
|
215
|
+
sqlGroupBy,
|
|
216
|
+
sqlOrderby,
|
|
217
|
+
sqlLimitOffset
|
|
218
|
+
});
|
|
219
|
+
data = await accessControlRoleModel.raw(sqlRaw);
|
|
220
|
+
const response = {
|
|
221
|
+
data: data.map(({ filtered_count, ...rest }) => rest),
|
|
222
|
+
total: data.length ? Number(data[0].filtered_count) : 0
|
|
223
|
+
};
|
|
224
|
+
return response;
|
|
225
|
+
};
|
|
226
|
+
const removeAccessControlRoles = async ({ roleIds }) => {
|
|
227
|
+
if (!roleIds.length)
|
|
228
|
+
(0, utils_1.throwError)('roleIds is required');
|
|
229
|
+
const response = await accessControlRoleModel.remove({ where: { [`${models_1.ModelAccessControlRoleFields.access_control_role_id}`]: { in: roleIds } } });
|
|
230
|
+
// need to remove the role policies
|
|
231
|
+
accessControlRolePolicyModel.remove({
|
|
232
|
+
where: {
|
|
233
|
+
[`${models_1.ModelAccessControlRolePolicyFields.access_control_role_id}`]: {
|
|
234
|
+
in: roleIds
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
});
|
|
238
|
+
return response;
|
|
239
|
+
};
|
|
240
|
+
return {
|
|
241
|
+
getAccessControlRole,
|
|
242
|
+
createAccessControlRole,
|
|
243
|
+
updateAccessControlRole,
|
|
244
|
+
removeAccessControlRoles,
|
|
245
|
+
listAccessControlRoles
|
|
246
|
+
};
|
|
247
|
+
};
|
|
248
|
+
exports.AccessControlRoleService = AccessControlRoleService;
|
|
249
|
+
//# sourceMappingURL=AccessControlRoleService.js.map
|