storemw-core-api 1.0.81 → 1.0.82

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.
Files changed (66) hide show
  1. package/dist/app.js +2 -0
  2. package/dist/app.js.map +1 -1
  3. package/dist/controllers/auth/accessKeyController.d.ts +12 -0
  4. package/dist/controllers/auth/accessKeyController.js +209 -0
  5. package/dist/controllers/auth/accessKeyController.js.map +1 -0
  6. package/dist/controllers/index.d.ts +1 -0
  7. package/dist/controllers/index.js +8 -2
  8. package/dist/controllers/index.js.map +1 -1
  9. package/dist/middlewares/request/validateAuthorization.d.ts +12 -3
  10. package/dist/middlewares/request/validateAuthorization.js +193 -57
  11. package/dist/middlewares/request/validateAuthorization.js.map +1 -1
  12. package/dist/middlewares/request/validateHeader.js +54 -20
  13. package/dist/middlewares/request/validateHeader.js.map +1 -1
  14. package/dist/middlewares/route/index.d.ts +1 -0
  15. package/dist/middlewares/route/index.js +8 -1
  16. package/dist/middlewares/route/index.js.map +1 -1
  17. package/dist/middlewares/route/validateAccessKey.d.ts +6 -0
  18. package/dist/middlewares/route/validateAccessKey.js +27 -0
  19. package/dist/middlewares/route/validateAccessKey.js.map +1 -0
  20. package/dist/models/auth/AccessKeyModel.d.ts +238 -0
  21. package/dist/models/auth/AccessKeyModel.js +13 -0
  22. package/dist/models/auth/AccessKeyModel.js.map +1 -0
  23. package/dist/models/index.d.ts +2 -0
  24. package/dist/models/index.js +5 -2
  25. package/dist/models/index.js.map +1 -1
  26. package/dist/routes/auth/accessKeyRoutes.d.ts +2 -0
  27. package/dist/routes/auth/accessKeyRoutes.js +17 -0
  28. package/dist/routes/auth/accessKeyRoutes.js.map +1 -0
  29. package/dist/routes/auth/accessKeysRoutes.d.ts +2 -0
  30. package/dist/routes/auth/accessKeysRoutes.js +13 -0
  31. package/dist/routes/auth/accessKeysRoutes.js.map +1 -0
  32. package/dist/routes/index.d.ts +2 -0
  33. package/dist/routes/index.js +5 -1
  34. package/dist/routes/index.js.map +1 -1
  35. package/dist/schema/middleware/route/index.d.ts +2 -0
  36. package/dist/schema/middleware/route/index.js +3 -1
  37. package/dist/schema/middleware/route/index.js.map +1 -1
  38. package/dist/schema/middleware/route/schemaAccessKey.d.ts +4 -0
  39. package/dist/schema/middleware/route/schemaAccessKey.js +10 -0
  40. package/dist/schema/middleware/route/schemaAccessKey.js.map +1 -0
  41. package/dist/schema/payload/auth/schemaAccessKey.d.ts +129 -0
  42. package/dist/schema/payload/auth/schemaAccessKey.js +48 -0
  43. package/dist/schema/payload/auth/schemaAccessKey.js.map +1 -0
  44. package/dist/schema/payload/auth/schemaAuthToken.d.ts +6 -5
  45. package/dist/schema/payload/auth/schemaAuthToken.js +8 -2
  46. package/dist/schema/payload/auth/schemaAuthToken.js.map +1 -1
  47. package/dist/schema/payload/index.d.ts +2 -0
  48. package/dist/schema/payload/index.js +6 -2
  49. package/dist/schema/payload/index.js.map +1 -1
  50. package/dist/services/auth/AccessKeyService.d.ts +58 -0
  51. package/dist/services/auth/AccessKeyService.js +195 -0
  52. package/dist/services/auth/AccessKeyService.js.map +1 -0
  53. package/dist/services/index.d.ts +2 -0
  54. package/dist/services/index.js +5 -1
  55. package/dist/services/index.js.map +1 -1
  56. package/dist/utils/accessKeyUtils.d.ts +14 -0
  57. package/dist/utils/accessKeyUtils.js +43 -0
  58. package/dist/utils/accessKeyUtils.js.map +1 -0
  59. package/dist/utils/index.d.ts +1 -0
  60. package/dist/utils/index.js +5 -1
  61. package/dist/utils/index.js.map +1 -1
  62. package/dist/utils/serviceUtils.d.ts +2 -0
  63. package/dist/utils/serviceUtils.js +4 -2
  64. package/dist/utils/serviceUtils.js.map +1 -1
  65. package/package.json +1 -1
  66. package/prisma/schema.prisma +18 -0
package/dist/app.js CHANGED
@@ -25,6 +25,8 @@ app.use((0, request_1.validateAuthorization)({
25
25
  excludedRoutes: []
26
26
  })); // Validate the Authorization
27
27
  app.use(["/auth"], routes_1.authRoutes);
28
+ app.use(["/auth/access_key"], routes_1.accessKeyRoutes);
29
+ app.use(["/auth/access_keys"], routes_1.accessKeysRoutes);
28
30
  app.use(["/user"], routes_1.userRoutes);
29
31
  app.use(["/users"], routes_1.usersRoutes);
