infinity-forge 4.6.8 → 4.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/back-end/generic-routers/change-password/index.d.ts +12 -0
  2. package/dist/back-end/generic-routers/change-password/index.js +87 -0
  3. package/dist/back-end/generic-routers/change-password/index.js.map +1 -0
  4. package/dist/back-end/generic-routers/change-password/password-hash-csharp.d.ts +3 -0
  5. package/dist/back-end/generic-routers/change-password/password-hash-csharp.js +23 -0
  6. package/dist/back-end/generic-routers/change-password/password-hash-csharp.js.map +1 -0
  7. package/dist/back-end/generic-routers/index.d.ts +2 -0
  8. package/dist/back-end/generic-routers/index.js +19 -0
  9. package/dist/back-end/generic-routers/index.js.map +1 -0
  10. package/dist/back-end/generic-routers/recover-password/index.d.ts +8 -0
  11. package/dist/back-end/generic-routers/recover-password/index.js +94 -0
  12. package/dist/back-end/generic-routers/recover-password/index.js.map +1 -0
  13. package/dist/back-end/index.d.ts +4 -0
  14. package/dist/back-end/index.js +21 -0
  15. package/dist/back-end/index.js.map +1 -0
  16. package/dist/back-end/pagarme/get-pagarme-payload/get-credit-card-payload.d.ts +28 -0
  17. package/dist/back-end/pagarme/get-pagarme-payload/get-credit-card-payload.js +30 -0
  18. package/dist/back-end/pagarme/get-pagarme-payload/get-credit-card-payload.js.map +1 -0
  19. package/dist/back-end/pagarme/get-pagarme-payload/get-pix-payload.d.ts +14 -0
  20. package/dist/back-end/pagarme/get-pagarme-payload/get-pix-payload.js +21 -0
  21. package/dist/back-end/pagarme/get-pagarme-payload/get-pix-payload.js.map +1 -0
  22. package/dist/back-end/pagarme/get-pagarme-payload/index.d.ts +40 -0
  23. package/dist/back-end/pagarme/get-pagarme-payload/index.js +43 -0
  24. package/dist/back-end/pagarme/get-pagarme-payload/index.js.map +1 -0
  25. package/dist/back-end/pagarme/index.d.ts +29 -0
  26. package/dist/back-end/pagarme/index.js +117 -0
  27. package/dist/back-end/pagarme/index.js.map +1 -0
  28. package/dist/back-end/pagarme/types.d.ts +123 -0
  29. package/dist/back-end/pagarme/types.js +3 -0
  30. package/dist/back-end/pagarme/types.js.map +1 -0
  31. package/dist/back-end/use-backend/index.d.ts +17 -0
  32. package/dist/back-end/use-backend/index.js +37 -0
  33. package/dist/back-end/use-backend/index.js.map +1 -0
  34. package/dist/back-end/utils/azure/index.d.ts +2 -0
  35. package/dist/back-end/utils/azure/index.js +79 -0
  36. package/dist/back-end/utils/azure/index.js.map +1 -0
  37. package/dist/back-end/utils/encrypt-service.d.ts +4 -0
  38. package/dist/back-end/utils/encrypt-service.js +81 -0
  39. package/dist/back-end/utils/encrypt-service.js.map +1 -0
  40. package/dist/back-end/utils/errors.d.ts +5 -0
  41. package/dist/back-end/utils/errors.js +13 -0
  42. package/dist/back-end/utils/errors.js.map +1 -0
  43. package/dist/back-end/utils/get-body-next.d.ts +2 -0
  44. package/dist/back-end/utils/get-body-next.js +8 -0
  45. package/dist/back-end/utils/get-body-next.js.map +1 -0
  46. package/dist/back-end/utils/get-params-next-url.d.ts +2 -0
  47. package/dist/back-end/utils/get-params-next-url.js +8 -0
  48. package/dist/back-end/utils/get-params-next-url.js.map +1 -0
  49. package/dist/back-end/utils/guard.d.ts +16 -0
  50. package/dist/back-end/utils/guard.js +130 -0
  51. package/dist/back-end/utils/guard.js.map +1 -0
  52. package/dist/back-end/utils/index.d.ts +10 -0
  53. package/dist/back-end/utils/index.js +27 -0
  54. package/dist/back-end/utils/index.js.map +1 -0
  55. package/dist/back-end/utils/middleware.d.ts +2 -0
  56. package/dist/back-end/utils/middleware.js +95 -0
  57. package/dist/back-end/utils/middleware.js.map +1 -0
  58. package/dist/back-end/utils/prisma/index.d.ts +1 -0
  59. package/dist/back-end/utils/prisma/index.js +18 -0
  60. package/dist/back-end/utils/prisma/index.js.map +1 -0
  61. package/dist/back-end/utils/prisma/paginate.d.ts +12 -0
  62. package/dist/back-end/utils/prisma/paginate.js +89 -0
  63. package/dist/back-end/utils/prisma/paginate.js.map +1 -0
  64. package/dist/back-end/utils/success.d.ts +2 -0
  65. package/dist/back-end/utils/success.js +9 -0
  66. package/dist/back-end/utils/success.js.map +1 -0
  67. package/dist/back-end/utils/verify-entity-exist.d.ts +12 -0
  68. package/dist/back-end/utils/verify-entity-exist.js +69 -0
  69. package/dist/back-end/utils/verify-entity-exist.js.map +1 -0
  70. package/dist/index.d.ts +1 -0
  71. package/dist/index.js +1 -0
  72. package/dist/index.js.map +1 -1
  73. package/package.json +4 -1
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __generator = (this && this.__generator) || function (thisArg, body) {
35
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
+ function verb(n) { return function (v) { return step([n, v]); }; }
38
+ function step(op) {
39
+ if (f) throw new TypeError("Generator is already executing.");
40
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
41
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
+ if (y = 0, t) op = [op[0] & 2, t.value];
43
+ switch (op[0]) {
44
+ case 0: case 1: t = op; break;
45
+ case 4: _.label++; return { value: op[1], done: false };
46
+ case 5: _.label++; y = op[1]; op = [0]; continue;
47
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
+ default:
49
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
+ if (t[2]) _.ops.pop();
54
+ _.trys.pop(); continue;
55
+ }
56
+ op = body.call(thisArg, _);
57
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
+ }
60
+ };
61
+ Object.defineProperty(exports, "__esModule", { value: true });
62
+ exports.Guard = exports.getUserByRequest = void 0;
63
+ var jwt = __importStar(require("jsonwebtoken"));
64
+ var errors_1 = require("./errors.js");
65
+ function getUserByRequest(_a) {
66
+ return __awaiter(this, arguments, void 0, function (_b) {
67
+ var _c, _, token, userJWT, user;
68
+ var _d, _e, _f;
69
+ var req = _b.req, Prisma = _b.Prisma;
70
+ return __generator(this, function (_g) {
71
+ switch (_g.label) {
72
+ case 0: return [4 /*yield*/, ((_d = req.headers) === null || _d === void 0 ? void 0 : _d.get('authorization'))];
73
+ case 1:
74
+ _c = (_f = (_e = (_g.sent())) === null || _e === void 0 ? void 0 : _e.split(' ')) !== null && _f !== void 0 ? _f : [], _ = _c[0], token = _c[1];
75
+ if (!token) {
76
+ throw (0, errors_1.unauthorized)();
77
+ }
78
+ userJWT = jwt.decode(token, { complete: true });
79
+ return [4 /*yield*/, Prisma.users.findFirst({
80
+ where: {
81
+ isDeleted: false,
82
+ OR: [{ Id: Number((userJWT === null || userJWT === void 0 ? void 0 : userJWT.id) || (userJWT === null || userJWT === void 0 ? void 0 : userJWT.nameid)) }],
83
+ },
84
+ })];
85
+ case 2:
86
+ user = _g.sent();
87
+ if (user) {
88
+ user.Password = '';
89
+ }
90
+ if (!user) {
91
+ throw (0, errors_1.unauthorized)();
92
+ }
93
+ return [2 /*return*/, user];
94
+ }
95
+ });
96
+ });
97
+ }
98
+ exports.getUserByRequest = getUserByRequest;
99
+ function Guard(_a) {
100
+ return __awaiter(this, arguments, void 0, function (_b) {
101
+ var user, _c;
102
+ var _d, _e;
103
+ var req = _b.req, Prisma = _b.Prisma, roles = _b.roles;
104
+ return __generator(this, function (_f) {
105
+ switch (_f.label) {
106
+ case 0:
107
+ _f.trys.push([0, 2, , 3]);
108
+ return [4 /*yield*/, getUserByRequest({
109
+ req: req,
110
+ Prisma: Prisma,
111
+ })];
112
+ case 1:
113
+ user = _f.sent();
114
+ if (!user) {
115
+ return [2 /*return*/, (0, errors_1.badRequest)('Usuário não encontrado')];
116
+ }
117
+ if (((_d = user === null || user === void 0 ? void 0 : user.userroles) === null || _d === void 0 ? void 0 : _d.RoleName) && roles.length > 0 && !roles.includes((_e = user === null || user === void 0 ? void 0 : user.userroles) === null || _e === void 0 ? void 0 : _e.RoleName)) {
118
+ return [2 /*return*/, (0, errors_1.badRequest)('Usuário não encontrado')];
119
+ }
120
+ return [2 /*return*/, { user: user }];
121
+ case 2:
122
+ _c = _f.sent();
123
+ return [2 /*return*/, (0, errors_1.unauthorized)()];
124
+ case 3: return [2 /*return*/];
125
+ }
126
+ });
127
+ });
128
+ }
129
+ exports.Guard = Guard;
130
+ //# sourceMappingURL=guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guard.js","sourceRoot":"","sources":["../../../src/back-end/utils/guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,gDAAmC;AAEnC,mCAAmD;AASnD,SAAsB,gBAAgB;wDAAC,EAAuC;;;YAArC,GAAG,SAAA,EAAE,MAAM,YAAA;;;wBAC9B,qBAAM,CAAA,MAAA,GAAG,CAAC,OAAO,0CAAE,GAAG,CAAC,eAAe,CAAC,CAAA,EAAA;;oBAArD,KAAa,MAAA,MAAA,CAAC,SAAuC,CAAC,0CAAE,KAAK,CAAC,GAAG,CAAC,mCAAI,EAAE,EAAvE,CAAC,QAAA,EAAE,KAAK,QAAA;oBAEf,IAAI,CAAC,KAAK,EAAE,CAAC;wBACX,MAAM,IAAA,qBAAY,GAAE,CAAA;oBACtB,CAAC;oBAGK,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;oBAE1C,qBAAM,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;4BACtC,KAAK,EAAE;gCACL,SAAS,EAAE,KAAK;gCAChB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,MAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAA,CAAC,EAAE,CAAC;6BACrD;yBACF,CAAC,EAAA;;oBALE,IAAI,GAAG,SAKT;oBAEF,IAAI,IAAI,EAAE,CAAC;wBACT,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;oBACpB,CAAC;oBAED,IAAI,CAAC,IAAI,EAAE,CAAC;wBACV,MAAM,IAAA,qBAAY,GAAE,CAAA;oBACtB,CAAC;oBAED,sBAAO,IAAI,EAAA;;;;CACZ;AA1BD,4CA0BC;AAED,SAAsB,KAAK;wDAAC,EAAmC;;;YAAjC,GAAG,SAAA,EAAE,MAAM,YAAA,EAAE,KAAK,WAAA;;;;;oBAE/B,qBAAM,gBAAgB,CAAC;4BAClC,GAAG,KAAA;4BACH,MAAM,QAAA;yBACP,CAAC,EAAA;;oBAHI,IAAI,GAAG,SAGX;oBAEF,IAAI,CAAC,IAAI,EAAE,CAAC;wBACV,sBAAO,IAAA,mBAAU,EAAC,wBAAwB,CAAC,EAAA;oBAC7C,CAAC;oBAED,IAAI,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,0CAAE,QAAQ,KAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,0CAAE,QAAQ,CAAC,EAAE,CAAC;wBAChG,sBAAO,IAAA,mBAAU,EAAC,wBAAwB,CAAC,EAAA;oBAC7C,CAAC;oBAED,sBAAO,EAAE,IAAI,MAAA,EAAE,EAAA;;;oBAEf,sBAAO,IAAA,qBAAY,GAAE,EAAA;;;;;CAExB;AAnBD,sBAmBC"}
@@ -0,0 +1,10 @@
1
+ export * from "./azure/index.js";
2
+ export * from "./guard.js";
3
+ export * from "./errors.js";
4
+ export * from "./success.js";
5
+ export * from "./prisma/index.js";
6
+ export * from "./middleware.js";
7
+ export * from "./get-body-next.js";
8
+ export * from "./encrypt-service.js";
9
+ export * from "./verify-entity-exist.js";
10
+ export * from "./get-params-next-url.js";
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./azure/index.js"), exports);
18
+ __exportStar(require("./guard.js"), exports);
19
+ __exportStar(require("./errors.js"), exports);
20
+ __exportStar(require("./success.js"), exports);
21
+ __exportStar(require("./prisma/index.js"), exports);
22
+ __exportStar(require("./middleware.js"), exports);
23
+ __exportStar(require("./get-body-next.js"), exports);
24
+ __exportStar(require("./encrypt-service.js"), exports);
25
+ __exportStar(require("./verify-entity-exist.js"), exports);
26
+ __exportStar(require("./get-params-next-url.js"), exports);
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/back-end/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,0CAAuB;AACvB,2CAAwB;AACxB,4CAAyB;AACzB,2CAAwB;AACxB,+CAA4B;AAC5B,kDAA+B;AAC/B,oDAAiC;AACjC,wDAAqC;AACrC,wDAAqC"}
@@ -0,0 +1,2 @@
1
+ import { NextResponse, NextRequest } from 'next/server';
2
+ export declare const middleware: <T>(handler: Function, Prisma: any, roles?: T[]) => (req: NextRequest, res: NextResponse) => Promise<any>;
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.middleware = void 0;
40
+ var server_1 = require("next/server");
41
+ var guard_1 = require("./guard.js");
42
+ var middleware = function (handler, Prisma, roles) {
43
+ return function (req, res) { return __awaiter(void 0, void 0, void 0, function () {
44
+ var exception_1, status_1, validationErrors, message;
45
+ var _a, _b, _c;
46
+ return __generator(this, function (_d) {
47
+ switch (_d.label) {
48
+ case 0:
49
+ _d.trys.push([0, 4, , 5]);
50
+ if (!(roles && roles.length > 0)) return [3 /*break*/, 2];
51
+ return [4 /*yield*/, (0, guard_1.Guard)({
52
+ req: req,
53
+ roles: roles || [],
54
+ Prisma: Prisma,
55
+ })];
56
+ case 1:
57
+ _d.sent();
58
+ _d.label = 2;
59
+ case 2: return [4 /*yield*/, handler(req, res)];
60
+ case 3: return [2 /*return*/, _d.sent()];
61
+ case 4:
62
+ exception_1 = _d.sent();
63
+ status_1 = 400;
64
+ validationErrors = {};
65
+ message = 'Ocorreu um erro inesperado';
66
+ if (exception_1 === null || exception_1 === void 0 ? void 0 : exception_1.code) {
67
+ switch (exception_1.code) {
68
+ case 'P2003':
69
+ status_1 = 422;
70
+ validationErrors[(_a = exception_1.meta) === null || _a === void 0 ? void 0 : _a.field_name] = {
71
+ errors: ['Campo inválido ou o registro não existe'],
72
+ };
73
+ break;
74
+ case 'P2002':
75
+ status_1 = 422;
76
+ validationErrors[((_b = exception_1.meta) === null || _b === void 0 ? void 0 : _b.field_name) || ((_c = exception_1.meta) === null || _c === void 0 ? void 0 : _c.target)] = {
77
+ errors: ['Registro já cadastrado'],
78
+ };
79
+ break;
80
+ default:
81
+ message = exception_1 === null || exception_1 === void 0 ? void 0 : exception_1.message;
82
+ break;
83
+ }
84
+ }
85
+ else {
86
+ message = (exception_1 === null || exception_1 === void 0 ? void 0 : exception_1.message) || message;
87
+ }
88
+ return [2 /*return*/, server_1.NextResponse.json({ message: message, validationErrors: validationErrors }, { status: status_1 })];
89
+ case 5: return [2 /*return*/];
90
+ }
91
+ });
92
+ }); };
93
+ };
94
+ exports.middleware = middleware;
95
+ //# sourceMappingURL=middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/back-end/utils/middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAuD;AAEvD,iCAA+B;AAExB,IAAM,UAAU,GACrB,UAAI,OAAiB,EAAE,MAAW,EAAE,KAAW;IAC/C,OAAA,UAAO,GAAgB,EAAE,GAAiB;;;;;;;yBAElC,CAAA,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA,EAAzB,wBAAyB;oBAC3B,qBAAM,IAAA,aAAK,EAAC;4BACV,GAAG,KAAA;4BACH,KAAK,EAAG,KAAa,IAAI,EAAE;4BAC3B,MAAM,QAAA;yBACP,CAAC,EAAA;;oBAJF,SAIE,CAAA;;wBAGG,qBAAM,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAA;wBAA9B,sBAAO,SAAuB,EAAA;;;oBAE1B,WAAS,GAAG,CAAA;oBACZ,gBAAgB,GAAwB,EAAE,CAAA;oBAC1C,OAAO,GAAG,4BAA4B,CAAA;oBAE1C,IAAI,WAAS,aAAT,WAAS,uBAAT,WAAS,CAAE,IAAI,EAAE,CAAC;wBACpB,QAAQ,WAAS,CAAC,IAAI,EAAE,CAAC;4BACvB,KAAK,OAAO;gCACV,QAAM,GAAG,GAAG,CAAA;gCACZ,gBAAgB,CAAC,MAAA,WAAS,CAAC,IAAI,0CAAE,UAAoB,CAAC,GAAG;oCACvD,MAAM,EAAE,CAAC,yCAAyC,CAAC;iCACpD,CAAA;gCACD,MAAK;4BAEP,KAAK,OAAO;gCACV,QAAM,GAAG,GAAG,CAAA;gCACZ,gBAAgB,CAAC,CAAC,MAAA,WAAS,CAAC,IAAI,0CAAE,UAAqB,MAAK,MAAA,WAAS,CAAC,IAAI,0CAAE,MAAiB,CAAA,CAAC,GAAG;oCAC/F,MAAM,EAAE,CAAC,wBAAwB,CAAC;iCACnC,CAAA;gCACD,MAAK;4BAEP;gCACE,OAAO,GAAG,WAAS,aAAT,WAAS,uBAAT,WAAS,CAAE,OAAO,CAAA;gCAC5B,MAAK;wBACT,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,OAAO,GAAG,CAAA,WAAS,aAAT,WAAS,uBAAT,WAAS,CAAE,OAAO,KAAI,OAAO,CAAA;oBACzC,CAAC;oBAED,sBAAO,qBAAY,CAAC,IAAI,CAAC,EAAE,OAAO,SAAA,EAAE,gBAAgB,kBAAA,EAAE,EAAE,EAAE,MAAM,UAAA,EAAE,CAAC,EAAA;;;;SAEtE;AA1CD,CA0CC,CAAA;AA5CU,QAAA,UAAU,cA4CpB"}
@@ -0,0 +1 @@
1
+ export * from "./paginate.js";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./paginate.js"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/back-end/utils/prisma/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B"}
@@ -0,0 +1,12 @@
1
+ import { PaginationModel } from '../../../system/index.js';
2
+ export interface PaginationResult<T> {
3
+ data: T[];
4
+ pagination: PaginationModel;
5
+ }
6
+ export type PaginateParams<P> = {
7
+ Prisma: any;
8
+ model: keyof P;
9
+ query: Record<string, any>;
10
+ include?: any;
11
+ };
12
+ export declare function paginate<T, P>({ Prisma, model, query, include, }: PaginateParams<P>): Promise<PaginationResult<T>>;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.paginate = void 0;
40
+ function paginate(_a) {
41
+ return __awaiter(this, arguments, void 0, function (_b) {
42
+ var page, skip, where, data, totalItems, totalPages, startPage, endPage, hasNextPage, hasPreviousPage, pages;
43
+ var Prisma = _b.Prisma, model = _b.model, query = _b.query, include = _b.include;
44
+ return __generator(this, function (_c) {
45
+ switch (_c.label) {
46
+ case 0:
47
+ page = query.page || 1;
48
+ skip = (page - 1 || 0) * 20;
49
+ where = query;
50
+ delete where.page;
51
+ return [4 /*yield*/, Prisma[model].findMany({
52
+ where: where,
53
+ skip: skip,
54
+ take: 20,
55
+ include: include,
56
+ })];
57
+ case 1:
58
+ data = _c.sent();
59
+ return [4 /*yield*/, Prisma[model].count({
60
+ where: query,
61
+ })];
62
+ case 2:
63
+ totalItems = _c.sent();
64
+ totalPages = Math.ceil(totalItems / 20);
65
+ startPage = 1;
66
+ endPage = totalPages;
67
+ hasNextPage = page < totalPages;
68
+ hasPreviousPage = page > 1;
69
+ pages = Array.from({ length: totalPages }, function (_, i) { return i + 1; });
70
+ return [2 /*return*/, {
71
+ data: data,
72
+ pagination: {
73
+ page: page,
74
+ pageSize: 20,
75
+ totalItems: totalItems,
76
+ totalPages: totalPages,
77
+ hasNextPage: hasNextPage,
78
+ hasPreviousPage: hasPreviousPage,
79
+ startPage: startPage,
80
+ endPage: endPage,
81
+ pages: pages,
82
+ },
83
+ }];
84
+ }
85
+ });
86
+ });
87
+ }
88
+ exports.paginate = paginate;
89
+ //# sourceMappingURL=paginate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paginate.js","sourceRoot":"","sources":["../../../../src/back-end/utils/prisma/paginate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,SAAsB,QAAQ;wDAAO,EAKjB;;YAJlB,MAAM,YAAA,EACN,KAAK,WAAA,EACL,KAAK,WAAA,EACL,OAAO,aAAA;;;;oBAED,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,CAAA;oBAEtB,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAA;oBAE7B,KAAK,GAAG,KAAK,CAAA;oBAEjB,OAAO,KAAK,CAAC,IAAI,CAAA;oBAEJ,qBAAO,MAAM,CAAC,KAAK,CAAS,CAAC,QAAQ,CAAC;4BACjD,KAAK,OAAA;4BACL,IAAI,MAAA;4BACJ,IAAI,EAAE,EAAE;4BACR,OAAO,SAAA;yBACR,CAAC,EAAA;;oBALI,IAAI,GAAG,SAKX;oBAEiB,qBAAO,MAAM,CAAC,KAAK,CAAS,CAAC,KAAK,CAAC;4BACpD,KAAK,EAAE,KAAK;yBACb,CAAC,EAAA;;oBAFI,UAAU,GAAG,SAEjB;oBAEI,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,CAAA;oBAEvC,SAAS,GAAG,CAAC,CAAA;oBACb,OAAO,GAAG,UAAU,CAAA;oBACpB,WAAW,GAAG,IAAI,GAAG,UAAU,CAAA;oBAC/B,eAAe,GAAG,IAAI,GAAG,CAAC,CAAA;oBAE1B,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK,CAAC,CAAA;oBAEjE,sBAAO;4BACL,IAAI,MAAA;4BACJ,UAAU,EAAE;gCACV,IAAI,MAAA;gCACJ,QAAQ,EAAE,EAAE;gCACZ,UAAU,YAAA;gCACV,UAAU,YAAA;gCACV,WAAW,aAAA;gCACX,eAAe,iBAAA;gCACf,SAAS,WAAA;gCACT,OAAO,SAAA;gCACP,KAAK,OAAA;6BACN;yBACF,EAAA;;;;CACF;AAhDD,4BAgDC"}
@@ -0,0 +1,2 @@
1
+ import { NextResponse } from "next/server";
2
+ export declare function success<T>(data: T): NextResponse<T>;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.success = void 0;
4
+ var server_1 = require("next/server");
5
+ function success(data) {
6
+ return server_1.NextResponse.json(data, { status: 200 });
7
+ }
8
+ exports.success = success;
9
+ //# sourceMappingURL=success.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"success.js","sourceRoot":"","sources":["../../../src/back-end/utils/success.ts"],"names":[],"mappings":";;;AAAA,sCAA2C;AAE3C,SAAgB,OAAO,CAAI,IAAO;IAC9B,OAAO,qBAAY,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AAClD,CAAC;AAFH,0BAEG"}
@@ -0,0 +1,12 @@
1
+ export type VerifyEntityExistParams<T> = {
2
+ body: any;
3
+ table: string;
4
+ IdKey?: keyof T;
5
+ checks: {
6
+ column: keyof T;
7
+ columnLabel: string;
8
+ isEncrypted?: boolean;
9
+ }[];
10
+ Prisma: any;
11
+ };
12
+ export declare function verifyEntityExist<T>({ body, IdKey, table, checks, Prisma }: VerifyEntityExistParams<T>): Promise<void>;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.verifyEntityExist = void 0;
40
+ var encrypt_service_1 = require("./encrypt-service.js");
41
+ var errors_1 = require("./errors.js");
42
+ function verifyEntityExist(_a) {
43
+ return __awaiter(this, arguments, void 0, function (_b) {
44
+ var results, error;
45
+ var body = _b.body, IdKey = _b.IdKey, table = _b.table, checks = _b.checks, Prisma = _b.Prisma;
46
+ return __generator(this, function (_c) {
47
+ switch (_c.label) {
48
+ case 0: return [4 /*yield*/, Promise.all(checks.map(function (_a) {
49
+ var _b;
50
+ var column = _a.column, isEncrypted = _a.isEncrypted;
51
+ var bodyValue = body === null || body === void 0 ? void 0 : body[column];
52
+ return (bodyValue &&
53
+ Prisma[table].findFirst({
54
+ where: (_b = {}, _b[column] = isEncrypted ? (0, encrypt_service_1.encrypt)(bodyValue) : bodyValue, _b.isDeleted = false, _b),
55
+ }));
56
+ }))];
57
+ case 1:
58
+ results = _c.sent();
59
+ error = checks.find(function (_, index) { var _a; return results[index] && (body === null || body === void 0 ? void 0 : body[IdKey]) !== ((_a = results[index]) === null || _a === void 0 ? void 0 : _a[IdKey]); });
60
+ if (error) {
61
+ throw (0, errors_1.badRequest)("".concat(error.columnLabel, " j\u00E1 cadastrado."));
62
+ }
63
+ return [2 /*return*/];
64
+ }
65
+ });
66
+ });
67
+ }
68
+ exports.verifyEntityExist = verifyEntityExist;
69
+ //# sourceMappingURL=verify-entity-exist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-entity-exist.js","sourceRoot":"","sources":["../../../src/back-end/utils/verify-entity-exist.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAA2C;AAC3C,mCAAqC;AAUrC,SAAsB,iBAAiB;wDAAI,EAAkE;;YAAhE,IAAI,UAAA,EAAE,KAAK,WAAA,EAAE,KAAK,WAAA,EAAE,MAAM,YAAA,EAAE,MAAM,YAAA;;;wBAC7D,qBAAM,OAAO,CAAC,GAAG,CAC/B,MAAM,CAAC,GAAG,CAAC,UAAC,EAAuB;;4BAArB,MAAM,YAAA,EAAE,WAAW,iBAAA;wBAC/B,IAAM,SAAS,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,MAAM,CAAC,CAAA;wBAChC,OAAO,CACL,SAAS;4BACR,MAAM,CAAC,KAAK,CAAS,CAAC,SAAS,CAAC;gCAC/B,KAAK,YAAI,GAAC,MAAM,IAAG,WAAW,CAAC,CAAC,CAAC,IAAA,yBAAO,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,YAAS,GAAE,KAAK,KAAE;6BACpF,CAAC,CACH,CAAA;oBACH,CAAC,CAAC,CACH,EAAA;;oBAVK,OAAO,GAAG,SAUf;oBAEK,KAAK,GAAQ,MAAM,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,KAAK,YAAK,OAAA,OAAO,CAAC,KAAK,CAAC,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,KAAK,CAAC,OAAK,MAAA,OAAO,CAAC,KAAK,CAAC,0CAAG,KAAK,CAAC,CAAA,CAAA,EAAA,CAAC,CAAA;oBAEzG,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,IAAA,mBAAU,EAAC,UAAG,KAAK,CAAC,WAAW,yBAAiB,CAAC,CAAA;oBACzD,CAAC;;;;;CACF;AAlBD,8CAkBC"}
package/dist/index.d.ts CHANGED
@@ -4,3 +4,4 @@ export * from './sites/index.js';
4
4
  export * from './infra/index.js';
