@pristine-ts/networking 0.0.165 → 0.0.166

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 (181) hide show
  1. package/dist/lib/cjs/decorators/body.decorator.js +20 -1
  2. package/dist/lib/cjs/decorators/body.decorator.js.map +1 -1
  3. package/dist/lib/cjs/decorators/controller.decorator.js +13 -1
  4. package/dist/lib/cjs/decorators/controller.decorator.js.map +1 -1
  5. package/dist/lib/cjs/decorators/decorators.js +1 -1
  6. package/dist/lib/cjs/decorators/decorators.js.map +1 -1
  7. package/dist/lib/cjs/decorators/headers.decorator.js +20 -1
  8. package/dist/lib/cjs/decorators/headers.decorator.js.map +1 -1
  9. package/dist/lib/cjs/decorators/identity.decorator.js +20 -1
  10. package/dist/lib/cjs/decorators/identity.decorator.js.map +1 -1
  11. package/dist/lib/cjs/decorators/query-parameter.decorator.js +22 -1
  12. package/dist/lib/cjs/decorators/query-parameter.decorator.js.map +1 -1
  13. package/dist/lib/cjs/decorators/query-parameters.decorator.js +20 -1
  14. package/dist/lib/cjs/decorators/query-parameters.decorator.js.map +1 -1
  15. package/dist/lib/cjs/decorators/request.decorator.js +20 -1
  16. package/dist/lib/cjs/decorators/request.decorator.js.map +1 -1
  17. package/dist/lib/cjs/decorators/response-header.decorator.js +24 -2
  18. package/dist/lib/cjs/decorators/response-header.decorator.js.map +1 -1
  19. package/dist/lib/cjs/decorators/route-parameter.decorator.js +21 -1
  20. package/dist/lib/cjs/decorators/route-parameter.decorator.js.map +1 -1
  21. package/dist/lib/cjs/decorators/route.decorator.js +21 -1
  22. package/dist/lib/cjs/decorators/route.decorator.js.map +1 -1
  23. package/dist/lib/cjs/enrichers/router-response.enricher.js +4 -0
  24. package/dist/lib/cjs/enrichers/router-response.enricher.js.map +1 -1
  25. package/dist/lib/cjs/errors/errors.js +3 -1
  26. package/dist/lib/cjs/errors/errors.js.map +1 -1
  27. package/dist/lib/cjs/errors/http.error.js +1 -1
  28. package/dist/lib/cjs/errors/http.error.js.map +1 -1
  29. package/dist/lib/cjs/errors/method-router-adding.error.js +25 -0
  30. package/dist/lib/cjs/errors/method-router-adding.error.js.map +1 -0
  31. package/dist/lib/cjs/errors/path-router-adding.error.js +3 -2
  32. package/dist/lib/cjs/errors/path-router-adding.error.js.map +1 -1
  33. package/dist/lib/cjs/errors/path-router-instantiation.error.js +3 -2
  34. package/dist/lib/cjs/errors/path-router-instantiation.error.js.map +1 -1
  35. package/dist/lib/cjs/interfaces/interfaces.js +2 -2
  36. package/dist/lib/cjs/interfaces/interfaces.js.map +1 -1
  37. package/dist/lib/cjs/models/models.js +0 -1
  38. package/dist/lib/cjs/models/models.js.map +1 -1
  39. package/dist/lib/cjs/models/request.js +10 -4
  40. package/dist/lib/cjs/models/request.js.map +1 -1
  41. package/dist/lib/cjs/models/response.js +6 -0
  42. package/dist/lib/cjs/models/response.js.map +1 -1
  43. package/dist/lib/cjs/models/route.js +4 -0
  44. package/dist/lib/cjs/models/route.js.map +1 -1
  45. package/dist/lib/cjs/networking.module.js +0 -6
  46. package/dist/lib/cjs/networking.module.js.map +1 -1
  47. package/dist/lib/cjs/nodes/method-router.node.js +19 -4
  48. package/dist/lib/cjs/nodes/method-router.node.js.map +1 -1
  49. package/dist/lib/cjs/nodes/path-router.node.js +22 -12
  50. package/dist/lib/cjs/nodes/path-router.node.js.map +1 -1
  51. package/dist/lib/cjs/resolvers/body-parameter-decorator.resolver.js +18 -0
  52. package/dist/lib/cjs/resolvers/body-parameter-decorator.resolver.js.map +1 -1
  53. package/dist/lib/cjs/resolvers/controller-method-parameter-decorator.resolver.js +14 -0
  54. package/dist/lib/cjs/resolvers/controller-method-parameter-decorator.resolver.js.map +1 -1
  55. package/dist/lib/cjs/resolvers/headers-parameter-decorator.resolver.js +18 -0
  56. package/dist/lib/cjs/resolvers/headers-parameter-decorator.resolver.js.map +1 -1
  57. package/dist/lib/cjs/resolvers/identity-parameter-decorator.resolver.js +18 -0
  58. package/dist/lib/cjs/resolvers/identity-parameter-decorator.resolver.js.map +1 -1
  59. package/dist/lib/cjs/resolvers/query-parameter-decorator.resolver.js +19 -0
  60. package/dist/lib/cjs/resolvers/query-parameter-decorator.resolver.js.map +1 -1
  61. package/dist/lib/cjs/resolvers/query-parameters-decorator.resolver.js +18 -0
  62. package/dist/lib/cjs/resolvers/query-parameters-decorator.resolver.js.map +1 -1
  63. package/dist/lib/cjs/resolvers/route-parameter-decorator.resolver.js +18 -0
  64. package/dist/lib/cjs/resolvers/route-parameter-decorator.resolver.js.map +1 -1
  65. package/dist/lib/cjs/router.js +16 -0
  66. package/dist/lib/cjs/router.js.map +1 -1
  67. package/dist/lib/esm/decorators/body.decorator.js +20 -1
  68. package/dist/lib/esm/decorators/body.decorator.js.map +1 -1
  69. package/dist/lib/esm/decorators/controller.decorator.js +13 -1
  70. package/dist/lib/esm/decorators/controller.decorator.js.map +1 -1
  71. package/dist/lib/esm/decorators/decorators.js +1 -1
  72. package/dist/lib/esm/decorators/decorators.js.map +1 -1
  73. package/dist/lib/esm/decorators/headers.decorator.js +20 -1
  74. package/dist/lib/esm/decorators/headers.decorator.js.map +1 -1
  75. package/dist/lib/esm/decorators/identity.decorator.js +20 -1
  76. package/dist/lib/esm/decorators/identity.decorator.js.map +1 -1
  77. package/dist/lib/esm/decorators/query-parameter.decorator.js +22 -1
  78. package/dist/lib/esm/decorators/query-parameter.decorator.js.map +1 -1
  79. package/dist/lib/esm/decorators/query-parameters.decorator.js +20 -1
  80. package/dist/lib/esm/decorators/query-parameters.decorator.js.map +1 -1
  81. package/dist/lib/esm/decorators/request.decorator.js +20 -1
  82. package/dist/lib/esm/decorators/request.decorator.js.map +1 -1
  83. package/dist/lib/esm/decorators/response-header.decorator.js +24 -2
  84. package/dist/lib/esm/decorators/response-header.decorator.js.map +1 -1
  85. package/dist/lib/esm/decorators/route-parameter.decorator.js +21 -1
  86. package/dist/lib/esm/decorators/route-parameter.decorator.js.map +1 -1
  87. package/dist/lib/esm/decorators/route.decorator.js +21 -1
  88. package/dist/lib/esm/decorators/route.decorator.js.map +1 -1
  89. package/dist/lib/esm/enrichers/router-response.enricher.js +4 -0
  90. package/dist/lib/esm/enrichers/router-response.enricher.js.map +1 -1
  91. package/dist/lib/esm/errors/errors.js +3 -1
  92. package/dist/lib/esm/errors/errors.js.map +1 -1
  93. package/dist/lib/esm/errors/http.error.js +1 -1
  94. package/dist/lib/esm/errors/http.error.js.map +1 -1
  95. package/dist/lib/esm/errors/method-router-adding.error.js +21 -0
  96. package/dist/lib/esm/errors/method-router-adding.error.js.map +1 -0
  97. package/dist/lib/esm/errors/path-router-adding.error.js +3 -2
  98. package/dist/lib/esm/errors/path-router-adding.error.js.map +1 -1
  99. package/dist/lib/esm/errors/path-router-instantiation.error.js +3 -2
  100. package/dist/lib/esm/errors/path-router-instantiation.error.js.map +1 -1
  101. package/dist/lib/esm/interfaces/interfaces.js +2 -2
  102. package/dist/lib/esm/interfaces/interfaces.js.map +1 -1
  103. package/dist/lib/esm/models/models.js +0 -1
  104. package/dist/lib/esm/models/models.js.map +1 -1
  105. package/dist/lib/esm/models/request.js +10 -4
  106. package/dist/lib/esm/models/request.js.map +1 -1
  107. package/dist/lib/esm/models/response.js +6 -0
  108. package/dist/lib/esm/models/response.js.map +1 -1
  109. package/dist/lib/esm/models/route.js +4 -0
  110. package/dist/lib/esm/models/route.js.map +1 -1
  111. package/dist/lib/esm/networking.module.js +0 -6
  112. package/dist/lib/esm/networking.module.js.map +1 -1
  113. package/dist/lib/esm/nodes/method-router.node.js +19 -4
  114. package/dist/lib/esm/nodes/method-router.node.js.map +1 -1
  115. package/dist/lib/esm/nodes/path-router.node.js +22 -12
  116. package/dist/lib/esm/nodes/path-router.node.js.map +1 -1
  117. package/dist/lib/esm/resolvers/body-parameter-decorator.resolver.js +18 -0
  118. package/dist/lib/esm/resolvers/body-parameter-decorator.resolver.js.map +1 -1
  119. package/dist/lib/esm/resolvers/controller-method-parameter-decorator.resolver.js +14 -0
  120. package/dist/lib/esm/resolvers/controller-method-parameter-decorator.resolver.js.map +1 -1
  121. package/dist/lib/esm/resolvers/headers-parameter-decorator.resolver.js +18 -0
  122. package/dist/lib/esm/resolvers/headers-parameter-decorator.resolver.js.map +1 -1
  123. package/dist/lib/esm/resolvers/identity-parameter-decorator.resolver.js +18 -0
  124. package/dist/lib/esm/resolvers/identity-parameter-decorator.resolver.js.map +1 -1
  125. package/dist/lib/esm/resolvers/query-parameter-decorator.resolver.js +19 -0
  126. package/dist/lib/esm/resolvers/query-parameter-decorator.resolver.js.map +1 -1
  127. package/dist/lib/esm/resolvers/query-parameters-decorator.resolver.js +18 -0
  128. package/dist/lib/esm/resolvers/query-parameters-decorator.resolver.js.map +1 -1
  129. package/dist/lib/esm/resolvers/route-parameter-decorator.resolver.js +18 -0
  130. package/dist/lib/esm/resolvers/route-parameter-decorator.resolver.js.map +1 -1
  131. package/dist/lib/esm/router.js +16 -0
  132. package/dist/lib/esm/router.js.map +1 -1
  133. package/dist/types/decorators/body.decorator.d.ts +3 -0
  134. package/dist/types/decorators/controller.decorator.d.ts +4 -0
  135. package/dist/types/decorators/decorators.d.ts +1 -1
  136. package/dist/types/decorators/headers.decorator.d.ts +3 -0
  137. package/dist/types/decorators/identity.decorator.d.ts +3 -0
  138. package/dist/types/decorators/query-parameter.decorator.d.ts +4 -0
  139. package/dist/types/decorators/query-parameters.decorator.d.ts +3 -0
  140. package/dist/types/decorators/request.decorator.d.ts +3 -0
  141. package/dist/types/decorators/response-header.decorator.d.ts +7 -0
  142. package/dist/types/decorators/route-parameter.decorator.d.ts +4 -0
  143. package/dist/types/decorators/route.decorator.d.ts +6 -1
  144. package/dist/types/enrichers/router-response.enricher.d.ts +4 -0
  145. package/dist/types/errors/errors.d.ts +3 -1
  146. package/dist/types/errors/http.error.d.ts +1 -1
  147. package/dist/types/errors/method-router-adding.error.d.ts +10 -0
  148. package/dist/types/errors/path-router-adding.error.d.ts +4 -3
  149. package/dist/types/errors/path-router-instantiation.error.d.ts +4 -3
  150. package/dist/types/interfaces/controller-method-parameter-decorator-resolver.interface.d.ts +19 -2
  151. package/dist/types/interfaces/interfaces.d.ts +2 -2
  152. package/dist/types/interfaces/parameter-decorator.interface.d.ts +4 -0
  153. package/dist/types/interfaces/query-parameters-decorator.interface.d.ts +4 -0
  154. package/dist/types/interfaces/route-parameter-decorator.interface.d.ts +1 -1
  155. package/dist/types/interfaces/router.interface.d.ts +2 -2
  156. package/dist/types/models/models.d.ts +0 -1
  157. package/dist/types/models/request.d.ts +16 -4
  158. package/dist/types/models/response.d.ts +15 -0
  159. package/dist/types/models/route.d.ts +4 -0
  160. package/dist/types/nodes/method-router.node.d.ts +17 -4
  161. package/dist/types/nodes/path-router.node.d.ts +11 -7
  162. package/dist/types/nodes/router.node.d.ts +3 -3
  163. package/dist/types/resolvers/body-parameter-decorator.resolver.d.ts +22 -2
  164. package/dist/types/resolvers/controller-method-parameter-decorator.resolver.d.ts +14 -0
  165. package/dist/types/resolvers/headers-parameter-decorator.resolver.d.ts +22 -2
  166. package/dist/types/resolvers/identity-parameter-decorator.resolver.d.ts +22 -2
  167. package/dist/types/resolvers/query-parameter-decorator.resolver.d.ts +23 -2
  168. package/dist/types/resolvers/query-parameters-decorator.resolver.d.ts +22 -2
  169. package/dist/types/resolvers/route-parameter-decorator.resolver.d.ts +22 -2
  170. package/dist/types/router.d.ts +12 -0
  171. package/package.json +5 -5
  172. package/dist/lib/cjs/enums/enums.js +0 -1
  173. package/dist/lib/cjs/enums/enums.js.map +0 -1
  174. package/dist/lib/cjs/models/error-response-body.js +0 -7
  175. package/dist/lib/cjs/models/error-response-body.js.map +0 -1
  176. package/dist/lib/esm/enums/enums.js +0 -1
  177. package/dist/lib/esm/enums/enums.js.map +0 -1
  178. package/dist/lib/esm/models/error-response-body.js +0 -3
  179. package/dist/lib/esm/models/error-response-body.js.map +0 -1
  180. package/dist/types/enums/enums.d.ts +0 -0
  181. package/dist/types/models/error-response-body.d.ts +0 -4