30
32
  app.use(["/user_branch"], routes_1.userBranchRoutes);
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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","sourcesContent":["import express from \"express\"\nimport path from \"path\";\n\nimport {\n // fileRoutes,\n // filesRoutes,\n // ocrRoutes,\n authRoutes,\n userRoutes,\n usersRoutes,\n businessRoutes,\n businessesRoutes,\n accountRoutes,\n accountsRoutes,\n fileRoutes,\n filesRoutes,\n userBranchRoutes,\n userBranchesRoutes,\n documentRoutes,\n documentsRoutes,\n itemRoutes,\n itemsRoutes,\n regionRoutes,\n regionsRoutes,\n locationRoutes,\n locationsRoutes,\n injectionFieldRoutes,\n injectionFieldsRoutes\n} from \"@/routes\"\nimport { initialPrisma, validateHeader, validateAuthorization, validateCors } from \"@/middlewares/request\"\nimport { errorHandler } from \"./middlewares/common\";\n\nconst app = express();\n\n// Static Routes\napp.use('/public', express.static(path.join(__dirname, '..', 'public')));\n\n// Enable CORS for all origins\napp.use(validateCors);\n\n// Register global check headers handler\napp.use(validateHeader);\n\n// Middleware\napp.use(express.json({ limit: '15mb' }));\napp.use(express.urlencoded({ limit: '15mb', extended: true }));\n\n// Initial Prisma\napp.use(initialPrisma)\n\n// Protected Routes\napp.use(validateAuthorization({\n excludedRoutes: []\n})); // Validate the Authorization\n\napp.use([\"/auth\"], authRoutes)\napp.use([\"/user\"], userRoutes)\napp.use([\"/users\"], usersRoutes)\napp.use([\"/user_branch\"], userBranchRoutes)\napp.use([\"/user_branches\"], userBranchesRoutes)\napp.use([\"/document\"], documentRoutes)\napp.use([\"/documents\"], documentsRoutes)\napp.use([\"/item\"], itemRoutes)\napp.use([\"/items\"], itemsRoutes)\napp.use([\"/file\"], fileRoutes)\napp.use([\"/files\"], filesRoutes)\napp.use([\"/region\"], regionRoutes)\napp.use([\"/regions\"], regionsRoutes)\napp.use([\"/location\"], locationRoutes)\napp.use([\"/locations\"], locationsRoutes)\napp.use([\"/injection_field\"], injectionFieldRoutes)\napp.use([\"/injection_fields\"], injectionFieldsRoutes)\napp.use([\"/account\"], accountRoutes)\napp.use([\"/accounts\"], accountsRoutes)\napp.use([\"/business\"], businessRoutes)\napp.use([\"/businesses\"], businessesRoutes)\n\n// Global error handler\napp.use(errorHandler)\n\nexport default app;"]}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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","sourcesContent":["import express from \"express\"\nimport path from \"path\";\n\nimport {\n // fileRoutes,\n // filesRoutes,\n // ocrRoutes,\n authRoutes,\n accessKeyRoutes,\n accessKeysRoutes,\n userRoutes,\n usersRoutes,\n businessRoutes,\n businessesRoutes,\n accountRoutes,\n accountsRoutes,\n fileRoutes,\n filesRoutes,\n userBranchRoutes,\n userBranchesRoutes,\n documentRoutes,\n documentsRoutes,\n itemRoutes,\n itemsRoutes,\n regionRoutes,\n regionsRoutes,\n locationRoutes,\n locationsRoutes,\n injectionFieldRoutes,\n injectionFieldsRoutes\n} from \"@/routes\"\nimport { initialPrisma, validateHeader, validateAuthorization, validateCors } from \"@/middlewares/request\"\nimport { errorHandler } from \"./middlewares/common\";\n\nconst app = express();\n\n// Static Routes\napp.use('/public', express.static(path.join(__dirname, '..', 'public')));\n\n// Enable CORS for all origins\napp.use(validateCors);\n\n// Register global check headers handler\napp.use(validateHeader);\n\n// Middleware\napp.use(express.json({ limit: '15mb' }));\napp.use(express.urlencoded({ limit: '15mb', extended: true }));\n\n// Initial Prisma\napp.use(initialPrisma)\n\n// Protected Routes\napp.use(validateAuthorization({\n excludedRoutes: []\n})); // Validate the Authorization\n\napp.use([\"/auth\"], authRoutes)\napp.use([\"/auth/access_key\"], accessKeyRoutes)\napp.use([\"/auth/access_keys\"], accessKeysRoutes)\napp.use([\"/user\"], userRoutes)\napp.use([\"/users\"], usersRoutes)\napp.use([\"/user_branch\"], userBranchRoutes)\napp.use([\"/user_branches\"], userBranchesRoutes)\napp.use([\"/document\"], documentRoutes)\napp.use([\"/documents\"], documentsRoutes)\napp.use([\"/item\"], itemRoutes)\napp.use([\"/items\"], itemsRoutes)\napp.use([\"/file\"], fileRoutes)\napp.use([\"/files\"], filesRoutes)\napp.use([\"/region\"], regionRoutes)\napp.use([\"/regions\"], regionsRoutes)\napp.use([\"/location\"], locationRoutes)\napp.use([\"/locations\"], locationsRoutes)\napp.use([\"/injection_field\"], injectionFieldRoutes)\napp.use([\"/injection_fields\"], injectionFieldsRoutes)\napp.use([\"/account\"], accountRoutes)\napp.use([\"/accounts\"], accountsRoutes)\napp.use([\"/business\"], businessRoutes)\napp.use([\"/businesses\"], businessesRoutes)\n\n// Global error handler\napp.use(errorHandler)\n\nexport default app;"]}
@@ -0,0 +1,12 @@
1
+ import { NextFunction, Request, Response } from "express";
2
+ /** auth/token : get auth token */
3
+ /** auth/access_key : create access key */
4
+ export declare const createAccessKey: (req: Request, res: Response, next: NextFunction) => Promise<any>;
5
+ /** auth/access_key : validate access key */
6
+ export declare const validateAccessKey: (req: Request, res: Response, next: NextFunction) => Promise<any>;
7
+ /** auth/access_key/:accessKeyId : get access key */
8
+ export declare const getAccessKey: (req: Request, res: Response, next: NextFunction) => Promise<any>;
9
+ /** auth/access_keys : list access keys */
10
+ export declare const listAccessKeys: (req: Request, res: Response, next: NextFunction) => Promise<any>;
11
+ /** auth/access_keys/revoke : revoke access keys */
12
+ export declare const revokeAccessKeys: (req: Request, res: Response, next: NextFunction) => Promise<any>;
@@ -0,0 +1,209 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.revokeAccessKeys = exports.listAccessKeys = exports.getAccessKey = exports.validateAccessKey = exports.createAccessKey = void 0;
4
+ const utils_1 = require("../../utils");
5
+ const services_1 = require("../../services");
6
+ const payload_1 = require("../../schema/payload");
7
+ const getRootName = (toSingular) => {
8
+ let rootName = toSingular ? "accessKey" : "accessKeys";
9
+ return rootName;
10
+ };
11
+ /** auth/token : get auth token */
12
+ // export const getAuthToken = async (req: Request, res: Response, next: NextFunction): Promise<any> => {
13
+ // try {
14
+ // const requestAuthType = req.body.scope.target as AuthType
15
+ // const authSecretKey = config.AUTH_SECRET_KEY
16
+ // const authService = AuthService({
17
+ // ...getDefaultServiceProps(req),
18
+ // secretKey: authSecretKey,
19
+ // authType: requestAuthType
20
+ // })
21
+ // let reqScope = req.body.scope
22
+ // let reqPayload = req.body.payload
23
+ // // select schema
24
+ // let schema: z.ZodTypeAny;
25
+ // let data: any = {}
26
+ // // Operator Authentication
27
+ // if (requestAuthType === "operator") {
28
+ // schema = schemaAuthTokenOperatorPayload
29
+ // let request = schema.parse({
30
+ // scope: {
31
+ // target: reqScope.target,
32
+ // action: reqScope.action
33
+ // },
34
+ // payload: {
35
+ // username: reqPayload.username,
36
+ // password: reqPayload.password
37
+ // }
38
+ // })
39
+ // let payload: AuthGetTokenProps = {
40
+ // authType: requestAuthType,
41
+ // accountId: 0,
42
+ // data: {
43
+ // username: request.payload.username,
44
+ // password: request.payload.password
45
+ // }
46
+ // }
47
+ // data = await authService.getAuthToken(payload)
48
+ // } else {
49
+ // schema = schemaAuthTokenPayload
50
+ // let request = schema.parse({
51
+ // scope: {
52
+ // target: reqScope.target,
53
+ // action: reqScope.action
54
+ // },
55
+ // payload: {
56
+ // ...(reqPayload?.account_id ? { accountId: reqPayload.account_id } : {}),
57
+ // ...(reqPayload?.account_code ? { accountCode: reqPayload.account_code } : {}),
58
+ // username: reqPayload.username,
59
+ // password: reqPayload.password
60
+ // }
61
+ // })
62
+ // let payload: AuthGetTokenProps = {
63
+ // authType: requestAuthType,
64
+ // ...(request?.payload?.accountId ? { accountId: Number(request.payload.accountId) } : {}),
65
+ // ...(request?.payload?.accountCode ? { accountCode: String(request.payload.accountCode) } : {}),
66
+ // data: {
67
+ // username: request.payload.username,
68
+ // password: request.payload.password
69
+ // }
70
+ // }
71
+ // data = await authService.getAuthToken(payload)
72
+ // }
73
+ // return sendSuccess(res, data, "Token Retrieved successfully", ``);
74
+ // } catch (error: any) {
75
+ // next(error)
76
+ // }
77
+ // }
78
+ /** auth/access_key : create access key */
79
+ const createAccessKey = async (req, res, next) => {
80
+ try {
81
+ const accessKeyService = (0, services_1.AccessKeyService)({
82
+ ...(0, utils_1.getDefaultServiceProps)(req),
83
+ accessKeyUserType: "administrator"
84
+ });
85
+ let response = {};
86
+ let reqScope = req.body.scope;
87
+ let reqPayload = req.body.payload;
88
+ let request = payload_1.schemaAccessKeyCreatePayload.parse({
89
+ scope: {
90
+ target: reqScope.target,
91
+ action: reqScope.action
92
+ },
93
+ payload: {
94
+ access_key: {
95
+ userId: Number(reqPayload?.access_key?.user_id ?? 0),
96
+ }
97
+ }
98
+ });
99
+ let payload = {
100
+ data: {
101
+ userId: request.payload.access_key.userId
102
+ }
103
+ };
104
+ response = {
105
+ [`${getRootName(true)}`]: await accessKeyService.createAccessKey(payload)
106
+ };
107
+ (0, utils_1.sendSuccess)(res, response, `Access Key created successfully`);
108
+ }
109
+ catch (error) {
110
+ next(error);
111
+ }
112
+ };
113
+ exports.createAccessKey = createAccessKey;
114
+ /** auth/access_key : validate access key */
115
+ const validateAccessKey = async (req, res, next) => {
116
+ try {
117
+ const accessKeyService = (0, services_1.AccessKeyService)({
118
+ ...(0, utils_1.getDefaultServiceProps)(req),
119
+ accessKeyUserType: "administrator"
120
+ });
121
+ let response = {};
122
+ let reqScope = req.body.scope;
123
+ let reqPayload = req.body.payload;
124
+ let request = payload_1.schemaAccessKeyValidatePayload.parse({
125
+ scope: {
126
+ target: reqScope.target,
127
+ action: reqScope.action
128
+ },
129
+ payload: {
130
+ access_key: reqPayload?.access_key ?? ""
131
+ }
132
+ });
133
+ let payload = {
134
+ data: {
135
+ accessKey: request.payload.access_key
136
+ }
137
+ };
138
+ response = {
139
+ [`${getRootName(true)}`]: await accessKeyService.validateAccessKey(payload)
140
+ };
141
+ (0, utils_1.sendSuccess)(res, response, `Access Key validated successfully`);
142
+ }
143
+ catch (error) {
144
+ next(error);
145
+ }
146
+ };
147
+ exports.validateAccessKey = validateAccessKey;
148
+ /** auth/access_key/:accessKeyId : get access key */
149
+ const getAccessKey = async (req, res, next) => {
150
+ try {
151
+ const { accessKeyId } = req.params;
152
+ const requestQuery = req.query;
153
+ // const requestUserType = userType as BusinessServiceProps["userType"];
154
+ const accessKeyService = (0, services_1.AccessKeyService)({
155
+ ...(0, utils_1.getDefaultServiceProps)(req),
156
+ accessKeyUserType: "administrator"
157
+ });
158
+ const data = await accessKeyService.getAccessKey({ id: Number(accessKeyId), datatypes: requestQuery.datatypes, skipFilterAccountId: false });
159
+ return (0, utils_1.sendSuccess)(res, data, "Retrieved successfully", getRootName(true));
160
+ }
161
+ catch (error) {
162
+ next(error);
163
+ }
164
+ };
165
+ exports.getAccessKey = getAccessKey;
166
+ /** auth/access_keys : list access keys */
167
+ const listAccessKeys = async (req, res, next) => {
168
+ try {
169
+ const requestQuery = req.query;
170
+ // const requestUserType = req.params.userType as BusinessServiceProps["userType"];
171
+ const accessKeyService = (0, services_1.AccessKeyService)({
172
+ ...(0, utils_1.getDefaultServiceProps)(req),
173
+ accessKeyUserType: "administrator"
174
+ });
175
+ const { data, total } = await accessKeyService.listAccessKeys({
176
+ ...requestQuery,
177
+ skipFilterAccountId: false
178
+ });
179
+ let response = {
180
+ [`${getRootName(false)}`]: data,
181
+ total,
182
+ };
183
+ return (0, utils_1.sendSuccess)(res, response, "Retrieved successfully");
184
+ }
185
+ catch (error) {
186
+ next(error);
187
+ }
188
+ };
189
+ exports.listAccessKeys = listAccessKeys;
190
+ /** auth/access_keys/revoke : revoke access keys */
191
+ const revokeAccessKeys = async (req, res, next) => {
192
+ try {
193
+ const request = payload_1.schemaAccessKeyRevokePayload.parse(req.body);
194
+ const accessKeyService = (0, services_1.AccessKeyService)({
195
+ ...(0, utils_1.getDefaultServiceProps)(req),
196
+ accessKeyUserType: "administrator"
197
+ });
198
+ const payload = {
199
+ accessKeyIds: request.payload.ids.map(i => BigInt(i))
200
+ };
201
+ const data = await accessKeyService.revokeAccessKeys(payload);
202
+ return (0, utils_1.sendSuccess)(res, data, "Revoked", getRootName(false));
203
+ }
204
+ catch (error) {
205
+ next(error);
206
+ }
207
+ };
208
+ exports.revokeAccessKeys = revokeAccessKeys;
209
+ //# sourceMappingURL=accessKeyController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessKeyController.js","sourceRoot":"","sources":["../../../src/controllers/auth/accessKeyController.ts"],"names":[],"mappings":";;;AAEA,mCAAqF;AAIrF,yCAAiH;AACjH,8CAA8H;AAE9H,MAAM,WAAW,GAAG,CAAC,UAAmB,EAAE,EAAE;IAExC,IAAI,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;IAEvD,OAAO,QAAQ,CAAA;AACnB,CAAC,CAAA;AAED,kCAAkC;AAClC,yGAAyG;AACzG,YAAY;AAEZ,oEAAoE;AAEpE,uDAAuD;AAEvD,4CAA4C;AAC5C,8CAA8C;AAC9C,wCAAwC;AACxC,wCAAwC;AACxC,aAAa;AAEb,wCAAwC;AACxC,4CAA4C;AAE5C,2BAA2B;AAE3B,oCAAoC;AACpC,6BAA6B;AAE7B,qCAAqC;AACrC,gDAAgD;AAEhD,sDAAsD;AAEtD,2CAA2C;AAC3C,2BAA2B;AAC3B,+CAA+C;AAC/C,8CAA8C;AAC9C,qBAAqB;AACrB,6BAA6B;AAC7B,qDAAqD;AACrD,oDAAoD;AACpD,oBAAoB;AACpB,iBAAiB;AAEjB,iDAAiD;AACjD,6CAA6C;AAC7C,gCAAgC;AAChC,0BAA0B;AAC1B,0DAA0D;AAC1D,yDAAyD;AACzD,oBAAoB;AACpB,gBAAgB;AAEhB,6DAA6D;AAE7D,mBAAmB;AAEnB,8CAA8C;AAE9C,2CAA2C;AAC3C,2BAA2B;AAC3B,+CAA+C;AAC/C,8CAA8C;AAC9C,qBAAqB;AACrB,6BAA6B;AAC7B,+FAA+F;AAC/F,qGAAqG;AACrG,qDAAqD;AACrD,oDAAoD;AACpD,oBAAoB;AACpB,iBAAiB;AAEjB,iDAAiD;AACjD,6CAA6C;AAC7C,4GAA4G;AAC5G,kHAAkH;AAClH,0BAA0B;AAC1B,0DAA0D;AAC1D,yDAAyD;AACzD,oBAAoB;AACpB,gBAAgB;AAEhB,6DAA6D;AAE7D,YAAY;AAEZ,6EAA6E;AAE7E,6BAA6B;AAC7B,sBAAsB;AACtB,QAAQ;AACR,IAAI;AAEJ,0CAA0C;AACnC,MAAM,eAAe,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAgB,EAAE;IACnG,IAAI,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAA,2BAAgB,EAAC;YACtC,GAAG,IAAA,8BAAsB,EAAC,GAAG,CAAC;YAC9B,iBAAiB,EAAE,eAAe;SACrC,CAAC,CAAA;QAEF,IAAI,QAAQ,GAAQ,EAAE,CAAA;QAEtB,IAAI,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAA;QAC7B,IAAI,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAA;QAEjC,IAAI,OAAO,GAAG,sCAA4B,CAAC,KAAK,CAAC;YAC7C,KAAK,EAAE;gBACH,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;aAC1B;YACD,OAAO,EAAE;gBACL,UAAU,EAAE;oBACR,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,IAAI,CAAC,CAAC;iBACvD;aACJ;SACJ,CAAC,CAAA;QAEF,IAAI,OAAO,GAAyB;YAChC,IAAI,EAAE;gBACF,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM;aAC5C;SACJ,CAAA;QAED,QAAQ,GAAG;YACP,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,gBAAgB,CAAC,eAAe,CAAC,OAAO,CAAC;SAC5E,CAAA;QAED,IAAA,mBAAW,EAAC,GAAG,EAAE,QAAQ,EAAE,iCAAiC,CAAC,CAAA;IAEjE,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,CAAC;AACL,CAAC,CAAA;AAxCY,QAAA,eAAe,mBAwC3B;AAED,4CAA4C;AACrC,MAAM,iBAAiB,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAgB,EAAE;IACrG,IAAI,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAA,2BAAgB,EAAC;YACtC,GAAG,IAAA,8BAAsB,EAAC,GAAG,CAAC;YAC9B,iBAAiB,EAAE,eAAe;SACrC,CAAC,CAAA;QAEF,IAAI,QAAQ,GAAQ,EAAE,CAAA;QAEtB,IAAI,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAA;QAC7B,IAAI,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAA;QAEjC,IAAI,OAAO,GAAG,wCAA8B,CAAC,KAAK,CAAC;YAC/C,KAAK,EAAE;gBACH,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;aAC1B;YACD,OAAO,EAAE;gBACL,UAAU,EAAE,UAAU,EAAE,UAAU,IAAI,EAAE;aAC3C;SACJ,CAAC,CAAA;QAEF,IAAI,OAAO,GAA2B;YAClC,IAAI,EAAE;gBACF,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;aACxC;SACJ,CAAA;QAED,QAAQ,GAAG;YACP,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,gBAAgB,CAAC,iBAAiB,CAAC,OAAO,CAAC;SAC9E,CAAA;QAED,IAAA,mBAAW,EAAC,GAAG,EAAE,QAAQ,EAAE,mCAAmC,CAAC,CAAA;IAEnE,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,CAAC;AACL,CAAC,CAAA;AAtCY,QAAA,iBAAiB,qBAsC7B;AAED,oDAAoD;AAC7C,MAAM,YAAY,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAgB,EAAE;IAChG,IAAI,CAAC;QAED,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACnC,MAAM,YAAY,GAAG,GAAG,CAAC,KAA6B,CAAC;QACvD,wEAAwE;QAExE,MAAM,gBAAgB,GAAG,IAAA,2BAAgB,EAAC;YACtC,GAAG,IAAA,8BAAsB,EAAC,GAAG,CAAC;YAC9B,iBAAiB,EAAE,eAAe;SACrC,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,CAAA;QAE5I,OAAO,IAAA,mBAAW,EAAC,GAAG,EAAE,IAAI,EAAE,wBAAwB,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAE/E,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,CAAC;AACL,CAAC,CAAA;AAnBY,QAAA,YAAY,gBAmBxB;AAED,0CAA0C;AACnC,MAAM,cAAc,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAgB,EAAE;IAElG,IAAI,CAAC;QAED,MAAM,YAAY,GAAG,GAAG,CAAC,KAA6B,CAAC;QACvD,mFAAmF;QAEnF,MAAM,gBAAgB,GAAG,IAAA,2BAAgB,EAAC;YACtC,GAAG,IAAA,8BAAsB,EAAC,GAAG,CAAC;YAC9B,iBAAiB,EAAE,eAAe;SACrC,CAAC,CAAA;QAEF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,gBAAgB,CAAC,cAAc,CAAC;YAC1D,GAAG,YAAY;YACf,mBAAmB,EAAE,KAAK;SAC7B,CAAC,CAAC;QAEH,IAAI,QAAQ,GAAG;YACX,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI;YAC/B,KAAK;SACR,CAAA;QAED,OAAO,IAAA,mBAAW,EAAC,GAAG,EAAE,QAAQ,EAAE,wBAAwB,CAAC,CAAC;IAEhE,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,CAAC;AACL,CAAC,CAAC;AA3BW,QAAA,cAAc,kBA2BzB;AAEF,mDAAmD;AAC5C,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAgB,EAAE;IACpG,IAAI,CAAC;QAED,MAAM,OAAO,GAAG,sCAA4B,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAE5D,MAAM,gBAAgB,GAAG,IAAA,2BAAgB,EAAC;YACtC,GAAG,IAAA,8BAAsB,EAAC,GAAG,CAAC;YAC9B,iBAAiB,EAAE,eAAe;SACrC,CAAC,CAAA;QAEF,MAAM,OAAO,GAAyB;YAClC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACxD,CAAA;QAED,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAE9D,OAAO,IAAA,mBAAW,EAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAEjE,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,CAAC;AACL,CAAC,CAAA;AArBY,QAAA,gBAAgB,oBAqB5B","sourcesContent":["import { NextFunction, Request, Response } from \"express\";\n\nimport { getDefaultServiceProps, sendSuccess, sendError, HTTP_STATUS } from \"@/utils\"\n\nimport { QueryList } from \"@/schema/middleware/route\";\n\nimport { AccessKeyService, AccessKeyCreateProps, AccessKeyRevokeProps, AccessKeyValidateProps } from \"@/services\"\nimport { schemaAccessKeyCreatePayload, schemaAccessKeyRevokePayload, schemaAccessKeyValidatePayload } from \"@/schema/payload\";\n\nconst getRootName = (toSingular: boolean) => {\n\n let rootName = toSingular ? \"accessKey\" : \"accessKeys\";\n\n return rootName\n}\n\n/** auth/token : get auth token */\n// export const getAuthToken = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n// try {\n\n// const requestAuthType = req.body.scope.target as AuthType\n\n// const authSecretKey = config.AUTH_SECRET_KEY\n\n// const authService = AuthService({\n// ...getDefaultServiceProps(req),\n// secretKey: authSecretKey,\n// authType: requestAuthType\n// })\n\n// let reqScope = req.body.scope\n// let reqPayload = req.body.payload\n\n// // select schema\n\n// let schema: z.ZodTypeAny;\n// let data: any = {}\n\n// // Operator Authentication\n// if (requestAuthType === \"operator\") {\n\n// schema = schemaAuthTokenOperatorPayload\n\n// let request = schema.parse({\n// scope: {\n// target: reqScope.target,\n// action: reqScope.action\n// },\n// payload: {\n// username: reqPayload.username,\n// password: reqPayload.password\n// }\n// })\n\n// let payload: AuthGetTokenProps = {\n// authType: requestAuthType,\n// accountId: 0,\n// data: {\n// username: request.payload.username,\n// password: request.payload.password\n// }\n// }\n\n// data = await authService.getAuthToken(payload)\n\n// } else {\n\n// schema = schemaAuthTokenPayload\n\n// let request = schema.parse({\n// scope: {\n// target: reqScope.target,\n// action: reqScope.action\n// },\n// payload: {\n// ...(reqPayload?.account_id ? { accountId: reqPayload.account_id } : {}),\n// ...(reqPayload?.account_code ? { accountCode: reqPayload.account_code } : {}),\n// username: reqPayload.username,\n// password: reqPayload.password\n// }\n// })\n\n// let payload: AuthGetTokenProps = {\n// authType: requestAuthType,\n// ...(request?.payload?.accountId ? { accountId: Number(request.payload.accountId) } : {}),\n// ...(request?.payload?.accountCode ? { accountCode: String(request.payload.accountCode) } : {}),\n// data: {\n// username: request.payload.username,\n// password: request.payload.password\n// }\n// }\n\n// data = await authService.getAuthToken(payload)\n\n// }\n\n// return sendSuccess(res, data, \"Token Retrieved successfully\", ``);\n\n// } catch (error: any) {\n// next(error)\n// }\n// }\n\n/** auth/access_key : create access key */\nexport const createAccessKey = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n try {\n\n const accessKeyService = AccessKeyService({\n ...getDefaultServiceProps(req),\n accessKeyUserType: \"administrator\"\n })\n\n let response: any = {}\n\n let reqScope = req.body.scope\n let reqPayload = req.body.payload\n\n let request = schemaAccessKeyCreatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n access_key: {\n userId: Number(reqPayload?.access_key?.user_id ?? 0),\n }\n }\n })\n\n let payload: AccessKeyCreateProps = {\n data: {\n userId: request.payload.access_key.userId\n }\n }\n\n response = {\n [`${getRootName(true)}`]: await accessKeyService.createAccessKey(payload)\n }\n\n sendSuccess(res, response, `Access Key created successfully`)\n\n } catch (error: any) {\n next(error)\n }\n}\n\n/** auth/access_key : validate access key */\nexport const validateAccessKey = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n try {\n\n const accessKeyService = AccessKeyService({\n ...getDefaultServiceProps(req),\n accessKeyUserType: \"administrator\"\n })\n\n let response: any = {}\n\n let reqScope = req.body.scope\n let reqPayload = req.body.payload\n\n let request = schemaAccessKeyValidatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n access_key: reqPayload?.access_key ?? \"\"\n }\n })\n\n let payload: AccessKeyValidateProps = {\n data: {\n accessKey: request.payload.access_key\n }\n }\n\n response = {\n [`${getRootName(true)}`]: await accessKeyService.validateAccessKey(payload)\n }\n\n sendSuccess(res, response, `Access Key validated successfully`)\n\n } catch (error: any) {\n next(error)\n }\n}\n\n/** auth/access_key/:accessKeyId : get access key */\nexport const getAccessKey = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n try {\n\n const { accessKeyId } = req.params;\n const requestQuery = req.query as unknown as QueryList;\n // const requestUserType = userType as BusinessServiceProps[\"userType\"];\n\n const accessKeyService = AccessKeyService({\n ...getDefaultServiceProps(req),\n accessKeyUserType: \"administrator\"\n })\n\n const data = await accessKeyService.getAccessKey({ id: Number(accessKeyId), datatypes: requestQuery.datatypes, skipFilterAccountId: false })\n\n return sendSuccess(res, data, \"Retrieved successfully\", getRootName(true));\n\n } catch (error: any) {\n next(error)\n }\n}\n\n/** auth/access_keys : list access keys */\nexport const listAccessKeys = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n\n try {\n\n const requestQuery = req.query as unknown as QueryList;\n // const requestUserType = req.params.userType as BusinessServiceProps[\"userType\"];\n\n const accessKeyService = AccessKeyService({\n ...getDefaultServiceProps(req),\n accessKeyUserType: \"administrator\"\n })\n\n const { data, total } = await accessKeyService.listAccessKeys({\n ...requestQuery,\n skipFilterAccountId: false\n });\n\n let response = {\n [`${getRootName(false)}`]: data,\n total,\n }\n\n return sendSuccess(res, response, \"Retrieved successfully\");\n\n } catch (error: any) {\n next(error)\n }\n};\n\n/** auth/access_keys/revoke : revoke access keys */\nexport const revokeAccessKeys = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n try {\n\n const request = schemaAccessKeyRevokePayload.parse(req.body)\n\n const accessKeyService = AccessKeyService({\n ...getDefaultServiceProps(req),\n accessKeyUserType: \"administrator\"\n })\n\n const payload: AccessKeyRevokeProps = {\n accessKeyIds: request.payload.ids.map(i => BigInt(i))\n }\n\n const data = await accessKeyService.revokeAccessKeys(payload);\n\n return sendSuccess(res, data, \"Revoked\", getRootName(false));\n\n } catch (error: any) {\n next(error)\n }\n}\n"]}
@@ -1,4 +1,5 @@
1
1
  export { getAuthToken, authChangePassword } from '../controllers/auth/authController';