5
5
  export * from './mocks/index.js';
6
6
  export * from './system/index.js';
7
+ export * from './back-end/index.js';
package/dist/index.js CHANGED
@@ -20,4 +20,5 @@ __exportStar(require("./sites/index.js"), exports);
20
20
  __exportStar(require("./infra/index.js"), exports);
21
21
  __exportStar(require("./mocks/index.js"), exports);
22
22
  __exportStar(require("./system/index.js"), exports);
23
+ __exportStar(require("./back-end/index.js"), exports);
23
24
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uCAAoB;AACpB,yCAAsB;AACtB,0CAAuB;AACvB,0CAAuB;AACvB,0CAAuB;AACvB,2CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uCAAoB;AACpB,yCAAsB;AACtB,0CAAuB;AACvB,0CAAuB;AACvB,0CAAuB;AACvB,2CAAwB;AACxB,6CAA0B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "infinity-forge",
3
- "version": "4.6.8",
3
+ "version": "4.7.0",
4
4
  "description": "codie Library",
5
5
  "main": "./dist/index",
6
6
  "module": "./dist/index",
@@ -48,13 +48,16 @@
48
48
  "typescript": "^5.4.5"
49
49
  },
50
50
  "dependencies": {
51
+ "@azure/storage-blob": "^12.26.0",
51
52
  "@types/lodash": "^4.17.7",
52
53
  "@wojtekmaj/react-daterange-picker": "^6.0.0",
53
54
  "axios": "^1.7.2",
55
+ "bcryptjs": "^2.4.3",
54
56
  "chroma-js": "^2.4.2",
55
57
  "cpx": "^1.5.0",
56
58
  "formik": "^2.4.6",
57
59
  "inversify": "^6.0.2",
60
+ "jsonwebtoken": "^9.0.2",
58
61
  "lodash": "^4.17.21",
59
62
  "messageprovider": "^0.1.6",
60
63
  "moment": "^2.30.1",