@furystack/rest-service 4.0.19

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 (285) hide show
  1. package/LICENSE +339 -0
  2. package/README.md +219 -0
  3. package/dist/actions/error-action.d.ts +14 -0
  4. package/dist/actions/error-action.d.ts.map +1 -0
  5. package/dist/actions/error-action.js +29 -0
  6. package/dist/actions/error-action.js.map +1 -0
  7. package/dist/actions/error-action.spec.d.ts +2 -0
  8. package/dist/actions/error-action.spec.d.ts.map +1 -0
  9. package/dist/actions/error-action.spec.js +51 -0
  10. package/dist/actions/error-action.spec.js.map +1 -0
  11. package/dist/actions/get-current-user.d.ts +11 -0
  12. package/dist/actions/get-current-user.d.ts.map +1 -0
  13. package/dist/actions/get-current-user.js +15 -0
  14. package/dist/actions/get-current-user.js.map +1 -0
  15. package/dist/actions/get-current-user.spec.d.ts +2 -0
  16. package/dist/actions/get-current-user.spec.d.ts.map +1 -0
  17. package/dist/actions/get-current-user.spec.js +20 -0
  18. package/dist/actions/get-current-user.spec.js.map +1 -0
  19. package/dist/actions/index.d.ts +7 -0
  20. package/dist/actions/index.d.ts.map +1 -0
  21. package/dist/actions/index.js +10 -0
  22. package/dist/actions/index.js.map +1 -0
  23. package/dist/actions/is-authenticated.d.ts +14 -0
  24. package/dist/actions/is-authenticated.d.ts.map +1 -0
  25. package/dist/actions/is-authenticated.js +17 -0
  26. package/dist/actions/is-authenticated.js.map +1 -0
  27. package/dist/actions/is-authenticated.spec.d.ts +2 -0
  28. package/dist/actions/is-authenticated.spec.d.ts.map +1 -0
  29. package/dist/actions/is-authenticated.spec.js +19 -0
  30. package/dist/actions/is-authenticated.spec.js.map +1 -0
  31. package/dist/actions/login-action.spec.d.ts +2 -0
  32. package/dist/actions/login-action.spec.d.ts.map +1 -0
  33. package/dist/actions/login-action.spec.js +35 -0
  34. package/dist/actions/login-action.spec.js.map +1 -0
  35. package/dist/actions/login.d.ts +16 -0
  36. package/dist/actions/login.d.ts.map +1 -0
  37. package/dist/actions/login.js +26 -0
  38. package/dist/actions/login.js.map +1 -0
  39. package/dist/actions/logout-action.spec.d.ts +2 -0
  40. package/dist/actions/logout-action.spec.d.ts.map +1 -0
  41. package/dist/actions/logout-action.spec.js +23 -0
  42. package/dist/actions/logout-action.spec.js.map +1 -0
  43. package/dist/actions/logout.d.ts +14 -0
  44. package/dist/actions/logout.d.ts.map +1 -0
  45. package/dist/actions/logout.js +20 -0
  46. package/dist/actions/logout.js.map +1 -0
  47. package/dist/actions/not-found-action.d.ts +10 -0
  48. package/dist/actions/not-found-action.d.ts.map +1 -0
  49. package/dist/actions/not-found-action.js +14 -0
  50. package/dist/actions/not-found-action.js.map +1 -0
  51. package/dist/actions/not-found-action.spec.d.ts +2 -0
  52. package/dist/actions/not-found-action.spec.d.ts.map +1 -0
  53. package/dist/actions/not-found-action.spec.js +17 -0
  54. package/dist/actions/not-found-action.spec.js.map +1 -0
  55. package/dist/add-cors-header.spec.d.ts +2 -0
  56. package/dist/add-cors-header.spec.d.ts.map +1 -0
  57. package/dist/add-cors-header.spec.js +99 -0
  58. package/dist/add-cors-header.spec.js.map +1 -0
  59. package/dist/api-manager.d.ts +61 -0
  60. package/dist/api-manager.d.ts.map +1 -0
  61. package/dist/api-manager.js +144 -0
  62. package/dist/api-manager.js.map +1 -0
  63. package/dist/authenticate.d.ts +5 -0
  64. package/dist/authenticate.d.ts.map +1 -0
  65. package/dist/authenticate.js +20 -0
  66. package/dist/authenticate.js.map +1 -0
  67. package/dist/authenticate.spec.d.ts +2 -0
  68. package/dist/authenticate.spec.d.ts.map +1 -0
  69. package/dist/authenticate.spec.js +59 -0
  70. package/dist/authenticate.spec.js.map +1 -0
  71. package/dist/authorize.d.ts +5 -0
  72. package/dist/authorize.d.ts.map +1 -0
  73. package/dist/authorize.js +22 -0
  74. package/dist/authorize.js.map +1 -0
  75. package/dist/authorize.spec.d.ts +2 -0
  76. package/dist/authorize.spec.d.ts.map +1 -0
  77. package/dist/authorize.spec.js +55 -0
  78. package/dist/authorize.spec.js.map +1 -0
  79. package/dist/endpoint-generators/create-delete-endpoint.d.ts +17 -0
  80. package/dist/endpoint-generators/create-delete-endpoint.d.ts.map +1 -0
  81. package/dist/endpoint-generators/create-delete-endpoint.js +24 -0
  82. package/dist/endpoint-generators/create-delete-endpoint.js.map +1 -0
  83. package/dist/endpoint-generators/create-delete-endpoint.spec.d.ts +2 -0
  84. package/dist/endpoint-generators/create-delete-endpoint.spec.d.ts.map +1 -0
  85. package/dist/endpoint-generators/create-delete-endpoint.spec.js +33 -0
  86. package/dist/endpoint-generators/create-delete-endpoint.spec.js.map +1 -0
  87. package/dist/endpoint-generators/create-get-collection-endpoint.d.ts +17 -0
  88. package/dist/endpoint-generators/create-get-collection-endpoint.d.ts.map +1 -0
  89. package/dist/endpoint-generators/create-get-collection-endpoint.js +26 -0
  90. package/dist/endpoint-generators/create-get-collection-endpoint.js.map +1 -0
  91. package/dist/endpoint-generators/create-get-collection-endpoint.spec.d.ts +2 -0
  92. package/dist/endpoint-generators/create-get-collection-endpoint.spec.d.ts.map +1 -0
  93. package/dist/endpoint-generators/create-get-collection-endpoint.spec.js +143 -0
  94. package/dist/endpoint-generators/create-get-collection-endpoint.spec.js.map +1 -0
  95. package/dist/endpoint-generators/create-get-entity-endpoint.d.ts +17 -0
  96. package/dist/endpoint-generators/create-get-entity-endpoint.d.ts.map +1 -0
  97. package/dist/endpoint-generators/create-get-entity-endpoint.js +29 -0
  98. package/dist/endpoint-generators/create-get-entity-endpoint.js.map +1 -0
  99. package/dist/endpoint-generators/create-get-entity-endpoint.spec.d.ts +2 -0
  100. package/dist/endpoint-generators/create-get-entity-endpoint.spec.d.ts.map +1 -0
  101. package/dist/endpoint-generators/create-get-entity-endpoint.spec.js +74 -0
  102. package/dist/endpoint-generators/create-get-entity-endpoint.spec.js.map +1 -0
  103. package/dist/endpoint-generators/create-patch-endpoint.d.ts +18 -0
  104. package/dist/endpoint-generators/create-patch-endpoint.d.ts.map +1 -0
  105. package/dist/endpoint-generators/create-patch-endpoint.js +26 -0
  106. package/dist/endpoint-generators/create-patch-endpoint.js.map +1 -0
  107. package/dist/endpoint-generators/create-patch-endpoint.spec.d.ts +2 -0
  108. package/dist/endpoint-generators/create-patch-endpoint.spec.d.ts.map +1 -0
  109. package/dist/endpoint-generators/create-patch-endpoint.spec.js +36 -0
  110. package/dist/endpoint-generators/create-patch-endpoint.spec.js.map +1 -0
  111. package/dist/endpoint-generators/create-post-endpoint.d.ts +18 -0
  112. package/dist/endpoint-generators/create-post-endpoint.d.ts.map +1 -0
  113. package/dist/endpoint-generators/create-post-endpoint.js +29 -0
  114. package/dist/endpoint-generators/create-post-endpoint.js.map +1 -0
  115. package/dist/endpoint-generators/create-post-endpoint.spec.d.ts +2 -0
  116. package/dist/endpoint-generators/create-post-endpoint.spec.d.ts.map +1 -0
  117. package/dist/endpoint-generators/create-post-endpoint.spec.js +34 -0
  118. package/dist/endpoint-generators/create-post-endpoint.spec.js.map +1 -0
  119. package/dist/endpoint-generators/index.d.ts +6 -0
  120. package/dist/endpoint-generators/index.d.ts.map +1 -0
  121. package/dist/endpoint-generators/index.js +9 -0
  122. package/dist/endpoint-generators/index.js.map +1 -0
  123. package/dist/endpoint-generators/utils.d.ts +9 -0
  124. package/dist/endpoint-generators/utils.d.ts.map +1 -0
  125. package/dist/endpoint-generators/utils.js +27 -0
  126. package/dist/endpoint-generators/utils.js.map +1 -0
  127. package/dist/http-authentication-settings.d.ts +17 -0
  128. package/dist/http-authentication-settings.d.ts.map +1 -0
  129. package/dist/http-authentication-settings.js +26 -0
  130. package/dist/http-authentication-settings.js.map +1 -0
  131. package/dist/http-user-context.d.ts +54 -0
  132. package/dist/http-user-context.d.ts.map +1 -0
  133. package/dist/http-user-context.js +153 -0
  134. package/dist/http-user-context.js.map +1 -0
  135. package/dist/http-user-context.spec.d.ts +4 -0
  136. package/dist/http-user-context.spec.d.ts.map +1 -0
  137. package/dist/http-user-context.spec.js +267 -0
  138. package/dist/http-user-context.spec.js.map +1 -0
  139. package/dist/incoming-message-extensions.d.ts +8 -0
  140. package/dist/incoming-message-extensions.d.ts.map +1 -0
  141. package/dist/incoming-message-extensions.js +14 -0
  142. package/dist/incoming-message-extensions.js.map +1 -0
  143. package/dist/incoming-message-extensions.spec.d.ts +2 -0
  144. package/dist/incoming-message-extensions.spec.d.ts.map +1 -0
  145. package/dist/incoming-message-extensions.spec.js +39 -0
  146. package/dist/incoming-message-extensions.spec.js.map +1 -0
  147. package/dist/index.d.ts +17 -0
  148. package/dist/index.d.ts.map +1 -0
  149. package/dist/index.js +20 -0
  150. package/dist/index.js.map +1 -0
  151. package/dist/injector-extensions.d.ts +21 -0
  152. package/dist/injector-extensions.d.ts.map +1 -0
  153. package/dist/injector-extensions.js +14 -0
  154. package/dist/injector-extensions.js.map +1 -0
  155. package/dist/injector-extensions.spec.d.ts +2 -0
  156. package/dist/injector-extensions.spec.d.ts.map +1 -0
  157. package/dist/injector-extensions.spec.js +19 -0
  158. package/dist/injector-extensions.spec.js.map +1 -0
  159. package/dist/models/cors-options.d.ts +22 -0
  160. package/dist/models/cors-options.d.ts.map +1 -0
  161. package/dist/models/cors-options.js +3 -0
  162. package/dist/models/cors-options.js.map +1 -0
  163. package/dist/models/default-session.d.ts +14 -0
  164. package/dist/models/default-session.d.ts.map +1 -0
  165. package/dist/models/default-session.js +10 -0
  166. package/dist/models/default-session.js.map +1 -0
  167. package/dist/request-action-implementation.d.ts +54 -0
  168. package/dist/request-action-implementation.d.ts.map +1 -0
  169. package/dist/request-action-implementation.js +42 -0
  170. package/dist/request-action-implementation.js.map +1 -0
  171. package/dist/rest-service.integration.spec.d.ts +2 -0
  172. package/dist/rest-service.integration.spec.d.ts.map +1 -0
  173. package/dist/rest-service.integration.spec.js +129 -0
  174. package/dist/rest-service.integration.spec.js.map +1 -0
  175. package/dist/rest.integration.test.d.ts +58 -0
  176. package/dist/rest.integration.test.d.ts.map +1 -0
  177. package/dist/rest.integration.test.js +94 -0
  178. package/dist/rest.integration.test.js.map +1 -0
  179. package/dist/schema-validator/index.d.ts +3 -0
  180. package/dist/schema-validator/index.d.ts.map +1 -0
  181. package/dist/schema-validator/index.js +6 -0
  182. package/dist/schema-validator/index.js.map +1 -0
  183. package/dist/schema-validator/schema-validation-error.d.ts +10 -0
  184. package/dist/schema-validator/schema-validation-error.d.ts.map +1 -0
  185. package/dist/schema-validator/schema-validation-error.js +15 -0
  186. package/dist/schema-validator/schema-validation-error.js.map +1 -0
  187. package/dist/schema-validator/schema-validator.d.ts +20 -0
  188. package/dist/schema-validator/schema-validator.d.ts.map +1 -0
  189. package/dist/schema-validator/schema-validator.js +36 -0
  190. package/dist/schema-validator/schema-validator.js.map +1 -0
  191. package/dist/schema-validator/schema-validator.test.d.ts +2 -0
  192. package/dist/schema-validator/schema-validator.test.d.ts.map +1 -0
  193. package/dist/schema-validator/schema-validator.test.js +62 -0
  194. package/dist/schema-validator/schema-validator.test.js.map +1 -0
  195. package/dist/schema-validator/validate-examples.d.ts +37 -0
  196. package/dist/schema-validator/validate-examples.d.ts.map +1 -0
  197. package/dist/schema-validator/validate-examples.js +29 -0
  198. package/dist/schema-validator/validate-examples.js.map +1 -0
  199. package/dist/server-manager.d.ts +30 -0
  200. package/dist/server-manager.d.ts.map +1 -0
  201. package/dist/server-manager.js +71 -0
  202. package/dist/server-manager.js.map +1 -0
  203. package/dist/server-response-extensions.d.ts +21 -0
  204. package/dist/server-response-extensions.d.ts.map +1 -0
  205. package/dist/server-response-extensions.js +15 -0
  206. package/dist/server-response-extensions.js.map +1 -0
  207. package/dist/server-response-extensions.spec.d.ts +2 -0
  208. package/dist/server-response-extensions.spec.d.ts.map +1 -0
  209. package/dist/server-response-extensions.spec.js +49 -0
  210. package/dist/server-response-extensions.spec.js.map +1 -0
  211. package/dist/utils.d.ts +24 -0
  212. package/dist/utils.d.ts.map +1 -0
  213. package/dist/utils.js +66 -0
  214. package/dist/utils.js.map +1 -0
  215. package/dist/validate.d.ts +18 -0
  216. package/dist/validate.d.ts.map +1 -0
  217. package/dist/validate.integration.schema.d.ts +69 -0
  218. package/dist/validate.integration.schema.d.ts.map +1 -0
  219. package/dist/validate.integration.schema.js +3 -0
  220. package/dist/validate.integration.schema.js.map +1 -0
  221. package/dist/validate.integration.spec.d.ts +13 -0
  222. package/dist/validate.integration.spec.d.ts.map +1 -0
  223. package/dist/validate.integration.spec.js +223 -0
  224. package/dist/validate.integration.spec.js.map +1 -0
  225. package/dist/validate.integration.spec.schema.json +749 -0
  226. package/dist/validate.js +49 -0
  227. package/dist/validate.js.map +1 -0
  228. package/package.json +56 -0
  229. package/src/actions/error-action.spec.ts +54 -0
  230. package/src/actions/error-action.ts +34 -0
  231. package/src/actions/get-current-user.spec.ts +23 -0
  232. package/src/actions/get-current-user.ts +15 -0
  233. package/src/actions/index.ts +6 -0
  234. package/src/actions/is-authenticated.spec.ts +18 -0
  235. package/src/actions/is-authenticated.ts +13 -0
  236. package/src/actions/login-action.spec.ts +41 -0
  237. package/src/actions/login.ts +26 -0
  238. package/src/actions/logout-action.spec.ts +27 -0
  239. package/src/actions/logout.ts +16 -0
  240. package/src/actions/not-found-action.spec.ts +17 -0
  241. package/src/actions/not-found-action.ts +13 -0
  242. package/src/add-cors-header.spec.ts +133 -0
  243. package/src/api-manager.ts +222 -0
  244. package/src/authenticate.spec.ts +78 -0
  245. package/src/authenticate.ts +22 -0
  246. package/src/authorize.spec.ts +69 -0
  247. package/src/authorize.ts +19 -0
  248. package/src/endpoint-generators/create-delete-endpoint.spec.ts +34 -0
  249. package/src/endpoint-generators/create-delete-endpoint.ts +25 -0
  250. package/src/endpoint-generators/create-get-collection-endpoint.spec.ts +164 -0
  251. package/src/endpoint-generators/create-get-collection-endpoint.ts +28 -0
  252. package/src/endpoint-generators/create-get-entity-endpoint.spec.ts +75 -0
  253. package/src/endpoint-generators/create-get-entity-endpoint.ts +29 -0
  254. package/src/endpoint-generators/create-patch-endpoint.spec.ts +36 -0
  255. package/src/endpoint-generators/create-patch-endpoint.ts +27 -0
  256. package/src/endpoint-generators/create-post-endpoint.spec.ts +32 -0
  257. package/src/endpoint-generators/create-post-endpoint.ts +30 -0
  258. package/src/endpoint-generators/index.ts +5 -0
  259. package/src/endpoint-generators/utils.ts +34 -0
  260. package/src/http-authentication-settings.ts +23 -0
  261. package/src/http-user-context.spec.ts +299 -0
  262. package/src/http-user-context.ts +160 -0
  263. package/src/incoming-message-extensions.spec.ts +41 -0
  264. package/src/incoming-message-extensions.ts +19 -0
  265. package/src/index.ts +16 -0
  266. package/src/injector-extensions.spec.ts +19 -0
  267. package/src/injector-extensions.ts +35 -0
  268. package/src/models/cors-options.ts +21 -0
  269. package/src/models/default-session.ts +14 -0
  270. package/src/request-action-implementation.ts +70 -0
  271. package/src/rest-service.integration.spec.ts +166 -0
  272. package/src/rest.integration.test.ts +112 -0
  273. package/src/schema-validator/index.ts +2 -0
  274. package/src/schema-validator/schema-validation-error.ts +11 -0
  275. package/src/schema-validator/schema-validator.test.ts +72 -0
  276. package/src/schema-validator/schema-validator.ts +31 -0
  277. package/src/schema-validator/validate-examples.ts +38 -0
  278. package/src/server-manager.ts +88 -0
  279. package/src/server-response-extensions.spec.ts +53 -0
  280. package/src/server-response-extensions.ts +30 -0
  281. package/src/utils.ts +65 -0
  282. package/src/validate.integration.schema.ts +50 -0
  283. package/src/validate.integration.spec.schema.json +779 -0
  284. package/src/validate.integration.spec.ts +218 -0
  285. package/src/validate.ts +60 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-get-collection-endpoint.spec.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-get-collection-endpoint.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { Constructable } from '@furystack/inject';