@@ -1 +1 @@
1
- {"version":3,"file":"route-parameter-decorator.resolver.js","sourceRoot":"","sources":["../../../../src/resolvers/route-parameter-decorator.resolver.ts"],"names":[],"mappings":";;;;;;;;;AAAA,uCAAoC;AAGpC,gDAAmG;AACnG,4EAAqE;AAKrE,IAAa,+BAA+B,GAA5C,MAAa,+BAA+B;IACxC,OAAO,CAAC,cAAmB,EACnB,OAAgB,EAChB,eAAwC,EACxC,QAA4B;;QAChC,OAAO,OAAO,CAAC,OAAO,CAAC,MAAA,eAAe,CAAC,cAAc,CAAC,kBAAkB,CAAC,mCAAI,IAAI,CAAC,CAAC;IACvF,CAAC;IAED,QAAQ,CAAC,cAAmB;QACxB,OAAO,cAAc,IAAI,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC,IAAI,KAAK,gBAAgB,CAAC;IAC/G,CAAC;CACJ,CAAA;AAXY,+BAA+B;IAH3C,qBAAY,CAAC,mDAAuB,CAAC;IACrC,YAAG,CAAC,iCAAwB,CAAC,gCAAgC,CAAC;IAC9D,qBAAU,EAAE;GACA,+BAA+B,CAW3C;AAXY,0EAA+B"}
1
+ {"version":3,"file":"route-parameter-decorator.resolver.js","sourceRoot":"","sources":["../../../../src/resolvers/route-parameter-decorator.resolver.ts"],"names":[],"mappings":";;;;;;;;;AAAA,uCAAoC;AAGpC,gDAAmG;AACnG,4EAAqE;AAGrE;;;;GAIG;AAIH,IAAa,+BAA+B,GAA5C,MAAa,+BAA+B;IAExC;;;;;;;OAOG;IACH,OAAO,CAAC,cAAgD,EAChD,OAAgB,EAChB,eAAwC,EACxC,QAA4B;;QAChC,OAAO,OAAO,CAAC,OAAO,CAAC,MAAA,eAAe,CAAC,cAAc,CAAC,kBAAkB,CAAC,mCAAI,IAAI,CAAC,CAAC;IACvF,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,cAA2C;QAChD,OAAO,cAAc,IAAI,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC,IAAI,KAAK,gBAAgB,CAAC;IAC/G,CAAC;CACJ,CAAA;AAzBY,+BAA+B;IAH3C,qBAAY,CAAC,mDAAuB,CAAC;IACrC,YAAG,CAAC,iCAAwB,CAAC,gCAAgC,CAAC;IAC9D,qBAAU,EAAE;GACA,+BAA+B,CAyB3C;AAzBY,0EAA+B"}
@@ -36,7 +36,19 @@ const url_parse_1 = __importDefault(require("url-parse"));
36
36
  const common_1 = require("@pristine-ts/common");
