arkos 0.0.18 → 0.0.20
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/README.md +18 -22
- package/dist/app.d.ts +1 -3
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +4 -12
- package/dist/app.js.map +1 -1
- package/dist/index.d.ts +44 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/{utils/features/prisma.helpers.js → index.js} +36 -29
- package/dist/index.js.map +1 -0
- package/dist/modules/auth/auth.controller.d.ts.map +1 -1
- package/dist/modules/auth/auth.controller.js +3 -2
- package/dist/modules/auth/auth.controller.js.map +1 -1
- package/dist/modules/auth/auth.service.d.ts.map +1 -1
- package/dist/modules/auth/auth.service.js +4 -2
- package/dist/modules/auth/auth.service.js.map +1 -1
- package/dist/modules/base/base.controller.d.ts.map +1 -1
- package/dist/modules/base/base.controller.js +8 -7
- package/dist/modules/base/base.controller.js.map +1 -1
- package/dist/modules/base/base.router.d.ts.map +1 -1
- package/dist/modules/base/base.router.js +8 -6
- package/dist/modules/base/base.router.js.map +1 -1
- package/dist/modules/base/base.service.d.ts +1 -2
- package/dist/modules/base/base.service.d.ts.map +1 -1
- package/dist/modules/base/base.service.js +30 -20
- package/dist/modules/base/base.service.js.map +1 -1
- package/dist/modules/email/email.service.d.ts +3 -1
- package/dist/modules/email/email.service.d.ts.map +1 -1
- package/dist/modules/email/email.service.js +6 -4
- package/dist/modules/email/email.service.js.map +1 -1
- package/dist/modules/error-handler/error-handler.controller.d.ts.map +1 -1
- package/dist/modules/error-handler/error-handler.controller.js +10 -4
- package/dist/modules/error-handler/error-handler.controller.js.map +1 -1
- package/dist/server.d.ts +6 -5
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +19 -14
- package/dist/server.js.map +1 -1
- package/dist/utils/helpers/models.helpers.d.ts +3 -2
- package/dist/utils/helpers/models.helpers.d.ts.map +1 -1
- package/dist/utils/helpers/models.helpers.js +22 -11
- package/dist/utils/helpers/models.helpers.js.map +1 -1
- package/dist/utils/helpers/prisma.helpers.d.ts.map +1 -1
- package/dist/utils/helpers/prisma.helpers.js +1 -2
- package/dist/utils/helpers/prisma.helpers.js.map +1 -1
- package/package.json +20 -9
- package/dist/utils/features/prisma.helpers.d.ts +0 -4
- package/dist/utils/features/prisma.helpers.d.ts.map +0 -1
- package/dist/utils/features/prisma.helpers.js.map +0 -1
|
@@ -11,9 +11,9 @@ const models_helpers_1 = require("../../utils/helpers/models.helpers");
|
|
|
11
11
|
const base_middlewares_1 = require("./base.middlewares");
|
|
12
12
|
const permissions_1 = require("../../utils/permissions");
|
|
13
13
|
const auth_service_1 = __importDefault(require("../auth/auth.service"));
|
|
14
|
+
const models = (0, models_helpers_1.getModels)();
|
|
14
15
|
const router = (0, express_1.Router)();
|
|
15
|
-
|
|
16
|
-
models_helpers_1.models.forEach(async (model) => {
|
|
16
|
+
models.forEach(async (model) => {
|
|
17
17
|
const modelNameInKebab = (0, change_case_all_1.kebabCase)(model);
|
|
18
18
|
const { middlewares, authConfigs, prismaQueryOptions } = await (0, models_helpers_1.importPrismaModelModules)(modelNameInKebab);
|
|
19
19
|
const routeName = pluralize_1.default.plural(modelNameInKebab);
|
|
@@ -67,9 +67,11 @@ models_helpers_1.models.forEach(async (model) => {
|
|
|
67
67
|
? middlewares?.afterDeleteOne
|
|
68
68
|
: base_middlewares_1.sendResponse, base_middlewares_1.sendResponse);
|
|
69
69
|
});
|
|
70
|
-
|
|
71
|
-
router.get("/
|
|
72
|
-
router.
|
|
73
|
-
router.
|
|
70
|
+
(() => {
|
|
71
|
+
router.get("/available-routes", base_controller_1.getAvalibleRoutes);
|
|
72
|
+
router.get("/database-models", auth_service_1.default.authenticate, base_controller_1.getDatabaseModels);
|
|
73
|
+
router.post("/uploads/:fileType", auth_service_1.default.handleAuthenticationControl(permissions_1.permissions.uploads, "create", "file-upload"), auth_service_1.default.handleActionAccessControl(permissions_1.permissions.uploads, "create", "file-upload"), base_controller_1.uploadFile);
|
|
74
|
+
router.delete("/uploads/:fileType/:fileName", auth_service_1.default.handleAuthenticationControl(permissions_1.permissions.uploads, "create", "file-upload"), auth_service_1.default.handleActionAccessControl(permissions_1.permissions.uploads, "create", "file-upload"), base_controller_1.deleteFile);
|
|
75
|
+
})();
|
|
74
76
|
exports.default = router;
|
|
75
77
|
//# sourceMappingURL=base.router.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.router.js","sourceRoot":"","sources":["../../../src/modules/base/base.router.ts"],"names":[],"mappings":";;;;;AAAA,qDAA4C;AAC5C,qCAAiC;AACjC,0DAAkC;AAClC,uDAM2B;AAC3B,uEAG4C;AAC5C,yDAG4B;AAE5B,yDAAsD;AACtD,wEAA+C;AAE/C,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"base.router.js","sourceRoot":"","sources":["../../../src/modules/base/base.router.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { RelationFields } from "../../utils/helpers/models.helpers";
|
|
2
|
-
declare const baseServices: Record<string, BaseService>;
|
|
3
2
|
export declare class BaseService {
|
|
4
3
|
modelName: string;
|
|
5
4
|
relationFields: RelationFields;
|
|
@@ -28,5 +27,5 @@ export declare class BaseService {
|
|
|
28
27
|
data: any;
|
|
29
28
|
}>;
|
|
30
29
|
}
|
|
31
|
-
export
|
|
30
|
+
export declare function getBaseServices(): Record<string, BaseService>;
|
|
32
31
|
//# sourceMappingURL=base.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.service.d.ts","sourceRoot":"","sources":["../../../src/modules/base/base.service.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,cAAc,EACf,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"base.service.d.ts","sourceRoot":"","sources":["../../../src/modules/base/base.service.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,cAAc,EACf,MAAM,oCAAoC,CAAC;AAO5C,qBAAa,WAAW;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;IAC/B,8BAA8B,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEpD,MAAM,EAAE,GAAG,CAAC;gBAEA,SAAS,EAAE,MAAM;IAmBvB,SAAS,CACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,GAAG,CAAC;IAuBT,UAAU,CACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAC1B,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,CAAC;IAiBlC,QAAQ,CACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,CAAC;IA0BlC,OAAO,CACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,GAAG,CAAC;IAmCT,SAAS,CACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,GAAG,CAAC;IA+BT,UAAU,CACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,CAAC;IAuBlC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAWpD,UAAU,CACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1B,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,CAAC;CAgBzC;AAED,wBAAgB,eAAe,gCAO9B"}
|
|
@@ -4,15 +4,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.BaseService = void 0;
|
|
7
|
+
exports.getBaseServices = getBaseServices;
|
|
7
8
|
const change_case_all_1 = require("change-case-all");
|
|
8
9
|
const models_helpers_1 = require("../../utils/helpers/models.helpers");
|
|
9
10
|
const deepmerge_1 = __importDefault(require("deepmerge"));
|
|
10
|
-
// import { prisma } from "../../../../../src/utils/prisma";
|
|
11
11
|
const app_error_1 = __importDefault(require("../error-handler/utils/app-error"));
|
|
12
12
|
const pluralize_1 = __importDefault(require("pluralize"));
|
|
13
13
|
const base_helpers_1 = require("./utils/base.helpers");
|
|
14
|
-
const
|
|
15
|
-
const baseServices = {};
|
|
14
|
+
const prisma_helpers_1 = require("../../utils/helpers/prisma.helpers");
|
|
16
15
|
class BaseService {
|
|
17
16
|
modelName;
|
|
18
17
|
relationFields;
|
|
@@ -31,13 +30,13 @@ class BaseService {
|
|
|
31
30
|
acc[curr.name] = true;
|
|
32
31
|
return acc;
|
|
33
32
|
}, {});
|
|
34
|
-
this.prisma = app_1.prisma;
|
|
35
33
|
}
|
|
36
34
|
async createOne(body, queryOptions) {
|
|
35
|
+
const prisma = await (0, prisma_helpers_1.loadPrismaModule)();
|
|
37
36
|
const bodyWithRelationFieldsHandled = (0, base_helpers_1.handleRelationFieldsInBody)(body, {
|
|
38
37
|
...this.relationFields,
|
|
39
38
|
}, ["delete", "disconnect", "update"]);
|
|
40
|
-
return await
|
|
39
|
+
return await prisma[this.modelName].create((0, deepmerge_1.default)({
|
|
41
40
|
data: bodyWithRelationFieldsHandled,
|
|
42
41
|
include: {
|
|
43
42
|
...this.singularRelationFieldToInclude,
|
|
@@ -46,30 +45,33 @@ class BaseService {
|
|
|
46
45
|
}, JSON.parse(queryOptions || "{}")));
|
|
47
46
|
}
|
|
48
47
|
async createMany(body) {
|
|
48
|
+
const prisma = await (0, prisma_helpers_1.loadPrismaModule)();
|
|
49
49
|
if (!Array.isArray(body) || body.length === 0) {
|
|
50
50
|
throw new app_error_1.default("Invalid or empty data array provided for creation.", 400);
|
|
51
51
|
}
|
|
52
|
-
const data = await
|
|
52
|
+
const data = await prisma[this.modelName].createMany({
|
|
53
53
|
data: body,
|
|
54
54
|
});
|
|
55
|
-
const total = await
|
|
55
|
+
const total = await prisma[this.modelName].count();
|
|
56
56
|
return { total, data };
|
|
57
57
|
}
|
|
58
58
|
async findMany(filters) {
|
|
59
|
-
const
|
|
59
|
+
const prisma = await (0, prisma_helpers_1.loadPrismaModule)();
|
|
60
|
+
const data = await prisma[this.modelName].findMany("select" in filters
|
|
60
61
|
? (0, deepmerge_1.default)({ ...filters }, {
|
|
61
62
|
select: this.singularRelationFieldToInclude,
|
|
62
63
|
})
|
|
63
64
|
: (0, deepmerge_1.default)({ ...filters }, {
|
|
64
65
|
include: this.singularRelationFieldToInclude,
|
|
65
66
|
}));
|
|
66
|
-
const total = await
|
|
67
|
+
const total = await prisma[this.modelName].count({
|
|
67
68
|
where: filters.where,
|
|
68
69
|
});
|
|
69
70
|
return { total, data };
|
|
70
71
|
}
|
|
71
72
|
async findOne(params, queryOptions) {
|
|
72
|
-
const
|
|
73
|
+
const prisma = await (0, prisma_helpers_1.loadPrismaModule)();
|
|
74
|
+
const data = await prisma[this.modelName].findUnique((0, deepmerge_1.default)({
|
|
73
75
|
where: { ...params, id: String(params.id) },
|
|
74
76
|
...(JSON.parse(queryOptions || "{}").hasOwnProperty("select")
|
|
75
77
|
? {
|
|
@@ -91,10 +93,11 @@ class BaseService {
|
|
|
91
93
|
return data;
|
|
92
94
|
}
|
|
93
95
|
async updateOne(params, body, queryOptions) {
|
|
96
|
+
const prisma = await (0, prisma_helpers_1.loadPrismaModule)();
|
|
94
97
|
const bodyWithRelationFieldsHandled = (0, base_helpers_1.handleRelationFieldsInBody)(body, {
|
|
95
98
|
...this.relationFields,
|
|
96
99
|
});
|
|
97
|
-
const data = await
|
|
100
|
+
const data = await prisma[this.modelName].update((0, deepmerge_1.default)({
|
|
98
101
|
where: { ...params, id: String(params.id) },
|
|
99
102
|
data: bodyWithRelationFieldsHandled,
|
|
100
103
|
include: {
|
|
@@ -108,21 +111,23 @@ class BaseService {
|
|
|
108
111
|
return data;
|
|
109
112
|
}
|
|
110
113
|
async updateMany(filter, body) {
|
|
114
|
+
const prisma = await (0, prisma_helpers_1.loadPrismaModule)();
|
|
111
115
|
if (!filter || typeof filter !== "object") {
|
|
112
116
|
throw new app_error_1.default("Invalid filter provided for udpate many.", 400);
|
|
113
117
|
}
|
|
114
|
-
const data = await
|
|
118
|
+
const data = await prisma[this.modelName].updateMany({
|
|
115
119
|
...filter,
|
|
116
120
|
data: body,
|
|
117
121
|
});
|
|
118
122
|
if (!data || data.count === 0) {
|
|
119
123
|
throw new app_error_1.default(`${(0, pluralize_1.default)((0, change_case_all_1.pascalCase)(String(this.modelName)))} not found`, 404);
|
|
120
124
|
}
|
|
121
|
-
const total = await
|
|
125
|
+
const total = await prisma[this.modelName].count();
|
|
122
126
|
return { total, data };
|
|
123
127
|
}
|
|
124
128
|
async deleteOne(params) {
|
|
125
|
-
|
|
129
|
+
const prisma = await (0, prisma_helpers_1.loadPrismaModule)();
|
|
130
|
+
return await prisma[this.modelName].delete({
|
|
126
131
|
where: {
|
|
127
132
|
...params,
|
|
128
133
|
id: String(params.id),
|
|
@@ -130,20 +135,25 @@ class BaseService {
|
|
|
130
135
|
});
|
|
131
136
|
}
|
|
132
137
|
async deleteMany(filter) {
|
|
138
|
+
const prisma = await (0, prisma_helpers_1.loadPrismaModule)();
|
|
133
139
|
if (!filter || typeof filter !== "object") {
|
|
134
140
|
throw new app_error_1.default("Invalid filter provided for deletion.", 400);
|
|
135
141
|
}
|
|
136
|
-
const data = await
|
|
142
|
+
const data = await prisma[this.modelName].deleteMany(filter);
|
|
137
143
|
if (!data || data.count === 0) {
|
|
138
144
|
throw new app_error_1.default(`No records found to delete`, 404);
|
|
139
145
|
}
|
|
140
|
-
const total = await
|
|
146
|
+
const total = await prisma[this.modelName].count();
|
|
141
147
|
return { total, data };
|
|
142
148
|
}
|
|
143
149
|
}
|
|
144
150
|
exports.BaseService = BaseService;
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
}
|
|
148
|
-
|
|
151
|
+
function getBaseServices() {
|
|
152
|
+
const models = (0, models_helpers_1.getModels)();
|
|
153
|
+
const baseServices = {};
|
|
154
|
+
models.forEach((model) => {
|
|
155
|
+
baseServices[`${(0, change_case_all_1.camelCase)(model)}`] = new BaseService(model);
|
|
156
|
+
});
|
|
157
|
+
return baseServices;
|
|
158
|
+
}
|
|
149
159
|
//# sourceMappingURL=base.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.service.js","sourceRoot":"","sources":["../../../src/modules/base/base.service.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"base.service.js","sourceRoot":"","sources":["../../../src/modules/base/base.service.ts"],"names":[],"mappings":";;;;;;AAkPA,0CAOC;AAzPD,qDAAwD;AACxD,uEAI4C;AAC5C,0DAAkC;AAClC,iFAAwD;AACxD,0DAAkC;AAClC,uDAAkE;AAClE,uEAAsE;AAEtE,MAAa,WAAW;IACtB,SAAS,CAAS;IAClB,cAAc,CAAiB;IAC/B,8BAA8B,CAA0B;IACxD,0BAA0B,CAA0B;IACpD,qCAAqC;IACrC,MAAM,CAAM;IAEZ,YAAY,SAAiB;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAA,2BAAS,EAAC,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,IAAA,wCAAuB,EAAC,IAAA,4BAAU,EAAC,SAAS,CAAC,CAAE,CAAC;QACtE,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,MAAM,CACzE,CAAC,GAA4B,EAAE,IAAI,EAAE,EAAE;YACrC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACtB,OAAO,GAAG,CAAC;QACb,CAAC,EACD,EAAE,CACH,CAAC;QACF,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,CACjE,CAAC,GAA4B,EAAE,IAAI,EAAE,EAAE;YACrC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACtB,OAAO,GAAG,CAAC;QACb,CAAC,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CACb,IAAyB,EACzB,YAAqB;QAErB,MAAM,MAAM,GAAG,MAAM,IAAA,iCAAgB,GAAE,CAAC;QACxC,MAAM,6BAA6B,GAAG,IAAA,yCAA0B,EAC9D,IAAI,EACJ;YACE,GAAG,IAAI,CAAC,cAAc;SACvB,EACD,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,CACnC,CAAC;QAEF,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CACxC,IAAA,mBAAS,EACP;YACE,IAAI,EAAE,6BAA6B;YACnC,OAAO,EAAE;gBACP,GAAG,IAAI,CAAC,8BAA8B;gBACtC,GAAG,IAAI,CAAC,8BAA8B;aACvC;SACF,EACD,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,CACjC,CACF,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,UAAU,CACd,IAA2B;QAE3B,MAAM,MAAM,GAAG,MAAM,IAAA,iCAAgB,GAAE,CAAC;QAExC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,mBAAQ,CAChB,oDAAoD,EACpD,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC;YACnD,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;QACnD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IACD,KAAK,CAAC,QAAQ,CACZ,OAA4B;QAE5B,MAAM,MAAM,GAAG,MAAM,IAAA,iCAAgB,GAAE,CAAC;QAExC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAChD,QAAQ,IAAI,OAAO;YACjB,CAAC,CAAC,IAAA,mBAAS,EACP,EAAE,GAAG,OAAO,EAAE,EACd;gBACE,MAAM,EAAE,IAAI,CAAC,8BAA8B;aAC5C,CACF;YACH,CAAC,CAAC,IAAA,mBAAS,EACP,EAAE,GAAG,OAAO,EAAE,EACd;gBACE,OAAO,EAAE,IAAI,CAAC,8BAA8B;aAC7C,CACF,CACN,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;YAC/C,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;QAEH,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,OAAO,CACX,MAA2B,EAC3B,YAAqB;QAErB,MAAM,MAAM,GAAG,MAAM,IAAA,iCAAgB,GAAE,CAAC;QAExC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAClD,IAAA,mBAAS,EACP;YACE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;YAC3C,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC;gBAC3D,CAAC,CAAC;oBACE,MAAM,EAAE;wBACN,GAAG,IAAI,CAAC,8BAA8B;wBACtC,GAAG,IAAI,CAAC,8BAA8B;qBACvC;iBACF;gBACH,CAAC,CAAC;oBACE,OAAO,EAAE;wBACP,GAAG,IAAI,CAAC,8BAA8B;wBACtC,GAAG,IAAI,CAAC,8BAA8B;qBACvC;iBACF,CAAC;SACP,EACD,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,CACjC,CACF,CAAC;QAEF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,mBAAQ,CAChB,GAAG,IAAA,4BAAU,EAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,YAAY,MAAM,CAAC,EAAE,YAAY,EACtE,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAS,CACb,MAA2B,EAC3B,IAAyB,EACzB,YAAqB;QAErB,MAAM,MAAM,GAAG,MAAM,IAAA,iCAAgB,GAAE,CAAC;QAExC,MAAM,6BAA6B,GAAG,IAAA,yCAA0B,EAAC,IAAI,EAAE;YACrE,GAAG,IAAI,CAAC,cAAc;SACvB,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAC9C,IAAA,mBAAS,EACP;YACE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;YAC3C,IAAI,EAAE,6BAA6B;YACnC,OAAO,EAAE;gBACP,GAAG,IAAI,CAAC,8BAA8B;gBACtC,GAAG,IAAI,CAAC,8BAA8B;aACvC;SACF,EACD,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,CACjC,CACF,CAAC;QAEF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,mBAAQ,CAChB,GAAG,IAAA,4BAAU,EAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,YAAY,MAAM,CAAC,EAAE,YAAY,EACtE,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,UAAU,CACd,MAA2B,EAC3B,IAAyB;QAEzB,MAAM,MAAM,GAAG,MAAM,IAAA,iCAAgB,GAAE,CAAC;QAExC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,IAAI,mBAAQ,CAAC,0CAA0C,EAAE,GAAG,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC;YACnD,GAAG,MAAM;YACT,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,mBAAQ,CAChB,GAAG,IAAA,mBAAS,EAAC,IAAA,4BAAU,EAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,EAC5D,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;QACnD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAA2B;QACzC,MAAM,MAAM,GAAG,MAAM,IAAA,iCAAgB,GAAE,CAAC;QAExC,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;YACzC,KAAK,EAAE;gBACL,GAAG,MAAM;gBACT,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;aACtB;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CACd,MAA2B;QAE3B,MAAM,MAAM,GAAG,MAAM,IAAA,iCAAgB,GAAE,CAAC;QAExC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,IAAI,mBAAQ,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAE7D,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,mBAAQ,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;QACnD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AApOD,kCAoOC;AAED,SAAgB,eAAe;IAC7B,MAAM,MAAM,GAAG,IAAA,0BAAS,GAAE,CAAC;IAC3B,MAAM,YAAY,GAAgC,EAAE,CAAC;IACrD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,YAAY,CAAC,GAAG,IAAA,2BAAS,EAAC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IACH,OAAO,YAAY,CAAC;AACtB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BaseService } from
|
|
1
|
+
import { BaseService } from "../base/base.service";
|
|
2
2
|
export type EmailOptions = {
|
|
3
3
|
from?: string;
|
|
4
4
|
to: string | string[];
|
|
@@ -19,4 +19,6 @@ export declare class EmailService extends BaseService {
|
|
|
19
19
|
error?: any;
|
|
20
20
|
}>;
|
|
21
21
|
}
|
|
22
|
+
declare const emailService: EmailService;
|
|
23
|
+
export default emailService;
|
|
22
24
|
//# sourceMappingURL=email.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.service.d.ts","sourceRoot":"","sources":["../../../src/modules/email/email.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"email.service.d.ts","sourceRoot":"","sources":["../../../src/modules/email/email.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,YAAa,SAAQ,WAAW;IAC3C,OAAO,CAAC,WAAW,CAAc;gBAG/B,IAAI,GAAE,MAAgC,EACtC,IAAI;;;KAAqE,EACzE,IAAI,SAA4C;IAWlD,OAAO,CAAC,gBAAgB;IAUX,IAAI,CACf,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;CAclE;AAED,QAAA,MAAM,YAAY,cAAqB,CAAC;AAExC,eAAe,YAAY,CAAC"}
|
|
@@ -8,8 +8,8 @@ const nodemailer_1 = __importDefault(require("nodemailer"));
|
|
|
8
8
|
const base_service_1 = require("../base/base.service");
|
|
9
9
|
class EmailService extends base_service_1.BaseService {
|
|
10
10
|
transporter;
|
|
11
|
-
constructor(host = process.env.EMAIL_HOST, auth = { user: process.env.EMAIL_FROM, pass: process.env.EMAIL_PASSWORD }, port = parseInt(process.env.EMAIL_PORT ||
|
|
12
|
-
super(
|
|
11
|
+
constructor(host = process.env.EMAIL_HOST, auth = { user: process.env.EMAIL_FROM, pass: process.env.EMAIL_PASSWORD }, port = parseInt(process.env.EMAIL_PORT || "465")) {
|
|
12
|
+
super("email");
|
|
13
13
|
this.transporter = nodemailer_1.default.createTransport({
|
|
14
14
|
host,
|
|
15
15
|
port,
|
|
@@ -20,10 +20,10 @@ class EmailService extends base_service_1.BaseService {
|
|
|
20
20
|
verifyConnection() {
|
|
21
21
|
this.transporter.verify((error) => {
|
|
22
22
|
if (error) {
|
|
23
|
-
console.error(
|
|
23
|
+
console.error("Email server connection error:", error);
|
|
24
24
|
}
|
|
25
25
|
else {
|
|
26
|
-
console.info(
|
|
26
|
+
console.info("Email server connection successful");
|
|
27
27
|
}
|
|
28
28
|
});
|
|
29
29
|
}
|
|
@@ -42,4 +42,6 @@ class EmailService extends base_service_1.BaseService {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
exports.EmailService = EmailService;
|
|
45
|
+
const emailService = new EmailService();
|
|
46
|
+
exports.default = emailService;
|
|
45
47
|
//# sourceMappingURL=email.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.service.js","sourceRoot":"","sources":["../../../src/modules/email/email.service.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"email.service.js","sourceRoot":"","sources":["../../../src/modules/email/email.service.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAqD;AACrD,uDAAmD;AAUnD,MAAa,YAAa,SAAQ,0BAAW;IACnC,WAAW,CAAc;IAEjC,YACE,OAAe,OAAO,CAAC,GAAG,CAAC,UAAW,EACtC,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,EACzE,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,KAAK,CAAC;QAEhD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,WAAW,GAAG,oBAAU,CAAC,eAAe,CAAC;YAC5C,IAAI;YACJ,IAAI;YACJ,MAAM,EAAE,IAAI;YACZ,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAChC,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YACrD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,IAAI,CACf,OAAqB;QAErB,IAAI,CAAC;YACH,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;gBAC3C,GAAG,OAAO;gBACV,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU;aAC9C,CAAC,CAAC;YAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF;AA3CD,oCA2CC;AAED,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;AAExC,kBAAe,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-handler.controller.d.ts","sourceRoot":"","sources":["../../../src/modules/error-handler/error-handler.controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"error-handler.controller.d.ts","sourceRoot":"","sources":["../../../src/modules/error-handler/error-handler.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AA0EzC,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,GAAG,EAAE,QAAQ,EACb,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,QA0FnB"}
|
|
@@ -174,9 +174,15 @@ function errorHandler(err, req, res, next) {
|
|
|
174
174
|
sendProductionError(error, req, res);
|
|
175
175
|
}
|
|
176
176
|
process.on("SIGTERM", () => {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
}
|
|
177
|
+
if (process.env.NODE_ENV !== "production" &&
|
|
178
|
+
process.env.NODE_ENV !== "staging") {
|
|
179
|
+
process.exit();
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
console.error("👋🏽 SIGTERM RECEIVED in Production. Shutting down gracefully!");
|
|
183
|
+
server_1.server.close(() => {
|
|
184
|
+
console.error("🔥 Process terminated");
|
|
185
|
+
});
|
|
186
|
+
}
|
|
181
187
|
});
|
|
182
188
|
//# sourceMappingURL=error-handler.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-handler.controller.js","sourceRoot":"","sources":["../../../src/modules/error-handler/error-handler.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"error-handler.controller.js","sourceRoot":"","sources":["../../../src/modules/error-handler/error-handler.controller.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ import { IncomingMessage, Server, ServerResponse } from "http";
|
|
|
2
2
|
import { Express } from "express";
|
|
3
3
|
import { InitConfigs } from "./app";
|
|
4
4
|
declare let server: Server<typeof IncomingMessage, typeof ServerResponse>;
|
|
5
|
-
declare let app: Express;
|
|
6
5
|
/**
|
|
7
6
|
* Initializes the application server.
|
|
8
7
|
*
|
|
@@ -10,12 +9,14 @@ declare let app: Express;
|
|
|
10
9
|
* The port is determined by the following order of precedence:
|
|
11
10
|
* 1. The `PORT` environment variable.
|
|
12
11
|
* 2. The `port` argument passed to the function.
|
|
13
|
-
* 3. Defaults to `
|
|
12
|
+
* 3. Defaults to `8000` if neither is provided.
|
|
14
13
|
*
|
|
15
14
|
* @param {Express} app - express app.
|
|
16
|
-
* @param {InitConfigs} initConfigs - initial configs for the api (
|
|
15
|
+
* @param {InitConfigs} initConfigs - initial configs for the api ( authentication, port).
|
|
17
16
|
* @returns {Promise<void>} This function does not return a value.
|
|
18
17
|
*/
|
|
19
|
-
declare function initApp(app: Express, initConfigs
|
|
20
|
-
export
|
|
18
|
+
declare function initApp(app: Express, initConfigs?: InitConfigs): Promise<void>;
|
|
19
|
+
export declare function getInitConfigs(): InitConfigs;
|
|
20
|
+
export declare function getExpressApp(): Express;
|
|
21
|
+
export { server, initApp };
|
|
21
22
|
//# sourceMappingURL=server.d.ts.map
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAa,WAAW,EAAE,MAAM,OAAO,CAAC;AAS/C,QAAA,IAAI,MAAM,EAAE,MAAM,CAAC,OAAO,eAAe,EAAE,OAAO,cAAc,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAa,WAAW,EAAE,MAAM,OAAO,CAAC;AAS/C,QAAA,IAAI,MAAM,EAAE,MAAM,CAAC,OAAO,eAAe,EAAE,OAAO,cAAc,CAAC,CAAC;AAIlE;;;;;;;;;;;;GAYG;AACH,iBAAe,OAAO,CACpB,GAAG,EAAE,OAAO,EACZ,WAAW,GAAE,WAEZ,GACA,OAAO,CAAC,IAAI,CAAC,CAaf;AAUD,wBAAgB,cAAc,gBAE7B;AAED,wBAAgB,aAAa,YAE5B;AAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC"}
|
package/dist/server.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.server = void 0;
|
|
4
|
+
exports.getInitConfigs = getInitConfigs;
|
|
5
|
+
exports.getExpressApp = getExpressApp;
|
|
4
6
|
exports.initApp = initApp;
|
|
5
7
|
const app_1 = require("./app");
|
|
6
8
|
process.on("uncaughtException", (err) => {
|
|
@@ -10,7 +12,8 @@ process.on("uncaughtException", (err) => {
|
|
|
10
12
|
process.exit(1);
|
|
11
13
|
});
|
|
12
14
|
let server;
|
|
13
|
-
let
|
|
15
|
+
let _app;
|
|
16
|
+
let _initConfigs;
|
|
14
17
|
/**
|
|
15
18
|
* Initializes the application server.
|
|
16
19
|
*
|
|
@@ -18,17 +21,19 @@ let app;
|
|
|
18
21
|
* The port is determined by the following order of precedence:
|
|
19
22
|
* 1. The `PORT` environment variable.
|
|
20
23
|
* 2. The `port` argument passed to the function.
|
|
21
|
-
* 3. Defaults to `
|
|
24
|
+
* 3. Defaults to `8000` if neither is provided.
|
|
22
25
|
*
|
|
23
26
|
* @param {Express} app - express app.
|
|
24
|
-
* @param {InitConfigs} initConfigs - initial configs for the api (
|
|
27
|
+
* @param {InitConfigs} initConfigs - initial configs for the api ( authentication, port).
|
|
25
28
|
* @returns {Promise<void>} This function does not return a value.
|
|
26
29
|
*/
|
|
27
|
-
async function initApp(app, initConfigs
|
|
30
|
+
async function initApp(app, initConfigs = {
|
|
31
|
+
authentication: false,
|
|
32
|
+
}) {
|
|
33
|
+
_app = app;
|
|
34
|
+
_initConfigs = initConfigs;
|
|
28
35
|
const port = initConfigs.port || Number(process.env.PORT) || 8000;
|
|
29
|
-
const application = await (0, app_1.bootstrap)(app,
|
|
30
|
-
authentication: initConfigs.authentication || false,
|
|
31
|
-
});
|
|
36
|
+
const application = await (0, app_1.bootstrap)(app, initConfigs);
|
|
32
37
|
exports.server = server = application.listen(port, () => {
|
|
33
38
|
const time = new Date().toTimeString().split(" ")[0];
|
|
34
39
|
console.info(`[\x1b[32mREADY\x1b[0m] \x1b[90m${time}\x1b[0m App running on port \x1b[33m${port}\x1b[0m, server waiting on http://localhost:${port}`);
|
|
@@ -41,10 +46,10 @@ process.on("unhandledRejection", (err) => {
|
|
|
41
46
|
process.exit(1);
|
|
42
47
|
});
|
|
43
48
|
});
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
49
|
+
function getInitConfigs() {
|
|
50
|
+
return _initConfigs;
|
|
51
|
+
}
|
|
52
|
+
function getExpressApp() {
|
|
53
|
+
return _app;
|
|
54
|
+
}
|
|
50
55
|
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;;AAyDA,wCAEC;AAED,sCAEC;AAEgB,0BAAO;AA9DxB,+BAA+C;AAE/C,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE;IACtC,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACtD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,IAAI,MAA6D,CAAC;AAClE,IAAI,IAAa,CAAC;AAClB,IAAI,YAAyB,CAAC;AAE9B;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,OAAO,CACpB,GAAY,EACZ,cAA2B;IACzB,cAAc,EAAE,KAAK;CACtB;IAED,IAAI,GAAG,GAAG,CAAC;IACX,YAAY,GAAG,WAAW,CAAC;IAE3B,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IAClE,MAAM,WAAW,GAAG,MAAM,IAAA,eAAS,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAEtD,iBAAA,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;QACrC,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CACV,kCAAkC,IAAI,uCAAuC,IAAI,+CAA+C,IAAI,EAAE,CACvI,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAa,EAAE,EAAE;IACjD,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IACvD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;QAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,SAAgB,cAAc;IAC5B,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAgB,aAAa;IAC3B,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -4,7 +4,6 @@ export declare function importPrismaModelModules(modelName: string): Promise<{
|
|
|
4
4
|
prismaQueryOptions?: any;
|
|
5
5
|
}>;
|
|
6
6
|
export declare function getAppWidthEjectedMiddlewares(app: any): Promise<any>;
|
|
7
|
-
declare const models: string[];
|
|
8
7
|
export type RelationFields = {
|
|
9
8
|
singular: {
|
|
10
9
|
name: string;
|
|
@@ -16,6 +15,8 @@ export type RelationFields = {
|
|
|
16
15
|
}[];
|
|
17
16
|
};
|
|
18
17
|
declare const prismaModelRelationFields: Record<string, RelationFields>;
|
|
18
|
+
declare const models: string[];
|
|
19
19
|
export declare function getPrismaModelRelations(modelName: string): RelationFields | undefined;
|
|
20
|
-
|
|
20
|
+
declare function getModels(): string[];
|
|
21
|
+
export { models, getModels, prismaModelRelationFields };
|
|
21
22
|
//# sourceMappingURL=models.helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers/models.helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"models.helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers/models.helpers.ts"],"names":[],"mappings":"AAKA,wBAAsB,wBAAwB,CAAC,SAAS,EAAE,MAAM;kBAuB9C,GAAG;kBACH,GAAG;yBACI,GAAG;GA4C3B;AAED,wBAAsB,6BAA6B,CAAC,GAAG,EAAE,GAAG,gBAoB3D;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3C,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACxC,CAAC;AAKF,QAAA,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAM,CAAC;AAmBrE,QAAA,MAAM,MAAM,EAAE,MAAM,EAAO,CAAC;AAwF5B,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,8BAIxD;AAED,iBAAS,SAAS,aAEjB;AAED,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,yBAAyB,EAAE,CAAC"}
|
|
@@ -40,11 +40,11 @@ exports.prismaModelRelationFields = exports.models = void 0;
|
|
|
40
40
|
exports.importPrismaModelModules = importPrismaModelModules;
|
|
41
41
|
exports.getAppWidthEjectedMiddlewares = getAppWidthEjectedMiddlewares;
|
|
42
42
|
exports.getPrismaModelRelations = getPrismaModelRelations;
|
|
43
|
+
exports.getModels = getModels;
|
|
43
44
|
const paths_1 = require("../../paths");
|
|
44
45
|
const path_1 = __importDefault(require("path"));
|
|
45
46
|
const fs_1 = __importDefault(require("fs"));
|
|
46
47
|
const change_case_all_1 = require("change-case-all");
|
|
47
|
-
const app_1 = require("../../app");
|
|
48
48
|
async function importPrismaModelModules(modelName) {
|
|
49
49
|
const kebabModelName = (0, change_case_all_1.kebabCase)(modelName);
|
|
50
50
|
const moduleDir = path_1.default.resolve(paths_1.ROOT_DIR, "src", "modules", modelName);
|
|
@@ -103,23 +103,30 @@ async function getAppWidthEjectedMiddlewares(app) {
|
|
|
103
103
|
return null;
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
|
-
const models = [];
|
|
107
|
-
exports.models = models;
|
|
108
|
-
Object.keys(app_1.prisma || {}).forEach((key) => {
|
|
109
|
-
const value = app_1.prisma[key];
|
|
110
|
-
if (value &&
|
|
111
|
-
typeof value === "object" &&
|
|
112
|
-
typeof value.findUnique === "function") {
|
|
113
|
-
models.push(key);
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
106
|
const schemaFolderPath = `./prisma/schema`;
|
|
117
107
|
// Read and process the schema files once
|
|
118
108
|
const prismaModelRelationFields = {};
|
|
119
109
|
exports.prismaModelRelationFields = prismaModelRelationFields;
|
|
110
|
+
const prismaContent = [];
|
|
120
111
|
const files = fs_1.default
|
|
121
112
|
.readdirSync(schemaFolderPath)
|
|
122
113
|
.filter((file) => file.endsWith(".prisma"));
|
|
114
|
+
for (const file of files) {
|
|
115
|
+
const filePath = path_1.default.join(schemaFolderPath, file);
|
|
116
|
+
const stats = fs_1.default.statSync(filePath);
|
|
117
|
+
if (stats.isFile()) {
|
|
118
|
+
const content = fs_1.default.readFileSync(filePath, "utf-8");
|
|
119
|
+
prismaContent.push(content);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
const modelRegex = /model\s+(\w+)\s*{/g;
|
|
123
|
+
const models = [];
|
|
124
|
+
exports.models = models;
|
|
125
|
+
prismaContent.join("\n").replace(modelRegex, (_, modelName) => {
|
|
126
|
+
if (!models.includes(modelName))
|
|
127
|
+
models.push((0, change_case_all_1.camelCase)(modelName.trim()));
|
|
128
|
+
return modelName;
|
|
129
|
+
});
|
|
123
130
|
for (const model of models) {
|
|
124
131
|
const modelName = (0, change_case_all_1.pascalCase)(model);
|
|
125
132
|
let modelFile;
|
|
@@ -128,6 +135,7 @@ for (const model of models) {
|
|
|
128
135
|
const stats = fs_1.default.statSync(filePath);
|
|
129
136
|
if (stats.isFile()) {
|
|
130
137
|
const content = fs_1.default.readFileSync(filePath, "utf-8");
|
|
138
|
+
prismaContent.push(content);
|
|
131
139
|
if (content.includes(`model ${modelName} {`)) {
|
|
132
140
|
modelFile = file;
|
|
133
141
|
break;
|
|
@@ -189,4 +197,7 @@ function getPrismaModelRelations(modelName) {
|
|
|
189
197
|
return;
|
|
190
198
|
return prismaModelRelationFields[modelName];
|
|
191
199
|
}
|
|
200
|
+
function getModels() {
|
|
201
|
+
return models;
|
|
202
|
+
}
|
|
192
203
|
//# sourceMappingURL=models.helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.helpers.js","sourceRoot":"","sources":["../../../src/utils/helpers/models.helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"models.helpers.js","sourceRoot":"","sources":["../../../src/utils/helpers/models.helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prisma.helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers/prisma.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAM1D,eAAO,MAAM,gBAAgB,oBAW5B,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"prisma.helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers/prisma.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAM1D,eAAO,MAAM,gBAAgB,oBAW5B,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,QAAQ,GAAG,8DAU/C,CAAC"}
|