temba 0.18.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/README.md +14 -2
  2. package/package.json +6 -8
  3. package/{config → src/config}/index.d.ts +7 -5
  4. package/src/config/index.d.ts.map +1 -0
  5. package/{config → src/config}/index.js +11 -39
  6. package/src/config/index.js.map +1 -0
  7. package/src/delay/delayMiddleware.d.ts +3 -0
  8. package/src/delay/delayMiddleware.d.ts.map +1 -0
  9. package/src/delay/delayMiddleware.js +13 -0
  10. package/src/delay/delayMiddleware.js.map +1 -0
  11. package/src/index.d.ts +6 -0
  12. package/src/index.d.ts.map +1 -0
  13. package/src/index.js +83 -0
  14. package/src/index.js.map +1 -0
  15. package/src/queries/in-memory.d.ts +3 -0
  16. package/src/queries/in-memory.d.ts.map +1 -0
  17. package/src/queries/in-memory.js +61 -0
  18. package/src/queries/in-memory.js.map +1 -0
  19. package/src/queries/mongo.d.ts +3 -0
  20. package/src/queries/mongo.d.ts.map +1 -0
  21. package/src/queries/mongo.js +75 -0
  22. package/src/queries/mongo.js.map +1 -0
  23. package/src/queries/queries.d.ts +2 -0
  24. package/src/queries/queries.d.ts.map +1 -0
  25. package/src/queries/queries.js +10 -0
  26. package/src/queries/queries.js.map +1 -0
  27. package/src/queries/types.d.ts +15 -0
  28. package/src/queries/types.d.ts.map +1 -0
  29. package/src/queries/types.js +2 -0
  30. package/{routes → src/queries}/types.js.map +1 -1
  31. package/src/requestBodyInterceptor/interceptRequestBody.d.ts +3 -0
  32. package/src/requestBodyInterceptor/interceptRequestBody.d.ts.map +1 -0
  33. package/src/requestBodyInterceptor/interceptRequestBody.js +14 -0
  34. package/src/requestBodyInterceptor/interceptRequestBody.js.map +1 -0
  35. package/src/requestBodyInterceptor/types.d.ts +12 -0
  36. package/src/requestBodyInterceptor/types.d.ts.map +1 -0
  37. package/src/requestBodyInterceptor/types.js +2 -0
  38. package/src/requestBodyInterceptor/types.js.map +1 -0
  39. package/src/requestHandlers/delete.d.ts +12 -0
  40. package/src/requestHandlers/delete.d.ts.map +1 -0
  41. package/src/requestHandlers/delete.js +22 -0
  42. package/src/requestHandlers/delete.js.map +1 -0
  43. package/src/requestHandlers/get.d.ts +22 -0
  44. package/src/requestHandlers/get.d.ts.map +1 -0
  45. package/src/requestHandlers/get.js +47 -0
  46. package/src/requestHandlers/get.js.map +1 -0
  47. package/src/requestHandlers/index.d.ts +54 -0
  48. package/src/requestHandlers/index.d.ts.map +1 -0
  49. package/src/requestHandlers/index.js +21 -0
  50. package/src/requestHandlers/index.js.map +1 -0
  51. package/src/requestHandlers/patch.d.ts +9 -0
  52. package/src/requestHandlers/patch.d.ts.map +1 -0
  53. package/src/requestHandlers/patch.js +35 -0
  54. package/src/requestHandlers/patch.js.map +1 -0
  55. package/src/requestHandlers/post.d.ts +18 -0
  56. package/src/requestHandlers/post.d.ts.map +1 -0
  57. package/src/requestHandlers/post.js +37 -0
  58. package/src/requestHandlers/post.js.map +1 -0
  59. package/src/requestHandlers/put.d.ts +9 -0
  60. package/src/requestHandlers/put.d.ts.map +1 -0
  61. package/src/requestHandlers/put.js +35 -0
  62. package/src/requestHandlers/put.js.map +1 -0
  63. package/src/requestHandlers/types.d.ts +38 -0
  64. package/src/requestHandlers/types.d.ts.map +1 -0
  65. package/src/requestHandlers/types.js +2 -0
  66. package/{schema → src/requestHandlers}/types.js.map +1 -1
  67. package/{routes → src/requestHandlers}/utils.d.ts +1 -0
  68. package/src/requestHandlers/utils.d.ts.map +1 -0
  69. package/src/requestHandlers/utils.js +6 -0
  70. package/src/requestHandlers/utils.js.map +1 -0
  71. package/src/resourceRouter.d.ts +5 -0
  72. package/src/resourceRouter.d.ts.map +1 -0
  73. package/src/resourceRouter.js +95 -0
  74. package/src/resourceRouter.js.map +1 -0
  75. package/src/responseBodyInterceptor/interceptResponseBody.d.ts +3 -0
  76. package/src/responseBodyInterceptor/interceptResponseBody.d.ts.map +1 -0
  77. package/src/responseBodyInterceptor/interceptResponseBody.js +7 -0
  78. package/src/responseBodyInterceptor/interceptResponseBody.js.map +1 -0
  79. package/src/responseBodyInterceptor/types.d.ts +11 -0
  80. package/src/responseBodyInterceptor/types.d.ts.map +1 -0
  81. package/src/responseBodyInterceptor/types.js +2 -0
  82. package/src/responseBodyInterceptor/types.js.map +1 -0
  83. package/src/schema/compile.d.ts +3 -0
  84. package/src/schema/compile.d.ts.map +1 -0
  85. package/src/schema/compile.js +26 -0
  86. package/src/schema/compile.js.map +1 -0
  87. package/{schema → src/schema}/types.d.ts +4 -14
  88. package/src/schema/types.d.ts.map +1 -0
  89. package/src/schema/types.js +2 -0
  90. package/{queries → src/schema}/types.js.map +1 -1
  91. package/{schema → src/schema}/validate.d.ts +1 -0
  92. package/src/schema/validate.d.ts.map +1 -0
  93. package/src/schema/validate.js +14 -0
  94. package/src/schema/validate.js.map +1 -0
  95. package/src/urls/urlParser.d.ts +5 -0
  96. package/src/urls/urlParser.d.ts.map +1 -0
  97. package/src/urls/urlParser.js +9 -0
  98. package/src/urls/urlParser.js.map +1 -0
  99. package/test/integration/api-prefix.test.d.ts +2 -0
  100. package/test/integration/api-prefix.test.d.ts.map +1 -0
  101. package/test/integration/api-prefix.test.js +69 -0
  102. package/test/integration/api-prefix.test.js.map +1 -0
  103. package/test/integration/createServer.d.ts +4 -0
  104. package/test/integration/createServer.d.ts.map +1 -0
  105. package/test/integration/createServer.js +4 -0
  106. package/test/integration/createServer.js.map +1 -0
  107. package/test/integration/crud.test.d.ts +2 -0
  108. package/test/integration/crud.test.d.ts.map +1 -0
  109. package/test/integration/crud.test.js +173 -0
  110. package/test/integration/crud.test.js.map +1 -0
  111. package/test/integration/custom-router.test.d.ts +2 -0
  112. package/test/integration/custom-router.test.d.ts.map +1 -0
  113. package/test/integration/custom-router.test.js +74 -0
  114. package/test/integration/custom-router.test.js.map +1 -0
  115. package/test/integration/head-method.test.d.ts +2 -0
  116. package/test/integration/head-method.test.d.ts.map +1 -0
  117. package/test/integration/head-method.test.js +38 -0
  118. package/test/integration/head-method.test.js.map +1 -0
  119. package/test/integration/options-method.test.d.ts +2 -0
  120. package/test/integration/options-method.test.d.ts.map +1 -0
  121. package/test/integration/options-method.test.js +30 -0
  122. package/test/integration/options-method.test.js.map +1 -0
  123. package/test/integration/requestBodyInterceptor/requestBodyInterceptor-change-requestBody.test.d.ts +2 -0
  124. package/test/integration/requestBodyInterceptor/requestBodyInterceptor-change-requestBody.test.d.ts.map +1 -0
  125. package/test/integration/requestBodyInterceptor/requestBodyInterceptor-change-requestBody.test.js +76 -0
  126. package/test/integration/requestBodyInterceptor/requestBodyInterceptor-change-requestBody.test.js.map +1 -0
  127. package/test/integration/requestBodyInterceptor/requestBodyInterceptor-error-string.test.d.ts +2 -0
  128. package/test/integration/requestBodyInterceptor/requestBodyInterceptor-error-string.test.d.ts.map +1 -0
  129. package/test/integration/requestBodyInterceptor/requestBodyInterceptor-error-string.test.js +60 -0
  130. package/test/integration/requestBodyInterceptor/requestBodyInterceptor-error-string.test.js.map +1 -0
  131. package/test/integration/requestBodyInterceptor/requestBodyInterceptor-invalid-return-types.test.d.ts +2 -0
  132. package/test/integration/requestBodyInterceptor/requestBodyInterceptor-invalid-return-types.test.d.ts.map +1 -0
  133. package/test/integration/requestBodyInterceptor/requestBodyInterceptor-invalid-return-types.test.js +89 -0
  134. package/test/integration/requestBodyInterceptor/requestBodyInterceptor-invalid-return-types.test.js.map +1 -0
  135. package/test/integration/requestBodyInterceptor/requestBodyInterceptor-void.test.d.ts +2 -0
  136. package/test/integration/requestBodyInterceptor/requestBodyInterceptor-void.test.d.ts.map +1 -0
  137. package/test/integration/requestBodyInterceptor/requestBodyInterceptor-void.test.js +47 -0
  138. package/test/integration/requestBodyInterceptor/requestBodyInterceptor-void.test.js.map +1 -0
  139. package/test/integration/responseBodyInterceptor.test.d.ts +2 -0
  140. package/test/integration/responseBodyInterceptor.test.d.ts.map +1 -0
  141. package/test/integration/responseBodyInterceptor.test.js +107 -0
  142. package/test/integration/responseBodyInterceptor.test.js.map +1 -0
  143. package/test/integration/returnNullFields.test.d.ts +2 -0
  144. package/test/integration/returnNullFields.test.d.ts.map +1 -0
  145. package/test/integration/returnNullFields.test.js +51 -0
  146. package/test/integration/returnNullFields.test.js.map +1 -0
  147. package/test/integration/root-url.test.d.ts +2 -0
  148. package/test/integration/root-url.test.d.ts.map +1 -0
  149. package/test/integration/root-url.test.js +29 -0
  150. package/test/integration/root-url.test.js.map +1 -0
  151. package/test/integration/schema-validation.test.d.ts +2 -0
  152. package/test/integration/schema-validation.test.d.ts.map +1 -0
  153. package/test/integration/schema-validation.test.js +169 -0
  154. package/test/integration/schema-validation.test.js.map +1 -0
  155. package/test/unit/config/config.test.d.ts +2 -0
  156. package/test/unit/config/config.test.d.ts.map +1 -0
  157. package/test/unit/config/config.test.js +121 -0
  158. package/test/unit/config/config.test.js.map +1 -0
  159. package/test/unit/urls/urlParser.test.d.ts +2 -0
  160. package/test/unit/urls/urlParser.test.d.ts.map +1 -0
  161. package/test/unit/urls/urlParser.test.js +43 -0
  162. package/test/unit/urls/urlParser.test.js.map +1 -0
  163. package/tsconfig.tsbuildinfo +1 -0
  164. package/vitest.config.d.ts +3 -0
  165. package/vitest.config.d.ts.map +1 -0
  166. package/vitest.config.js +10 -0
  167. package/vitest.config.js.map +1 -0
  168. package/config/index.js.map +0 -1
  169. package/delay/delayMiddleware.d.ts +0 -2
  170. package/delay/delayMiddleware.js +0 -16
  171. package/delay/delayMiddleware.js.map +0 -1
  172. package/index.d.ts +0 -5
  173. package/index.js +0 -98
  174. package/index.js.map +0 -1
  175. package/queries/in-memory.d.ts +0 -20
  176. package/queries/in-memory.js +0 -88
  177. package/queries/in-memory.js.map +0 -1
  178. package/queries/mongo.d.ts +0 -19
  179. package/queries/mongo.js +0 -218
  180. package/queries/mongo.js.map +0 -1
  181. package/queries/queries.d.ts +0 -11
  182. package/queries/queries.js +0 -17
  183. package/queries/queries.js.map +0 -1
  184. package/queries/types.d.ts +0 -14
  185. package/queries/types.js +0 -3
  186. package/routes/delete.d.ts +0 -7
  187. package/routes/delete.js +0 -77
  188. package/routes/delete.js.map +0 -1
  189. package/routes/get.d.ts +0 -7
  190. package/routes/get.js +0 -115
  191. package/routes/get.js.map +0 -1
  192. package/routes/interceptRequestBody.d.ts +0 -3
  193. package/routes/interceptRequestBody.js +0 -19
  194. package/routes/interceptRequestBody.js.map +0 -1
  195. package/routes/patch.d.ts +0 -8
  196. package/routes/patch.js +0 -102
  197. package/routes/patch.js.map +0 -1
  198. package/routes/post.d.ts +0 -8
  199. package/routes/post.js +0 -87
  200. package/routes/post.js.map +0 -1
  201. package/routes/put.d.ts +0 -8
  202. package/routes/put.js +0 -102
  203. package/routes/put.js.map +0 -1
  204. package/routes/routes.d.ts +0 -8
  205. package/routes/routes.js +0 -90
  206. package/routes/routes.js.map +0 -1
  207. package/routes/types.d.ts +0 -23
  208. package/routes/types.js +0 -3
  209. package/routes/utils.js +0 -13
  210. package/routes/utils.js.map +0 -1
  211. package/schema/compile.d.ts +0 -2
  212. package/schema/compile.js +0 -41
  213. package/schema/compile.js.map +0 -1
  214. package/schema/transformConfig.d.ts +0 -2
  215. package/schema/transformConfig.js +0 -17
  216. package/schema/transformConfig.js.map +0 -1
  217. package/schema/types.js +0 -3
  218. package/schema/validate.js +0 -19
  219. package/schema/validate.js.map +0 -1
  220. package/urls/urlMiddleware.d.ts +0 -5
  221. package/urls/urlMiddleware.js +0 -41
  222. package/urls/urlMiddleware.js.map +0 -1
  223. package/urls/urlParser.d.ts +0 -5
  224. package/urls/urlParser.js +0 -13
  225. package/urls/urlParser.js.map +0 -1
