@scefira/dfw 1.2.2 → 1.2.4

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 (56) hide show
  1. package/dist/lib/APIListener.d.ts +16 -2
  2. package/dist/lib/APIListener.d.ts.map +1 -1
  3. package/dist/lib/APIListener.js +2 -2
  4. package/dist/lib/APIListener.js.map +1 -1
  5. package/dist/lib/APIManager.d.ts.map +1 -1
  6. package/dist/lib/APIManager.js +29 -1
  7. package/dist/lib/APIManager.js.map +1 -1
  8. package/dist/lib/DFWCore.d.ts.map +1 -1
  9. package/dist/lib/DFWCore.js +12 -10
  10. package/dist/lib/DFWCore.js.map +1 -1
  11. package/dist/lib/DFWService.d.ts +3 -0
  12. package/dist/lib/DFWService.d.ts.map +1 -1
  13. package/dist/lib/DFWService.js +17 -0
  14. package/dist/lib/DFWService.js.map +1 -1
  15. package/dist/lib/DFWSessionStore.d.ts.map +1 -1
  16. package/dist/lib/DFWSessionStore.js +12 -6
  17. package/dist/lib/DFWSessionStore.js.map +1 -1
  18. package/dist/lib/DFWUtils.d.ts +8 -1
  19. package/dist/lib/DFWUtils.d.ts.map +1 -1
  20. package/dist/lib/DFWUtils.js +28 -3
  21. package/dist/lib/DFWUtils.js.map +1 -1
  22. package/dist/listeners/DELETEListener.d.ts +1 -1
  23. package/dist/listeners/DELETEListener.d.ts.map +1 -1
  24. package/dist/listeners/GETListener.d.ts +1 -1
  25. package/dist/listeners/GETListener.d.ts.map +1 -1
  26. package/dist/listeners/PATCHListener.d.ts +1 -1
  27. package/dist/listeners/PATCHListener.d.ts.map +1 -1
  28. package/dist/listeners/POSTListener.d.ts +1 -1
  29. package/dist/listeners/POSTListener.d.ts.map +1 -1
  30. package/dist/listeners/PUTListener.d.ts +1 -1
  31. package/dist/listeners/PUTListener.d.ts.map +1 -1
  32. package/dist/modules/DFWFileModule.d.ts +1 -1
  33. package/dist/test.d.ts +20 -1
  34. package/dist/test.d.ts.map +1 -1
  35. package/dist/test.js +29 -20
  36. package/dist/test.js.map +1 -1
  37. package/dist/types/DFWConfig.d.ts +1 -2
  38. package/dist/types/DFWConfig.d.ts.map +1 -1
  39. package/dist/types/DFWDatabase.d.ts +4 -0
  40. package/dist/types/DFWDatabase.d.ts.map +1 -0
  41. package/dist/types/DFWDatabase.js +3 -0
  42. package/dist/types/DFWDatabase.js.map +1 -0
  43. package/package.json +2 -2
  44. package/prisma/schema/dfw.prisma +6 -6
  45. package/dist/lib/strategies/DFWPassportStrategy.d.ts +0 -4
  46. package/dist/lib/strategies/DFWPassportStrategy.d.ts.map +0 -1
  47. package/dist/lib/strategies/DFWPassportStrategy.js +0 -36
  48. package/dist/lib/strategies/DFWPassportStrategy.js.map +0 -1
  49. package/dist/modules/FileModule.d.ts +0 -32
  50. package/dist/modules/FileModule.d.ts.map +0 -1
  51. package/dist/modules/FileModule.js +0 -59
  52. package/dist/modules/FileModule.js.map +0 -1
  53. package/dist/modules/SecurityModule.d.ts +0 -27
  54. package/dist/modules/SecurityModule.d.ts.map +0 -1
  55. package/dist/modules/SecurityModule.js +0 -108
  56. package/dist/modules/SecurityModule.js.map +0 -1
@@ -2,6 +2,7 @@ import { Handler } from "express";
2
2
  import fileUpload from "express-fileupload";
3
3
  import { DFWRequest, DFWRequestSchema, DFWResponse } from "../types";
4
4
  import { DFWServiceConstructor } from "./DFWService";
5
+ import { ZodSchema } from "zod";
5
6
  export type APIMethod = 'get' | 'post' | 'put' | 'delete' | 'options' | 'patch' | 'use';
6
7
  export type ListenerFn<TServices extends readonly DFWServiceConstructor[] = []> = (dfw: DFWRequestSchema<TServices>, req: DFWRequest<TServices>, res: DFWResponse) => Promise<any | void> | any | void;