2
+ export { createAccessKey, listAccessKeys, getAccessKey, validateAccessKey, revokeAccessKeys } from '../controllers/auth/accessKeyController';
2
3
  export { getAccount, listAccounts, createAccount, deleteAccounts, updateAccount } from '../controllers/account/accountController';
3
4
  export { getBusiness, listBusinesses, createBusiness, deleteBusinesses, updateBusiness } from '../controllers/business/businessController';
4
5
  export { createUser, updateUser, getUser, listUsers, deleteUsers, getUserDataTypes } from '../controllers/user/userController';
@@ -1,10 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getItem = exports.updateItem = exports.createItem = exports.deleteFiles = exports.listFiles = exports.getFile = exports.updateFile = exports.uploadFiles = exports.getLocationDataTypes = exports.deleteLocations = exports.listLocations = exports.getLocation = exports.updateLocation = exports.createLocation = exports.getRegionDataTypes = exports.deleteRegions = exports.listRegions = exports.getRegion = exports.updateRegion = exports.createRegion = exports.getDocumentDataTypes = exports.deleteDocuments = exports.listDocuments = exports.getDocument = exports.updateDocument = exports.createDocument = exports.getUserBranchDataTypes = exports.deleteUserBranches = exports.listUserBranches = exports.getUserBranch = exports.updateUserBranch = exports.createUserBranch = exports.getUserDataTypes = exports.deleteUsers = exports.listUsers = exports.getUser = exports.updateUser = exports.createUser = exports.updateBusiness = exports.deleteBusinesses = exports.createBusiness = exports.listBusinesses = exports.getBusiness = exports.updateAccount = exports.deleteAccounts = exports.createAccount = exports.listAccounts = exports.getAccount = exports.authChangePassword = exports.getAuthToken = void 0;
4
- exports.deleteInjectionFields = exports.createInjectionField = exports.replaceInjectionFields = exports.getInjectionField = exports.listInjectionFields = exports.getItemDataTypes = exports.deleteItems = exports.listItems = void 0;
3
+ exports.getFile = exports.updateFile = exports.uploadFiles = exports.getLocationDataTypes = exports.deleteLocations = exports.listLocations = exports.getLocation = exports.updateLocation = exports.createLocation = exports.getRegionDataTypes = exports.deleteRegions = exports.listRegions = exports.getRegion = exports.updateRegion = exports.createRegion = exports.getDocumentDataTypes = exports.deleteDocuments = exports.listDocuments = exports.getDocument = exports.updateDocument = exports.createDocument = exports.getUserBranchDataTypes = exports.deleteUserBranches = exports.listUserBranches = exports.getUserBranch = exports.updateUserBranch = exports.createUserBranch = exports.getUserDataTypes = exports.deleteUsers = exports.listUsers = exports.getUser = exports.updateUser = exports.createUser = exports.updateBusiness = exports.deleteBusinesses = exports.createBusiness = exports.listBusinesses = exports.getBusiness = exports.updateAccount = exports.deleteAccounts = exports.createAccount = exports.listAccounts = exports.getAccount = exports.revokeAccessKeys = exports.validateAccessKey = exports.getAccessKey = exports.listAccessKeys = exports.createAccessKey = exports.authChangePassword = exports.getAuthToken = void 0;
4
+ exports.deleteInjectionFields = exports.createInjectionField = exports.replaceInjectionFields = exports.getInjectionField = exports.listInjectionFields = exports.getItemDataTypes = exports.deleteItems = exports.listItems = exports.getItem = exports.updateItem = exports.createItem = exports.deleteFiles = exports.listFiles = void 0;
5
5
  var authController_1 = require("../controllers/auth/authController");