37
37
  const networking_module_keyname_1 = require("./networking.module.keyname");
38
38
  const telemetry_1 = require("@pristine-ts/telemetry");
39
+ /**
40
+ * The router service is the service that creates the routing tree from the controllers.
41
+ * It also executes a request properly by routing it to the intended controller and returns the response.
42
+ */
39
43
  let Router = class Router {
44
+ /**
45
+ * The router service is the service that creates the routing tree from the controllers.
46
+ * It also executes a request properly by routing it to the intended controller and returns the response.
47
+ * @param loghandler The log handler
48
+ * @param controllerMethodParameterDecoratorResolver The controller method parameter decorator resolver used to resolve the values.
49
+ * @param authorizerManager The authorizer manager to validate authorization.
50
+ * @param authenticationManager The authentication manager to validate authentication.
51
+ */
40
52
  constructor(loghandler, controllerMethodParameterDecoratorResolver, authorizerManager, authenticationManager) {
41
53
  this.loghandler = loghandler;
42
54
  this.controllerMethodParameterDecoratorResolver = controllerMethodParameterDecoratorResolver;
@@ -102,6 +114,7 @@ let Router = class Router {
102
114
  routeParameters
103
115
  }, networking_module_keyname_1.NetworkingModuleKeyname);
104
116
  let identity;
117
+ // Authenticate the request
105
118
  try {
106
119
  const routerRequestAuthenticationSpan = tracingManager.startSpan(telemetry_1.SpanKeynameEnum.RouterRequestAuthentication, telemetry_1.SpanKeynameEnum.RouterRequestExecution);
107
120
  identity = yield this.authenticationManager.authenticate(request, methodNode.route.context, container);
@@ -126,6 +139,7 @@ let Router = class Router {
126
139
  }
127
140
  // Call the controller with the resolved Method arguments
128
141
  try {
142
+ // Verify that the identity making the request is authorized to make such a request
129
143
  if ((yield this.authorizerManager.isAuthorized(request, methodNode.route.context, container, identity)) === false) {
130
144
  this.loghandler.error("User not authorized to access this url.", {
131
145
  request,
@@ -136,6 +150,7 @@ let Router = class Router {
136
150
  routerRequestExecutionSpan.end();
137
151
  return reject(new forbidden_http_error_1.ForbiddenHttpError("You are not allowed to access this."));
138
152
  }
153
+ // Execute all the enrichers to enrich the request.
139
154
  const requestEnrichersSpan = tracingManager.startSpan(telemetry_1.SpanKeynameEnum.RouterRequestEnrichers, telemetry_1.SpanKeynameEnum.RouterRequestExecution);
140
155
  const enrichedRequest = yield this.executeRequestEnrichers(request, container, methodNode);
141
156
  requestEnrichersSpan.end();
@@ -143,6 +158,7 @@ let Router = class Router {
143
158
  request,
144
159
  enrichedRequest,
145
160
  }, networking_module_keyname_1.NetworkingModuleKeyname);
161
+ // Resolve the value to inject in the method arguments that have a decorator resolver
146
162
  const resolvedMethodArguments = [];
147
163
  for (const methodArgument of methodNode.route.methodArguments) {
148
164
  resolvedMethodArguments.push(yield this.controllerMethodParameterDecoratorResolver.resolve(methodArgument, enrichedRequest, routeParameters, identity));
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/router.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAgE;AAEhE,gDAA2C;AAC3C,+CAAyC;AACzC,wEAAgE;AAGhE,+DAAwD;AAGxD,wEAAiE;AACjE,+HAAsH;AACtH,0DAA4B;AAC5B,gDAA4F;AAK5F,2EAAoE;AACpE,sDAAsF;AAEtF;;;GAGG;AAEH,IAAa,MAAM,GAAnB,MAAa,MAAM;IAGf;;;;;;;OAOG;IACH,YAAoE,UAA+B,EAC9D,0CAAsF,EAChD,iBAA6C,EACzC,qBAAqD;QAHhE,eAAU,GAAV,UAAU,CAAqB;QAC9D,+CAA0C,GAA1C,0CAA0C,CAA4C;QAChD,sBAAiB,GAAjB,iBAAiB,CAA4B;QACzC,0BAAqB,GAArB,qBAAqB,CAAgC;QAb5H,SAAI,GAAe,IAAI,iCAAc,CAAC,GAAG,CAAC,CAAC;IAcnD,CAAC;IAED;;;;;;OAMG;IACI,QAAQ,CAAC,IAAY,EAAE,MAA2B,EAAE,KAAY;QACnE,MAAM,UAAU,GAAG,kBAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;OAOG;IACI,OAAO,CAAC,OAAgB,EAAE,SAA8B;QAC3D,MAAM,cAAc,GAA4B,SAAS,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAE7F,MAAM,0BAA0B,GAAG,cAAc,CAAC,SAAS,CAAC,2BAAe,CAAC,sBAAsB,EAAE,2BAAe,CAAC,gBAAgB,CAAC,CAAC;QAEtI,OAAO,IAAI,OAAO,CAAW,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;YACnD,sGAAsG;YACtG,MAAM,GAAG,GAAG,IAAI,mBAAG,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAExC,sBAAsB;YACtB,MAAM,SAAS,GAAG,kBAAO,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAElD,MAAM,cAAc,GAAG,cAAc,CAAC,SAAS,CAAC,2BAAe,CAAC,0BAA0B,EAAE,2BAAe,CAAC,sBAAsB,CAAC,CAAC;YACpI,6DAA6D;YAC7D,MAAM,UAAU,GAAqB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAqB,CAAC;YACvG,cAAc,CAAC,GAAG,EAAE,CAAC;YAErB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,iBAAiB,EAAE;gBACrC,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,OAAO;gBACP,GAAG;gBACH,UAAU;aACb,EAAE,mDAAuB,CAAC,CAAC;YAE5B,2CAA2C;YAC3C,IAAG,UAAU,KAAK,IAAI,EAAE;gBACpB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,sBAAsB,EAAE;oBAC1C,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,OAAO;oBACP,GAAG;iBACN,EAAE,mDAAuB,CAAC,CAAC;gBAE5B,0BAA0B,CAAC,GAAG,EAAE,CAAC;gBACjC,OAAO,MAAM,CAAC,IAAI,wCAAiB,CAAC,4BAA4B,GAAG,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;aAC5F;YAED,2BAA2B;YAC3B,MAAM,eAAe,GAAI,UAAU,CAAC,MAAyB,CAAC,kBAAkB,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;YAEtG,6BAA6B;YAC7B,MAAM,4BAA4B,GAAG,cAAc,CAAC,SAAS,CAAC,2BAAe,CAAC,wBAAwB,EAAE,2BAAe,CAAC,sBAAsB,CAAC,CAAC;YAChJ,MAAM,UAAU,GAAQ,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YACzF,4BAA4B,CAAC,GAAG,EAAE,CAAC;YAEnC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,0CAA0C,EAAE;gBAC9D,UAAU;gBACV,eAAe;aAClB,EAAE,mDAAuB,CAAC,CAAC;YAE5B,IAAI,QAAuC,CAAC;YAE5C,2BAA2B;YAC3B,IAAI;gBACA,MAAM,+BAA+B,GAAG,cAAc,CAAC,SAAS,CAAC,2BAAe,CAAC,2BAA2B,EAAE,2BAAe,CAAC,sBAAsB,CAAC,CAAC;gBACtJ,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACvG,+BAA+B,CAAC,GAAG,EAAE,CAAC;gBAEtC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,iBAAiB,EAAE;oBACrC,QAAQ;iBACX,EAAE,mDAAuB,CAAC,CAAC;aAC/B;YAAC,OAAO,KAAK,EAAE;gBACZ,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,sBAAsB,EAAE;oBAC1C,KAAK;oBACL,OAAO;oBACP,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO;oBACjC,SAAS;iBACZ,EAAE,mDAAuB,CAAC,CAAC;gBAE5B,yEAAyE;gBACzE,IAAG,KAAK,YAAY,yCAAkB,KAAK,KAAK,EAAC;oBAC7C,KAAK,GAAG,IAAI,yCAAkB,CAAC,qCAAqC,CAAC,CAAC;iBACzE;gBAED,0BAA0B,CAAC,GAAG,EAAE,CAAC;gBACjC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;aACxB;YAED,yDAAyD;YACzD,IAAI;gBAEA,mFAAmF;gBACnF,IAAG,CAAA,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAK,KAAK,EAAE;oBAC5G,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,yCAAyC,EAAE;wBAC7D,OAAO;wBACP,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO;wBACjC,SAAS;wBACT,QAAQ;qBACX,EAAE,mDAAuB,CAAC,CAAC;oBAE5B,0BAA0B,CAAC,GAAG,EAAE,CAAC;oBACjC,OAAO,MAAM,CAAC,IAAI,yCAAkB,CAAC,qCAAqC,CAAC,CAAC,CAAC;iBAChF;gBAED,mDAAmD;gBACnD,MAAM,oBAAoB,GAAG,cAAc,CAAC,SAAS,CAAC,2BAAe,CAAC,sBAAsB,EAAE,2BAAe,CAAC,sBAAsB,CAAC,CAAC;gBACtI,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;gBAC3F,oBAAoB,CAAC,GAAG,EAAE,CAAC;gBAE3B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gCAAgC,EAAE;oBACpD,OAAO;oBACP,eAAe;iBAClB,EAAE,mDAAuB,CAAC,CAAA;gBAE3B,qFAAqF;gBACrF,MAAM,uBAAuB,GAAU,EAAE,CAAC;gBAE1C,KAAK,MAAM,cAAc,IAAI,UAAU,CAAC,KAAK,CAAC,eAAe,EAAE;oBAC3D,uBAAuB,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,0CAA0C,CAAC,OAAO,CAAC,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC;iBAC3J;gBAED,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,8BAA8B,EAAE;oBAClD,uBAAuB;iBAC1B,EAAE,mDAAuB,CAAC,CAAA;gBAE3B,MAAM,kBAAkB,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;gBAErH,uEAAuE;gBACvE,8CAA8C;gBAC9C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;gBAE3D,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,yCAAyC,EAAE;oBAC7D,QAAQ;iBACX,EAAE,mDAAuB,CAAC,CAAA;gBAE3B,IAAI,gBAA0B,CAAC;gBAC/B,oEAAoE;gBACpE,IAAG,QAAQ,YAAY,mBAAQ,EAAE;oBAC7B,gBAAgB,GAAG,QAAQ,CAAC;iBAC/B;qBAAM;oBACH,8FAA8F;oBAC9F,kFAAkF;oBAClF,gBAAgB,GAAG,IAAI,mBAAQ,EAAE,CAAC;oBAClC,gBAAgB,CAAC,MAAM,GAAG,GAAG,CAAC;oBAC9B,gBAAgB,CAAC,IAAI,GAAG,QAAQ,CAAC;iBACpC;gBAED,MAAM,qBAAqB,GAAG,cAAc,CAAC,SAAS,CAAC,2BAAe,CAAC,uBAAuB,EAAE,2BAAe,CAAC,sBAAsB,CAAC,CAAC;gBACxI,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;gBAC/G,qBAAqB,CAAC,GAAG,EAAE,CAAC;gBAE5B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,iCAAiC,EAAE;oBACrD,gBAAgB;oBAChB,gBAAgB;iBACnB,EAAE,mDAAuB,CAAC,CAAA;gBAE3B,0BAA0B,CAAC,GAAG,EAAE,CAAC;gBACjC,OAAO,OAAO,CAAC,gBAAgB,CAAC,CAAC;aACpC;YACD,OAAO,KAAK,EAAE;gBACV,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gEAAgE,EAAE;oBACpF,KAAK;iBACR,EAAE,mDAAuB,CAAC,CAAA;gBAE3B,0BAA0B,CAAC,GAAG,EAAE,CAAC;gBACjC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;aACxB;QACL,CAAC,CAAA,CAAC,CAAA;IACN,CAAC;IAED;;;;;;;;OAQG;IACW,wBAAwB,CAAC,QAAkB,EAAE,OAAgB,EAAE,SAA8B,EAAE,UAA4B;;YACrI,oCAAoC;YACpC,IAAI,gBAAgB,GAAG,QAAQ,CAAC;YAEhC,yDAAyD;YACzD,IAAI,SAAS,CAAC,YAAY,CAAC,iCAAwB,CAAC,sBAAsB,EAAE,IAAI,CAAC,EAAE;gBAC/E,MAAM,SAAS,GAAU,SAAS,CAAC,UAAU,CAAC,iCAAwB,CAAC,sBAAsB,CAAC,CAAC;gBAE/F,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;oBAC9B,+HAA+H;oBAC/H,2EAA2E;oBAC3E,IAAI,OAAO,QAAQ,CAAC,cAAc,KAAK,WAAW,EAAE;wBAChD,kCAAkC;wBAClC,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,GAAG,4HAA4H,CAAC,CAAA;qBACtN;oBAED,IAAI;wBACA,8CAA8C;wBAC9C,gBAAgB,GAAG,MAAM,OAAO,CAAC,OAAO,CAAE,QAA4C,CAAC,cAAc,CAAC,gBAAgB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;qBACjJ;oBAAC,OAAO,CAAC,EAAE;wBACR,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,kHAAkH,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,EAAE,EAAC,CAAC,EAAC,EAAE,mDAAuB,CAAC,CAAC;wBAC3M,MAAM,CAAC,CAAC;qBACX;iBACJ;aACJ;YAED,OAAO,gBAAgB,CAAC;QAC5B,CAAC;KAAA;IAED;;;;;;;OAOG;IACW,uBAAuB,CAAE,OAAgB,EAAE,SAA8B,EAAE,UAA4B;;YACjH,oCAAoC;YACpC,IAAI,eAAe,GAAG,OAAO,CAAC;YAE9B,wDAAwD;YACxD,IAAI,SAAS,CAAC,YAAY,CAAC,iCAAwB,CAAC,qBAAqB,EAAE,IAAI,CAAC,EAAE;gBAC9E,MAAM,SAAS,GAAU,SAAS,CAAC,UAAU,CAAC,iCAAwB,CAAC,qBAAqB,CAAC,CAAC;gBAE9F,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;oBAC9B,+HAA+H;oBAC/H,2EAA2E;oBAC3E,IAAI,OAAO,QAAQ,CAAC,aAAa,KAAK,WAAW,EAAE;wBAC/C,kCAAkC;wBAClC,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,GAAG,yHAAyH,CAAC,CAAA;qBAClN;oBAED,IAAI;wBACA,8CAA8C;wBAC9C,eAAe,GAAG,MAAM,OAAO,CAAC,OAAO,CAAE,QAA2C,CAAC,aAAa,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC;qBACpI;oBAAC,OAAO,CAAC,EAAE;wBACR,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,kHAAkH,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,EAAE,EAAC,CAAC,EAAC,EAAE,mDAAuB,CAAC,CAAC;wBAC3M,MAAM,CAAC,CAAC;qBACX;iBACJ;aACJ;YAED,OAAO,eAAe,CAAC;QAC3B,CAAC;KAAA;CACJ,CAAA;AA/QY,MAAM;IADlB,oBAAS,EAAE;IAYa,WAAA,iBAAM,CAAC,qBAAqB,CAAC,CAAA;IAE7B,WAAA,iBAAM,CAAC,4BAA4B,CAAC,CAAA;IACpC,WAAA,iBAAM,CAAC,gCAAgC,CAAC,CAAA;6CAFoB,2FAA0C;GAZlH,MAAM,CA+QlB;AA/QY,wBAAM"}
@@ -1,5 +1,22 @@
1
+ /**
2
+ * The body decorator can be used to inject the body of a request in a parameter of a method in a controller.
3
+ */
1
4
  export const body = () => {
2
- return (target, propertyKey, parameterIndex) => {
5
+ return (
6
+ /**
7
+ * The class on which the decorator is used.
8
+ */
9
+ target,
10
+ /**
11
+ * The method on which the decorator is used.
12
+ */
13
+ propertyKey,
14
+ /**
15
+ * The index of the parameter for which the decorator is used.
16
+ */
17
+ parameterIndex) => {
18
+ // Verify that the object target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] exists or we create it.
19
+ // This object is a convention defined by Pristine on where to save controller method parameter decorator information and is used in the router to retrieve that information.
3
20
  if (target.constructor.prototype.hasOwnProperty("__metadata__") === false) {
4
21
  target.constructor.prototype["__metadata__"] = {};
5
22
  }
@@ -12,9 +29,11 @@ export const body = () => {
12
29
  if (target.constructor.prototype["__metadata__"]["methods"][propertyKey].hasOwnProperty("arguments") === false) {
13
30
  target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] = [];
14
31
  }
32
+ // Set the type of method parameter. Each parameter decorator has it's own type.
15
33
  const methodParameter = {
16
34
  type: "body"
17
35
  };
36
+ // Save the method parameter with the proper parameter index (index of the parameter in the list of parameters of a method).
18
37
  target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"][parameterIndex] = methodParameter;
19
38
  };
20
39
  };
@@ -1 +1 @@
1
- {"version":3,"file":"body.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/body.decorator.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,EAAE;IACrB,OAAO,CACH,MAAc,EACd,WAA4B,EAC5B,cAAsB,EACxB,EAAE;QACA,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;YACvE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;SACpD;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;YAClF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;SAC/D;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC/F,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;SAC5E;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC5G,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;SAC1F;QAED,MAAM,eAAe,GAAoC;YACrD,IAAI,EAAE,MAAM;SACf,CAAC;QAEF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC;IACxH,CAAC,CAAA;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"body.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/body.decorator.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,EAAE;IACrB,OAAO;IACH;;OAEG;IACH,MAAc;IAEd;;OAEG;IACH,WAA4B;IAE5B;;OAEG;IACH,cAAsB,EACxB,EAAE;QACA,mIAAmI;QACnI,6KAA6K;QAC7K,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;YACvE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;SACpD;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;YAClF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;SAC/D;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC/F,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;SAC5E;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC5G,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;SAC1F;QAED,gFAAgF;QAChF,MAAM,eAAe,GAAoC;YACrD,IAAI,EAAE,MAAM;SACf,CAAC;QAEF,4HAA4H;QAC5H,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC;IACxH,CAAC,CAAA;AACL,CAAC,CAAC"}
@@ -1,13 +1,25 @@
1
1
  export const controllerRegistry = [];
2
+ /**
3
+ * The controller decorator can be used on a class to register this class as a controller in the router.
4
+ * @param basePath The base path for all the routes in the controller.
5
+ */
2
6
  export const controller = (basePath) => {
3
- return (constructor) => {
7
+ return (
8
+ /**
9
+ * The constructor of the class
10
+ */
11
+ constructor) => {
12
+ // Verify that the object constructor.prototype["__metadata__"]["controller"][basePath] exists or we create it.
13
+ // This object is a convention defined by Pristine on where to save controller decorator information and is used in the router to retrieve that information.
4
14
  if (constructor.prototype.hasOwnProperty("__metadata__") === false) {
5
15
  constructor.prototype["__metadata__"] = {};
6
16
  }
7
17
  if (constructor.prototype["__metadata__"].hasOwnProperty("controller") === false) {
8
18
  constructor.prototype["__metadata__"]["controller"] = {};
9
19
  }
20
+ // Save the base path.
10
21
  constructor.prototype["__metadata__"]["controller"]["basePath"] = basePath;
22
+ // Push the class prototype in the controllerRegistry that is used to instantiate all the controllers for the router.
11
23
  controllerRegistry.push(constructor.prototype);
12
24
  };
13
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"controller.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/controller.decorator.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAU,EAAE,CAAC;AAE5C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAE,EAAE;IAC3C,OAAO,CAAC,WAAqB,EAAE,EAAE;QAC7B,IAAG,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;YAC/D,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;SAC7C;QAGD,IAAG,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,KAAK,EAAE;YAC7E,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,CAAA;SAC3D;QAED,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;QAE3E,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;IAClD,CAAC,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"controller.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/controller.decorator.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAU,EAAE,CAAC;AAE5C;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAE,EAAE;IAC3C,OAAO;IACH;;OAEG;IACH,WAAqB,EACvB,EAAE;QACA,+GAA+G;QAC/G,4JAA4J;QAC5J,IAAG,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;YAC/D,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;SAC7C;QAGD,IAAG,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,KAAK,EAAE;YAC7E,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,CAAA;SAC3D;QAED,sBAAsB;QACtB,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;QAE3E,qHAAqH;QACrH,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;IAClD,CAAC,CAAA;AACL,CAAC,CAAA"}
@@ -1,7 +1,7 @@
1
1
  export * from "./body.decorator";
2
2
  export * from "./controller.decorator";
3
- export * from "./identity.decorator";
4
3
  export * from "./headers.decorator";
4
+ export * from "./identity.decorator";
5
5
  export * from "./query-parameter.decorator";
6
6
  export * from "./query-parameters.decorator";
7
7
  export * from "./request.decorator";
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../src/decorators/decorators.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../src/decorators/decorators.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC"}
@@ -1,5 +1,22 @@
1
+ /**
2
+ * The headers decorator can be used to inject the headers of a request in a parameter of a method in a controller.
3
+ */
1
4
  export const headers = () => {
2
- return (target, propertyKey, parameterIndex) => {
5
+ return (
6
+ /**
7
+ * The class on which the decorator is used.
8
+ */
9
+ target,
10
+ /**
11
+ * The method on which the decorator is used.
12
+ */
13
+ propertyKey,
14
+ /**
15
+ * The index of the parameter for which the decorator is used.
16
+ */
17
+ parameterIndex) => {
18
+ // Verify that the object target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] exists or we create it.
19
+ // This object is a convention defined by Pristine on where to save controller method parameter decorator information and is used in the router to retrieve that information.
3
20
  if (target.constructor.prototype.hasOwnProperty("__metadata__") === false) {
4
21
  target.constructor.prototype["__metadata__"] = {};
5
22
  }
@@ -12,9 +29,11 @@ export const headers = () => {
12
29
  if (target.constructor.prototype["__metadata__"]["methods"][propertyKey].hasOwnProperty("arguments") === false) {
13
30
  target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] = [];
14
31
  }
32
+ // Set the type of method parameter. Each parameter decorator has it's own type.
15
33
  const methodParameter = {
16
34
  type: "headers"
17
35
  };
36
+ // Save the method parameter with the proper parameter index (index of the parameter in the list of parameters of a method).
18
37
  target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"][parameterIndex] = methodParameter;
19
38
  };
20
39
  };
@@ -1 +1 @@
1
- {"version":3,"file":"headers.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/headers.decorator.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE;IACxB,OAAO,CACH,MAAc,EACd,WAA4B,EAC5B,cAAsB,EACxB,EAAE;QACA,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;YACvE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;SACpD;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;YAClF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;SAC/D;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC/F,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;SAC5E;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC5G,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;SAC1F;QAED,MAAM,eAAe,GAAuC;YACxD,IAAI,EAAE,SAAS;SAClB,CAAC;QAEF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC;IACxH,CAAC,CAAA;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"headers.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/headers.decorator.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE;IACxB,OAAO;IACH;;OAEG;IACH,MAAc;IAEd;;OAEG;IACH,WAA4B;IAE5B;;OAEG;IACH,cAAsB,EACxB,EAAE;QACA,mIAAmI;QACnI,6KAA6K;QAC7K,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;YACvE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;SACpD;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;YAClF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;SAC/D;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC/F,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;SAC5E;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC5G,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;SAC1F;QAED,gFAAgF;QAChF,MAAM,eAAe,GAAuC;YACxD,IAAI,EAAE,SAAS;SAClB,CAAC;QAEF,4HAA4H;QAC5H,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC;IACxH,CAAC,CAAA;AACL,CAAC,CAAC"}
@@ -1,5 +1,22 @@
1
+ /**
2
+ * The identity decorator can be used to inject the identity making the request in a parameter of a method in a controller.
3
+ */
1
4
  export const identity = () => {
2
- return (target, propertyKey, parameterIndex) => {
5
+ return (
6
+ /**
7
+ * The class on which the decorator is used.
8
+ */
9
+ target,
10
+ /**
11
+ * The method on which the decorator is used.
12
+ */
13
+ propertyKey,
14
+ /**
15
+ * The index of the parameter for which the decorator is used.
16
+ */
17
+ parameterIndex) => {
18
+ // Verify that the object target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] exists or we create it.
19
+ // This object is a convention defined by Pristine on where to save controller method parameter decorator information and is used in the router to retrieve that information.
3
20
  if (target.constructor.prototype.hasOwnProperty("__metadata__") === false) {
4
21
  target.constructor.prototype["__metadata__"] = {};
5
22
  }
@@ -12,9 +29,11 @@ export const identity = () => {
12
29
  if (target.constructor.prototype["__metadata__"]["methods"][propertyKey].hasOwnProperty("arguments") === false) {
13
30
  target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] = [];
14
31
  }
32
+ // Set the type of method parameter. Each parameter decorator has it's own type.
15
33
  const methodParameter = {
16
34
  type: "identity"
17
35
  };
36
+ // Save the method parameter with the proper parameter index (index of the parameter in the list of parameters of a method).
18
37
  target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"][parameterIndex] = methodParameter;
19
38
  };
20
39
  };
@@ -1 +1 @@
1
- {"version":3,"file":"identity.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/identity.decorator.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IACzB,OAAO,CACH,MAAc,EACd,WAA4B,EAC5B,cAAsB,EACxB,EAAE;QACA,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;YACvE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;SACpD;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;YAClF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;SAC/D;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC/F,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;SAC5E;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC5G,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;SAC1F;QAED,MAAM,eAAe,GAAwC;YACzD,IAAI,EAAE,UAAU;SACnB,CAAC;QAEF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC;IACxH,CAAC,CAAA;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"identity.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/identity.decorator.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IACzB,OAAO;IACH;;OAEG;IACH,MAAc;IAEd;;OAEG;IACH,WAA4B;IAE5B;;OAEG;IACH,cAAsB,EACxB,EAAE;QACA,mIAAmI;QACnI,6KAA6K;QAC7K,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;YACvE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;SACpD;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;YAClF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;SAC/D;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC/F,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;SAC5E;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC5G,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;SAC1F;QAED,gFAAgF;QAChF,MAAM,eAAe,GAAwC;YACzD,IAAI,EAAE,UAAU;SACnB,CAAC;QAEF,4HAA4H;QAC5H,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC;IACxH,CAAC,CAAA;AACL,CAAC,CAAC"}
@@ -1,5 +1,23 @@
1
+ /**
2
+ * The queryParameter decorator can be used to inject a specific query parameter of a request in a parameter of a method in a controller.
3
+ * @param name The name of the query parameter to inject.
4
+ */
1
5
  export const queryParameter = (name) => {
2
- return (target, propertyKey, parameterIndex) => {
6
+ return (
7
+ /**
8
+ * The class on which the decorator is used.
9
+ */
10
+ target,
11
+ /**
12
+ * The method on which the decorator is used.
13
+ */
14
+ propertyKey,
15
+ /**
16
+ * The index of the parameter for which the decorator is used.
17
+ */
18
+ parameterIndex) => {
19
+ // Verify that the object target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] exists or we create it.
20
+ // This object is a convention defined by Pristine on where to save controller method parameter decorator information and is used in the router to retrieve that information.
3
21
  if (target.constructor.prototype.hasOwnProperty("__metadata__") === false) {
4
22
  target.constructor.prototype["__metadata__"] = {};
5
23
  }
@@ -12,10 +30,13 @@ export const queryParameter = (name) => {
12
30
  if (target.constructor.prototype["__metadata__"]["methods"][propertyKey].hasOwnProperty("arguments") === false) {
13
31
  target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] = [];
14
32
  }
33
+ // Set the type of method parameter. Each parameter decorator has it's own type.
34
+ // Set also the name of the query parameter to resolve.
15
35
  const methodParameter = {
16
36
  type: "queryParameter",
17
37
  queryParameterName: name,
18
38
  };
39
+ // Save the method parameter with the proper parameter index (index of the parameter in the list of parameters of a method).
19
40
  target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"][parameterIndex] = methodParameter;
20
41
  };
21
42
  };
@@ -1 +1 @@
1
- {"version":3,"file":"query-parameter.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/query-parameter.decorator.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE;IAC3C,OAAO,CACH,MAAc,EACd,WAA4B,EAC5B,cAAsB,EACxB,EAAE;QACA,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;YACtE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;SACpD;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;YACjF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;SAC/D;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC9F,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;SAC5E;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC3G,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;SAC1F;QAED,MAAM,eAAe,GAAqC;YACtD,IAAI,EAAE,gBAAgB;YACtB,kBAAkB,EAAE,IAAI;SAC3B,CAAC;QAEF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC;IACxH,CAAC,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"query-parameter.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/query-parameter.decorator.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE;IAC3C,OAAO;IACH;;OAEG;IACH,MAAc;IAEd;;OAEG;IACH,WAA4B;IAE5B;;OAEG;IACH,cAAsB,EACxB,EAAE;QACA,mIAAmI;QACnI,6KAA6K;QAC7K,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;YACtE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;SACpD;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;YACjF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;SAC/D;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC9F,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;SAC5E;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC3G,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;SAC1F;QAED,gFAAgF;QAChF,uDAAuD;QACvD,MAAM,eAAe,GAAqC;YACtD,IAAI,EAAE,gBAAgB;YACtB,kBAAkB,EAAE,IAAI;SAC3B,CAAC;QAEF,4HAA4H;QAC5H,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC;IACxH,CAAC,CAAA;AACL,CAAC,CAAA"}
@@ -1,5 +1,22 @@
1
+ /**
2
+ * The queryParameters decorator can be used to inject all the query parameters of a request in a parameter of a method in a controller.
3
+ */
1
4
  export const queryParameters = () => {
2
- return (target, propertyKey, parameterIndex) => {
5
+ return (
6
+ /**
7
+ * The class on which the decorator is used.
8
+ */
9
+ target,
10
+ /**
11
+ * The method on which the decorator is used.
12
+ */
13
+ propertyKey,
14
+ /**
15
+ * The index of the parameter for which the decorator is used.
16
+ */
17
+ parameterIndex) => {
18
+ // Verify that the object target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] exists or we create it.
19
+ // This object is a convention defined by Pristine on where to save controller method parameter decorator information and is used in the router to retrieve that information.
3
20
  if (target.constructor.prototype.hasOwnProperty("__metadata__") === false) {
4
21
  target.constructor.prototype["__metadata__"] = {};
5
22
  }
@@ -12,9 +29,11 @@ export const queryParameters = () => {
12
29
  if (target.constructor.prototype["__metadata__"]["methods"][propertyKey].hasOwnProperty("arguments") === false) {
13
30
  target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] = [];
14
31
  }
32
+ // Set the type of method parameter. Each parameter decorator has it's own type.
15
33
  const methodParameter = {
16
34
  type: "queryParameters",
17
35
  };
36
+ // Save the method parameter with the proper parameter index (index of the parameter in the list of parameters of a method).
18
37
  target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"][parameterIndex] = methodParameter;
19
38
  };
20
39
  };
@@ -1 +1 @@
1
- {"version":3,"file":"query-parameters.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/query-parameters.decorator.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAChC,OAAO,CACH,MAAc,EACd,WAA4B,EAC5B,cAAsB,EACxB,EAAE;QACA,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;YACtE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;SACpD;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;YACjF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;SAC/D;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC9F,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;SAC5E;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC3G,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;SAC1F;QAED,MAAM,eAAe,GAAsC;YACvD,IAAI,EAAE,iBAAiB;SAC1B,CAAC;QAEF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC;IACxH,CAAC,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"query-parameters.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/query-parameters.decorator.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAChC,OAAO;IACH;;OAEG;IACH,MAAc;IAEd;;OAEG;IACH,WAA4B;IAE5B;;OAEG;IACH,cAAsB,EACxB,EAAE;QACA,mIAAmI;QACnI,6KAA6K;QAC7K,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;YACtE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;SACpD;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;YACjF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;SAC/D;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC9F,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;SAC5E;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC3G,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;SAC1F;QAED,gFAAgF;QAChF,MAAM,eAAe,GAAsC;YACvD,IAAI,EAAE,iBAAiB;SAC1B,CAAC;QAEF,4HAA4H;QAC5H,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC;IACxH,CAAC,CAAA;AACL,CAAC,CAAA"}
@@ -1,5 +1,22 @@
1
+ /**
2
+ * The request decorator can be used to inject the whole request in a parameter of a method in a controller.
3
+ */
1
4
  export const request = () => {
2
- return (target, propertyKey, parameterIndex) => {
5
+ return (
6
+ /**
7
+ * The class on which the decorator is used.
8
+ */
9
+ target,
10
+ /**
11
+ * The method on which the decorator is used.
12
+ */
13
+ propertyKey,
14
+ /**
15
+ * The index of the parameter for which the decorator is used.
16
+ */
17
+ parameterIndex) => {
18
+ // Verify that the object target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] exists or we create it.
19
+ // This object is a convention defined by Pristine on where to save controller method parameter decorator information and is used in the router to retrieve that information.
3
20
  if (target.constructor.prototype.hasOwnProperty("__metadata__") === false) {
4
21
  target.constructor.prototype["__metadata__"] = {};
5
22
  }
@@ -12,9 +29,11 @@ export const request = () => {
12
29
  if (target.constructor.prototype["__metadata__"]["methods"][propertyKey].hasOwnProperty("arguments") === false) {
13
30
  target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] = [];
14
31
  }
32
+ // Set the type of method parameter. Each parameter decorator has it's own type.
15
33
  const methodParameter = {
16
34
  type: "request"
17
35
  };
36
+ // Save the method parameter with the proper parameter index (index of the parameter in the list of parameters of a method).
18
37
  target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"][parameterIndex] = methodParameter;
19
38
  };
20
39
  };
@@ -1 +1 @@
1
- {"version":3,"file":"request.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/request.decorator.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE;IACxB,OAAO,CACH,MAAc,EACd,WAA4B,EAC5B,cAAsB,EACxB,EAAE;QACA,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;YACvE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;SACpD;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;YAClF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;SAC/D;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC/F,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;SAC5E;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC5G,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;SAC1F;QAED,MAAM,eAAe,GAAuC;YACxD,IAAI,EAAE,SAAS;SAClB,CAAC;QAEF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC;IACxH,CAAC,CAAA;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"request.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/request.decorator.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE;IACxB,OAAO;IACH;;OAEG;IACH,MAAc;IAEd;;OAEG;IACH,WAA4B;IAE5B;;OAEG;IACH,cAAsB,EACxB,EAAE;QACA,mIAAmI;QACnI,6KAA6K;QAC7K,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;YACvE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;SACpD;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;YAClF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;SAC/D;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC/F,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;SAC5E;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC5G,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;SAC1F;QAED,gFAAgF;QAChF,MAAM,eAAe,GAAuC;YACxD,IAAI,EAAE,SAAS;SAClB,CAAC;QAEF,4HAA4H;QAC5H,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC;IACxH,CAAC,CAAA;AACL,CAAC,CAAC"}
@@ -1,7 +1,28 @@
1
+ /**
2
+ * The responseHeader decorator can be used to specify a header that needs to be added to the response before sending it back.
3
+ * This decorator can be used with either method (route) or a class (controller).
4
+ * If used on the class than it will be applied to every route of the controller.
5
+ * @param key The key of the header
6
+ * @param value The value to set the header to.
7
+ */
1
8
  export const responseHeader = (key, value) => {
2
- return (target, propertyKey, descriptor) => {
3
- // If there's a descriptor, then it's not a controller guard, but a method guard
9
+ return (
10
+ /**
11
+ * The class on which the decorator is used.
12
+ */
13
+ target,
14
+ /**
15
+ * The method on which the decorator is used.
16
+ */
17
+ propertyKey,
18
+ /**
19
+ * The descriptor of the property
20
+ */
21
+ descriptor) => {
22
+ // If there's a descriptor and a property key, then it's not a controller decorator, but a method decorator
4
23
  if (descriptor && propertyKey) {
24
+ // Verify that the object target.constructor.prototype["__metadata__"]["methods"][propertyKey]["__routeContext__"]["responseHeaders"] exists or we create it.
25
+ // This object is a convention defined by Pristine on where to save controller method parameter decorator information and is used in the router to retrieve that information.
5
26
  if (target.constructor.prototype.hasOwnProperty("__metadata__") === false) {
6
27
  target.constructor.prototype["__metadata__"] = {};
7
28
  }
@@ -20,6 +41,7 @@ export const responseHeader = (key, value) => {
20
41
  target.constructor.prototype["__metadata__"]["methods"][propertyKey]["__routeContext__"]["responseHeaders"][key] = value;
21
42
  }
22
43
  else {
44
+ // It is a controller decorator
23
45
  if (target.prototype.hasOwnProperty("__metadata__") === false) {
24
46
  target.prototype["__metadata__"] = {};
25
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"response-header.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/response-header.decorator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"response-header.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/response-header.decorator.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,23 @@
1
+ /**
2
+ * The routeParameter decorator can be used to inject a specific route parameter of a request in a parameter of a method in a controller.
3
+ * @param name The name of the route(path) parameter to inject.
4
+ */
1
5
  export const routeParameter = (name) => {
2
- return (target, propertyKey, parameterIndex) => {
6
+ return (
7
+ /**
8
+ * The class on which the decorator is used.
9
+ */
10
+ target,
11
+ /**
12
+ * The method on which the decorator is used.
13
+ */
14
+ propertyKey,
15
+ /**
16
+ * The index of the parameter for which the decorator is used.
17
+ */
18
+ parameterIndex) => {
19
+ // Verify that the object target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] exists or we create it.
20
+ // This object is a convention defined by Pristine on where to save controller method parameter decorator information and is used in the router to retrieve that information.
3
21
  if (target.constructor.prototype.hasOwnProperty("__metadata__") === false) {
4
22
  target.constructor.prototype["__metadata__"] = {};
5
23
  }
@@ -12,10 +30,12 @@ export const routeParameter = (name) => {
12
30
  if (target.constructor.prototype["__metadata__"]["methods"][propertyKey].hasOwnProperty("arguments") === false) {
13
31
  target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"] = [];
14
32
  }
33
+ // Set the type of method parameter. Each parameter decorator has it's own type.
15
34
  const methodParameter = {
16
35
  type: "routeParameter",
17
36
  routeParameterName: name,
18
37
  };
38
+ // Save the method parameter with the proper parameter index (index of the parameter in the list of parameters of a method).
19
39
  target.constructor.prototype["__metadata__"]["methods"][propertyKey]["arguments"][parameterIndex] = methodParameter;
20
40
  };
21
41
  };
@@ -1 +1 @@
1
- {"version":3,"file":"route-parameter.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/route-parameter.decorator.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE;IAC3C,OAAO,CACH,MAAc,EACd,WAA4B,EAC5B,cAAsB,EACxB,EAAE;QACA,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;YACtE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;SACpD;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;YACjF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;SAC/D;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC9F,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;SAC5E;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC3G,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;SAC1F;QAED,MAAM,eAAe,GAAqC;YACtD,IAAI,EAAE,gBAAgB;YACtB,kBAAkB,EAAE,IAAI;SAC3B,CAAC;QAEF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC;IACxH,CAAC,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"route-parameter.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/route-parameter.decorator.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE;IAC3C,OAAO;IACH;;OAEG;IACH,MAAc;IAEd;;OAEG;IACH,WAA4B;IAE5B;;OAEG;IACH,cAAsB,EACxB,EAAE;QACA,mIAAmI;QACnI,6KAA6K;QAC7K,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;YACtE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;SACpD;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;YACjF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;SAC/D;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC9F,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;SAC5E;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC3G,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;SAC1F;QAED,gFAAgF;QAChF,MAAM,eAAe,GAAqC;YACtD,IAAI,EAAE,gBAAgB;YACtB,kBAAkB,EAAE,IAAI;SAC3B,CAAC;QAEF,4HAA4H;QAC5H,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC;IACxH,CAAC,CAAA;AACL,CAAC,CAAA"}
@@ -1,5 +1,24 @@
1
+ /**
2
+ * The route decorator can be used on a method to register this method as a route of the controller in the router.
3
+ * @param httpMethod The http method of the route
4
+ * @param path The part of the path following the base path of the controller. For path parameters use the colons. (ie: resources/:id)
5
+ */
1
6
  export const route = (httpMethod, path) => {
2
- return (target, propertyKey, descriptor) => {
7
+ return (
8
+ /**
9
+ * The class on which the decorator is used.
10
+ */
11
+ target,
12
+ /**
13
+ * The method on which the decorator is used.
14
+ */
15
+ propertyKey,
16
+ /**
17
+ * The descriptor of the property.
18
+ */
19
+ descriptor) => {
20
+ // Verify that the object target.constructor.prototype["__metadata__"]["methods"][propertyKey]["route"] exists or we create it.
21
+ // This object is a convention defined by Pristine on where to save the route decorator information and is used in the router to retrieve that information.
3
22
  if (target.constructor.prototype.hasOwnProperty("__metadata__") === false) {
4
23
  target.constructor.prototype["__metadata__"] = {};
5
24
  }
@@ -9,6 +28,7 @@ export const route = (httpMethod, path) => {
9
28
  if (target.constructor.prototype["__metadata__"]["methods"].hasOwnProperty(propertyKey) === false) {
10
29
  target.constructor.prototype["__metadata__"]["methods"][propertyKey] = {};
11
30
  }
31
+ // Set the route.
12
32
  const route = {
13
33
  httpMethod,
14
34
  methodKeyname: propertyKey,
@@ -1 +1 @@
1
- {"version":3,"file":"route.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/route.decorator.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,UAA+B,EAAE,IAAY,EAAE,EAAE;IACnE,OAAO,CACH,MAAW,EACX,WAAmB,EACnB,UAA8B,EAChC,EAAE;QACA,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;YACtE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;SACpD;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;YACjF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;SAC/D;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC9F,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;SAC5E;QAED,MAAM,KAAK,GAAwB;YAC/B,UAAU;YACV,aAAa,EAAE,WAAW;YAC1B,IAAI;SACP,CAAA;QAED,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;IAC1F,CAAC,CAAC;AACN,CAAC,CAAA"}
1
+ {"version":3,"file":"route.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/route.decorator.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,UAA+B,EAAE,IAAY,EAAE,EAAE;IACnE,OAAO;IACH;;OAEG;IACH,MAAc;IAEd;;OAEG;IACH,WAAmB;IAEnB;;OAEG;IACH,UAA8B,EAChC,EAAE;QACA,+HAA+H;QAC/H,2JAA2J;QAC3J,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;YACtE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;SACpD;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;YACjF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;SAC/D;QAED,IAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YAC9F,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;SAC5E;QAED,iBAAiB;QACjB,MAAM,KAAK,GAAyB;YAChC,UAAU;YACV,aAAa,EAAE,WAAW;YAC1B,IAAI;SACP,CAAA;QAED,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;IAC1F,CAAC,CAAC;AACN,CAAC,CAAA"}
@@ -15,6 +15,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
15
15
  };
16
16
  import { moduleScoped, ServiceDefinitionTagEnum, tag } from "@pristine-ts/common";
17
17
  import { NetworkingModuleKeyname } from "../networking.module.keyname";
18
+ /**
19
+ * The RouterResponseEnricher enriches the response of the router by adding the response headers specified by the response header decorator.
20
+ * It is tagged as an RouterResponseEnricher so it can be automatically injected with the all the other RouterResponseEnrichers.
21
+ */
18
22
  let RouterResponseEnricher = class RouterResponseEnricher {
19
23
  enrichResponse(response, request, methodNode) {
20
24
  return __awaiter(this, void 0, void 0, function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"router-response.enricher.js","sourceRoot":"","sources":["../../../../src/enrichers/router-response.enricher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,OAAO,EAAC,YAAY,EAAE,wBAAwB,EAAE,GAAG,EAAC,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AAMrE,IAAa,sBAAsB,GAAnC,MAAa,sBAAsB;IACzB,cAAc,CAAC,QAAkB,EAAE,OAAgB,EAAE,UAA4B;;YACnF,IAAG,UAAU,CAAC,KAAK,CAAC,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAC;gBACtF,QAAQ,CAAC,OAAO,mCAAO,QAAQ,CAAC,OAAO,GAAK,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;aACxF;YACD,OAAO,QAAQ,CAAC;QACpB,CAAC;KAAA;CACJ,CAAA;AAPY,sBAAsB;IAFlC,GAAG,CAAC,wBAAwB,CAAC,sBAAsB,CAAC;IACpD,YAAY,CAAC,uBAAuB,CAAC;GACzB,sBAAsB,CAOlC;SAPY,sBAAsB"}
1
+ {"version":3,"file":"router-response.enricher.js","sourceRoot":"","sources":["../../../../src/enrichers/router-response.enricher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,OAAO,EAAC,YAAY,EAAE,wBAAwB,EAAE,GAAG,EAAC,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AAIrE;;;GAGG;AAGH,IAAa,sBAAsB,GAAnC,MAAa,sBAAsB;IACzB,cAAc,CAAC,QAAkB,EAAE,OAAgB,EAAE,UAA4B;;YACnF,IAAG,UAAU,CAAC,KAAK,CAAC,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAC;gBACtF,QAAQ,CAAC,OAAO,mCAAO,QAAQ,CAAC,OAAO,GAAK,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;aACxF;YACD,OAAO,QAAQ,CAAC;QACpB,CAAC;KAAA;CACJ,CAAA;AAPY,sBAAsB;IAFlC,GAAG,CAAC,wBAAwB,CAAC,sBAAsB,CAAC;IACpD,YAAY,CAAC,uBAAuB,CAAC;GACzB,sBAAsB,CAOlC;SAPY,sBAAsB"}
@@ -2,6 +2,8 @@ export * from "./bad-request.http-error";
2
2
  export * from "./forbidden.http-error";
3
3
  export * from "./http.error";
4
4
  export * from "./invalid-body.http-error";
5
- export * from "./path-router-instantiation.error";
5
+ export * from "./method-router-adding.error";
6
6
  export * from "./not-found.http-error";
7
+ export * from "./path-router-adding.error";
8
+ export * from "./path-router-instantiation.error";
7
9
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/errors/errors.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/errors/errors.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC"}