@spinajs/rbac-http 2.0.14 → 2.0.15

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 (72) hide show
  1. package/lib/{rbac-http/src/config → config}/rbac-http.d.ts +0 -0
  2. package/lib/{rbac-http/src/config → config}/rbac-http.js +0 -0
  3. package/lib/config/rbac-http.js.map +1 -0
  4. package/lib/{rbac-http/src/controllers → controllers}/LoginController.d.ts +0 -0
  5. package/lib/{rbac-http/src/controllers → controllers}/LoginController.js +0 -0
  6. package/lib/controllers/LoginController.js.map +1 -0
  7. package/lib/{rbac-http/src/controllers → controllers}/UserAdminController.d.ts +0 -0
  8. package/lib/{rbac-http/src/controllers → controllers}/UserAdminController.js +0 -0
  9. package/lib/controllers/UserAdminController.js.map +1 -0
  10. package/lib/{rbac-http/src/controllers → controllers}/UserController.d.ts +0 -0
  11. package/lib/{rbac-http/src/controllers → controllers}/UserController.js +0 -0
  12. package/lib/controllers/UserController.js.map +1 -0
  13. package/lib/{rbac-http/src/controllers → controllers}/UserMetadata.d.ts +0 -0
  14. package/lib/{rbac-http/src/controllers → controllers}/UserMetadata.js +3 -4
  15. package/lib/controllers/UserMetadata.js.map +1 -0
  16. package/lib/{rbac-http/src/decorators.d.ts → decorators.d.ts} +0 -0
  17. package/lib/{rbac-http/src/decorators.js → decorators.js} +0 -0
  18. package/lib/decorators.js.map +1 -0
  19. package/lib/{rbac-http/src/dto → dto}/login-dto.d.ts +0 -0
  20. package/lib/{rbac-http/src/dto → dto}/login-dto.js +0 -0
  21. package/lib/dto/login-dto.js.map +1 -0
  22. package/lib/{rbac-http/src/dto → dto}/password-dto.d.ts +0 -0
  23. package/lib/{rbac-http/src/dto → dto}/password-dto.js +0 -0
  24. package/lib/dto/password-dto.js.map +1 -0
  25. package/lib/{rbac-http/src/dto → dto}/user-dto.d.ts +0 -0
  26. package/lib/{rbac-http/src/dto → dto}/user-dto.js +0 -0
  27. package/lib/dto/user-dto.js.map +1 -0
  28. package/lib/{rbac-http/src/index.d.ts → index.d.ts} +0 -0
  29. package/lib/{rbac-http/src/index.js → index.js} +0 -0
  30. package/lib/index.js.map +1 -0
  31. package/lib/{rbac-http/src/interfaces.d.ts → interfaces.d.ts} +0 -0
  32. package/lib/{rbac-http/src/interfaces.js → interfaces.js} +0 -0
  33. package/lib/{rbac-http/src/interfaces.js.map → interfaces.js.map} +1 -1
  34. package/lib/{rbac-http/src/middlewares.d.ts → middlewares.d.ts} +0 -0
  35. package/lib/{rbac-http/src/middlewares.js → middlewares.js} +0 -0
  36. package/lib/middlewares.js.map +1 -0
  37. package/lib/{rbac-http/src/policies.d.ts → policies.d.ts} +0 -0
  38. package/lib/{rbac-http/src/policies.js → policies.js} +0 -0
  39. package/lib/policies.js.map +1 -0
  40. package/lib/{rbac-http/src/route-args.d.ts → route-args.d.ts} +0 -0
  41. package/lib/{rbac-http/src/route-args.js → route-args.js} +0 -0
  42. package/lib/route-args.js.map +1 -0
  43. package/lib/{rbac-http/src/transformers.d.ts → transformers.d.ts} +0 -0
  44. package/lib/{rbac-http/src/transformers.js → transformers.js} +0 -0
  45. package/lib/transformers.js.map +1 -0
  46. package/package.json +3 -3
  47. package/lib/http/src/interfaces.d.ts +0 -461
  48. package/lib/http/src/interfaces.js +0 -230
  49. package/lib/http/src/interfaces.js.map +0 -1
  50. package/lib/http/src/response-methods/forbidden.d.ts +0 -11
  51. package/lib/http/src/response-methods/forbidden.js +0 -20
  52. package/lib/http/src/response-methods/forbidden.js.map +0 -1
  53. package/lib/http/src/responses.d.ts +0 -40
  54. package/lib/http/src/responses.js +0 -218
  55. package/lib/http/src/responses.js.map +0 -1
  56. package/lib/rbac-http/src/augumentation.d.ts +0 -0
  57. package/lib/rbac-http/src/augumentation.js +0 -9
  58. package/lib/rbac-http/src/augumentation.js.map +0 -1
  59. package/lib/rbac-http/src/config/rbac-http.js.map +0 -1
  60. package/lib/rbac-http/src/controllers/LoginController.js.map +0 -1
  61. package/lib/rbac-http/src/controllers/UserAdminController.js.map +0 -1
  62. package/lib/rbac-http/src/controllers/UserController.js.map +0 -1
  63. package/lib/rbac-http/src/controllers/UserMetadata.js.map +0 -1
  64. package/lib/rbac-http/src/decorators.js.map +0 -1
  65. package/lib/rbac-http/src/dto/login-dto.js.map +0 -1
  66. package/lib/rbac-http/src/dto/password-dto.js.map +0 -1
  67. package/lib/rbac-http/src/dto/user-dto.js.map +0 -1
  68. package/lib/rbac-http/src/index.js.map +0 -1
  69. package/lib/rbac-http/src/middlewares.js.map +0 -1
  70. package/lib/rbac-http/src/policies.js.map +0 -1
  71. package/lib/rbac-http/src/route-args.js.map +0 -1
  72. package/lib/rbac-http/src/transformers.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rbac-http.js","sourceRoot":"","sources":["../../src/config/rbac-http.ts"],"names":[],"mappings":";;AAAA,+BAAgD;AAEhD,SAAS,GAAG,CAAC,IAAY;IACvB,OAAO,IAAA,cAAO,EAAC,IAAA,gBAAS,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AACD,MAAM,CAAC,OAAO,GAAG;IACf,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,WAAW,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YACtC,OAAO,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC9B,KAAK,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;SAC3B;KACF;IACD,IAAI,EAAE;QACJ,WAAW,EAAE;QACX,0CAA0C;SAC3C;KACF;CACF,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoginController.js","sourceRoot":"","sources":["../../src/controllers/LoginController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,kDAA8C;AAC9C,wCAAgI;AAChI,wCAA0F;AAC1F,oCAAyC;AACzC,0DAA+D;AAC/D,gDAAuC;AACvC,oDAAuB;AAGvB,IAAa,eAAe,GAA5B,MAAa,eAAgB,SAAQ,qBAAc;IAc1C,KAAK,CAAC,KAAK,CAAS,WAAqB,EAAU,MAAiB;QACzE,IAAI,MAAM,EAAE;YACV,OAAO,IAAI,iBAAU,CAAC,mEAAmE,CAAC,CAAC;SAC5F;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE3F,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,IAAI,mBAAY,CAAC;gBACtB,KAAK,EAAE;oBACL,OAAO,EAAE,6BAA6B;iBACvC;aACF,CAAC,CAAC;SACJ;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAE/B,MAAM,OAAO,GAAG,IAAI,cAAO,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAE/B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAEhC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEzC,sEAAsE;QACtE,OAAO,IAAI,qBAAc,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,EAAE,gBAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACpI,CAAC;IAGM,KAAK,CAAC,MAAM,CAAW,IAAY;QACxC,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,IAAI,SAAE,EAAE,CAAC;SACjB;QAED,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAExC,gDAAgD;QAChD,OAAO,IAAI,qBAAc,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACtE,CAAC;CACF,CAAA;AAnDC;IADC,IAAA,eAAU,GAAE;8BACY,6BAAa;sDAAC;AAGvC;IADC,IAAA,eAAU,GAAE;8BACW,mBAAY;qDAAC;AAGrC;IADC,IAAA,eAAU,GAAE;8BACc,sBAAe;wDAAC;AAG3C;IADC,IAAA,sBAAM,EAAC,yBAAyB,EAAE,GAAG,CAAC;;8DACC;AAGxC;IADC,IAAA,WAAI,GAAE;IACa,WAAA,IAAA,WAAI,GAAE,CAAA;IAAyB,WAAA,IAAA,iBAAI,GAAE,CAAA;;qCAAjB,oBAAQ,EAAkB,WAAS;;4CA0B1E;AAGD;IADC,IAAA,UAAG,GAAE;IACe,WAAA,IAAA,aAAM,GAAE,CAAA;;;;6CAS5B;AApDU,eAAe;IAD3B,IAAA,eAAQ,EAAC,WAAW,CAAC;GACT,eAAe,CAqD3B;AArDY,0CAAe"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserAdminController.js","sourceRoot":"","sources":["../../src/controllers/UserAdminController.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,2GAA2G;AAC3G,qDAAqD;AACrD,0DAA0D;AAC1D,0DAA0D;AAC1D,6CAA6C;AAC7C,uCAAuC;AAEvC,oBAAoB;AACpB,oBAAoB;AACpB,wDAAwD;AACxD,cAAc;AACd,2BAA2B;AAC3B,4QAA4Q;AAC5Q,UAAU;AACV,uCAAuC;AACvC,mCAAmC;AACnC,SAAS;AACT,UAAU;AAEV,+BAA+B;AAC/B,gCAAgC;AAChC,oCAAoC;AACpC,uBAAuB;AACvB,sCAAsC;AACtC,+BAA+B;AAC/B,wGAAwG;AAExG,oBAAoB;AACpB,yCAAyC;AACzC,sDAAsD;AACtD,2DAA2D;AAC3D,WAAW;AAEX,iCAAiC;AACjC,sCAAsC;AACtC,QAAQ;AAER,6BAA6B;AAC7B,oEAAoE;AAEpE,4BAA4B;AAC5B,6DAA6D;AAC7D,QAAQ;AAER,qBAAqB;AACrB,wCAAwC;AACxC,YAAY;AACZ,+CAA+C;AAC/C,+BAA+B;AAC/B,aAAa;AACb,mBAAmB;AACnB,WAAW;AACX,SAAS;AACT,MAAM;AAEN,kBAAkB;AAClB,qDAAqD;AACrD,uFAAuF;AACvF,uDAAuD;AACvD,iEAAiE;AACjE,WAAW;AAEX,kCAAkC;AAClC,2CAA2C;AAE3C,8BAA8B;AAC9B,+CAA+C;AAC/C,WAAW;AAEX,6DAA6D;AAC7D,mCAAmC;AACnC,8BAA8B;AAC9B,8BAA8B;AAC9B,oCAAoC;AACpC,qCAAqC;AACrC,sCAAsC;AACtC,4BAA4B;AAC5B,aAAa;AAEb,gCAAgC;AAEhC,2CAA2C;AAC3C,SAAS;AAET,uCAAuC;AACvC,gCAAgC;AAChC,8EAA8E;AAE9E,0CAA0C;AAC1C,gCAAgC;AAChC,iFAAiF;AAEjF,+BAA+B;AAC/B,gCAAgC;AAChC,yEAAyE;AACzE,IAAI"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserController.js","sourceRoot":"","sources":["../../src/controllers/UserController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAkD;AAClD,wCAAqF;AACrF,wCAAsF;AACtF,oDAAiE;AACjE,oCAAyC;AACzC,8CAA2D;AAC3D,wCAAuC;AACvC,0DAAgD;AAChD,qDAAuC;AACvC,oDAAuB;AAIvB,IAAa,cAAc,GAA3B,MAAa,cAAe,SAAQ,qBAAc;IAYzC,KAAK,CAAC,OAAO,CAAS,IAAe,EAAY,IAAY;QAClE,wBAAwB;QACxB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAErB,+BAA+B;QAC/B,MAAM,GAAG,GAAmB,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAChE,IAAI,GAAG,EAAE;YACP,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACxD,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;aAC5C;SACF;QAED,OAAO,IAAI,SAAE,CAAC,gBAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IAGM,KAAK,CAAC,WAAW,CAAU,KAAa,EAAU,GAAgB;QACvE,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,eAAe,EAAE;YACxC,MAAM,IAAI,4BAAe,CAAC,yBAAyB,CAAC,CAAC;SACtD;QAED,MAAM,IAAI,GAAG,MAAM,WAAS,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACnE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAEnF,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,sBAAS,CAAC,2BAA2B,CAAC,CAAC;SAClD;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;QAC/B,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,IAAI,SAAE,EAAE,CAAC;IAClB,CAAC;CACF,CAAA;AA5CC;IADC,IAAA,eAAU,GAAE;8BACe,uBAAgB;wDAAC;AAG7C;IADC,IAAA,sBAAM,EAAC,oBAAoB,CAAC;;qDACG;AAGhC;IADC,IAAA,eAAU,GAAE;8BACc,sBAAe;uDAAC;AAI3C;IAFC,IAAA,UAAG,GAAE;IACL,IAAA,uBAAU,EAAC,SAAS,CAAC;IACA,WAAA,IAAA,iBAAI,GAAE,CAAA;IAAmB,WAAA,IAAA,aAAM,GAAE,CAAA;;qCAApB,WAAS;;6CAc3C;AAGD;IADC,IAAA,YAAK,EAAC,kBAAkB,CAAC;IACA,WAAA,IAAA,YAAK,GAAE,CAAA;IAAiB,WAAA,IAAA,WAAI,GAAE,CAAA;;6CAAM,0BAAW;;iDAgBxE;AA7CU,cAAc;IAF1B,IAAA,eAAQ,EAAC,MAAM,CAAC;IAChB,IAAA,qBAAQ,EAAC,MAAM,CAAC;GACJ,cAAc,CA8C1B;AA9CY,wCAAc"}
@@ -13,7 +13,6 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.UserMetaController = void 0;
16
- const forbidden_1 = require("./../../../http/src/response-methods/forbidden");
17
16
  const http_1 = require("@spinajs/http");
18
17
  const rbac_1 = require("@spinajs/rbac");
19
18
  const decorators_1 = require("./../decorators");
@@ -22,18 +21,18 @@ const orm_http_1 = require("@spinajs/orm-http");
22
21
  let UserMetaController = class UserMetaController {
23
22
  async addMetadata(logged, user, meta) {
24
23
  if (logged.Id !== user.Id) {
25
- throw new forbidden_1.Forbidden('cannot add metadata to another user');
24
+ throw new http_1.Forbidden('cannot add metadata to another user');
26
25
  }
27
26
  await user.Metadata.add(meta);
28
27
  return new http_1.Ok(meta);
29
28
  }
30
29
  async updateMetadata(logged, user, meta) {
31
30
  if (logged.Id !== user.Id) {
32
- throw new forbidden_1.Forbidden('cannot add metadata to another user');
31
+ throw new http_1.Forbidden('cannot add metadata to another user');
33
32
  }
34
33
  await meta.User.populate();
35
34
  if (meta.User.Value.Id !== logged.Id) {
36
- throw new forbidden_1.Forbidden('cannot edit metadata that is not own by user');
35
+ throw new http_1.Forbidden('cannot edit metadata that is not own by user');
37
36
  }
38
37
  await meta.update();
39
38
  return new http_1.Ok();
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserMetadata.js","sourceRoot":"","sources":["../../src/controllers/UserMetadata.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wCAAqE;AACrE,wCAAgE;AAChE,gDAA2C;AAC3C,8CAAiD;AACjD,gDAAuD;AAIvD,IAAa,kBAAkB,GAA/B,MAAa,kBAAkB;IAGtB,KAAK,CAAC,WAAW,CAAS,MAAiB,EAAe,IAAe,EAAa,IAAkB;QAC7G,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE;YACzB,MAAM,IAAI,gBAAS,CAAC,qCAAqC,CAAC,CAAC;SAC5D;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,IAAI,SAAE,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAIM,KAAK,CAAC,cAAc,CAAS,MAAiB,EAAe,IAAe,EAAe,IAAkB;QAClH,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE;YACzB,MAAM,IAAI,gBAAS,CAAC,qCAAqC,CAAC,CAAC;SAC5D;QAED,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,EAAE;YACpC,MAAM,IAAI,gBAAS,CAAC,8CAA8C,CAAC,CAAC;SACrE;QAED,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAEpB,OAAO,IAAI,SAAE,EAAE,CAAC;IAClB,CAAC;CACF,CAAA;AAzBC;IAFC,IAAA,WAAI,GAAE;IACN,IAAA,uBAAU,EAAC,WAAW,CAAC;IACE,WAAA,IAAA,iBAAI,GAAE,CAAA;IAAqB,WAAA,IAAA,oBAAS,GAAE,CAAA;IAAmB,WAAA,IAAA,kBAAO,GAAE,CAAA;;qCAAnD,WAAS,EAAqB,WAAS,EAAmB,mBAAY;;qDAO9G;AAID;IAFC,IAAA,YAAK,EAAC,2BAA2B,CAAC;IAClC,IAAA,uBAAU,EAAC,WAAW,CAAC;IACK,WAAA,IAAA,iBAAI,GAAE,CAAA;IAAqB,WAAA,IAAA,oBAAS,GAAE,CAAA;IAAmB,WAAA,IAAA,oBAAS,GAAE,CAAA;;qCAArD,WAAS,EAAqB,WAAS,EAAqB,mBAAY;;wDAanH;AA3BU,kBAAkB;IAF9B,IAAA,eAAQ,EAAC,qBAAqB,CAAC;IAC/B,IAAA,qBAAQ,EAAC,eAAe,CAAC;GACb,kBAAkB,CA4B9B;AA5BY,gDAAkB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login-dto.js","sourceRoot":"","sources":["../../src/dto/login-dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA6C;AAEhC,QAAA,cAAc,GAAG;IAC5B,OAAO,EAAE,yCAAyC;IAClD,KAAK,EAAE,gBAAgB;IACvB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;QAC1C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;KAC5C;IACD,QAAQ,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;CAChC,CAAC;AAGF,IAAa,QAAQ,GAArB,MAAa,QAAQ;IAKnB,YAAY,IAAS;QACnB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;CACF,CAAA;AARY,QAAQ;IADpB,IAAA,mBAAM,EAAC,sBAAc,CAAC;;GACV,QAAQ,CAQpB;AARY,4BAAQ"}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"password-dto.js","sourceRoot":"","sources":["../../src/dto/password-dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA6C;AAEhC,QAAA,iBAAiB,GAAG;IAC/B,OAAO,EAAE,yCAAyC;IAClD,KAAK,EAAE,mBAAmB;IAC1B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE;QAC5D,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE;QACzD,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE;KACjE;IACD,QAAQ,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,iBAAiB,CAAC;CACzD,CAAC;AAGF,IAAa,WAAW,GAAxB,MAAa,WAAW;IAOtB,YAAY,IAAS;QACnB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;CACF,CAAA;AAVY,WAAW;IADvB,IAAA,mBAAM,EAAC,yBAAiB,CAAC;;GACb,WAAW,CAUvB;AAVY,kCAAW"}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-dto.js","sourceRoot":"","sources":["../../src/dto/user-dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA6C;AAChC,QAAA,aAAa,GAAG;IAC3B,OAAO,EAAE,yCAAyC;IAClD,KAAK,EAAE,UAAU;IACjB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE;QACzD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;KACzC;CACF,CAAC;AAGF,IAAa,OAAO,GAApB,MAAa,OAAO;IAKlB,YAAY,IAAS;QACnB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;CACF,CAAA;AARY,OAAO;IADnB,IAAA,mBAAM,EAAC,qBAAa,CAAC;;GACT,OAAO,CAQnB;AARY,0BAAO"}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,+CAA6B;AAC7B,gDAA8B;AAC9B,6CAA2B;AAC3B,gEAA8C;AAC9C,+DAA6C;AAC7C,iDAA+B;AAC/B,+CAA6B"}
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/interfaces.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middlewares.js","sourceRoot":"","sources":["../src/middlewares.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAsD;AACtD,oCAAqD;AACrD,4BAA0B;AAE1B,0DAAgD;AAChD,qDAAuC;AACvC,wCAAsE;AAGtE,IAAa,cAAc,GAA3B,MAAa,cAAe,SAAQ,uBAAgB;IAO3C,KAAK,CAAC,YAAY;QACvB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,+GAA+G,CAAC,CAAC;SAClI;IACH,CAAC;IAEM,MAAM;QACX,OAAO,KAAK,EAAE,GAAa,EAAE,IAAsB,EAAE,IAA0B,EAAE,EAAE;YACjF,IAAI;gBACF,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;oBACpB,MAAM,IAAI,GAAmB,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;oBAC7E,IAAI,IAAI,EAAE;wBACR,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBACzD,IAAI,OAAO,EAAE;4BACX,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,WAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;4BACtD,GAAG,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;yBAC/B;6BAAM;4BACL,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;yBACzB;qBACF;yBAAM;wBACL,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;qBACzB;iBACF;gBACD,IAAI,EAAE,CAAC;aACR;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,GAAG,CAAC,CAAC;aACX;QACH,CAAC,CAAC;IACJ,CAAC;IACM,KAAK;QACV,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AArCC;IADC,IAAA,sBAAM,EAAC,oBAAoB,CAAC;;qDACG;AAGhC;IADC,IAAA,eAAU,GAAE;8BACc,sBAAe;uDAAC;AALhC,cAAc;IAD1B,IAAA,eAAU,EAAC,uBAAgB,CAAC;GAChB,cAAc,CAuC1B;AAvCY,wCAAc"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policies.js","sourceRoot":"","sources":["../src/policies.ts"],"names":[],"mappings":";;;AACA,wCAAqF;AACrF,oDAAgD;AAChD,6CAAyD;AAEzD,oCAAiC;AAGjC,MAAa,UAAW,SAAQ,iBAAU;IAGxC;QACE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,EAAE,GAAG,OAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACpC,CAAC;IAEM,SAAS,CAAC,OAAe,EAAE,SAAsB;QACtD,0BAA0B;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,GAAa,EAAE,MAAc,EAAE,QAAqB;;QACvE,MAAM,UAAU,GAAoB,OAAO,CAAC,WAAW,CAAC,sCAAyB,EAAE,QAAQ,CAAC,CAAC;QAC7F,IAAI,UAAU,GAAG,MAAA,UAAU,CAAC,UAAU,mCAAI,EAAE,CAAC;QAE7C,wCAAwC;QACxC,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YACxC,UAAU,GAAG,MAAA,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,mCAAI,EAAE,CAAC;SACpE;QAED,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;YACzC,MAAM,IAAI,sBAAS,CAAC,2CAA2C,CAAC,CAAC;SAClE;QAED,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;YACrC,MAAM,IAAI,sBAAS,CAAC,oCAAoC,CAAC,CAAC;SAC3D;QAED,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,OAAO,EAAE;YACvE,MAAM,IAAI,sBAAS,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,6BAA6B,UAAU,iBAAiB,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;SACpI;IACH,CAAC;CACF;AAnCD,gCAmCC;AAED,SAAgB,mBAAmB,CAAC,IAAuB,EAAE,QAAgB,EAAE,UAAkB;IAC/F,MAAM,EAAE,GAAG,OAAE,CAAC,GAAG,CAAgB,eAAe,CAAC,CAAC;IAClD,OAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAS,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;AACrD,CAAC;AAHD,kDAGC;AAED,SAAgB,mBAAmB,CAAC,IAAU,EAAE,QAAgB,EAAE,UAAkB;IAClF,MAAM,EAAE,GAAG,OAAE,CAAC,GAAG,CAAgB,eAAe,CAAC,CAAC;IAElD,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,IAAI,CAAC;KACb;IAED,OAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAS,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC1D,CAAC;AARD,kDAQC;AAED,SAAgB,oBAAoB,CAAC,GAAa,EAAE,QAAgB,EAAE,UAAkB;IACtF,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;QACrC,OAAO,IAAI,CAAC;KACb;IAED,OAAO,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AACrE,CAAC;AAND,oDAMC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-args.js","sourceRoot":"","sources":["../src/route-args.ts"],"names":[],"mappings":";;;;;;;;;AAAA,wCAAsF;AACtF,oCAAyC;AAIzC,IAAa,OAAO,GAApB,MAAa,OAAQ,SAAQ,gBAAS;IACpC,IAAW,aAAa;QACtB,OAAO,oBAAa,CAAC,KAAK,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,MAAuB,EAAE,GAAY;QAC9E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACxD,CAAC;CACF,CAAA;AARY,OAAO;IADnB,IAAA,eAAU,GAAE;GACA,OAAO,CAQnB;AARY,0BAAO;AAWpB,IAAa,UAAU,GAAvB,MAAa,UAAW,SAAQ,gBAAS;IACvC,IAAI,aAAa;QACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAsB,EAAE,GAAY;QAC7E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAClH,CAAC;CACF,CAAA;AAPY,UAAU;IADtB,IAAA,eAAU,GAAE;GACA,UAAU,CAOtB;AAPY,gCAAU"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformers.js","sourceRoot":"","sources":["../src/transformers.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAAgD;AAChD,oDAAuB;AACvB,oCAAyC;AASzC,IAAa,mBAAmB,GAAhC,MAAa,mBAAuB,SAAQ,sBAA6C;IACvF,IAAI,IAAI;QACN,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAEM,SAAS,CAAC,IAAiB,EAAE,QAAyB;QAC3D,IAAI,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC7C;aAAM;YACL,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC3B;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAdY,mBAAmB;IAD/B,IAAA,eAAU,GAAE;GACA,mBAAmB,CAc/B;AAdY,kDAAmB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spinajs/rbac-http",
3
- "version": "2.0.14",
3
+ "version": "2.0.15",
4
4
  "description": "HTTP API for user session & permissions",
5
5
  "main": "lib/index.js",
6
6
  "private": false,
@@ -43,7 +43,7 @@
43
43
  "@spinajs/exceptions": "^2.0.12",
44
44
  "@spinajs/log": "^2.0.14",
45
45
  "@spinajs/orm": "^2.0.14",
46
- "@spinajs/orm-http": "^2.0.14",
46
+ "@spinajs/orm-http": "^2.0.15",
47
47
  "@spinajs/rbac": "^2.0.14",
48
48
  "@spinajs/reflection": "^2.0.14",
49
49
  "accesscontrol": "^2.2.1",
@@ -52,5 +52,5 @@
52
52
  "devDependencies": {
53
53
  "@spinajs/orm-sqlite": "^2.0.14"
54
54
  },
55
- "gitHead": "81b84e0b70c385409a01e655412c48d021a96352"
55
+ "gitHead": "accb5cda01f335933f681eec75e32ca25fdb8dc7"
56
56
  }
@@ -1,461 +0,0 @@
1
- import * as express from 'express';
2
- import { Constructor, AsyncModule } from '@spinajs/di';
3
- import { Configuration } from '@spinajs/configuration';
4
- /**
5
- * Accept header enum
6
- */
7
- export declare enum HttpAcceptHeaders {
8
- /**
9
- * Accept header for JSON
10
- */
11
- JSON = 1,
12
- /**
13
- * Accept header for HTML
14
- */
15
- HTML = 2,
16
- /**
17
- * Accept header for XML
18
- */
19
- XML = 4,
20
- /**
21
- * Accept all accept headers shorcut
22
- */
23
- ALL = 7
24
- }
25
- /**
26
- * Config options for static files
27
- */
28
- export interface IHttpStaticFileConfiguration {
29
- /**
30
- * virtual prefix in url eg. http://localhost:3000/static/images/kitten.jpg
31
- */
32
- Route: string;
33
- /**
34
- * full path to folder with static content
35
- */
36
- Path: string;
37
- }
38
- /**
39
- * Uploaded file fields
40
- */
41
- export interface IUploadedFile {
42
- Size: number;
43
- Path: string;
44
- Name: string;
45
- Type: string;
46
- LastModifiedDate?: Date;
47
- Hash?: string;
48
- }
49
- export interface Request extends express.Request {
50
- storage: IActionLocalStoregeContext;
51
- }
52
- export interface IActionLocalStoregeContext {
53
- requestId: string;
54
- responseStart: Date;
55
- }
56
- export declare abstract class ServerMiddleware extends AsyncModule {
57
- Order: number;
58
- abstract before(): (req: Request, res: express.Response, next: express.NextFunction) => void | null;
59
- abstract after(): (req: Request, res: express.Response, next: express.NextFunction) => void | null;
60
- }
61
- /**
62
- * HTTP response statuses
63
- */
64
- export declare enum HTTP_STATUS_CODE {
65
- /**
66
- * All ok with content
67
- */
68
- OK = 200,
69
- /**
70
- * Request is OK and new resource has been created.
71
- */
72
- CREATED = 201,
73
- /**
74
- * Request is accepted, but has not been completed yet.
75
- */
76
- ACCEPTED = 202,
77
- /**
78
- * ALl is ok & no content to return
79
- */
80
- NO_CONTENT = 204,
81
- /**
82
- * The server is delivering only part of the resource (byte serving) due to a range header
83
- * sent by the client. The range header is used by HTTP clients to enable resuming of
84
- * interrupted downloads, or split a download into multiple simultaneous streams.
85
- */
86
- PARTIAL_CONTENT = 206,
87
- /**
88
- * Resource is not modified
89
- */
90
- NOT_MODIFIED = 304,
91
- /**
92
- * Invalid request, eg. invalid parameters
93
- */
94
- BAD_REQUEST = 400,
95
- /**
96
- * Auth required
97
- */
98
- UNAUTHORIZED = 401,
99
- /**
100
- * No permission
101
- */
102
- FORBIDDEN = 403,
103
- /**
104
- * Resource not found
105
- */
106
- NOT_FOUND = 404,
107
- /**
108
- * Not acceptable request headers (Accept header)
109
- */
110
- NOT_ACCEPTABLE = 406,
111
- /**
112
- * Method not allowed eg. DELETE not allowed on resource, or login second time
113
- */
114
- NOT_ALLOWED = 405,
115
- /**
116
- * Conflict
117
- */
118
- CONFLICT = 409,
119
- /**
120
- * Internal server error.
121
- */
122
- INTERNAL_ERROR = 500,
123
- /**
124
- * Method not implemented
125
- */
126
- NOT_IMPLEMENTED = 501
127
- }
128
- /**
129
- * Avaible route types, match HTTP methods
130
- */
131
- export declare enum RouteType {
132
- /**
133
- * POST method - used to create new resource or send data to server
134
- */
135
- POST = "post",
136
- /**
137
- * GET method - used to retrieve data from server
138
- */
139
- GET = "get",
140
- /**
141
- * PUT method - used to updates resource
142
- */
143
- PUT = "put",
144
- /**
145
- * DELETE method - used to delete resource
146
- */
147
- DELETE = "delete",
148
- /**
149
- * PATCH method - used to partially update resource eg. one field
150
- */
151
- PATCH = "patch",
152
- /**
153
- * HEAD method - same as get, but returns no data. usefull for checking if resource exists etc.
154
- */
155
- HEAD = "head",
156
- /**
157
- * FILE method - spine special route type. Internall its simple GET method, but informs that specified route returns binary file
158
- */
159
- FILE = "file",
160
- UNKNOWN = "unknown"
161
- }
162
- export declare enum UuidVersion {
163
- v1 = 0,
164
- v3 = 1,
165
- v4 = 2,
166
- v5 = 3
167
- }
168
- /**
169
- * Avaible route parameters type
170
- */
171
- export declare enum ParameterType {
172
- /**
173
- * Parameter is injected from DI container & resolved
174
- */
175
- FromDi = "FromDi",
176
- /**
177
- * Parameter value is taken from query string eg. `?name=flavio`
178
- */
179
- FromQuery = "FromQuery",
180
- /**
181
- * From message body, eg. POST json object
182
- */
183
- FromBody = "FromBody",
184
- /**
185
- * From url params eg: `/:id`
186
- */
187
- FromParams = "FromParams",
188
- /**
189
- * From form file field
190
- */
191
- FromFile = "FromFile",
192
- /**
193
- * From form
194
- */
195
- FromForm = "FromForm",
196
- /**
197
- * From cvs file
198
- */
199
- FromCSV = "FromCSV",
200
- /**
201
- * From JSON file
202
- */
203
- FromJSONFile = "FromJSONFile",
204
- /**
205
- * From form field
206
- */
207
- FormField = "FromFormField",
208
- /**
209
- * From model object
210
- */
211
- FromModel = "FromModel",
212
- /**
213
- * Data from coockie
214
- */
215
- FromCookie = "FromCookie",
216
- /**
217
- * From http header
218
- */
219
- FromHeader = "FromHeader",
220
- /**
221
- * Req from express
222
- */
223
- Req = "ArgAsRequest",
224
- Res = "ArgAsResponse",
225
- /**
226
- * Other custom arguments
227
- */
228
- Other = "Other"
229
- }
230
- export interface IFormOptions {
231
- multiples: boolean;
232
- }
233
- export interface IFormOptions {
234
- /**
235
- * default 1000; limit the number of fields that the Querystring parser will decode, set 0 for unlimited
236
- */
237
- maxFields?: number;
238
- /**
239
- * default 20 * 1024 * 1024 (20mb); limit the amount of memory all fields together (except files) can allocate in bytes.
240
- */
241
- maxFieldsSize?: number;
242
- /**
243
- * default 'utf-8'; sets encoding for incoming form fields,
244
- */
245
- encoding?: string;
246
- }
247
- export interface IUploadOptions {
248
- /**
249
- * default false; include checksums calculated for incoming files, set this to some hash algorithm, see crypto.createHash for available algorithms
250
- */
251
- hash?: false;
252
- /**
253
- * default os.tmpdir(); the directory for placing file uploads in. You can move them later by using fs.rename()
254
- */
255
- uploadDir?: string | ((cfg: Configuration) => string);
256
- /**
257
- * default false; when you call the .parse method, the files argument (of the callback) will contain arrays of files for inputs which submit multiple files using the HTML5 multiple attribute. Also, the fields argument will contain arrays of values for fields that have names ending with '[]'.
258
- */
259
- multiples?: boolean;
260
- enabledPlugins?: string[];
261
- /**
262
- * default 200 * 1024 * 1024 (200mb); limit the size of uploaded file.
263
- */
264
- maxFileSize?: number;
265
- /**
266
- * default false; to include the extensions of the original files or not
267
- */
268
- keepExtensions?: boolean;
269
- }
270
- /**
271
- * Describes parameters passed to route.
272
- */
273
- export interface IRouteParameter {
274
- /**
275
- * Parameter index in function args
276
- */
277
- Index: number;
278
- /**
279
- * Is value taken from query string, url params or message body
280
- */
281
- Type: ParameterType | string;
282
- /**
283
- * Schema for validation parameter ( raw value eg. to check if matches string / number constrain)
284
- */
285
- RouteParamSchema?: any;
286
- /**
287
- * Schema for paramater
288
- */
289
- Schema?: any;
290
- /**
291
- * Additional options
292
- */
293
- Options?: any;
294
- /**
295
- * Parameter runtime type eg. number or class
296
- */
297
- RuntimeType: any;
298
- /**
299
- * Name of parameter eg. `id`
300
- */
301
- Name: string;
302
- }
303
- /**
304
- * Route action call spefici data. Used to pass data / arguments when parsing
305
- * action parameters for specific call. Eg. to parse form data, and extract it
306
- * as different arguments.
307
- */
308
- export interface IRouteCall {
309
- Payload: any;
310
- }
311
- export interface ICookieOptions {
312
- maxAge?: number | undefined;
313
- signed?: boolean | undefined;
314
- expires?: Date | undefined;
315
- httpOnly?: boolean | undefined;
316
- path?: string | undefined;
317
- domain?: string | undefined;
318
- secure?: boolean | undefined;
319
- sameSite?: boolean | 'lax' | 'strict' | 'none' | undefined;
320
- }
321
- export interface IRoute {
322
- /**
323
- * url path eg. /foo/bar/:id
324
- */
325
- Path: string;
326
- /**
327
- * HTTP request method, used internally. Not visible to others.
328
- */
329
- InternalType: RouteType;
330
- /**
331
- * SPINAJS API method type, mostly same as HTTP type, but can be non standard type eg. FILE
332
- * This type is visible outside in api discovery.
333
- */
334
- Type: RouteType;
335
- /**
336
- * Method name assigned to this route eg. `findUsers`
337
- */
338
- Method: string;
339
- /**
340
- * Custom route parameters taken from query string or message body
341
- */
342
- Parameters: Map<number, IRouteParameter>;
343
- /**
344
- * Assigned middlewares to route
345
- */
346
- Middlewares: IMiddlewareDescriptor[];
347
- /**
348
- * Assigned policies to route
349
- */
350
- Policies: IPolicyDescriptor[];
351
- /**
352
- * Additional route options eg. file size etc.
353
- */
354
- Options: any;
355
- Schema: any;
356
- }
357
- export interface IMiddlewareDescriptor {
358
- Type: Constructor<BaseMiddleware>;
359
- Options: any[];
360
- }
361
- export interface IController {
362
- /**
363
- * Express router with middleware stack
364
- */
365
- Router: express.Router;
366
- /**
367
- * Controller descriptor
368
- */
369
- Descriptor: IControllerDescriptor;
370
- /**
371
- * Base path for all controller routes eg. my/custom/path/
372
- *
373
- * It can be defined via `@BasePath` decorator, defaults to controller name without `Controller` part.
374
- */
375
- BasePath: string;
376
- }
377
- /**
378
- * Middlewares are classes that can change request object or perform specific task before & after route execution
379
- * eg. route parameter logging / headers check etc.
380
- */
381
- export declare abstract class BaseMiddleware {
382
- /**
383
- * Inform, if middleware is enabled for given action
384
- */
385
- abstract isEnabled(action: IRoute, instance: IController): boolean;
386
- /**
387
- * Called before action in middleware stack eg. to modify req or resp objects.
388
- */
389
- abstract onBeforeAction(req: express.Request): Promise<void>;
390
- /**
391
- * Called after action in middleware stack eg. to modify response
392
- */
393
- abstract onAfterAction(req: express.Request): Promise<void>;
394
- }
395
- /**
396
- * Descriptor for policies eg. attached routes, passed options eg. token etc.
397
- */
398
- export interface IPolicyDescriptor {
399
- Type: Constructor<BasePolicy>;
400
- Options: any[];
401
- }
402
- /**
403
- * Base class for policies.
404
- *
405
- * Policies checks if route can be executed eg. user have proper role
406
- */
407
- export declare abstract class BasePolicy {
408
- /**
409
- * Checks if policy is enabled for given action & controlle eg. user session exists
410
- *
411
- * @param action action that is executed ( route info )
412
- * @param instance controller instance
413
- */
414
- abstract isEnabled(action: IRoute, instance: IController): boolean;
415
- /**
416
- *
417
- * Executes policy, when throws exception - route is not executed
418
- *
419
- * @param req express request object
420
- */
421
- abstract execute(req: Request, action: IRoute, instance: IController): Promise<void>;
422
- }
423
- /**
424
- * Descriptor for controller
425
- */
426
- export interface IControllerDescriptor {
427
- /**
428
- * Controller routes
429
- */
430
- Routes: Map<string | symbol, IRoute>;
431
- /**
432
- * Controller - wise middlewares
433
- */
434
- Middlewares: IMiddlewareDescriptor[];
435
- /**
436
- * Controller - wise policies
437
- */
438
- Policies: IPolicyDescriptor[];
439
- /**
440
- * Base url path for controller ( added for all child url's)
441
- */
442
- BasePath: string;
443
- }
444
- /**
445
- * Base class for data transformers.
446
- *
447
- * Data formatter helps transforms data for desired format.
448
- * Eg. we have API function that returns some data, but we want
449
- * to easily transform data for some client
450
- * eg. plain array to format that datatables.net can easily read
451
- */
452
- export declare abstract class DataTransformer<T = any, U = any> {
453
- /**
454
- * Transforms data from one format to another
455
- *
456
- * @param data - input data
457
- */
458
- abstract transform(data: T, request: express.Request): U;
459
- abstract get Type(): string;
460
- }
461
- export declare type RouteCallback = (req: express.Request, res: express.Response, next: express.NextFunction) => (req: express.Request, res: express.Response) => void;