6
6
  Object.defineProperty(exports, "getAuthToken", { enumerable: true, get: function () { return authController_1.getAuthToken; } });
7
7
  Object.defineProperty(exports, "authChangePassword", { enumerable: true, get: function () { return authController_1.authChangePassword; } });
8
+ var accessKeyController_1 = require("../controllers/auth/accessKeyController");
9
+ Object.defineProperty(exports, "createAccessKey", { enumerable: true, get: function () { return accessKeyController_1.createAccessKey; } });
10
+ Object.defineProperty(exports, "listAccessKeys", { enumerable: true, get: function () { return accessKeyController_1.listAccessKeys; } });
11
+ Object.defineProperty(exports, "getAccessKey", { enumerable: true, get: function () { return accessKeyController_1.getAccessKey; } });
12
+ Object.defineProperty(exports, "validateAccessKey", { enumerable: true, get: function () { return accessKeyController_1.validateAccessKey; } });
13
+ Object.defineProperty(exports, "revokeAccessKeys", { enumerable: true, get: function () { return accessKeyController_1.revokeAccessKeys; } });
8
14
  var accountController_1 = require("../controllers/account/accountController");
9
15
  Object.defineProperty(exports, "getAccount", { enumerable: true, get: function () { return accountController_1.getAccount; } });