2
+ import { GetEntityEndpoint } from '@furystack/rest';
3
+ import '@furystack/repository';
4
+ import { RequestAction } from '../request-action-implementation';
5
+ /**
6
+ * Creates a simple Get Entity endpoint for a specified model.
7
+ *
8
+ * @param options The options for endpoint creation
9
+ * @param options.model The entity model, should have a Repository DataSet
10
+ * @param options.primaryKey The field name used as primary key on the model
11
+ * @returns The generated endpoint
12
+ */
13
+ export declare const createGetEntityEndpoint: <T extends object, TPrimaryKey extends keyof T>(options: {
14
+ model: Constructable<T>;
15
+ primaryKey: TPrimaryKey;
16
+ }) => RequestAction<GetEntityEndpoint<T, TPrimaryKey>>;
17
+ //# sourceMappingURL=create-get-entity-endpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-get-entity-endpoint.d.ts","sourceRoot":"","sources":["../../src/endpoint-generators/create-get-entity-endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAgB,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,uBAAuB,CAAA;AAC9B,OAAO,EAAc,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAE5E;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB;;;sDAenC,CAAA"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createGetEntityEndpoint = void 0;
4
+ const rest_1 = require("@furystack/rest");
5
+ require("@furystack/repository");
6
+ const request_action_implementation_1 = require("../request-action-implementation");
7
+ /**
8
+ * Creates a simple Get Entity endpoint for a specified model.
9
+ *
10
+ * @param options The options for endpoint creation
11
+ * @param options.model The entity model, should have a Repository DataSet
12
+ * @param options.primaryKey The field name used as primary key on the model
13
+ * @returns The generated endpoint
14
+ */
15
+ const createGetEntityEndpoint = (options) => {
16
+ const endpoint = async ({ injector, getUrlParams, getQuery }) => {
17
+ const { id } = getUrlParams();
18
+ const { select } = getQuery();
19
+ const dataSet = injector.getDataSetFor(options.model, options.primaryKey);
20
+ const entry = await dataSet.get(injector, id, select);
21
+ if (!entry) {
22
+ throw new rest_1.RequestError('Entity not found', 404);
23
+ }
24
+ return (0, request_action_implementation_1.JsonResult)(entry);
25
+ };
26
+ return endpoint;
27
+ };
28
+ exports.createGetEntityEndpoint = createGetEntityEndpoint;
29
+ //# sourceMappingURL=create-get-entity-endpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-get-entity-endpoint.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-get-entity-endpoint.ts"],"names":[],"mappings":";;;AACA,0CAAiE;AACjE,iCAA8B;AAC9B,oFAA4E;AAE5E;;;;;;;GAOG;AACI,MAAM,uBAAuB,GAAG,CAAgD,OAGtF,EAAE,EAAE;IACH,MAAM,QAAQ,GAAqD,KAAK,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChH,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,EAAE,CAAA;QAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAA;QAC7B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;QACzE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;QACrD,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,mBAAY,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAA;SAChD;QACD,OAAO,IAAA,0CAAU,EAAC,KAAK,CAAC,CAAA;IAC1B,CAAC,CAAA;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAfY,QAAA,uBAAuB,2BAenC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=create-get-entity-endpoint.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-get-entity-endpoint.spec.d.ts","sourceRoot":"","sources":["../../src/endpoint-generators/create-get-entity-endpoint.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const utils_1 = require("@furystack/utils");
5
+ const inject_1 = require("@furystack/inject");
6
+ const rest_1 = require("@furystack/rest");
7
+ const got_1 = (0, tslib_1.__importDefault)(require("got"));
8
+ const utils_2 = require("./utils");
9
+ const create_get_entity_endpoint_1 = require("./create-get-entity-endpoint");
10
+ describe('createGetEntityEndpoint', () => {
11
+ it('Should return the entity', async () => {
12
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
13
+ (0, utils_2.setupContext)(i);
14
+ await i.useRestService({
15
+ root: '/api',
16
+ port: 1113,
17
+ api: {
18
+ GET: {
19
+ '/:id': (0, create_get_entity_endpoint_1.createGetEntityEndpoint)({ model: utils_2.MockClass, primaryKey: 'id' }),
20
+ },
21
+ },
22
+ });
23
+ const mockEntity = { id: 'mock', value: 'mock' };
24
+ await i.getDataSetFor(utils_2.MockClass, 'id').add(i, mockEntity);
25
+ const response = await (0, got_1.default)('http://127.0.0.1:1113/api/mock', { method: 'GET' });
26
+ expect(JSON.parse(response.body)).toStrictEqual(mockEntity);
27
+ });
28
+ });
29
+ it('Should return the entity with the selected fields', async () => {
30
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
31
+ (0, utils_2.setupContext)(i);
32
+ await i.useRestService({
33
+ root: '/api',
34
+ port: 1114,
35
+ api: {
36
+ GET: {
37
+ '/:id': (0, create_get_entity_endpoint_1.createGetEntityEndpoint)({ model: utils_2.MockClass, primaryKey: 'id' }),
38
+ },
39
+ },
40
+ });
41
+ const mockEntity = { id: 'mock', value: 'mock' };
42
+ await i.getDataSetFor(utils_2.MockClass, 'id').add(i, mockEntity);
43
+ const response = await (0, got_1.default)(`http://127.0.0.1:1114/api/mock?${(0, rest_1.serializeToQueryString)({ select: ['id'] })}`, {
44
+ method: 'GET',
45
+ });
46
+ expect(JSON.parse(response.body)).toStrictEqual({ id: mockEntity.id });
47
+ });
48
+ });
49
+ it('Should return 404 if no entity has been found', async () => {
50
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
51
+ (0, utils_2.setupContext)(i);
52
+ await i.useRestService({
53
+ root: '/api',
54
+ port: 1115,
55
+ api: {
56
+ GET: {
57
+ '/:id': (0, create_get_entity_endpoint_1.createGetEntityEndpoint)({ model: utils_2.MockClass, primaryKey: 'id' }),
58
+ },
59
+ },
60
+ });
61
+ await new Promise((resolve, reject) => {
62
+ (0, got_1.default)(`http://127.0.0.1:1115/api/mock`, { method: 'GET' })
63
+ .then(() => reject('Should throw'))
64
+ .catch((err) => {
65
+ const e = err;
66
+ expect(e.response.statusCode).toBe(404);
67
+ expect(JSON.parse(e.response.body).message).toBe('Entity not found');
68
+ resolve();
69
+ });
70
+ });
71
+ });
72
+ });
73
+ });
74
+ //# sourceMappingURL=create-get-entity-endpoint.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-get-entity-endpoint.spec.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-get-entity-endpoint.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { Constructable } from '@furystack/inject';
2
+ import { PatchEndpoint } from '@furystack/rest';
3
+ import '@furystack/repository';
4
+ import '../incoming-message-extensions';
5
+ import { RequestAction } from '../request-action-implementation';
6
+ /**
7
+ * Creates a PATCH endpoint for updating entities
8
+ *
9
+ * @param options The options for endpoint creation
10
+ * @param options.model The Model class
11
+ * @param options.primaryKey The field name that is used as primary key on the model
12
+ * @returns a boolean that indicates the success
13
+ */
14
+ export declare const createPatchEndpoint: <T extends object, TPrimaryKey extends keyof T>(options: {
15
+ model: Constructable<T>;
16
+ primaryKey: TPrimaryKey;
17
+ }) => RequestAction<PatchEndpoint<T, TPrimaryKey>>;
18
+ //# sourceMappingURL=create-patch-endpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-patch-endpoint.d.ts","sourceRoot":"","sources":["../../src/endpoint-generators/create-patch-endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,uBAAuB,CAAA;AAC9B,OAAO,gCAAgC,CAAA;AACvC,OAAO,EAAc,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAE5E;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB;;;kDAY/B,CAAA"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createPatchEndpoint = void 0;
4
+ require("@furystack/repository");
5
+ require("../incoming-message-extensions");
6
+ const request_action_implementation_1 = require("../request-action-implementation");
7
+ /**
8
+ * Creates a PATCH endpoint for updating entities
9
+ *
10
+ * @param options The options for endpoint creation
11
+ * @param options.model The Model class
12
+ * @param options.primaryKey The field name that is used as primary key on the model
13
+ * @returns a boolean that indicates the success
14
+ */
15
+ const createPatchEndpoint = (options) => {
16
+ const endpoint = async ({ injector, request, getUrlParams }) => {
17
+ const { id } = getUrlParams();
18
+ const patchData = await request.readPostBody();
19
+ const dataSet = injector.getDataSetFor(options.model, options.primaryKey);
20
+ await dataSet.update(injector, id, patchData);
21
+ return (0, request_action_implementation_1.JsonResult)({});
22
+ };
23
+ return endpoint;
24
+ };
25
+ exports.createPatchEndpoint = createPatchEndpoint;
26
+ //# sourceMappingURL=create-patch-endpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-patch-endpoint.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-patch-endpoint.ts"],"names":[],"mappings":";;;AAEA,iCAA8B;AAC9B,0CAAuC;AACvC,oFAA4E;AAE5E;;;;;;;GAOG;AACI,MAAM,mBAAmB,GAAG,CAAgD,OAGlF,EAAE,EAAE;IACH,MAAM,QAAQ,GAAiD,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE;QAC3G,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,EAAE,CAAA;QAC7B,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,YAAY,EAAK,CAAA;QACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;QACzE,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;QAC7C,OAAO,IAAA,0CAAU,EAAC,EAAE,CAAC,CAAA;IACvB,CAAC,CAAA;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAZY,QAAA,mBAAmB,uBAY/B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=create-patch-endpoint.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-patch-endpoint.spec.d.ts","sourceRoot":"","sources":["../../src/endpoint-generators/create-patch-endpoint.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const utils_1 = require("@furystack/utils");
5
+ const inject_1 = require("@furystack/inject");
6
+ const create_patch_endpoint_1 = require("./create-patch-endpoint");
7
+ const got_1 = (0, tslib_1.__importDefault)(require("got"));
8
+ const utils_2 = require("./utils");
9
+ describe('createPatchEndpoint', () => {
10
+ it('Should update the entity and report the success', async () => {
11
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
12
+ (0, utils_2.setupContext)(i);
13
+ await i.useRestService({
14
+ root: '/api',
15
+ port: 1116,
16
+ api: {
17
+ PATCH: {
18
+ '/:id': (0, create_patch_endpoint_1.createPatchEndpoint)({ model: utils_2.MockClass, primaryKey: 'id' }),
19
+ },
20
+ },
21
+ });
22
+ await i.getDataSetFor(utils_2.MockClass, 'id').add(i, { id: 'mock', value: 'mock' });
23
+ const countBeforeDelete = await i.getDataSetFor(utils_2.MockClass, 'id').count(i);
24
+ expect(countBeforeDelete).toBe(1);
25
+ const response = await (0, got_1.default)('http://127.0.0.1:1116/api/mock', {
26
+ method: 'PATCH',
27
+ body: JSON.stringify({ value: 'updated' }),
28
+ });
29
+ expect(response.statusCode).toBe(200);
30
+ expect(response.body).toBe('{}');
31
+ const updated = await i.getDataSetFor(utils_2.MockClass, 'id').get(i, 'mock');
32
+ expect(updated === null || updated === void 0 ? void 0 : updated.value).toBe('updated');
33
+ });
34
+ });
35
+ });
36
+ //# sourceMappingURL=create-patch-endpoint.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-patch-endpoint.spec.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-patch-endpoint.spec.ts"],"names":[],"mappings":";;;AAAA,4CAA6C;AAC7C,8CAA4C;AAE5C,mEAA6D;AAC7D,2DAAqB;AACrB,mCAAiD;AAEjD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,IAAA,kBAAU,EAAC,IAAI,iBAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAC3C,IAAA,oBAAY,EAAC,CAAC,CAAC,CAAA;YACf,MAAM,CAAC,CAAC,cAAc,CAAwD;gBAC5E,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI;gBACV,GAAG,EAAE;oBACH,KAAK,EAAE;wBACL,MAAM,EAAE,IAAA,2CAAmB,EAAC,EAAE,KAAK,EAAE,iBAAS,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;qBACpE;iBACF;aACF,CAAC,CAAA;YACF,MAAM,CAAC,CAAC,aAAa,CAAC,iBAAS,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;YAE5E,MAAM,iBAAiB,GAAG,MAAM,CAAC,CAAC,aAAa,CAAC,iBAAS,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACzE,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAEjC,MAAM,QAAQ,GAAG,MAAM,IAAA,aAAG,EAAC,gCAAgC,EAAE;gBAC3D,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;aAC3C,CAAC,CAAA;YACF,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACrC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAChC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,aAAa,CAAC,iBAAS,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;YACrE,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACxC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { Constructable } from '@furystack/inject';
2
+ import { PostEndpoint } from '@furystack/rest';
3
+ import '@furystack/repository';
4
+ import '../incoming-message-extensions';
5
+ import { RequestAction } from '../request-action-implementation';
6
+ /**
7
+ * Creates a POST endpoint for updating entities
8
+ *
9
+ * @param options The options for endpoint creation
10
+ * @param options.model The Model class
11
+ * @param options.primaryKey The field name used as primary key
12
+ * @returns a boolean that indicates the success
13
+ */
14
+ export declare const createPostEndpoint: <T extends object, TPrimaryKey extends keyof T>(options: {
15
+ model: Constructable<T>;
16
+ primaryKey: TPrimaryKey;
17
+ }) => RequestAction<PostEndpoint<T, TPrimaryKey>>;
18
+ //# sourceMappingURL=create-post-endpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-post-endpoint.d.ts","sourceRoot":"","sources":["../../src/endpoint-generators/create-post-endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAgB,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,uBAAuB,CAAA;AAC9B,OAAO,gCAAgC,CAAA;AACvC,OAAO,EAAc,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAE5E;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB;;;iDAe9B,CAAA"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createPostEndpoint = void 0;
4
+ const rest_1 = require("@furystack/rest");
5
+ require("@furystack/repository");
6
+ require("../incoming-message-extensions");
7
+ const request_action_implementation_1 = require("../request-action-implementation");
8
+ /**
9
+ * Creates a POST endpoint for updating entities
10
+ *
11
+ * @param options The options for endpoint creation
12
+ * @param options.model The Model class
13
+ * @param options.primaryKey The field name used as primary key
14
+ * @returns a boolean that indicates the success
15
+ */
16
+ const createPostEndpoint = (options) => {
17
+ const endpoint = async ({ injector, request }) => {
18
+ const dataSet = injector.getDataSetFor(options.model, options.primaryKey);
19
+ const entityToCreate = await request.readPostBody();
20
+ const { created } = await dataSet.add(injector, entityToCreate);
21
+ if (!created || !created.length) {
22
+ throw new rest_1.RequestError('Entity not found', 404);
23
+ }
24
+ return (0, request_action_implementation_1.JsonResult)(created[0], 201);
25
+ };
26
+ return endpoint;
27
+ };
28
+ exports.createPostEndpoint = createPostEndpoint;
29
+ //# sourceMappingURL=create-post-endpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-post-endpoint.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-post-endpoint.ts"],"names":[],"mappings":";;;AACA,0CAA4D;AAC5D,iCAA8B;AAC9B,0CAAuC;AACvC,oFAA4E;AAE5E;;;;;;;GAOG;AACI,MAAM,kBAAkB,GAAG,CAAgD,OAGjF,EAAE,EAAE;IACH,MAAM,QAAQ,GAAgD,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAC5F,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;QAEzE,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,YAAY,EAAmD,CAAA;QACpG,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;QAC/D,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAC/B,MAAM,IAAI,mBAAY,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAA;SAChD;QACD,OAAO,IAAA,0CAAU,EAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACpC,CAAC,CAAA;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAfY,QAAA,kBAAkB,sBAe9B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=create-post-endpoint.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-post-endpoint.spec.d.ts","sourceRoot":"","sources":["../../src/endpoint-generators/create-post-endpoint.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const utils_1 = require("@furystack/utils");
5
+ const inject_1 = require("@furystack/inject");
6
+ const create_post_endpoint_1 = require("./create-post-endpoint");
7
+ const got_1 = (0, tslib_1.__importDefault)(require("got"));
8
+ const utils_2 = require("./utils");
9
+ describe('createPostEndpoint', () => {
10
+ it('Should create the entity and report the success', async () => {
11
+ await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
12
+ (0, utils_2.setupContext)(i);
13
+ await i.useRestService({
14
+ root: '/api',
15
+ port: 1117,
16
+ api: {
17
+ POST: {
18
+ '/:id': (0, create_post_endpoint_1.createPostEndpoint)({ model: utils_2.MockClass, primaryKey: 'id' }),
19
+ },
20
+ },
21
+ });
22
+ const entityToPost = { id: 'mock', value: 'posted' };
23
+ const response = await (0, got_1.default)('http://127.0.0.1:1117/api/mock', {
24
+ method: 'POST',
25
+ body: JSON.stringify(entityToPost),
26
+ });
27
+ expect(response.statusCode).toBe(201);
28
+ expect(JSON.parse(response.body)).toStrictEqual(entityToPost);
29
+ const posted = await i.getDataSetFor(utils_2.MockClass, 'id').get(i, entityToPost.id);
30
+ expect(posted === null || posted === void 0 ? void 0 : posted.value).toBe('posted');
31
+ });
32
+ });
33
+ });
34
+ //# sourceMappingURL=create-post-endpoint.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-post-endpoint.spec.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-post-endpoint.spec.ts"],"names":[],"mappings":";;;AAAA,4CAA6C;AAC7C,8CAA4C;AAE5C,iEAA2D;AAC3D,2DAAqB;AACrB,mCAAiD;AAEjD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,IAAA,kBAAU,EAAC,IAAI,iBAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAC3C,IAAA,oBAAY,EAAC,CAAC,CAAC,CAAA;YACf,MAAM,CAAC,CAAC,cAAc,CAAsD;gBAC1E,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI;gBACV,GAAG,EAAE;oBACH,IAAI,EAAE;wBACJ,MAAM,EAAE,IAAA,yCAAkB,EAAC,EAAE,KAAK,EAAE,iBAAS,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;qBACnE;iBACF;aACF,CAAC,CAAA;YACF,MAAM,YAAY,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;YACpD,MAAM,QAAQ,GAAG,MAAM,IAAA,aAAG,EAAC,gCAAgC,EAAE;gBAC3D,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;aACnC,CAAC,CAAA;YACF,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACrC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;YAC7D,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,aAAa,CAAC,iBAAS,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,CAAA;YAC7E,MAAM,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ export * from './create-delete-endpoint';
2
+ export * from './create-get-collection-endpoint';
3
+ export * from './create-get-entity-endpoint';
4
+ export * from './create-patch-endpoint';
5
+ export * from './create-post-endpoint';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/endpoint-generators/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,kCAAkC,CAAA;AAChD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ (0, tslib_1.__exportStar)(require("./create-delete-endpoint"), exports);
5
+ (0, tslib_1.__exportStar)(require("./create-get-collection-endpoint"), exports);
6
+ (0, tslib_1.__exportStar)(require("./create-get-entity-endpoint"), exports);
7
+ (0, tslib_1.__exportStar)(require("./create-patch-endpoint"), exports);
8
+ (0, tslib_1.__exportStar)(require("./create-post-endpoint"), exports);
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/endpoint-generators/index.ts"],"names":[],"mappings":";;;AAAA,wEAAwC;AACxC,gFAAgD;AAChD,4EAA4C;AAC5C,uEAAuC;AACvC,sEAAsC"}
@@ -0,0 +1,9 @@
1
+ import { Injector } from '@furystack/inject';
2
+ import '@furystack/repository';
3
+ import '../injector-extensions';
4
+ export declare class MockClass {
5
+ id: string;
6
+ value: string;
7
+ }
8
+ export declare const setupContext: (i: Injector) => void;
9
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/endpoint-generators/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAG5C,OAAO,uBAAuB,CAAA;AAC9B,OAAO,wBAAwB,CAAA;AAE/B,qBAAa,SAAS;IACpB,EAAE,EAAG,MAAM,CAAA;IACX,KAAK,EAAG,MAAM,CAAA;CACf;AAED,eAAO,MAAM,YAAY,MAAO,QAAQ,SAsBvC,CAAA"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setupContext = exports.MockClass = void 0;
4
+ const core_1 = require("@furystack/core");
5
+ const default_session_1 = require("../models/default-session");
6
+ require("@furystack/repository");
7
+ require("../injector-extensions");
8
+ class MockClass {
9
+ }
10
+ exports.MockClass = MockClass;
11
+ const setupContext = (i) => {
12
+ i.setupStores((b) => b
13
+ .addStore(new core_1.InMemoryStore({
14
+ model: MockClass,
15
+ primaryKey: 'id',
16
+ }))
17
+ .addStore(new core_1.InMemoryStore({
18
+ model: core_1.User,
19
+ primaryKey: 'username',
20
+ }))
21
+ .addStore(new core_1.InMemoryStore({
22
+ model: default_session_1.DefaultSession,
23
+ primaryKey: 'sessionId',
24
+ }))).setupRepository((r) => r.createDataSet(MockClass, 'id'));
25
+ };
26
+ exports.setupContext = setupContext;
27
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/endpoint-generators/utils.ts"],"names":[],"mappings":";;;AACA,0CAAqD;AACrD,+DAA0D;AAC1D,iCAA8B;AAC9B,kCAA+B;AAE/B,MAAa,SAAS;CAGrB;AAHD,8BAGC;AAEM,MAAM,YAAY,GAAG,CAAC,CAAW,EAAE,EAAE;IAC1C,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAClB,CAAC;SACE,QAAQ,CACP,IAAI,oBAAa,CAAC;QAChB,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,IAAI;KACjB,CAAC,CACH;SACA,QAAQ,CACP,IAAI,oBAAa,CAAC;QAChB,KAAK,EAAE,WAAI;QACX,UAAU,EAAE,UAAU;KACvB,CAAC,CACH;SACA,QAAQ,CACP,IAAI,oBAAa,CAAC;QAChB,KAAK,EAAE,gCAAc;QACrB,UAAU,EAAE,WAAW;KACxB,CAAC,CACH,CACJ,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;AAC5D,CAAC,CAAA;AAtBY,QAAA,YAAY,gBAsBxB"}
@@ -0,0 +1,17 @@
1
+ import { PhysicalStore, User, StoreManager } from '@furystack/core';
2
+ import { Constructable } from '@furystack/inject';
3
+ import { DefaultSession } from './models/default-session';
4
+ /**
5
+ * Authentication settings object for FuryStack HTTP Api
6
+ */
7
+ export declare class HttpAuthenticationSettings<TUser extends User, TSession extends DefaultSession> {
8
+ model: Constructable<TUser>;
9
+ getUserStore: (storeManager: StoreManager) => PhysicalStore<TUser & {
10
+ password: string;
11
+ }, keyof TUser>;
12
+ getSessionStore: (storeManager: StoreManager) => PhysicalStore<TSession, keyof TSession>;
13
+ cookieName: string;
14
+ hashMethod: (plain: string) => string;
15
+ enableBasicAuth: boolean;
16
+ }
17
+ //# sourceMappingURL=http-authentication-settings.d.ts.map