7
8
  export type APIListener = {
@@ -12,11 +13,24 @@ export type APIListener = {
12
13
  /**
13
14
  * Main function to be called
14
15
  */
15
- listener?: ListenerFn;
16
+ fn?: ListenerFn;
16
17
  /**
17
18
  * Express middleware (compatible with raw listeners)
18
19
  */
19
20
  middleware?: Handler | Handler[];
21
+ /**
22
+ * zod validations
23
+ */
24
+ validate?: {
25
+ /**
26
+ * Validate the request body
27
+ */
28
+ body?: ZodSchema;
29
+ /**
30
+ * Validate the request query
31
+ */
32
+ query?: ZodSchema;
33
+ };
20
34
  /**
21
35
  *
22
36
  */
@@ -49,7 +63,7 @@ export type APIListenerFunction = {
49
63
  };
50
64
  export declare const makeAPIListenerFunction: (baseParams: Partial<APIListener>) => {
51
65
  <TServices extends readonly DFWServiceConstructor[]>(params: APIListenerWithoutMethod & {
52
- services: TServices;
66
+ services?: TServices;
53
67
  }, fn: ListenerFn<TServices>): APIListener;
54
68
  (fn: ListenerFn): APIListener;
55
69
  };
@@ -1 +1 @@
1
- {"version":3,"file":"APIListener.d.ts","sourceRoot":"","sources":["../../src/lib/APIListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,UAAU,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,CAAA;AACvF,MAAM,MAAM,UAAU,CAAC,SAAS,SAAS,SAAS,qBAAqB,EAAE,GAAG,EAAE,IAC5E,CACE,GAAG,EAAE,gBAAgB,CAAC,SAAS,CAAC,EAChC,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC,EAC1B,GAAG,EAAE,WAAW,KACb,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;AAExC,MAAM,MAAM,WAAW,GAAG;IAExB;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAA;IAErB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,EAAE,qBAAqB,EAAE,CAAA;IAElC;;OAEG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,GAAG,OAAO,CAAA;IAErC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAChE,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AACjE,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAEnE,MAAM,MAAM,mBAAmB,GAAG;IAChC,CAAC,EAAE,EAAE,UAAU,GAAG,WAAW,CAAC;IAC9B,CAAC,MAAM,EAAE,oBAAoB,EAAE,EAAE,EAAE,UAAU,GAAG,WAAW,CAAC;CAC7D,CAAA;AAED,eAAO,MAAM,uBAAuB,eAAgB,OAAO,CAAC,WAAW,CAAC;KACpD,SAAS,SAAS,SAAS,qBAAqB,EAAE,UAC1D,wBAAwB,GAAG;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,MACtD,UAAU,CAAC,SAAS,CAAC,GACxB,WAAW;SAGR,UAAU,GACb,WAAW;CAkBf,CAAC"}
1
+ {"version":3,"file":"APIListener.d.ts","sourceRoot":"","sources":["../../src/lib/APIListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,UAAU,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAEhC,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,CAAA;AACvF,MAAM,MAAM,UAAU,CAAC,SAAS,SAAS,SAAS,qBAAqB,EAAE,GAAG,EAAE,IAC5E,CACE,GAAG,EAAE,gBAAgB,CAAC,SAAS,CAAC,EAChC,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC,EAC1B,GAAG,EAAE,WAAW,KACb,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;AAExC,MAAM,MAAM,WAAW,GAAG;IAExB;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;OAEG;IACH,EAAE,CAAC,EAAE,UAAU,CAAA;IAEf;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,EAAE;QACT;;WAEG;QACH,IAAI,CAAC,EAAE,SAAS,CAAC;QAEjB;;WAEG;QACH,KAAK,CAAC,EAAE,SAAS,CAAC;KACnB,CAAA;IAED;;OAEG;IACH,QAAQ,CAAC,EAAE,qBAAqB,EAAE,CAAA;IAElC;;OAEG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,GAAG,OAAO,CAAA;IAErC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAChE,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AACjE,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAEnE,MAAM,MAAM,mBAAmB,GAAG;IAChC,CAAC,EAAE,EAAE,UAAU,GAAG,WAAW,CAAC;IAC9B,CAAC,MAAM,EAAE,oBAAoB,EAAE,EAAE,EAAE,UAAU,GAAG,WAAW,CAAC;CAC7D,CAAA;AAED,eAAO,MAAM,uBAAuB,eAAgB,OAAO,CAAC,WAAW,CAAC;KACpD,SAAS,SAAS,SAAS,qBAAqB,EAAE,UAC1D,wBAAwB,GAAG;QAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;KAAE,MACvD,UAAU,CAAC,SAAS,CAAC,GACxB,WAAW;SAGR,UAAU,GACb,WAAW;CAkBf,CAAC"}
@@ -4,10 +4,10 @@ exports.makeAPIListenerFunction = void 0;
4
4
  const makeAPIListenerFunction = (baseParams) => {
5
5
  function listener(arg1, arg2) {
6
6
  if (typeof arg1 === "function") {
7
- return Object.assign({ listener: arg1 }, baseParams);
7
+ return Object.assign({ fn: arg1 }, baseParams);
8
8
  }
9
9
  else {
10
- return Object.assign(Object.assign({ listener: arg2 }, arg1), baseParams);
10
+ return Object.assign(Object.assign({ fn: arg2 }, arg1), baseParams);
11
11
  }
12
12
  }
13
13
  return listener;
@@ -1 +1 @@
1
- {"version":3,"file":"APIListener.js","sourceRoot":"","sources":["../../src/lib/APIListener.ts"],"names":[],"mappings":";;;AAmEO,MAAM,uBAAuB,GAAG,CAAC,UAAgC,EAAE,EAAE;IAU1E,SAAS,QAAQ,CAAC,IAAS,EAAE,IAAU;QACrC,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/B,uBACE,QAAQ,EAAE,IAAI,IACX,UAAU,EACb;QACJ,CAAC;aAAM,CAAC;YACN,qCACE,QAAQ,EAAE,IAAK,IACZ,IAAI,GACJ,UAAU,EACb;QACJ,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AA1BW,QAAA,uBAAuB,2BA0BlC"}
1
+ {"version":3,"file":"APIListener.js","sourceRoot":"","sources":["../../src/lib/APIListener.ts"],"names":[],"mappings":";;;AAmFO,MAAM,uBAAuB,GAAG,CAAC,UAAgC,EAAE,EAAE;IAU1E,SAAS,QAAQ,CAAC,IAAS,EAAE,IAAU;QACrC,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/B,uBACE,EAAE,EAAE,IAAI,IACL,UAAU,EACb;QACJ,CAAC;aAAM,CAAC;YACN,qCACE,EAAE,EAAE,IAAK,IACN,IAAI,GACJ,UAAU,EACb;QACJ,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AA1BW,QAAA,uBAAuB,2BA0BlC"}
@@ -1 +1 @@
1
- {"version":3,"file":"APIManager.d.ts","sourceRoot":"","sources":["../../src/lib/APIManager.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,WAAW,CAAC;AAYhC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,UAAU;IAC3B,OAAO,CAAC,GAAG,CAAS;gBAER,GAAG,EAAE,OAAO;IAIjB,eAAe;IA6Df,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;CA8DvD"}
1
+ {"version":3,"file":"APIManager.d.ts","sourceRoot":"","sources":["../../src/lib/APIManager.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,WAAW,CAAC;AAYhC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,UAAU;IAC3B,OAAO,CAAC,GAAG,CAAS;gBAER,GAAG,EAAE,OAAO;IAIjB,eAAe;IA6Df,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;CA6FvD"}
@@ -81,7 +81,7 @@ class APIManager {
81
81
  var _a;
82
82
  const server = this.DFW.server;
83
83
  const method = (_a = params.method) !== null && _a !== void 0 ? _a : 'get';
84
- const fn = params.listener;
84
+ const fn = params.fn;
85
85
  if (!params.middleware && !fn) {
86
86
  DFWUtils_1.default.log(`Unable to set listener for [${method}] ${path} listener and middleware are undefined`);
87
87
  return;
@@ -89,6 +89,34 @@ class APIManager {
89
89
  // Body Parser
90
90
  if (['post', 'put', 'patch', 'delete'].includes(method) && params.disableBodyParser !== true)
91
91
  server[method](path, body_parser_1.default.json());
92
+ if (params.validate) {
93
+ server[method](path, (req, res, next) => {
94
+ var _a, _b;
95
+ const bodySchema = (_a = params.validate) === null || _a === void 0 ? void 0 : _a.body;
96
+ const querySchema = (_b = params.validate) === null || _b === void 0 ? void 0 : _b.query;
97
+ if (bodySchema) {
98
+ const result = bodySchema.safeParse(req.body);
99
+ if (!result.success) {
100
+ return res.status(400).json({
101
+ error: 'Body validation failed',
102
+ validation: result.error.format(),
103
+ });
104
+ }
105
+ req.body = result.data;
106
+ }
107
+ if (querySchema) {
108
+ const result = querySchema.safeParse(req.query);
109
+ if (!result.success) {
110
+ return res.status(400).json({
111
+ error: 'Query validation failed',
112
+ validation: result.error.format(),
113
+ });
114
+ }
115
+ req.query = result.data;
116
+ }
117
+ next();
118
+ });
119
+ }
92
120
  // DFW native middleware
93
121
  server[method](path, this.DFW.RouterAPILevel);
94
122
  // file upload middleware
@@ -1 +1 @@
1
- {"version":3,"file":"APIManager.js","sourceRoot":"","sources":["../../src/lib/APIManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"APIManager.js","sourceRoot":"","sources":["../../src/lib/APIManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,8DAAqC;AAIrC,0DAAkC;AAClC,kDAA0B;AAC1B,wDAAgC;AAChC,4FAAoE;AACpE,sEAAqC;AACrC,wEAAgD;AAEhD,4EAA4C;AAC5C,+BAAmC;AAGnC,MAAqB,UAAU;IAG3B,YAAY,GAAY;QACpB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAClB,CAAC;IAEM,eAAe;;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAA;QAEzC,8BAA8B;QAC9B,SAAS,CAAC,GAAG,CAAC,IAAA,yBAAO,EAAC;YAClB,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,GAAG,EAAE,CAAC,IAAA,SAAK,GAAE;YACpB,MAAM,EAAE,KAAK;YACb,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE,IAAI,yBAAe,CAAC,IAAI,CAAC,GAAG,CAAC;YACpC,MAAM,EAAE;gBACJ,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,IAAI;aACzC;SACJ,CAAC,CAAC,CAAA;QAEH,SAAS,CAAC,GAAG,CAAC,kBAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;QACpC,SAAS,CAAC,GAAG,CAAC,kBAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;QAEjC,IAAI,CAAA,MAAA,MAAA,MAAM,CAAC,OAAO,0CAAE,cAAc,0CAAE,GAAG,MAAK,KAAK,EAAE,CAAC;YAChD,kBAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,6BAAmB,CAAC,CAAA;QAC5C,CAAC;QAED,kBAAQ,CAAC,aAAa,CAAC,aAA0B,EAAE,kDAArB,EAAE,EAAE,EAAO,EAAE,IAAI;YAC3C,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAClB,CAAC,CAAA,CAAC,CAAA;QAEF,kBAAQ,CAAC,eAAe,CAAC,CAAO,MAAM,EAAE,IAAI,EAAE,EAAE;YAC5C,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAC9B,CAAC,CAAA,CAAC,CAAA;QAEF,oBAAoB;QACpB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,GAAe,EAAE,GAAgB,EAAE,IAAkB,EAAE,EAAE;YACrE,MAAM,aAAa,GAAmB,EAAE,CAAA;YAExC,MAAM,GAAG,GAAG;gBACR,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;gBACf,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;oBACf,eAAe,EAAE,GAAG,CAAC,eAAe,EAAE;oBACtC,IAAI,EAAE,GAAG,CAAC,IAA4B;iBACzC,CAAC;gBAEF,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE;oBAChB,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAC1B,CAAC;aACJ,CAAA;YAED,GAAG,CAAC,GAAG,GAAG,GAAG,CAAA;YACb,GAAG,CAAC,KAAK,GAAG,CAAC,OAAY,EAAE,SAAiB,GAAG,EAAE,EAAE;gBAC/C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;gBAClB,MAAM,OAAO,CAAA;YACjB,CAAC,CAAA;YACD,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;gBAClB,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;YACvC,CAAC,CAAC,CAAA;YACF,IAAI,EAAE,CAAC;QACX,CAAC,CAAQ,CAAC,CAAA;IACd,CAAC;IAEM,WAAW,CAAC,IAAY,EAAE,MAAmB;;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;QAC9B,MAAM,MAAM,GAAG,MAAA,MAAM,CAAC,MAAM,mCAAI,KAAK,CAAA;QACrC,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAA;QAEpB,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,EAAE,EAAE,CAAC;YAC5B,kBAAQ,CAAC,GAAG,CAAC,+BAA+B,MAAM,KAAK,IAAI,wCAAwC,CAAC,CAAA;YACpG,OAAM;QACV,CAAC;QAED,cAAc;QACd,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,iBAAiB,KAAK,IAAI;YAAE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,qBAAU,CAAC,IAAI,EAAE,CAAC,CAAA;QAErI,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,GAAe,EAAE,GAAgB,EAAE,IAAkB,EAAE,EAAE;;gBAC3E,MAAM,UAAU,GAAG,MAAA,MAAM,CAAC,QAAQ,0CAAE,IAAI,CAAA;gBACxC,MAAM,WAAW,GAAG,MAAA,MAAM,CAAC,QAAQ,0CAAE,KAAK,CAAA;gBAE1C,IAAI,UAAU,EAAE,CAAC;oBACb,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;wBAClB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;4BACxB,KAAK,EAAE,wBAAwB;4BAC/B,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;yBACpC,CAAC,CAAA;oBACN,CAAC;oBACD,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;gBAC3B,CAAC;gBAED,IAAI,WAAW,EAAE,CAAC;oBACd,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAChD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;wBAClB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;4BACxB,KAAK,EAAE,yBAAyB;4BAChC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;yBACpC,CAAC,CAAA;oBACN,CAAC;oBACD,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,IAAW,CAAC;gBACnC,CAAC;gBAED,IAAI,EAAE,CAAC;YACX,CAAC,CAAC,CAAA;QACN,CAAC;QAED,wBAAwB;QACxB,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QAE7C,yBAAyB;QACzB,IAAI,MAAM,CAAC,MAAM;YAAE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAA,4BAAU,EAAC,OAAO,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;QAE5G,mCAAmC;QACnC,IAAI,MAAM,CAAC,UAAU;YAAE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;QAE9D,IAAI,EAAE,EAAE,CAAC;YACL,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAO,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;;gBAC1C,IAAI,CAAC;oBACD,sBAAsB;oBACtB,MAAA,MAAM,CAAC,QAAQ,0CAAE,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;wBACjC,MAAM,eAAe,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;wBAC5C,GAAG,CAAC,GAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,eAAe,CAAA;oBACzD,CAAC,CAAC,CAAA;oBAEF,uBAAuB;oBACvB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,GAAuB,EAAE,GAAiB,EAAE,GAAkB,CAAC,CAAC;oBAE1F,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;wBAClB,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAS,CAAC,GAAiB,EAAE,IAAI,CAAC,CAAC,CAAC;oBACtE,CAAC;oBAED,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;wBAC3C,IAAI,IAAI;4BAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;;4BAC1B,GAAG,CAAC,GAAG,EAAE,CAAC;oBACnB,CAAC;oBAED,IAAI,EAAE,CAAC;gBACX,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,IAAI,CAAC,CAAC,CAAC,CAAC;gBACZ,CAAC;YACL,CAAC,CAAA,CAAC,CAAA;QACN,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAQ,EAAE,CAAC,EAAE,GAAa,EAAE,IAAI,EAAE,EAAE;YAClD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa;gBAAE,kBAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACnE,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAA;YACjE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBACzC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;YAChI,CAAC;iBAAM,CAAC;gBACJ,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;YACvD,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,kBAAQ,CAAC,GAAG,CAAC,GAAG,eAAK,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC9F,CAAC;CACJ;AAjKD,6BAiKC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DFWCore.d.ts","sourceRoot":"","sources":["../../src/lib/DFWCore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAqC,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAK7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAIvD,KAAK,eAAe,GAAG,WAAW,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;CAAE,GAAG,eAAe,EAAE,CAAA;AAE3F,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,OAAO,CAAC;QACd,UAAiB,OAAO;YACpB,GAAG,EAAE,gBAAgB,CAAA;SACxB;QAED,UAAiB,QAAQ;YACrB,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;SACjD;KACJ;CACJ;AAED,qBAAa,OAAO;IAEhB,OAAc,aAAa,EAAE,OAAO,CAAA;IAEpC,OAAc,OAAO,SAAW;IAChC,OAAc,cAAc,SAA8B;IAE1D,SAAgB,MAAM,EAAE,OAAO,CAAmB;IAClD,SAAgB,cAAc,EAAE,MAAM,CAAY;IAElD,SAAgB,MAAM,EAAE,MAAM,CAAA;IAE9B,SAAgB,MAAM,EAAE,SAAS,CAAC;IAClC,OAAO,CAAC,QAAQ,CAAe;IAE/B,OAAO,CAAC,UAAU,CAAuB;gBAE7B,MAAM,EAAE,SAAS;IAoCtB,KAAK;IAQL,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI;IACtD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,GAAG,IAAI;IAStD;;;;OAIG;IACI,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,GAAE,MAAW;IAcxD,IAAI,EAAE,mIAEL;CACJ;AAED,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"DFWCore.d.ts","sourceRoot":"","sources":["../../src/lib/DFWCore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAqC,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAK7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAIvD,KAAK,eAAe,GAAG,WAAW,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;CAAE,GAAG,eAAe,EAAE,CAAA;AAE3F,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,OAAO,CAAC;QACd,UAAiB,OAAO;YACpB,GAAG,EAAE,gBAAgB,CAAA;SACxB;QAED,UAAiB,QAAQ;YACrB,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;SACjD;KACJ;CACJ;AAED,qBAAa,OAAO;IAEhB,OAAc,aAAa,EAAE,OAAO,CAAA;IAEpC,OAAc,OAAO,SAAW;IAChC,OAAc,cAAc,SAA8B;IAE1D,SAAgB,MAAM,EAAE,OAAO,CAAmB;IAClD,SAAgB,cAAc,EAAE,MAAM,CAAY;IAElD,SAAgB,MAAM,EAAE,MAAM,CAAA;IAE9B,SAAgB,MAAM,EAAE,SAAS,CAAC;IAClC,OAAO,CAAC,QAAQ,CAAe;IAE/B,OAAO,CAAC,UAAU,CAAuB;gBAE7B,MAAM,EAAE,SAAS;IAqCtB,KAAK;IAQL,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI;IACtD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,GAAG,IAAI;IAStD;;;;OAIG;IACI,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,GAAE,MAAW;IAcxD,IAAI,EAAE,mIAEL;CACJ;AAED,eAAe,OAAO,CAAC"}
@@ -47,7 +47,7 @@ const cors_1 = __importDefault(require("cors"));
47
47
  const path_1 = __importDefault(require("path"));
48
48
  class DFWCore {
49
49
  constructor(config) {
50
- var _a, _b, _c, _d, _e, _f;
50
+ var _a, _b, _c, _d, _e;
51
51
  this.server = (0, express_1.default)();
52
52
  this.RouterAPILevel = (0, express_1.Router)();
53
53
  this.APIManager = new APIManager_1.default(this);
@@ -63,17 +63,19 @@ class DFWCore {
63
63
  fs_1.default.mkdirSync(this.tmpDir);
64
64
  }
65
65
  this.tmpDir = path_1.default.normalize(fs_1.default.mkdtempSync(`${this.tmpDir}${path_1.default.sep}`));
66
- this.database = ((_c = config.server) === null || _c === void 0 ? void 0 : _c.prismaGenerathor) ?
67
- config.server.prismaGenerathor(this)
68
- :
69
- new client_1.PrismaClient(config.prisma);
66
+ if (typeof config.prisma === 'function') {
67
+ this.database = config.prisma(this);
68
+ }
69
+ else {
70
+ this.database = new client_1.PrismaClient(config.prisma);
71
+ }
70
72
  if (fs_1.default.existsSync(DFWCore.DFW_DIR) == false) {
71
73
  fs_1.default.mkdirSync(DFWCore.DFW_DIR);
72
74
  }
73
- if ((_d = config.server) === null || _d === void 0 ? void 0 : _d.trustProxy)
74
- this.server.set('trust proxy', (_e = config.server) === null || _e === void 0 ? void 0 : _e.trustProxy);
75
+ if ((_c = config.server) === null || _c === void 0 ? void 0 : _c.trustProxy)
76
+ this.server.set('trust proxy', (_d = config.server) === null || _d === void 0 ? void 0 : _d.trustProxy);
75
77
  //// CORS ////
76
- if ((_f = config.server) === null || _f === void 0 ? void 0 : _f.cors) {
78
+ if ((_e = config.server) === null || _e === void 0 ? void 0 : _e.cors) {
77
79
  this.server.use((0, cors_1.default)(config.server.cors));
78
80
  }
79
81
  this.APIManager.installAPILAyer();
@@ -89,7 +91,7 @@ class DFWCore {
89
91
  }
90
92
  addListener(path, b) {
91
93
  if (typeof b === 'function') {
92
- this.APIManager.addListener(path, { listener: b });
94
+ this.APIManager.addListener(path, { fn: b });
93
95
  }
94
96
  else {
95
97
  this.APIManager.addListener(path, b);
@@ -104,7 +106,7 @@ class DFWCore {
104
106
  if (Array.isArray(node)) {
105
107
  node.forEach((n) => { this.register(n, path); });
106
108
  }
107
- else if (!!node.listener || !!node.middleware) {
109
+ else if (!!node.fn || !!node.middleware) {
108
110
  this.addListener(path, node);
109
111
  }
110
112
  else if (typeof node == "object") {
@@ -1 +1 @@
1
- {"version":3,"file":"DFWCore.js","sourceRoot":"","sources":["../../src/lib/DFWCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DFWCore.js","sourceRoot":"","sources":["../../src/lib/DFWCore.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { PrismaClient } from "@prisma/client";
2
2
  import { DFWRequestSchema } from "../types";
3
+ import { DFWDatabase } from "../types/DFWDatabase";
3
4
  export type DFWServiceConstructor = new (dfw: any) => DFWService;
4
5
  export type InferServiceInstance<T extends DFWServiceConstructor> = T extends new () => infer R ? R : never;
5
6
  export type MapServiceConstructors<T extends readonly DFWServiceConstructor[]> = {
@@ -12,5 +13,7 @@ export default abstract class DFWService {
12
13
  id: string;
13
14
  };
14
15
  constructor(dfw: DFWRequestSchema);
16
+ buildTransaction: <T>(fn: (db: DFWDatabase) => Promise<T>) => Promise<T>;
17
+ buildFunction: <T>(fn: (db: DFWDatabase) => Promise<T>) => Promise<T>;
15
18
  }
16
19
  //# sourceMappingURL=DFWService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DFWService.d.ts","sourceRoot":"","sources":["../../src/lib/DFWService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG5C,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,EAAE,GAAG,KAAK,UAAU,CAAC;AAEjE,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,qBAAqB,IAC9D,CAAC,SAAS,UAAU,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE1C,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,SAAS,qBAAqB,EAAE,IAAI;KAC9E,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,qBAAqB,GACjD,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAC/B,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,qBAAqB,GAC1C,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAClB,KAAK;CACR,CAAC;AAEF,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,UAAU;IACtC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAEpC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAA;IACnC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;gBAE5B,GAAG,EAAE,gBAAgB;CAIlC"}
1
+ {"version":3,"file":"DFWService.d.ts","sourceRoot":"","sources":["../../src/lib/DFWService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,EAAE,GAAG,KAAK,UAAU,CAAC;AAEjE,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,qBAAqB,IAC9D,CAAC,SAAS,UAAU,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE1C,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,SAAS,qBAAqB,EAAE,IAAI;KAC9E,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,qBAAqB,GACjD,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAC/B,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,qBAAqB,GAC1C,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAClB,KAAK;CACR,CAAC;AAEF,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,UAAU;IACtC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAEpC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAA;IACnC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;gBAE5B,GAAG,EAAE,gBAAgB;IAK1B,gBAAgB,GAAI,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAAC,CAI7E;IAEM,aAAa,GAAI,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAAC,CAE1E;CAEF"}
@@ -1,7 +1,24 @@
1
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
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  class DFWService {
4
13
  constructor(dfw) {
14
+ this.buildTransaction = (fn) => {
15
+ return this.db.$transaction((db) => __awaiter(this, void 0, void 0, function* () {
16
+ return fn(db);
17
+ }));
18
+ };
19
+ this.buildFunction = (fn) => {
20
+ return fn(this.db);
21
+ };
5
22
  this.db = dfw.db;
6
23
  this.user = dfw.getSession().user;
7
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DFWService.js","sourceRoot":"","sources":["../../src/lib/DFWService.ts"],"names":[],"mappings":";;AAiBA,MAA8B,UAAU;IAMtC,YAAY,GAAqB;QAC/B,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC;IACpC,CAAC;CACF;AAVD,6BAUC"}
1
+ {"version":3,"file":"DFWService.js","sourceRoot":"","sources":["../../src/lib/DFWService.ts"],"names":[],"mappings":";;;;;;;;;;;AAiBA,MAA8B,UAAU;IAMtC,YAAY,GAAqB;QAK1B,qBAAgB,GAAG,CAAI,EAAmC,EAAc,EAAE;YAC/E,OAAO,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,CAAO,EAAE,EAAE,EAAE;gBACvC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;YAChB,CAAC,CAAA,CAAC,CAAC;QACL,CAAC,CAAA;QAEM,kBAAa,GAAG,CAAI,EAAmC,EAAc,EAAE;YAC5E,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACpB,CAAC,CAAA;QAZC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC;IACpC,CAAC;CAYF;AArBD,6BAqBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DFWSessionStore.d.ts","sourceRoot":"","sources":["../../src/lib/DFWSessionStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,OAAO,MAAM,WAAW,CAAC;AAIhC,cAAM,eAAgB,SAAQ,KAAK;IAE/B,OAAO,CAAC,EAAE,CAAc;IAExB,OAAO,CAAC,KAAK,CAA8B;gBAE/B,GAAG,EAAE,OAAO;IAMxB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAyBnE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAmBxE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;CAc7D;AAED,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"DFWSessionStore.d.ts","sourceRoot":"","sources":["../../src/lib/DFWSessionStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,OAAO,MAAM,WAAW,CAAC;AAIhC,cAAM,eAAgB,SAAQ,KAAK;IAE/B,OAAO,CAAC,EAAE,CAAc;IAExB,OAAO,CAAC,KAAK,CAA8B;gBAE/B,GAAG,EAAE,OAAO;IAMxB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IA+BnE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAmBxE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;CAc7D;AAED,eAAe,eAAe,CAAA"}
@@ -18,9 +18,15 @@ class DFWSessionStore extends express_session_1.Store {
18
18
  }
19
19
  if (process.env.NODE_ENV === 'development')
20
20
  console.log(`read session ${sid}`);
21
- this.db.dfw_session.findUnique({
21
+ this.db.dfw_session.findFirst({
22
22
  select: { idUser: true },
23
- where: { id: sid }
23
+ where: {
24
+ id: sid,
25
+ OR: [
26
+ { expiresAt: null },
27
+ { expiresAt: { gt: new Date() } },
28
+ ],
29
+ }
24
30
  }).then((sessionObj) => {
25
31
  if (sessionObj) {
26
32
  const passportSession = { cookie: {}, passport: { user: sessionObj.idUser } };
@@ -52,8 +58,8 @@ class DFWSessionStore extends express_session_1.Store {
52
58
  id: sid
53
59
  }
54
60
  }).then(() => {
55
- callback === null || callback === void 0 ? void 0 : callback();
56
- });
61
+ callback && callback();
62
+ }).catch(e => callback && callback(e));
57
63
  }
58
64
  destroy(sid, callback) {
59
65
  if (process.env.NODE_ENV === 'development')
@@ -64,9 +70,9 @@ class DFWSessionStore extends express_session_1.Store {
64
70
  id: sid
65
71
  },
66
72
  }).then(() => {
67
- callback === null || callback === void 0 ? void 0 : callback();
73
+ callback && callback();
68
74
  }).catch((e) => {
69
- callback === null || callback === void 0 ? void 0 : callback(e);
75
+ callback && callback(e);
70
76
  });
71
77
  }
72
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DFWSessionStore.js","sourceRoot":"","sources":["../../src/lib/DFWSessionStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DFWSessionStore.js","sourceRoot":"","sources":["../../src/lib/DFWSessionStore.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
+ import z from "zod";
2
+ import { DFWRequest, DFWRequestSchema, DFWResponse } from "../types";
1
3
  export default class DFWUtils {
2
- static readonly EMAIL_REGEX: RegExp;
4
+ static emailSchema: z.ZodString;
3
5
  static isEmail(email: string): boolean;
4
6
  static log(message: string, isError?: boolean): void;
5
7
  /**
@@ -28,5 +30,10 @@ export default class DFWUtils {
28
30
  static cuid(): string;
29
31
  static verifyPasswordAsync(encoded: string, test: string): Promise<boolean>;
30
32
  static encryptPasswordAsync(password: string): Promise<string>;
33
+ static makeGuard: (fn: (value: any | undefined, dfw: DFWRequestSchema) => void | Promise<void>) => (fieldObj?: {
34
+ body?: string;
35
+ query?: string;
36
+ params?: string;
37
+ }) => (req: DFWRequest, _: DFWResponse, next: (err?: any) => void) => Promise<void>;
31
38
  }
32
39
  //# sourceMappingURL=DFWUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DFWUtils.d.ts","sourceRoot":"","sources":["../../src/lib/DFWUtils.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,OAAO,QAAQ;IAEzB,gBAAuB,WAAW,SAA6J;WAEjL,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;WAI/B,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,OAAe;IAQ3D;;;OAGG;WACiB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/D;;;OAGG;WACW,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAK1D;;;OAGG;WACW,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAI5D;;OAEG;WACW,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAY1D;;OAEG;WACW,IAAI,IAAI,MAAM;WAId,IAAI,IAAI,MAAM;WAIR,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WASpE,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAO9E"}
1
+ {"version":3,"file":"DFWUtils.d.ts","sourceRoot":"","sources":["../../src/lib/DFWUtils.ts"],"names":[],"mappings":"AAKA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAErE,MAAM,CAAC,OAAO,OAAO,QAAQ;IAEzB,OAAc,WAAW,cAAqB;WAEhC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;WAI/B,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,OAAe;IAQ3D;;;OAGG;WACiB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/D;;;OAGG;WACW,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAK1D;;;OAGG;WACW,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAI5D;;OAEG;WACW,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAY1D;;OAEG;WACW,IAAI,IAAI,MAAM;WAId,IAAI,IAAI,MAAM;WAIR,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WASpE,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ3E,OAAc,SAAS,OAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,SAAS,EAAE,GAAG,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,iBAC/E;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,WAAiB,UAAU,KAAK,WAAW,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,mBAkB9I;CACJ"}
@@ -11,15 +11,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
+ var _a;
14
15
  Object.defineProperty(exports, "__esModule", { value: true });
15
16
  const chalk_1 = __importDefault(require("chalk"));
16
17
  const crypto_1 = require("crypto");
17
18
  const mime_types_1 = require("mime-types");
18
19
  const bcrypt_1 = __importDefault(require("bcrypt"));
19
20
  const cuid2_1 = require("@paralleldrive/cuid2");
21
+ const zod_1 = __importDefault(require("zod"));
20
22
  class DFWUtils {
21
23
  static isEmail(email) {
22
- return this.EMAIL_REGEX.test(String(email).toLowerCase());
24
+ return this.emailSchema.safeParse(email).success;
23
25
  }
24
26
  static log(message, isError = false) {
25
27
  if (isError) {
@@ -61,7 +63,7 @@ class DFWUtils {
61
63
  static generateRandomHexString(len) {
62
64
  let maxlen = 8, min = Math.pow(16, Math.min(len, maxlen) - 1), max = Math.pow(16, Math.min(len, maxlen)) - 1, n = Math.floor(Math.random() * (max - min + 1)) + min, r = n.toString(16);
63
65
  while (r.length < len) {
64
- r = r + DFWUtils.generateRandomHexString(len - maxlen);
66
+ r = r + _a.generateRandomHexString(len - maxlen);
65
67
  }
66
68
  return r;
67
69
  }
@@ -95,6 +97,29 @@ class DFWUtils {
95
97
  });
96
98
  }
97
99
  }
98
- DFWUtils.EMAIL_REGEX = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
100
+ _a = DFWUtils;
101
+ DFWUtils.emailSchema = zod_1.default.string().email();
102
+ DFWUtils.makeGuard = (fn) => {
103
+ return (fieldObj) => (req, _, next) => __awaiter(void 0, void 0, void 0, function* () {
104
+ var _b, _c, _d;
105
+ try {
106
+ let value;
107
+ if ((fieldObj === null || fieldObj === void 0 ? void 0 : fieldObj.body) && ((_b = req.body) === null || _b === void 0 ? void 0 : _b[fieldObj.body])) {
108
+ value = req.body[fieldObj.body];
109
+ }
110
+ else if ((fieldObj === null || fieldObj === void 0 ? void 0 : fieldObj.query) && ((_c = req.query) === null || _c === void 0 ? void 0 : _c[fieldObj.query])) {
111
+ value = req.query[fieldObj.query];
112
+ }
113
+ else if ((fieldObj === null || fieldObj === void 0 ? void 0 : fieldObj.params) && ((_d = req.params) === null || _d === void 0 ? void 0 : _d[fieldObj.params])) {
114
+ value = req.params[fieldObj.params];
115
+ }
116
+ yield fn(value, req.dfw);
117
+ next();
118
+ }
119
+ catch (err) {
120
+ next(err);
121
+ }
122
+ });
123
+ };
99
124
  exports.default = DFWUtils;
100
125
  //# sourceMappingURL=DFWUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DFWUtils.js","sourceRoot":"","sources":["../../src/lib/DFWUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DFWUtils.js","sourceRoot":"","sources":["../../src/lib/DFWUtils.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  declare const DELETEListener: {
2
2
  <TServices extends readonly import("../lib/DFWService").DFWServiceConstructor[]>(params: import("../lib/APIListener").APIListenerWithoutMethod & {
3
- services: TServices;
3
+ services?: TServices;
4
4
  }, fn: import("../lib/APIListener").ListenerFn<TServices>): import("../lib/APIListener").APIListener;
5
5
  (fn: import("../lib/APIListener").ListenerFn): import("../lib/APIListener").APIListener;
6
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DELETEListener.d.ts","sourceRoot":"","sources":["../../src/listeners/DELETEListener.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,cAAc;;;;;CAElB,CAAA;AAEF,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"DELETEListener.d.ts","sourceRoot":"","sources":["../../src/listeners/DELETEListener.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,cAAc;;gBAI2/D,CAAC;;;CAF9gE,CAAA;AAEF,eAAe,cAAc,CAAA"}
@@ -1,6 +1,6 @@
1
1
  declare const GETListener: {
2
2
  <TServices extends readonly import("../lib/DFWService").DFWServiceConstructor[]>(params: import("../lib/APIListener").APIListenerWithoutMethod & {
3
- services: TServices;
3
+ services?: TServices;
4
4
  }, fn: import("../lib/APIListener").ListenerFn<TServices>): import("../lib/APIListener").APIListener;
5
5
  (fn: import("../lib/APIListener").ListenerFn): import("../lib/APIListener").APIListener;
6
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"GETListener.d.ts","sourceRoot":"","sources":["../../src/listeners/GETListener.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,WAAW;;;;;CAEf,CAAA;AAEF,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"GETListener.d.ts","sourceRoot":"","sources":["../../src/listeners/GETListener.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,WAAW;;gBAImgE,CAAC;;;CAFnhE,CAAA;AAEF,eAAe,WAAW,CAAA"}
@@ -1,6 +1,6 @@
1
1
  declare const PATCHListener: {
2
2
  <TServices extends readonly import("../lib/DFWService").DFWServiceConstructor[]>(params: import("../lib/APIListener").APIListenerWithoutMethod & {
3
- services: TServices;
3
+ services?: TServices;
4
4
  }, fn: import("../lib/APIListener").ListenerFn<TServices>): import("../lib/APIListener").APIListener;
5
5
  (fn: import("../lib/APIListener").ListenerFn): import("../lib/APIListener").APIListener;
6
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"PATCHListener.d.ts","sourceRoot":"","sources":["../../src/listeners/PATCHListener.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,aAAa;;;;;CAEjB,CAAA;AAEF,eAAe,aAAa,CAAA"}
1
+ {"version":3,"file":"PATCHListener.d.ts","sourceRoot":"","sources":["../../src/listeners/PATCHListener.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,aAAa;;gBAI8/D,CAAC;;;CAFhhE,CAAA;AAEF,eAAe,aAAa,CAAA"}
@@ -1,6 +1,6 @@
1
1
  declare const POSTListener: {
2
2
  <TServices extends readonly import("../lib/DFWService").DFWServiceConstructor[]>(params: import("../lib/APIListener").APIListenerWithoutMethod & {
3
- services: TServices;
3
+ services?: TServices;
4
4
  }, fn: import("../lib/APIListener").ListenerFn<TServices>): import("../lib/APIListener").APIListener;
5
5
  (fn: import("../lib/APIListener").ListenerFn): import("../lib/APIListener").APIListener;
6
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"POSTListener.d.ts","sourceRoot":"","sources":["../../src/listeners/POSTListener.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,YAAY;;;;;CAEhB,CAAA;AAEF,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"POSTListener.d.ts","sourceRoot":"","sources":["../../src/listeners/POSTListener.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,YAAY;;gBAIigE,CAAC;;;CAFlhE,CAAA;AAEF,eAAe,YAAY,CAAA"}
@@ -1,6 +1,6 @@
1
1
  declare const PUTListener: {
2
2
  <TServices extends readonly import("../lib/DFWService").DFWServiceConstructor[]>(params: import("../lib/APIListener").APIListenerWithoutMethod & {
3
- services: TServices;
3
+ services?: TServices;
4
4
  }, fn: import("../lib/APIListener").ListenerFn<TServices>): import("../lib/APIListener").APIListener;
5
5
  (fn: import("../lib/APIListener").ListenerFn): import("../lib/APIListener").APIListener;
6
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"PUTListener.d.ts","sourceRoot":"","sources":["../../src/listeners/PUTListener.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,WAAW;;;;;CAEf,CAAA;AAEF,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"PUTListener.d.ts","sourceRoot":"","sources":["../../src/listeners/PUTListener.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,WAAW;;gBAIogE,CAAC;;;CAFphE,CAAA;AAEF,eAAe,WAAW,CAAA"}
@@ -19,10 +19,10 @@ declare class DFWFileModule extends DFWModule {
19
19
  size: number | null;
20
20
  createdAt: Date;
21
21
  updatedAt: Date;
22
- expire: Date | null;
23
22
  idUser: string | null;
24
23
  checksum: string | null;
25
24
  mimetype: string | null;
25
+ expire: Date | null;
26
26
  idParent: string | null;
27
27
  }>;
28
28
  generateTempFileName(posfix?: string): string;
package/dist/test.d.ts CHANGED
@@ -1,8 +1,27 @@
1
1
  import { DFWService } from ".";
2
+ import z from "zod";
2
3
  export declare class DFWSessionService extends DFWService {
3
4
  readonly namespace: "session";
4
5
  test(userDto: any): Promise<{
5
- pasa: any;
6
+ name: string | null;
7
+ id: string;
8
+ email: string | null;
9
+ displayName: string | null;
10
+ encodedKey: string | null;
11
+ createdAt: Date;
12
+ updatedAt: Date;
13
+ }>;
14
+ trans: (userDto: any) => Promise<{
15
+ name: string | null;
16
+ id: string;
17
+ email: string | null;
18
+ displayName: string | null;
19
+ encodedKey: string | null;
20
+ createdAt: Date;
21
+ updatedAt: Date;
6
22
  }>;
7
23
  }
24
+ export declare const emailSchema: z.ZodObject<{
25
+ email: z.ZodString;
26
+ }, z.core.$strip>;
8
27
  //# sourceMappingURL=test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,UAAU,EAIb,MAAM,GAAG,CAAC;AAEX,qBAAa,iBAAkB,SAAQ,UAAU;IAC7C,QAAQ,CAAC,SAAS,EAAG,SAAS,CAAU;IAExC,IAAI,CAAC,OAAO,EAAE,GAAG;;;CAOpB"}
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,UAAU,EAKb,MAAM,GAAG,CAAC;AACX,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,qBAAa,iBAAkB,SAAQ,UAAU;IAC7C,QAAQ,CAAC,SAAS,EAAG,SAAS,CAAU;IAExC,IAAI,CAAC,OAAO,EAAE,GAAG;;;;;;;;;IAOjB,KAAK,YAAa,GAAG;;;;;;;;OAGnB;CAEL;AAcD,eAAO,MAAM,WAAW;;iBAKtB,CAAC"}
package/dist/test.js CHANGED
@@ -8,58 +8,67 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.DFWSessionService = void 0;
15
+ exports.emailSchema = exports.DFWSessionService = void 0;
13
16
  const _1 = require(".");
17
+ const zod_1 = __importDefault(require("zod"));
14
18
  class DFWSessionService extends _1.DFWService {
15
19
  constructor() {
16
20
  super(...arguments);
17
21
  this.namespace = 'session';
22
+ this.trans = (userDto) => this.buildTransaction((db) => __awaiter(this, void 0, void 0, function* () {
23
+ const { createUserAsync } = new _1.DFWUserModule(db);
24
+ return createUserAsync(userDto);
25
+ }));
18
26
  }
19
27
  test(userDto) {
20
28
  return this.db.$transaction((db) => __awaiter(this, void 0, void 0, function* () {
21
29
  const { createUserAsync } = new _1.DFWUserModule(db);
22
- return { "pasa": userDto };
30
+ return createUserAsync(userDto);
23
31
  }));
24
32
  }
25
33
  }
26
34
  exports.DFWSessionService = DFWSessionService;
35
+ const SessionGuard = _1.DFWUtils.makeGuard((_2, _a) => __awaiter(void 0, [_2, _a], void 0, function* (_, { getSession }) {
36
+ if (!getSession().isAuthenticated)
37
+ throw `ACCESS_DENIED`;
38
+ }))();
27
39
  var DFW = new _1.DFWCore({
28
40
  server: {
29
41
  port: 300,
30
42
  trustProxy: true
31
43
  }
32
44
  }).start();
33
- const SessionGuard = (_a, _b, next_1) => __awaiter(void 0, [_a, _b, next_1], void 0, function* ({ dfw }, { error }, next) {
34
- console.log("SessionGuard");
35
- if (!dfw.getSession().isAuthenticated) {
36
- console.log("SessionGuard: UNAUTHORIZED");
37
- next({ data: "UNAUTHORIZED" });
38
- }
39
- console.log("passed");
40
- next();
45
+ exports.emailSchema = zod_1.default.object({
46
+ email: zod_1.default.string()
47
+ .trim() // opcional: elimina espacios en blanco al inicio y al final
48
+ .toLowerCase() // opcional: convierte a minúsculas
49
+ .email() // valida que sea un email válido
41
50
  });
42
51
  DFW.register({
43
52
  test: [
44
53
  (0, _1.GETListener)({
54
+ middleware: [SessionGuard],
45
55
  services: [DFWSessionService],
46
- middleware: [
47
- //SessionGuard({ credentials: ['ADMIN'] , access:['POPO'] }),
48
- //BodyValidationGuard(SessionDtoValidator),
49
- ],
50
- }, (_a) => __awaiter(void 0, [_a], void 0, function* ({ session }) {
51
- return session.test({ tom: 'clancy' });
52
- })),
56
+ }, (_a) => __awaiter(void 0, [_a], void 0, function* ({ session }) { return session.test({ tom: 'clancy' }); })),
53
57
  {
54
58
  method: 'post',
55
59
  services: [DFWSessionService],
56
- listener: (_a, _b) => __awaiter(void 0, [_a, _b], void 0, function* ({ db }, { body }) {
60
+ validate: { body: exports.emailSchema },
61
+ fn: (_a, _b) => __awaiter(void 0, [_a, _b], void 0, function* ({ db }, { body }) {
62
+ return body.email;
57
63
  })
58
64
  }
59
65
  ],
60
66
  boot: [
61
- (0, _1.GETListener)((_a) => __awaiter(void 0, [_a], void 0, function* ({ getSession }) {
62
- const { user, isAuthenticated } = getSession();
67
+ (0, _1.GETListener)((_a) => __awaiter(void 0, [_a], void 0, function* ({ getSession, db }) {
68
+ let { user, isAuthenticated } = getSession();
69
+ if (isAuthenticated) {
70
+ user = (yield db.dfw_user.findUnique({ where: { id: user === null || user === void 0 ? void 0 : user.id } }));
71
+ }
63
72
  return { user, isAuthenticated };
64
73
  }))
65
74
  ],
package/dist/test.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,6 @@ export type DFWConfig = {
10
10
  cors?: CorsOptions;
11
11
  trustProxy?: boolean | number;
12
12
  tmpDir?: string;
13
- prismaGenerathor?: (dfw: DFWCore) => PrismaClient;
14
13
  };
15
14
  /**
16
15
  *
@@ -53,6 +52,6 @@ export type DFWConfig = {
53
52
  /**
54
53
  * Prisma client options
55
54
  */
56
- prisma?: Omit<PrismaClientOptions, '__internal'>;
55
+ prisma?: Omit<PrismaClientOptions, '__internal'> | ((dfw: DFWCore) => PrismaClient);
57
56
  };
58
57
  //# sourceMappingURL=DFWConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DFWConfig.d.ts","sourceRoot":"","sources":["../../src/types/DFWConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AAEpE,MAAM,MAAM,SAAS,GAAG;IAEpB,MAAM,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAA;QAEb,oCAAoC;QACpC,IAAI,CAAC,EAAE,WAAW,CAAA;QAElB,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;QAG7B,MAAM,CAAC,EAAE,MAAM,CAAA;QAGf,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,YAAY,CAAA;KACpD,CAAA;IAED;;OAEG;IACH,OAAO,CAAC,EAAE;QACN;;WAEG;QACH,cAAc,CAAC,EAAE;YACb,GAAG,CAAC,EAAE,KAAK,CAAA;SACd,CAAA;QAED;;WAEG;QACH,YAAY,CAAC,EAAE,MAAM,CAAC;QAEtB;;;WAGG;QACH,eAAe,CAAC,EAAE,OAAO,CAAA;QAEzB;;;WAGG;QACH,MAAM,CAAC,EAAE,MAAM,CAAA;QAEf;;;WAGG;QACH,UAAU,CAAC,EAAE,MAAM,CAAA;QAEnB;;WAEG;QACH,aAAa,CAAC,EAAE,aAAa,CAAA;QAE7B;;WAEG;QACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAC5B,CAAA;IAED;;OAEG;IACH,MAAM,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAA;CACnD,CAAA"}
1
+ {"version":3,"file":"DFWConfig.d.ts","sourceRoot":"","sources":["../../src/types/DFWConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AAEpE,MAAM,MAAM,SAAS,GAAG;IAEpB,MAAM,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAA;QAEb,oCAAoC;QACpC,IAAI,CAAC,EAAE,WAAW,CAAA;QAElB,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;QAG7B,MAAM,CAAC,EAAE,MAAM,CAAA;KAClB,CAAA;IAED;;OAEG;IACH,OAAO,CAAC,EAAE;QACN;;WAEG;QACH,cAAc,CAAC,EAAE;YACb,GAAG,CAAC,EAAE,KAAK,CAAA;SACd,CAAA;QAED;;WAEG;QACH,YAAY,CAAC,EAAE,MAAM,CAAC;QAEtB;;;WAGG;QACH,eAAe,CAAC,EAAE,OAAO,CAAA;QAEzB;;;WAGG;QACH,MAAM,CAAC,EAAE,MAAM,CAAA;QAEf;;;WAGG;QACH,UAAU,CAAC,EAAE,MAAM,CAAA;QAEnB;;WAEG;QACH,aAAa,CAAC,EAAE,aAAa,CAAA;QAE7B;;WAEG;QACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAC5B,CAAA;IAED;;OAEG;IACH,MAAM,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,YAAY,CAAC,CAAA;CACtF,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { PrismaClient } from "@prisma/client";
2
+ import { ITXClientDenyList } from "@prisma/client/runtime/library";
3
+ export type DFWDatabase = Omit<PrismaClient, ITXClientDenyList>;
4
+ //# sourceMappingURL=DFWDatabase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DFWDatabase.d.ts","sourceRoot":"","sources":["../../src/types/DFWDatabase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAG,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=DFWDatabase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DFWDatabase.js","sourceRoot":"","sources":["../../src/types/DFWDatabase.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scefira/dfw",
3
- "version": "1.2.2",
3
+ "version": "1.2.4",
4
4
  "description": "NodeJS fast API prototiping framework",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -19,7 +19,7 @@
19
19
  "license": "ISC",
20
20
  "peerDependencies": {
21
21
  "@prisma/client": "^6",
22
- "zod": "^3"
22
+ "zod": "^4"
23
23
  },
24
24
  "dependencies": {
25
25
  "@paralleldrive/cuid2": "^2.2.2",
@@ -14,14 +14,14 @@ model dfw_user {
14
14
  }
15
15
 
16
16
  model dfw_session {
17
- id String @id @default(uuid()) @db.Uuid
18
- agent String? @db.VarChar(255)
19
- ip String? @db.VarChar(255)
20
- expire DateTime? @db.Date
17
+ id String @id @default(uuid()) @db.Uuid
18
+ agent String? @db.VarChar(255)
19
+ ip String? @db.VarChar(255)
21
20
  idUser String?
22
21
 
23
- createdAt DateTime @default(now())
24
- updatedAt DateTime @updatedAt
22
+ createdAt DateTime @default(now())
23
+ updatedAt DateTime @updatedAt
24
+ expiresAt DateTime? @db.Date
25
25
 
26
26
  user dfw_user? @relation(fields: [idUser], references: [id], onDelete: Cascade)
27
27
 
@@ -1,4 +0,0 @@
1
- import { Strategy } from "passport-local";
2
- declare const DFWPassportStrategy: Strategy;
3
- export default DFWPassportStrategy;
4
- //# sourceMappingURL=DFWPassportStrategy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DFWPassportStrategy.d.ts","sourceRoot":"","sources":["../../../src/lib/strategies/DFWPassportStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAIzC,QAAA,MAAM,mBAAmB,UAevB,CAAA;AAEF,eAAe,mBAAmB,CAAA"}
@@ -1,36 +0,0 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const passport_local_1 = require("passport-local");
16
- const UserModule_1 = __importDefault(require("../../modules/UserModule"));
17
- const DFWUtils_1 = __importDefault(require("../DFWUtils"));
18
- const DFWPassportStrategy = new passport_local_1.Strategy((identifier, password, done) => __awaiter(void 0, void 0, void 0, function* () {
19
- try {
20
- const UserControl = new UserModule_1.default();
21
- const id = yield UserControl.validateUserPasswordAsync(identifier, password);
22
- if (id) {
23
- return done(null, { id });
24
- }
25
- else {
26
- yield DFWUtils_1.default.sleepAsync(1500);
27
- return done('ACCESS_DENIED');
28
- }
29
- }
30
- catch (e) {
31
- yield DFWUtils_1.default.sleepAsync(1500);
32
- return done(e);
33
- }
34
- }));
35
- exports.default = DFWPassportStrategy;
36
- //# sourceMappingURL=DFWPassportStrategy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DFWPassportStrategy.js","sourceRoot":"","sources":["../../../src/lib/strategies/DFWPassportStrategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,mDAAyC;AACzC,0EAAoD;AACpD,2DAAkC;AAElC,MAAM,mBAAmB,GAAG,IAAI,yBAAQ,CAAC,CAAO,UAAkB,EAAE,QAAa,EAAE,IAAI,EAAE,EAAE;IACvF,IAAI,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,oBAAa,EAAE,CAAA;QACvC,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,yBAAyB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAE5E,IAAI,EAAE,EAAE,CAAC;YACL,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;QAC7B,CAAC;aAAM,CAAC;YACJ,MAAM,kBAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YAC/B,OAAO,IAAI,CAAC,eAAe,CAAC,CAAA;QAChC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,kBAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAC/B,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC;AACL,CAAC,CAAA,CAAC,CAAA;AAEF,kBAAe,mBAAmB,CAAA"}
@@ -1,32 +0,0 @@
1
- import DFWModule from "../lib/DFWModule";
2
- import { UploadedFile } from "express-fileupload";
3
- type SaveFileOptions = {
4
- name?: string;
5
- variant?: string;
6
- expire?: Date;
7
- idParent?: string;
8
- makeUrl: (filePath: string) => string;
9
- };
10
- declare class DFWFileModule extends DFWModule {
11
- readonly namespace = "file";
12
- saveUploadedFileAsync(file: UploadedFile, { name, expire, idParent, variant, makeUrl }: SaveFileOptions): Promise<{
13
- variant: string | null;
14
- name: string | null;
15
- id: string;
16
- url: string | null;
17
- metadata: import("@prisma/client/runtime/library").JsonValue | null;
18
- path: string | null;
19
- storage: import(".prisma/client").$Enums.DFW_FILE_STORAGE;
20
- size: number | null;
21
- createdAt: Date;
22
- updatedAt: Date;
23
- expire: Date | null;
24
- idUser: string | null;
25
- checksum: string | null;
26
- mimetype: string | null;
27
- idParent: string | null;
28
- }>;
29
- generateTempFileName(posfix?: string): string;
30
- }
31
- export default DFWFileModule;
32
- //# sourceMappingURL=FileModule.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FileModule.d.ts","sourceRoot":"","sources":["../../src/modules/FileModule.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAQlD,KAAK,eAAe,GAAG;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,IAAI,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;CACxC,CAAA;AAED,cAAM,aAAc,SAAQ,SAAS;IAEjC,SAAgB,SAAS,UAAU;IAE7B,qBAAqB,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,eAAe;;;;;;;;;;;;;;;;;IA4BtG,oBAAoB,CAAC,MAAM,CAAC,EAAE,MAAM;CAG9C;AAED,eAAe,aAAa,CAAA"}
@@ -1,59 +0,0 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const DFWModule_1 = __importDefault(require("../lib/DFWModule"));
16
- const util_1 = require("util");
17
- const client_1 = require("@prisma/client");
18
- const luxon_1 = require("luxon");
19
- const path_1 = __importDefault(require("path"));
20
- const DFWUtils_1 = __importDefault(require("../lib/DFWUtils"));
21
- const fs_1 = __importDefault(require("fs"));
22
- const __1 = require("..");
23
- class DFWFileModule extends DFWModule_1.default {
24
- constructor() {
25
- super(...arguments);
26
- this.namespace = "file";
27
- }
28
- saveUploadedFileAsync(file_1, _a) {
29
- return __awaiter(this, arguments, void 0, function* (file, { name, expire, idParent, variant, makeUrl }) {
30
- const filePath = luxon_1.DateTime.now().toFormat("yyyy/MM");
31
- const fileName = DFWUtils_1.default.uuid();
32
- const ext = path_1.default.extname(file.name);
33
- const localPath = `${__1.DFWCore.DFW_UPLOAD_DIR}/${filePath}`;
34
- const localFilePath = `${localPath}/${fileName}${ext !== null && ext !== void 0 ? ext : ''}`;
35
- const moveAsync = (0, util_1.promisify)(file.mv);
36
- fs_1.default.mkdirSync(localPath, { recursive: true });
37
- yield moveAsync(localFilePath);
38
- return this.db.dfw_file.create({
39
- data: {
40
- name: name !== null && name !== void 0 ? name : file.name,
41
- size: file.size,
42
- mimetype: file.mimetype,
43
- checksum: file.md5,
44
- url: makeUrl(`${filePath}/${fileName}${ext !== null && ext !== void 0 ? ext : ''}`),
45
- path: localFilePath,
46
- storage: client_1.DFW_FILE_STORAGE.LOCAL,
47
- expire,
48
- idParent,
49
- variant
50
- }
51
- });
52
- });
53
- }
54
- generateTempFileName(posfix) {
55
- return path_1.default.join(this.DFW.tmpDir, `${DFWUtils_1.default.uuid()}${posfix !== null && posfix !== void 0 ? posfix : ""}`);
56
- }
57
- }
58
- exports.default = DFWFileModule;
59
- //# sourceMappingURL=FileModule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FileModule.js","sourceRoot":"","sources":["../../src/modules/FileModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,iEAAyC;AACzC,+BAAiC;AAEjC,2CAAkD;AAClD,iCAAiC;AACjC,gDAAwB;AACxB,+DAAuC;AACvC,4CAAoB;AACpB,0BAA6B;AAU7B,MAAM,aAAc,SAAQ,mBAAS;IAArC;;QAEoB,cAAS,GAAG,MAAM,CAAC;IAiCvC,CAAC;IA/BS,qBAAqB;6DAAC,IAAkB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAmB;YACzG,MAAM,QAAQ,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YACnD,MAAM,QAAQ,GAAG,kBAAQ,CAAC,IAAI,EAAE,CAAA;YAChC,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACnC,MAAM,SAAS,GAAG,GAAG,WAAO,CAAC,cAAc,IAAI,QAAQ,EAAE,CAAA;YACzD,MAAM,aAAa,GAAG,GAAG,SAAS,IAAI,QAAQ,GAAG,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,EAAE,CAAA;YAC5D,MAAM,SAAS,GAAG,IAAA,gBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAEpC,YAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAE5C,MAAM,SAAS,CAAC,aAAa,CAAC,CAAA;YAE9B,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC3B,IAAI,EAAE;oBACF,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,IAAI,CAAC,IAAI;oBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,QAAQ,EAAE,IAAI,CAAC,GAAG;oBAClB,GAAG,EAAE,OAAO,CAAC,GAAG,QAAQ,IAAI,QAAQ,GAAG,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,EAAE,CAAC;oBACnD,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,yBAAgB,CAAC,KAAK;oBAC/B,MAAM;oBACN,QAAQ;oBACR,OAAO;iBACV;aACJ,CAAC,CAAA;QACN,CAAC;KAAA;IAEM,oBAAoB,CAAC,MAAe;QACvC,OAAO,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,kBAAQ,CAAC,IAAI,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,EAAE,CAAC,CAAC;IAC3E,CAAC;CACJ;AAED,kBAAe,aAAa,CAAA"}
@@ -1,27 +0,0 @@
1
- import { dfw_access, dfw_credential, dfw_user } from "@prisma/client";
2
- import DFWModule from "../lib/DFWModule";
3
- declare class DFWSecurityModule extends DFWModule {
4
- readonly namespace = "security";
5
- createCredentiaAsync(name: string, description?: string): Promise<{
6
- name: string;
7
- description: string | null;
8
- createdAt: Date;
9
- updatedAt: Date;
10
- }>;
11
- createAccessAsync(name: string, description?: string): Promise<{
12
- name: string;
13
- description: string | null;
14
- createdAt: Date;
15
- updatedAt: Date;
16
- }>;
17
- attachUserToCredentialAsync(user: string | Partial<dfw_user>, credential: dfw_credential | string | (dfw_credential | string)[]): any;
18
- attachAccessToCredentialAsync(access: string | Partial<dfw_access>, credential: Partial<dfw_credential> | string): Promise<{
19
- name: string;
20
- description: string | null;
21
- createdAt: Date;
22
- updatedAt: Date;
23
- } | never[]>;
24
- userHasCredentialAsync(userSource: string | Partial<dfw_user>, credential: string): Promise<boolean>;
25
- }
26
- export default DFWSecurityModule;
27
- //# sourceMappingURL=SecurityModule.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SecurityModule.d.ts","sourceRoot":"","sources":["../../src/modules/SecurityModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAEzC,cAAM,iBAAkB,SAAQ,SAAS;IACrC,SAAgB,SAAS,cAAc;IAE1B,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;;;;;;IAIvD,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;;;;;;IAIpD,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,cAAc,GAAG,MAAM,GAAG,CAAC,cAAc,GAAG,MAAM,CAAC,EAAE;IAgC/H,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,MAAM;;;;;;IAoBhH,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,MAAM;CAmBjG;AAED,eAAe,iBAAiB,CAAA"}
@@ -1,108 +0,0 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const DFWModule_1 = __importDefault(require("../lib/DFWModule"));
16
- class DFWSecurityModule extends DFWModule_1.default {
17
- constructor() {
18
- super(...arguments);
19
- this.namespace = "security";
20
- }
21
- createCredentiaAsync(name, description) {
22
- return __awaiter(this, void 0, void 0, function* () {
23
- return this.db.dfw_credential.create({ data: { name, description } });
24
- });
25
- }
26
- createAccessAsync(name, description) {
27
- return __awaiter(this, void 0, void 0, function* () {
28
- return this.db.dfw_access.create({ data: { name, description } });
29
- });
30
- }
31
- attachUserToCredentialAsync(user, credential) {
32
- return __awaiter(this, void 0, void 0, function* () {
33
- const idUser = typeof user === "object" ? user.id : user;
34
- if (Array.isArray(credential)) {
35
- let result = yield Promise.all(credential.map((credentialObj) => this.attachUserToCredentialAsync(user, credentialObj)));
36
- return result.flat(1);
37
- }
38
- else {
39
- let idCredential;
40
- if (typeof credential == "string") {
41
- let credentialObj = (yield this.db.dfw_credential.findFirst({ select: { name: true }, where: { name: credential } }));
42
- if (credentialObj) {
43
- idCredential = credentialObj.name;
44
- }
45
- else {
46
- return [];
47
- }
48
- }
49
- else {
50
- idCredential = credential.name;
51
- }
52
- const newCredential = yield this.db.dfw_credential.update({
53
- data: {
54
- users: {
55
- connect: {
56
- id: idUser
57
- }
58
- }
59
- },
60
- where: {
61
- name: idCredential
62
- }
63
- }).catch((e) => []);
64
- return Array.isArray(newCredential) ? newCredential : [newCredential];
65
- }
66
- });
67
- }
68
- attachAccessToCredentialAsync(access, credential) {
69
- return __awaiter(this, void 0, void 0, function* () {
70
- const idAccess = typeof access === 'object' ? access.name : access;
71
- const idCredential = typeof credential === 'object' ? credential.name : credential;
72
- const newCredential = yield this.db.dfw_credential.update({
73
- data: {
74
- access: {
75
- connect: {
76
- name: idAccess
77
- }
78
- }
79
- },
80
- where: {
81
- name: idCredential
82
- }
83
- }).catch(() => []);
84
- return newCredential;
85
- });
86
- }
87
- userHasCredentialAsync(userSource, credential) {
88
- return __awaiter(this, void 0, void 0, function* () {
89
- const idUser = typeof userSource === 'object' ? userSource.id : userSource;
90
- const user = yield this.db.dfw_user.findUnique({
91
- select: { id: true },
92
- where: {
93
- id: idUser,
94
- credentials: {
95
- some: {
96
- OR: [
97
- { name: credential }
98
- ]
99
- }
100
- }
101
- }
102
- });
103
- return !!user;
104
- });
105
- }
106
- }
107
- exports.default = DFWSecurityModule;
108
- //# sourceMappingURL=SecurityModule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SecurityModule.js","sourceRoot":"","sources":["../../src/modules/SecurityModule.ts"],"names":[],"mappings":"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"}