10
16
  Object.defineProperty(exports, "listAccounts", { enumerable: true, get: function () { return accountController_1.listAccounts; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/controllers/index.ts"],"names":[],"mappings":";;;;AAAA,oEAAqF;AAA5E,8GAAA,YAAY,OAAA;AAAE,oHAAA,kBAAkB,OAAA;AACzC,6EAAiI;AAAxH,+GAAA,UAAU,OAAA;AAAE,iHAAA,YAAY,OAAA;AAAE,kHAAA,aAAa,OAAA;AAAE,mHAAA,cAAc,OAAA;AAAE,kHAAA,aAAa,OAAA;AAC/E,gFAA0I;AAAjI,iHAAA,WAAW,OAAA;AAAE,oHAAA,cAAc,OAAA;AAAE,oHAAA,cAAc,OAAA;AAAE,sHAAA,gBAAgB,OAAA;AAAE,oHAAA,cAAc,OAAA;AACtF,oEAA8H;AAArH,4GAAA,UAAU,OAAA;AAAE,4GAAA,UAAU,OAAA;AAAE,yGAAA,OAAO,OAAA;AAAE,2GAAA,SAAS,OAAA;AAAE,6GAAA,WAAW,OAAA;AAAE,kHAAA,gBAAgB,OAAA;AAClF,kFAA4K;AAAnK,wHAAA,gBAAgB,OAAA;AAAE,wHAAA,gBAAgB,OAAA;AAAE,qHAAA,aAAa,OAAA;AAAE,wHAAA,gBAAgB,OAAA;AAAE,0HAAA,kBAAkB,OAAA;AAAE,8HAAA,sBAAsB,OAAA;AACxH,gFAA8J;AAArJ,oHAAA,cAAc,OAAA;AAAE,oHAAA,cAAc,OAAA;AAAE,iHAAA,WAAW,OAAA;AAAE,mHAAA,aAAa,OAAA;AAAE,qHAAA,eAAe,OAAA;AAAE,0HAAA,oBAAoB,OAAA;AAC1G,0EAA8I;AAArI,gHAAA,YAAY,OAAA;AAAE,gHAAA,YAAY,OAAA;AAAE,6GAAA,SAAS,OAAA;AAAE,+GAAA,WAAW,OAAA;AAAE,iHAAA,aAAa,OAAA;AAAE,sHAAA,kBAAkB,OAAA;AAC9F,gFAA8J;AAArJ,oHAAA,cAAc,OAAA;AAAE,oHAAA,cAAc,OAAA;AAAE,iHAAA,WAAW,OAAA;AAAE,mHAAA,aAAa,OAAA;AAAE,qHAAA,eAAe,OAAA;AAAE,0HAAA,oBAAoB,OAAA;AAC1G,oEAA6G;AAApG,6GAAA,WAAW,OAAA;AAAE,4GAAA,UAAU,OAAA;AAAE,yGAAA,OAAO,OAAA;AAAE,2GAAA,SAAS,OAAA;AAAE,6GAAA,WAAW,OAAA;AACjE,oEAA8H;AAArH,4GAAA,UAAU,OAAA;AAAE,4GAAA,UAAU,OAAA;AAAE,yGAAA,OAAO,OAAA;AAAE,2GAAA,SAAS,OAAA;AAAE,6GAAA,WAAW,OAAA;AAAE,kHAAA,gBAAgB,OAAA;AAClF,mGAAqL;AAA5K,+HAAA,mBAAmB,OAAA;AAAE,6HAAA,iBAAiB,OAAA;AAAE,kIAAA,sBAAsB,OAAA;AAAE,gIAAA,oBAAoB,OAAA;AAAE,iIAAA,qBAAqB,OAAA","sourcesContent":["export { getAuthToken, authChangePassword } from '@/controllers/auth/authController';\nexport { getAccount, listAccounts, createAccount, deleteAccounts, updateAccount } from '@/controllers/account/accountController';\nexport { getBusiness, listBusinesses, createBusiness, deleteBusinesses, updateBusiness } from '@/controllers/business/businessController';\nexport { createUser, updateUser, getUser, listUsers, deleteUsers, getUserDataTypes } from '@/controllers/user/userController';\nexport { createUserBranch, updateUserBranch, getUserBranch, listUserBranches, deleteUserBranches, getUserBranchDataTypes } from '@/controllers/branch/userBranchController';\nexport { createDocument, updateDocument, getDocument, listDocuments, deleteDocuments, getDocumentDataTypes } from '@/controllers/document/documentController';\nexport { createRegion, updateRegion, getRegion, listRegions, deleteRegions, getRegionDataTypes } from '@/controllers/region/regionController';\nexport { createLocation, updateLocation, getLocation, listLocations, deleteLocations, getLocationDataTypes } from '@/controllers/location/locationController';\nexport { uploadFiles, updateFile, getFile, listFiles, deleteFiles } from '@/controllers/file/fileController';\nexport { createItem, updateItem, getItem, listItems, deleteItems, getItemDataTypes } from '@/controllers/item/itemController';\nexport { listInjectionFields, getInjectionField, replaceInjectionFields, createInjectionField, deleteInjectionFields } from '@/controllers/injection_field/injectionFieldController';"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/controllers/index.ts"],"names":[],"mappings":";;;;AAAA,oEAAqF;AAA5E,8GAAA,YAAY,OAAA;AAAE,oHAAA,kBAAkB,OAAA;AACzC,8EAA4I;AAAnI,sHAAA,eAAe,OAAA;AAAE,qHAAA,cAAc,OAAA;AAAE,mHAAA,YAAY,OAAA;AAAE,wHAAA,iBAAiB,OAAA;AAAE,uHAAA,gBAAgB,OAAA;AAC3F,6EAAiI;AAAxH,+GAAA,UAAU,OAAA;AAAE,iHAAA,YAAY,OAAA;AAAE,kHAAA,aAAa,OAAA;AAAE,mHAAA,cAAc,OAAA;AAAE,kHAAA,aAAa,OAAA;AAC/E,gFAA0I;AAAjI,iHAAA,WAAW,OAAA;AAAE,oHAAA,cAAc,OAAA;AAAE,oHAAA,cAAc,OAAA;AAAE,sHAAA,gBAAgB,OAAA;AAAE,oHAAA,cAAc,OAAA;AACtF,oEAA8H;AAArH,4GAAA,UAAU,OAAA;AAAE,4GAAA,UAAU,OAAA;AAAE,yGAAA,OAAO,OAAA;AAAE,2GAAA,SAAS,OAAA;AAAE,6GAAA,WAAW,OAAA;AAAE,kHAAA,gBAAgB,OAAA;AAClF,kFAA4K;AAAnK,wHAAA,gBAAgB,OAAA;AAAE,wHAAA,gBAAgB,OAAA;AAAE,qHAAA,aAAa,OAAA;AAAE,wHAAA,gBAAgB,OAAA;AAAE,0HAAA,kBAAkB,OAAA;AAAE,8HAAA,sBAAsB,OAAA;AACxH,gFAA8J;AAArJ,oHAAA,cAAc,OAAA;AAAE,oHAAA,cAAc,OAAA;AAAE,iHAAA,WAAW,OAAA;AAAE,mHAAA,aAAa,OAAA;AAAE,qHAAA,eAAe,OAAA;AAAE,0HAAA,oBAAoB,OAAA;AAC1G,0EAA8I;AAArI,gHAAA,YAAY,OAAA;AAAE,gHAAA,YAAY,OAAA;AAAE,6GAAA,SAAS,OAAA;AAAE,+GAAA,WAAW,OAAA;AAAE,iHAAA,aAAa,OAAA;AAAE,sHAAA,kBAAkB,OAAA;AAC9F,gFAA8J;AAArJ,oHAAA,cAAc,OAAA;AAAE,oHAAA,cAAc,OAAA;AAAE,iHAAA,WAAW,OAAA;AAAE,mHAAA,aAAa,OAAA;AAAE,qHAAA,eAAe,OAAA;AAAE,0HAAA,oBAAoB,OAAA;AAC1G,oEAA6G;AAApG,6GAAA,WAAW,OAAA;AAAE,4GAAA,UAAU,OAAA;AAAE,yGAAA,OAAO,OAAA;AAAE,2GAAA,SAAS,OAAA;AAAE,6GAAA,WAAW,OAAA;AACjE,oEAA8H;AAArH,4GAAA,UAAU,OAAA;AAAE,4GAAA,UAAU,OAAA;AAAE,yGAAA,OAAO,OAAA;AAAE,2GAAA,SAAS,OAAA;AAAE,6GAAA,WAAW,OAAA;AAAE,kHAAA,gBAAgB,OAAA;AAClF,mGAAqL;AAA5K,+HAAA,mBAAmB,OAAA;AAAE,6HAAA,iBAAiB,OAAA;AAAE,kIAAA,sBAAsB,OAAA;AAAE,gIAAA,oBAAoB,OAAA;AAAE,iIAAA,qBAAqB,OAAA","sourcesContent":["export { getAuthToken, authChangePassword } from '@/controllers/auth/authController';\nexport { createAccessKey, listAccessKeys, getAccessKey, validateAccessKey, revokeAccessKeys } from '@/controllers/auth/accessKeyController';\nexport { getAccount, listAccounts, createAccount, deleteAccounts, updateAccount } from '@/controllers/account/accountController';\nexport { getBusiness, listBusinesses, createBusiness, deleteBusinesses, updateBusiness } from '@/controllers/business/businessController';\nexport { createUser, updateUser, getUser, listUsers, deleteUsers, getUserDataTypes } from '@/controllers/user/userController';\nexport { createUserBranch, updateUserBranch, getUserBranch, listUserBranches, deleteUserBranches, getUserBranchDataTypes } from '@/controllers/branch/userBranchController';\nexport { createDocument, updateDocument, getDocument, listDocuments, deleteDocuments, getDocumentDataTypes } from '@/controllers/document/documentController';\nexport { createRegion, updateRegion, getRegion, listRegions, deleteRegions, getRegionDataTypes } from '@/controllers/region/regionController';\nexport { createLocation, updateLocation, getLocation, listLocations, deleteLocations, getLocationDataTypes } from '@/controllers/location/locationController';\nexport { uploadFiles, updateFile, getFile, listFiles, deleteFiles } from '@/controllers/file/fileController';\nexport { createItem, updateItem, getItem, listItems, deleteItems, getItemDataTypes } from '@/controllers/item/itemController';\nexport { listInjectionFields, getInjectionField, replaceInjectionFields, createInjectionField, deleteInjectionFields } from '@/controllers/injection_field/injectionFieldController';"]}
@@ -1,7 +1,7 @@
1
1
  import { Request, Response, NextFunction } from "express";
2
- interface ValidateAuthOptions {
2
+ type ValidateAuthOptions = {
3
3
  excludedRoutes: string[];
4
- }
4
+ };
5
5
  export type AuthorizeRequest = Request & {
6
6
  accountId: number;
7
7
  actionUserId: number;
@@ -10,7 +10,16 @@ export type AuthorizeRequest = Request & {
10
10
  actionUserId: number;
11
11
  authToken: string;
12
12
  isOperator: boolean;
13
+ accessKey?: string;
14
+ accessKeyId?: string;
13
15
  };
14
16
  };
15
- export declare const validateAuthorization: (options: ValidateAuthOptions) => (req: Request, res: Response, next: NextFunction) => void;
17
+ /**
18
+ * Combined middleware: JWT or Access Key
19
+ */
20
+ export declare const validateAuthorization: (options?: ValidateAuthOptions) => (req: Request, res: Response, next: NextFunction) => Promise<void | Response<any, Record<string, any>>>;
21
+ /**
22
+ * Validate Access Key
23
+ */
24
+ export declare const validateAccessKeyMiddleware: (accessKey: string, req: AuthorizeRequest, res: Response) => Promise<boolean>;
16
25
  export {};