package/routes/utils.js DELETED
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.removeNullFields = void 0;
4
- var removeNullFields = function (obj) {
5
- if (typeof obj !== 'object')
6
- return obj;
7
- return Object.fromEntries(Object.entries(obj).filter(function (_a) {
8
- var value = _a[1];
9
- return value !== null;
10
- }));
11
- };
12
- exports.removeNullFields = removeNullFields;
13
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/routes/utils.ts"],"names":[],"mappings":";;;AAAO,IAAM,gBAAgB,GAAG,UAAC,GAAY;IAC3C,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAA;IACvC,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAC,EAAS;YAAN,KAAK,QAAA;QAAM,OAAA,KAAK,KAAK,IAAI;IAAd,CAAc,CAAC,CAAC,CAAA;AACtF,CAAC,CAAA;AAHY,QAAA,gBAAgB,oBAG5B"}
@@ -1,2 +0,0 @@
1
- import { ConfiguredSchemas, CompiledSchemas } from './types';
2
- export declare const compileAndTransformSchemas: (schemas: ConfiguredSchemas) => CompiledSchemas;
package/schema/compile.js DELETED
@@ -1,41 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.compileAndTransformSchemas = void 0;
18
- var ajv_1 = __importDefault(require("ajv"));
19
- var transformConfig_1 = require("./transformConfig");
20
- var compileSchemas = function (schemas) {
21
- // Use a single Ajv instance in the whole app
22
- var ajv = new ajv_1.default();
23
- // Turn the configured schemas into compiled schemas
24
- var compiledSchemas = __assign({}, schemas);
25
- Object.keys(schemas).forEach(function (resource) {
26
- Object.keys(schemas[resource]).forEach(function (method) {
27
- compiledSchemas[resource][method] = ajv.compile(schemas[resource][method]);
28
- });
29
- });
30
- return compiledSchemas;
31
- };
32
- var compileAndTransformSchemas = function (schemas) {
33
- var transformedSchemas = {};
34
- if (schemas) {
35
- var compiledSchemas = compileSchemas(schemas);
36
- transformedSchemas = (0, transformConfig_1.transformSchemas)(compiledSchemas);
37
- }
38
- return transformedSchemas;
39
- };
40
- exports.compileAndTransformSchemas = compileAndTransformSchemas;
41
- //# sourceMappingURL=compile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/schema/compile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4CAAqB;AAErB,qDAAoD;AAEpD,IAAM,cAAc,GAAG,UAAC,OAA0B;IAChD,6CAA6C;IAC7C,IAAM,GAAG,GAAG,IAAI,aAAG,EAAE,CAAA;IAErB,oDAAoD;IACpD,IAAM,eAAe,gBAAyB,OAAO,CAAE,CAAA;IACvD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAC,QAAQ;QACpC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,UAAC,MAAM;YAC5C,eAAe,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;QAC5E,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,OAAO,eAAe,CAAA;AACxB,CAAC,CAAA;AAEM,IAAM,0BAA0B,GAAG,UAAC,OAA0B;IACnE,IAAI,kBAAkB,GAAG,EAAE,CAAA;IAC3B,IAAI,OAAO,EAAE;QACX,IAAM,eAAe,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;QAC/C,kBAAkB,GAAG,IAAA,kCAAgB,EAAC,eAAe,CAAC,CAAA;KACvD;IAED,OAAO,kBAAkB,CAAA;AAC3B,CAAC,CAAA;AARY,QAAA,0BAA0B,8BAQtC"}
@@ -1,2 +0,0 @@
1
- import { ConfiguredSchemas, TransformedSchemas } from './types';
2
- export declare const transformSchemas: (schemas: ConfiguredSchemas) => TransformedSchemas;
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transformSchemas = void 0;
4
- var transformSchemas = function (schemas) {
5
- var transformedObject = {};
6
- for (var resource in schemas) {
7
- for (var key in schemas[resource]) {
8
- if (!transformedObject[key]) {
9
- transformedObject[key] = {};
10
- }
11
- transformedObject[key][resource] = schemas[resource][key];
12
- }
13
- }
14
- return transformedObject;
15
- };
16
- exports.transformSchemas = transformSchemas;
17
- //# sourceMappingURL=transformConfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transformConfig.js","sourceRoot":"","sources":["../../src/schema/transformConfig.ts"],"names":[],"mappings":";;;AAEO,IAAM,gBAAgB,GAAG,UAAC,OAA0B;IACzD,IAAM,iBAAiB,GAAG,EAAE,CAAA;IAE5B,KAAK,IAAM,QAAQ,IAAI,OAAO,EAAE;QAC9B,KAAK,IAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;YACnC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE;gBAC3B,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;aAC5B;YACD,iBAAiB,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAA;SAC1D;KACF;IAED,OAAO,iBAAiB,CAAA;AAC1B,CAAC,CAAA;AAbY,QAAA,gBAAgB,oBAa5B"}
package/schema/types.js DELETED
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validate = void 0;
4
- var validate = function (body, validate) {
5
- var _a, _b;
6
- if (!validate)
7
- return { isValid: true };
8
- if (validate(body)) {
9
- return { isValid: true };
10
- }
11
- else {
12
- return {
13
- isValid: false,
14
- errorMessage: (_b = (_a = validate.errors) === null || _a === void 0 ? void 0 : _a[0].message) !== null && _b !== void 0 ? _b : 'Unknown schema validation error',
15
- };
16
- }
17
- };
18
- exports.validate = validate;
19
- //# sourceMappingURL=validate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/schema/validate.ts"],"names":[],"mappings":";;;AAGO,IAAM,QAAQ,GAAG,UAAC,IAAa,EAAE,QAAoC;;IAC1E,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAEvC,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE;QAClB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;KACzB;SAAM;QACL,OAAO;YACL,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,MAAA,MAAA,QAAQ,CAAC,MAAM,0CAAG,CAAC,EAAE,OAAO,mCAAI,iCAAiC;SAChF,CAAA;KACF;AACH,CAAC,CAAA;AAXY,QAAA,QAAQ,YAWpB"}
@@ -1,5 +0,0 @@
1
- import { Response } from 'express';
2
- import { ExtendedRequest } from '../routes/types';
3
- declare function createResourceAndIdParser(apiPrefix: string): (req: ExtendedRequest, res: Response, next: () => void) => void;
4
- declare function createValidateResourceMiddleware(validateResources: boolean, resources: string[]): (req: ExtendedRequest, res: Response, next: () => void) => void | Response<any, Record<string, any>>;
5
- export { createResourceAndIdParser, createValidateResourceMiddleware };
@@ -1,41 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.createValidateResourceMiddleware = exports.createResourceAndIdParser = void 0;
15
- var urlParser_1 = require("./urlParser");
16
- function createResourceAndIdParser(apiPrefix) {
17
- return function getResourceAndId(req, res, next) {
18
- var url = req.baseUrl.replace(apiPrefix, '');
19
- var urlInfo = (0, urlParser_1.parseUrl)(url);
20
- req.requestInfo = __assign(__assign({}, req.requestInfo), urlInfo);
21
- return next();
22
- };
23
- }
24
- exports.createResourceAndIdParser = createResourceAndIdParser;
25
- function createValidateResourceMiddleware(validateResources, resources) {
26
- return function validateResource(req, res, next) {
27
- if (!validateResources)
28
- return next();
29
- var resource = req.requestInfo.resource;
30
- if (!resource)
31
- return next();
32
- if (!resources.includes(resource.toLowerCase())) {
33
- return res.status(404).json({
34
- message: "'".concat(resource, "' is an unknown resource"),
35
- });
36
- }
37
- return next();
38
- };
39
- }
40
- exports.createValidateResourceMiddleware = createValidateResourceMiddleware;
41
- //# sourceMappingURL=urlMiddleware.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"urlMiddleware.js","sourceRoot":"","sources":["../../src/urls/urlMiddleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,yCAAsC;AAGtC,SAAS,yBAAyB,CAAC,SAAiB;IAClD,OAAO,SAAS,gBAAgB,CAAC,GAAoB,EAAE,GAAa,EAAE,IAAgB;QACpF,IAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;QAC9C,IAAM,OAAO,GAAG,IAAA,oBAAQ,EAAC,GAAG,CAAC,CAAA;QAE7B,GAAG,CAAC,WAAW,yBAAQ,GAAG,CAAC,WAAW,GAAK,OAAO,CAAE,CAAA;QAEpD,OAAO,IAAI,EAAE,CAAA;IACf,CAAC,CAAA;AACH,CAAC;AAoBQ,8DAAyB;AAlBlC,SAAS,gCAAgC,CAAC,iBAA0B,EAAE,SAAmB;IACvF,OAAO,SAAS,gBAAgB,CAAC,GAAoB,EAAE,GAAa,EAAE,IAAgB;QACpF,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,EAAE,CAAA;QAE7B,IAAA,QAAQ,GAAK,GAAG,CAAC,WAAW,SAApB,CAAoB;QAEpC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,EAAE,CAAA;QAE5B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE;YAC/C,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,OAAO,EAAE,WAAI,QAAQ,6BAA0B;aAChD,CAAC,CAAA;SACH;QAED,OAAO,IAAI,EAAE,CAAA;IACf,CAAC,CAAA;AACH,CAAC;AAEmC,4EAAgC"}
@@ -1,5 +0,0 @@
1
- declare function parseUrl(url: string): {
2
- resource: string;
3
- id: string;
4
- };
5
- export { parseUrl };
package/urls/urlParser.js DELETED
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseUrl = void 0;
4
- function parseUrl(url) {
5
- if (!url || (url && !url.trim()))
6
- return { resource: null, id: null };
7
- var urlSegments = url.split('/').filter(function (i) { return i; });
8
- var resource = urlSegments.length > 0 ? urlSegments[0] : null;
9
- var id = urlSegments.length > 1 ? urlSegments[1] : null;
10
- return { resource: resource, id: id };
11
- }
12
- exports.parseUrl = parseUrl;
13
- //# sourceMappingURL=urlParser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"urlParser.js","sourceRoot":"","sources":["../../src/urls/urlParser.ts"],"names":[],"mappings":";;;AAAA,SAAS,QAAQ,CAAC,GAAW;IAC3B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IAErE,IAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,EAAD,CAAC,CAAC,CAAA;IAEnD,IAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC/D,IAAM,EAAE,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAEzD,OAAO,EAAE,QAAQ,UAAA,EAAE,EAAE,IAAA,EAAE,CAAA;AACzB,CAAC;AAEQ,4BAAQ"}