@lucaapp/service-utils 1.62.0 → 1.62.2
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/lib/api/endpoint.js
CHANGED
|
@@ -321,50 +321,52 @@ new Promise(async (resolve) => {
|
|
|
321
321
|
});
|
|
322
322
|
const mountEndpoint = (router, method, path, options, handler, debug) => {
|
|
323
323
|
(0, assert_1.default)(options.responses.length > 0, 'You need to specify at least one response');
|
|
324
|
-
router[method](path,
|
|
325
|
-
|
|
326
|
-
let handlerRequestBody;
|
|
327
|
-
let handlerRequestParams;
|
|
328
|
-
let handlerRequestQuery;
|
|
329
|
-
let handlerRequestHeaders;
|
|
324
|
+
router[method](path, (request, response) => {
|
|
325
|
+
(async () => {
|
|
330
326
|
try {
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
327
|
+
let handlerRequestBody;
|
|
328
|
+
let handlerRequestParams;
|
|
329
|
+
let handlerRequestQuery;
|
|
330
|
+
let handlerRequestHeaders;
|
|
331
|
+
try {
|
|
332
|
+
// parse request schemas
|
|
333
|
+
handlerRequestBody = ((await options.schemas?.body?.parseAsync(request.body)) || undefined);
|
|
334
|
+
handlerRequestParams = ((await options.schemas?.params?.parseAsync(request.params)) || undefined);
|
|
335
|
+
handlerRequestQuery = ((await options.schemas?.query?.parseAsync(request.query)) || undefined);
|
|
336
|
+
handlerRequestHeaders = ((await options.schemas?.headers?.parseAsync(request.headers)) || undefined);
|
|
340
337
|
}
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
338
|
+
catch (error) {
|
|
339
|
+
if (error instanceof zod_1.ZodError) {
|
|
340
|
+
return sendBadRequestZodError(response, error);
|
|
341
|
+
}
|
|
342
|
+
if (error instanceof libphonenumber_js_1.ParseError) {
|
|
343
|
+
const newError = new Error(error.message);
|
|
344
|
+
return sendBadRequestError(response, newError);
|
|
345
|
+
}
|
|
346
|
+
throw error;
|
|
344
347
|
}
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
return;
|
|
348
|
+
const handlerRequest = {
|
|
349
|
+
body: handlerRequestBody,
|
|
350
|
+
params: handlerRequestParams,
|
|
351
|
+
query: handlerRequestQuery,
|
|
352
|
+
headers: handlerRequestHeaders,
|
|
353
|
+
};
|
|
354
|
+
const ctx = {};
|
|
355
|
+
if (options.middlewares instanceof Array) {
|
|
356
|
+
for (const middleware of options.middlewares) {
|
|
357
|
+
const shouldContinue = await handleMiddleware(middleware, ctx, request, response, debug);
|
|
358
|
+
if (!shouldContinue)
|
|
359
|
+
return;
|
|
360
|
+
}
|
|
359
361
|
}
|
|
362
|
+
await handler(handlerRequest, ctx, async (controllerResponse) => {
|
|
363
|
+
await validateAndSendResponse(response, controllerResponse, options.responses, debug);
|
|
364
|
+
}, response);
|
|
360
365
|
}
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
}
|
|
364
|
-
}
|
|
365
|
-
catch (error) {
|
|
366
|
-
sendErrorResponse(response, error, options.errors, debug);
|
|
367
|
-
}
|
|
366
|
+
catch (error) {
|
|
367
|
+
sendErrorResponse(response, error, options.errors, debug);
|
|
368
|
+
}
|
|
369
|
+
})();
|
|
368
370
|
});
|
|
369
371
|
};
|
|
370
372
|
exports.mountEndpoint = mountEndpoint;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
export declare enum OperatorRole {
|
|
2
|
-
Owner = "Owner"
|
|
3
|
-
Admin = "Admin"
|
|
2
|
+
Owner = "Owner",// level 6
|
|
3
|
+
Admin = "Admin",// level 5
|
|
4
|
+
Finance = "Finance",// level 4
|
|
5
|
+
Manager = "Manager",// level 3
|
|
6
|
+
Supervisor = "Supervisor",// level 2
|
|
4
7
|
Viewer = "Viewer"
|
|
5
8
|
}
|
|
6
9
|
export type OperatorLocationGroup = {
|
|
@@ -5,5 +5,8 @@ var OperatorRole;
|
|
|
5
5
|
(function (OperatorRole) {
|
|
6
6
|
OperatorRole["Owner"] = "Owner";
|
|
7
7
|
OperatorRole["Admin"] = "Admin";
|
|
8
|
+
OperatorRole["Finance"] = "Finance";
|
|
9
|
+
OperatorRole["Manager"] = "Manager";
|
|
10
|
+
OperatorRole["Supervisor"] = "Supervisor";
|
|
8
11
|
OperatorRole["Viewer"] = "Viewer";
|
|
9
12
|
})(OperatorRole || (exports.OperatorRole = OperatorRole = {}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lucaapp/service-utils",
|
|
3
|
-
"version": "1.62.
|
|
3
|
+
"version": "1.62.2",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"files": [
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"@asteasolutions/zod-to-openapi": "6.1.0",
|
|
22
22
|
"@hapi/boom": "^10.0.0",
|
|
23
23
|
"@tsconfig/node18": "1.0.1",
|
|
24
|
-
"@types/express": "
|
|
25
|
-
"@types/express-serve-static-core": "
|
|
24
|
+
"@types/express": "5.0.0",
|
|
25
|
+
"@types/express-serve-static-core": "5.0.5",
|
|
26
26
|
"@types/node": "18.18.2",
|
|
27
27
|
"@types/response-time": "^2.3.5",
|
|
28
28
|
"@types/swagger-ui-express": "4.1.3",
|
|
@@ -41,14 +41,14 @@
|
|
|
41
41
|
"prom-client": "14.1.0",
|
|
42
42
|
"response-time": "^2.3.2",
|
|
43
43
|
"sequelize": "6.32.0",
|
|
44
|
-
"
|
|
44
|
+
"sqlite3": "5.1.1",
|
|
45
|
+
"swagger-ui-express": "5.0.1",
|
|
45
46
|
"url-value-parser": "^2.2.0",
|
|
46
47
|
"uuid": "^9.0.0",
|
|
47
48
|
"zod": "3.22.3"
|
|
48
49
|
},
|
|
49
50
|
"devDependencies": {
|
|
50
51
|
"@types/busboy": "^1.5.3",
|
|
51
|
-
"@types/express": "4.17.15",
|
|
52
52
|
"@types/lodash": "^4.14.187",
|
|
53
53
|
"@types/negotiator": "^0.6.1",
|
|
54
54
|
"@types/pino-http": "5.8.4",
|
|
@@ -65,7 +65,6 @@
|
|
|
65
65
|
"prettier": "2.7.1",
|
|
66
66
|
"semantic-release": "^19.0.3",
|
|
67
67
|
"semantic-release-monorepo": "^7.0.5",
|
|
68
|
-
"sqlite3": "5.1.1",
|
|
69
68
|
"supertest": "^6.3.3",
|
|
70
69
|
"typescript": "5.5.3",
|
|
71
70
|
"vite-tsconfig-paths": "4.3.2",
|