remult 0.22.3 → 0.22.5

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 (255) hide show
  1. package/esm/angular/interfaces/index.d.ts +1 -0
  2. package/esm/angular/interfaces/index.js +1 -0
  3. package/esm/angular/interfaces/src/column-collection.d.ts +70 -0
  4. package/esm/angular/interfaces/src/column-collection.js +341 -0
  5. package/esm/angular/interfaces/src/data-area-settings.d.ts +15 -0
  6. package/esm/angular/interfaces/src/data-area-settings.js +35 -0
  7. package/esm/angular/interfaces/src/data-control-interfaces.d.ts +36 -0
  8. package/esm/angular/interfaces/src/data-control-interfaces.js +57 -0
  9. package/esm/angular/interfaces/src/dataList.d.ts +13 -0
  10. package/esm/angular/interfaces/src/dataList.js +42 -0
  11. package/esm/angular/interfaces/src/filter-helper.d.ts +13 -0
  12. package/esm/angular/interfaces/src/filter-helper.js +59 -0
  13. package/esm/angular/interfaces/src/grid-settings.d.ts +145 -0
  14. package/esm/angular/interfaces/src/grid-settings.js +387 -0
  15. package/esm/angular/interfaces/src/public_api.d.ts +4 -0
  16. package/esm/angular/interfaces/src/public_api.js +4 -0
  17. package/esm/angular/src/angular/RemultAngularPluginsService.d.ts +4 -0
  18. package/esm/angular/src/angular/RemultAngularPluginsService.js +3 -0
  19. package/esm/angular/src/angular/data-control/data-control2.component.d.ts +49 -0
  20. package/esm/angular/src/angular/data-control/data-control2.component.js +138 -0
  21. package/esm/core/SseSubscriptionServer.d.ts +33 -0
  22. package/esm/core/SseSubscriptionServer.js +107 -0
  23. package/esm/core/assign.d.ts +1 -0
  24. package/esm/core/assign.js +5 -0
  25. package/esm/core/classType.d.ts +3 -0
  26. package/esm/core/classType.js +1 -0
  27. package/esm/core/index.d.ts +27 -0
  28. package/esm/core/index.js +25 -0
  29. package/esm/core/inputTypes.d.ts +9 -0
  30. package/esm/core/inputTypes.js +9 -0
  31. package/esm/core/live-query/data-provider-live-query-storage.d.ts +22 -0
  32. package/esm/core/live-query/data-provider-live-query-storage.js +71 -0
  33. package/esm/core/postgres/index.d.ts +2 -0
  34. package/esm/core/postgres/index.js +2 -0
  35. package/esm/core/postgres/postgres-data-provider.d.ts +36 -0
  36. package/esm/core/postgres/postgres-data-provider.js +120 -0
  37. package/esm/core/postgres/schema-builder.d.ts +17 -0
  38. package/esm/core/postgres/schema-builder.js +153 -0
  39. package/esm/core/remult-fresh.d.ts +17 -0
  40. package/esm/core/remult-fresh.js +29 -0
  41. package/esm/core/remult-knex/index.d.ts +30 -0
  42. package/esm/core/remult-knex/index.js +446 -0
  43. package/esm/core/remult-mongo.d.ts +24 -0
  44. package/esm/core/remult-mongo.js +254 -0
  45. package/esm/core/server/JsonEntityFileStorage.d.ts +10 -0
  46. package/esm/core/server/JsonEntityFileStorage.js +25 -0
  47. package/esm/core/server/core.d.ts +4 -0
  48. package/esm/core/server/core.js +4 -0
  49. package/esm/core/server/expressBridge.d.ts +182 -0
  50. package/esm/core/server/expressBridge.js +938 -0
  51. package/esm/core/server/index.d.ts +6 -0
  52. package/esm/core/server/index.js +9 -0
  53. package/esm/core/server/initAsyncHooks.d.ts +1 -0
  54. package/esm/core/server/initAsyncHooks.js +9 -0
  55. package/esm/core/server/initDataProvider.d.ts +2 -0
  56. package/esm/core/server/initDataProvider.js +14 -0
  57. package/esm/core/src/__EntityValueProvider.d.ts +11 -0
  58. package/esm/core/src/__EntityValueProvider.js +1 -0
  59. package/esm/core/src/__RowsOfDataForTesting.d.ts +3 -0
  60. package/esm/core/src/__RowsOfDataForTesting.js +1 -0
  61. package/esm/core/src/backend-tests/backend-database-test-setup.backend-spec.d.ts +6 -0
  62. package/esm/core/src/backend-tests/backend-database-test-setup.backend-spec.js +147 -0
  63. package/{src → esm/core/src}/backend-tests/my-test.backend-spec.d.ts +1 -1
  64. package/esm/core/src/backend-tests/my-test.backend-spec.js +197 -0
  65. package/esm/core/src/backend-tests/test-http-server.backend-spec.d.ts +1 -0
  66. package/esm/core/src/backend-tests/test-http-server.backend-spec.js +167 -0
  67. package/esm/core/src/buildRestDataProvider.d.ts +31 -0
  68. package/esm/core/src/buildRestDataProvider.js +113 -0
  69. package/esm/core/src/column-interfaces.d.ts +154 -0
  70. package/esm/core/src/column-interfaces.js +7 -0
  71. package/esm/core/src/column.d.ts +58 -0
  72. package/esm/core/src/column.js +174 -0
  73. package/esm/core/src/context.d.ts +134 -0
  74. package/esm/core/src/context.js +286 -0
  75. package/esm/core/src/data-api.d.ts +39 -0
  76. package/esm/core/src/data-api.js +279 -0
  77. package/esm/core/src/data-interfaces.d.ts +41 -0
  78. package/esm/core/src/data-interfaces.js +12 -0
  79. package/esm/core/src/data-providers/array-entity-data-provider.d.ts +22 -0
  80. package/esm/core/src/data-providers/array-entity-data-provider.js +252 -0
  81. package/esm/core/src/data-providers/in-memory-database.d.ts +9 -0
  82. package/esm/core/src/data-providers/in-memory-database.js +14 -0
  83. package/esm/core/src/data-providers/json-data-provider.d.ts +12 -0
  84. package/esm/core/src/data-providers/json-data-provider.js +55 -0
  85. package/esm/core/src/data-providers/rest-data-provider.d.ts +49 -0
  86. package/esm/core/src/data-providers/rest-data-provider.js +256 -0
  87. package/esm/core/src/data-providers/sql-database.d.ts +33 -0
  88. package/esm/core/src/data-providers/sql-database.js +384 -0
  89. package/esm/core/src/data-providers/web-sql-data-provider.d.ts +24 -0
  90. package/esm/core/src/data-providers/web-sql-data-provider.js +143 -0
  91. package/esm/core/src/entity.d.ts +91 -0
  92. package/esm/core/src/entity.js +1 -0
  93. package/esm/core/src/filter/filter-consumer-bridge-to-sql-request.d.ts +50 -0
  94. package/esm/core/src/filter/filter-consumer-bridge-to-sql-request.js +150 -0
  95. package/esm/core/src/filter/filter-consumer-bridge-to-url-builder.d.ts +1 -0
  96. package/esm/core/src/filter/filter-consumer-bridge-to-url-builder.js +1 -0
  97. package/esm/core/src/filter/filter-interfaces.d.ts +85 -0
  98. package/esm/core/src/filter/filter-interfaces.js +477 -0
  99. package/esm/core/src/live-query/LiveQueryClient.d.ts +20 -0
  100. package/esm/core/src/live-query/LiveQueryClient.js +188 -0
  101. package/esm/core/src/live-query/SseSubscriptionClient.d.ts +5 -0
  102. package/esm/core/src/live-query/SseSubscriptionClient.js +86 -0
  103. package/esm/core/src/live-query/SubscriptionChannel.d.ts +72 -0
  104. package/esm/core/src/live-query/SubscriptionChannel.js +123 -0
  105. package/esm/core/src/live-query/SubscriptionServer.d.ts +53 -0
  106. package/esm/core/src/live-query/SubscriptionServer.js +111 -0
  107. package/esm/core/src/live-query/live-query-tests.spec.d.ts +6 -0
  108. package/esm/core/src/live-query/live-query-tests.spec.js +952 -0
  109. package/esm/core/src/remult-proxy.d.ts +35 -0
  110. package/esm/core/src/remult-proxy.js +113 -0
  111. package/esm/core/src/remult3/DecoratorReplacer.d.ts +10 -0
  112. package/esm/core/src/remult3/DecoratorReplacer.js +20 -0
  113. package/esm/core/src/remult3/RepositoryImplementation.d.ts +355 -0
  114. package/esm/core/src/remult3/RepositoryImplementation.js +2109 -0
  115. package/esm/core/src/remult3/index.d.ts +2 -0
  116. package/esm/core/src/remult3/index.js +2 -0
  117. package/esm/core/src/remult3/remult3.d.ts +395 -0
  118. package/esm/core/src/remult3/remult3.js +2 -0
  119. package/esm/core/src/server-action.d.ts +81 -0
  120. package/esm/core/src/server-action.js +394 -0
  121. package/esm/core/src/shared-tests/db-tests-setup.d.ts +32 -0
  122. package/esm/core/src/shared-tests/db-tests-setup.js +78 -0
  123. package/esm/core/src/shared-tests/db-tests.db-tests.d.ts +25 -0
  124. package/esm/core/src/shared-tests/db-tests.db-tests.js +810 -0
  125. package/esm/core/src/shared-tests/deleteAll.d.ts +2 -0
  126. package/esm/core/src/shared-tests/deleteAll.js +4 -0
  127. package/esm/core/src/shared-tests/entityWithValidations.d.ts +14 -0
  128. package/esm/core/src/shared-tests/entityWithValidations.js +43 -0
  129. package/esm/core/src/shared-tests/index.d.ts +4 -0
  130. package/esm/core/src/shared-tests/index.js +4 -0
  131. package/esm/core/src/shared-tests/test-custom-id-column.spec.d.ts +1 -0
  132. package/esm/core/src/shared-tests/test-custom-id-column.spec.js +67 -0
  133. package/esm/core/src/shared-tests/test-special-value.spec.d.ts +10 -0
  134. package/esm/core/src/shared-tests/test-special-value.spec.js +73 -0
  135. package/esm/core/src/shared-tests/test-update-with-null.spec.d.ts +1 -0
  136. package/esm/core/src/shared-tests/test-update-with-null.spec.js +31 -0
  137. package/esm/core/src/sort.d.ts +16 -0
  138. package/esm/core/src/sort.js +103 -0
  139. package/esm/core/src/sql-command.d.ts +19 -0
  140. package/esm/core/src/sql-command.js +1 -0
  141. package/esm/core/src/test.d.ts +3 -0
  142. package/esm/core/src/test.js +12 -0
  143. package/esm/core/src/tests/Done.d.ts +5 -0
  144. package/esm/core/src/tests/Done.js +9 -0
  145. package/esm/core/src/tests/RowProvider.spec.d.ts +16 -0
  146. package/esm/core/src/tests/RowProvider.spec.js +631 -0
  147. package/esm/core/src/tests/TestDataApiResponse.d.ts +10 -0
  148. package/esm/core/src/tests/TestDataApiResponse.js +22 -0
  149. package/esm/core/src/tests/basicRowFunctionality.spec.d.ts +8 -0
  150. package/esm/core/src/tests/basicRowFunctionality.spec.js +2103 -0
  151. package/esm/core/src/tests/c.d.ts +8 -0
  152. package/esm/core/src/tests/c.js +13 -0
  153. package/esm/core/src/tests/createData.d.ts +7 -0
  154. package/esm/core/src/tests/createData.js +22 -0
  155. package/esm/core/src/tests/d.d.ts +6 -0
  156. package/esm/core/src/tests/d.js +11 -0
  157. package/esm/core/src/tests/dWithPrefilter.d.ts +7 -0
  158. package/esm/core/src/tests/dWithPrefilter.js +18 -0
  159. package/esm/core/src/tests/entityForCustomFilter.d.ts +16 -0
  160. package/esm/core/src/tests/entityForCustomFilter.js +33 -0
  161. package/esm/core/src/tests/entityWithValidationsOnColumn.d.ts +5 -0
  162. package/esm/core/src/tests/entityWithValidationsOnColumn.js +13 -0
  163. package/esm/core/src/tests/frontend-database-tests-setup.spec.d.ts +4 -0
  164. package/esm/core/src/tests/frontend-database-tests-setup.spec.js +37 -0
  165. package/esm/core/src/tests/h.d.ts +6 -0
  166. package/esm/core/src/tests/h.js +24 -0
  167. package/esm/core/src/tests/remult-3-basic-tests.spec.d.ts +1 -0
  168. package/esm/core/src/tests/remult-3-basic-tests.spec.js +236 -0
  169. package/esm/core/src/tests/remult-3-entities.d.ts +23 -0
  170. package/esm/core/src/tests/remult-3-entities.js +39 -0
  171. package/esm/core/src/tests/tasks.d.ts +6 -0
  172. package/esm/core/src/tests/tasks.js +10 -0
  173. package/esm/core/src/tests/test-context-as-storage.spec.d.ts +0 -0
  174. package/esm/core/src/tests/test-context-as-storage.spec.js +1 -0
  175. package/esm/core/src/tests/test-data-api/predefined-filter.spec.d.ts +1 -0
  176. package/esm/core/src/tests/test-data-api/predefined-filter.spec.js +389 -0
  177. package/esm/core/src/tests/test-data-api/test-put-with-validation.spec.d.ts +5 -0
  178. package/esm/core/src/tests/test-data-api/test-put-with-validation.spec.js +152 -0
  179. package/esm/core/src/tests/test-decorator-precedence.spec.d.ts +1 -0
  180. package/esm/core/src/tests/test-decorator-precedence.spec.js +38 -0
  181. package/esm/core/src/tests/test-default-value.spec.d.ts +1 -0
  182. package/esm/core/src/tests/test-default-value.spec.js +33 -0
  183. package/esm/core/src/tests/test-entity-inheritance.spec.d.ts +14 -0
  184. package/esm/core/src/tests/test-entity-inheritance.spec.js +82 -0
  185. package/esm/core/src/tests/test-exceptions.spec.d.ts +1 -0
  186. package/esm/core/src/tests/test-exceptions.spec.js +375 -0
  187. package/esm/core/src/tests/test-json.spec.d.ts +1 -0
  188. package/esm/core/src/tests/test-json.spec.js +115 -0
  189. package/esm/core/src/tests/test-many-to-one-relation-in-entity.spec.d.ts +9 -0
  190. package/esm/core/src/tests/test-many-to-one-relation-in-entity.spec.js +809 -0
  191. package/esm/core/src/tests/test-non-active-record.spec.d.ts +1 -0
  192. package/esm/core/src/tests/test-non-active-record.spec.js +66 -0
  193. package/esm/core/src/tests/test-object-column.spec.d.ts +1 -0
  194. package/esm/core/src/tests/test-object-column.spec.js +189 -0
  195. package/esm/core/src/tests/test-paged-foreach.spec.d.ts +1 -0
  196. package/esm/core/src/tests/test-paged-foreach.spec.js +328 -0
  197. package/esm/core/src/tests/test-remult-angular.spec.d.ts +1 -0
  198. package/esm/core/src/tests/test-remult-angular.spec.js +23 -0
  199. package/esm/core/src/tests/test-server-controller.spec.d.ts +7 -0
  200. package/esm/core/src/tests/test-server-controller.spec.js +489 -0
  201. package/esm/core/src/tests/test-server-expressions.spec.d.ts +1 -0
  202. package/esm/core/src/tests/test-server-expressions.spec.js +178 -0
  203. package/esm/core/src/tests/test-server-method-on-entity.spec.d.ts +1 -0
  204. package/esm/core/src/tests/test-server-method-on-entity.spec.js +306 -0
  205. package/esm/core/src/tests/test-sql-expression.spec.d.ts +5 -0
  206. package/esm/core/src/tests/test-sql-expression.spec.js +205 -0
  207. package/esm/core/src/tests/test-sql.spec.d.ts +1 -0
  208. package/esm/core/src/tests/test-sql.spec.js +170 -0
  209. package/esm/core/src/tests/test-subscribe.spec.d.ts +1 -0
  210. package/esm/core/src/tests/test-subscribe.spec.js +135 -0
  211. package/esm/core/src/tests/test-type-recovery.spec.d.ts +1 -0
  212. package/esm/core/src/tests/test-type-recovery.spec.js +49 -0
  213. package/esm/core/src/tests/test-where-api.spec.d.ts +1 -0
  214. package/esm/core/src/tests/test-where-api.spec.js +434 -0
  215. package/esm/core/src/tests/testHelper.spec.d.ts +36 -0
  216. package/esm/core/src/tests/testHelper.spec.js +226 -0
  217. package/esm/core/src/tests/testModel/models.d.ts +16 -0
  218. package/esm/core/src/tests/testModel/models.js +25 -0
  219. package/esm/core/src/validators.d.ts +14 -0
  220. package/esm/core/src/validators.js +33 -0
  221. package/{valueConverters.d.ts → esm/core/src/valueConverters.d.ts} +13 -12
  222. package/esm/core/src/valueConverters.js +197 -0
  223. package/esm/core/urlBuilder.d.ts +6 -0
  224. package/esm/core/urlBuilder.js +20 -0
  225. package/esm/graphql.js +27 -27
  226. package/esm/postgres/schema-builder.js +4 -4
  227. package/esm/src/context.d.ts +6 -1
  228. package/esm/src/remult3/RepositoryImplementation.d.ts +1 -1
  229. package/esm/src/remult3/RepositoryImplementation.js +27 -4
  230. package/esm/src/shared-tests/db-tests.db-tests.js +57 -0
  231. package/esm/test-servers/shared/Task.d.ts +9 -0
  232. package/esm/test-servers/shared/Task.js +32 -0
  233. package/esm/test.d.ts +5 -0
  234. package/esm/test.js +6 -0
  235. package/package.json +1 -1
  236. package/src/context.d.ts +6 -1
  237. package/src/remult3/RepositoryImplementation.d.ts +1 -1
  238. package/src/remult3/RepositoryImplementation.js +88 -63
  239. package/src/shared-tests/db-tests.db-tests.js +97 -0
  240. package/esm/src/id-entity.d.ts +0 -4
  241. package/esm/src/id-entity.js +0 -8
  242. package/postgres/postgresColumnSyntax.d.ts +0 -2
  243. package/postgres/postgresColumnSyntax.js +0 -34
  244. package/remult-middleware.d.ts +0 -2
  245. package/remult-middleware.js +0 -70
  246. package/server/register-actions-on-server.d.ts +0 -3
  247. package/server/register-actions-on-server.js +0 -50
  248. package/server/register-entities-on-server.d.ts +0 -3
  249. package/server/register-entities-on-server.js +0 -19
  250. package/src/backend-tests/my-test.backend-spec.js +0 -217
  251. package/src/backend-tests/test-http-server.backend-spec.d.ts +0 -6
  252. package/src/backend-tests/test-http-server.backend-spec.js +0 -342
  253. package/src/id-entity.d.ts +0 -4
  254. package/src/id-entity.js +0 -17
  255. package/valueConverters.js +0 -168
@@ -1,342 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Task = void 0;
4
- var tslib_1 = require("tslib");
5
- var axios_1 = require("axios");
6
- var remult_fresh_1 = require("../../remult-fresh");
7
- var in_memory_database_1 = require("../data-providers/in-memory-database");
8
- var remult_proxy_1 = require("../remult-proxy");
9
- var remult3_1 = require("../remult3");
10
- var server_action_1 = require("../server-action");
11
- var remult_3_entities_1 = require("../tests/remult-3-entities");
12
- remult_proxy_1.remult.apiClient.url = 'http://localhost:3003/api';
13
- var path = remult_proxy_1.remult.apiClient.url + '/tasks';
14
- var environments = [
15
- // ["next", 3000],
16
- // ["nest", 3001],
17
- // ["koa", 3002],
18
- // ["fastify", 3003],
19
- // ["express", 3004],
20
- // ["generic server", 3005],
21
- // ["optine", 3006],
22
- // ["fresh", 8000]
23
- ];
24
- function test(name, test) {
25
- var e_1, _a;
26
- var _this = this;
27
- var _loop_1 = function (env, port) {
28
- var theTest = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
29
- return tslib_1.__generator(this, function (_a) {
30
- switch (_a.label) {
31
- case 0:
32
- remult_proxy_1.remult.apiClient.url = "http://localhost:" + port + "/api";
33
- path = remult_proxy_1.remult.apiClient.url + '/tasks';
34
- return [4 /*yield*/, test()];
35
- case 1:
36
- _a.sent();
37
- return [2 /*return*/];
38
- }
39
- });
40
- }); };
41
- var testName = env + (" " + port + ": " + name);
42
- fit(testName, theTest);
43
- };
44
- try {
45
- for (var environments_1 = tslib_1.__values(environments), environments_1_1 = environments_1.next(); !environments_1_1.done; environments_1_1 = environments_1.next()) {
46
- var _b = tslib_1.__read(environments_1_1.value, 2), env = _b[0], port = _b[1];
47
- _loop_1(env, port);
48
- }
49
- }
50
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
51
- finally {
52
- try {
53
- if (environments_1_1 && !environments_1_1.done && (_a = environments_1.return)) _a.call(environments_1);
54
- }
55
- finally { if (e_1) throw e_1.error; }
56
- }
57
- }
58
- test("works", function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
59
- var repo, tasks, _a;
60
- return tslib_1.__generator(this, function (_b) {
61
- switch (_b.label) {
62
- case 0: return [4 /*yield*/, create3Tasks()];
63
- case 1:
64
- repo = _b.sent();
65
- return [4 /*yield*/, repo.find({ where: { completed: true } })];
66
- case 2:
67
- tasks = _b.sent();
68
- expect(tasks.length).toBe(1);
69
- return [4 /*yield*/, repo.save(tslib_1.__assign(tslib_1.__assign({}, tasks[0]), { completed: false }))];
70
- case 3:
71
- _b.sent();
72
- _a = expect;
73
- return [4 /*yield*/, repo.count({ completed: true })];
74
- case 4:
75
- _a.apply(void 0, [_b.sent()]).toBe(0);
76
- return [2 /*return*/];
77
- }
78
- });
79
- }); });
80
- test("test multiple items", function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
81
- var repo, _a;
82
- return tslib_1.__generator(this, function (_b) {
83
- switch (_b.label) {
84
- case 0: return [4 /*yield*/, create3Tasks()];
85
- case 1:
86
- repo = _b.sent();
87
- _a = expect;
88
- return [4 /*yield*/, repo.count({
89
- title: { "!=": ["a", "c"] }
90
- })];
91
- case 2:
92
- _a.apply(void 0, [_b.sent()]).toBe(1);
93
- return [2 /*return*/];
94
- }
95
- });
96
- }); });
97
- test("validation", function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
98
- var r, err, error_1;
99
- return tslib_1.__generator(this, function (_a) {
100
- switch (_a.label) {
101
- case 0: return [4 /*yield*/, create3Tasks()];
102
- case 1:
103
- r = _a.sent();
104
- err = undefined;
105
- _a.label = 2;
106
- case 2:
107
- _a.trys.push([2, 4, , 5]);
108
- return [4 /*yield*/, r.insert({ "title": "" })];
109
- case 3:
110
- _a.sent();
111
- return [3 /*break*/, 5];
112
- case 4:
113
- error_1 = _a.sent();
114
- err = error_1;
115
- return [3 /*break*/, 5];
116
- case 5:
117
- expect(err).toEqual({
118
- message: "Title: Should not be empty",
119
- httpStatusCode: 400,
120
- modelState: {
121
- title: "Should not be empty"
122
- }
123
- });
124
- return [2 /*return*/];
125
- }
126
- });
127
- }); });
128
- test("forbidden", function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
129
- var err, error_2;
130
- return tslib_1.__generator(this, function (_a) {
131
- switch (_a.label) {
132
- case 0:
133
- err = undefined;
134
- _a.label = 1;
135
- case 1:
136
- _a.trys.push([1, 3, , 4]);
137
- return [4 /*yield*/, Task.testForbidden()];
138
- case 2:
139
- _a.sent();
140
- return [3 /*break*/, 4];
141
- case 3:
142
- error_2 = _a.sent();
143
- err = error_2;
144
- return [3 /*break*/, 4];
145
- case 4:
146
- expect(err.httpStatusCode).toEqual(403);
147
- return [2 /*return*/];
148
- }
149
- });
150
- }); });
151
- test("test http 404", function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
152
- var repo, task, result, error, err_1;
153
- return tslib_1.__generator(this, function (_a) {
154
- switch (_a.label) {
155
- case 0:
156
- repo = create3Tasks();
157
- return [4 /*yield*/, repo];
158
- case 1: return [4 /*yield*/, (_a.sent()).findFirst()];
159
- case 2:
160
- task = _a.sent();
161
- return [4 /*yield*/, axios_1.default.get(path + "/" + task.id)];
162
- case 3:
163
- result = _a.sent();
164
- expect(result.data.id).toBe(task.id);
165
- expect(result.status).toBe(200);
166
- error = undefined;
167
- _a.label = 4;
168
- case 4:
169
- _a.trys.push([4, 6, , 7]);
170
- return [4 /*yield*/, axios_1.default.get(path + "/123")];
171
- case 5:
172
- result = _a.sent();
173
- return [3 /*break*/, 7];
174
- case 6:
175
- err_1 = _a.sent();
176
- error = err_1;
177
- return [3 /*break*/, 7];
178
- case 7:
179
- expect(error.response.status).toBe(404);
180
- return [2 /*return*/];
181
- }
182
- });
183
- }); });
184
- test("test http 201", function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
185
- var result;
186
- return tslib_1.__generator(this, function (_a) {
187
- switch (_a.label) {
188
- case 0: return [4 /*yield*/, axios_1.default.post(path, { title: "z", id: "" })];
189
- case 1:
190
- result = _a.sent();
191
- expect(result.data.title).toBe("z");
192
- expect(result.status).toBe(201);
193
- return [4 /*yield*/, axios_1.default.delete(path + "/" + result.data.id)];
194
- case 2:
195
- result = _a.sent();
196
- expect(result.status).toBe(204);
197
- return [2 /*return*/];
198
- }
199
- });
200
- }); });
201
- test("test regular api call", function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
202
- var result;
203
- return tslib_1.__generator(this, function (_a) {
204
- switch (_a.label) {
205
- case 0: return [4 /*yield*/, create3Tasks()];
206
- case 1:
207
- _a.sent();
208
- return [4 /*yield*/, axios_1.default.get(remult_proxy_1.remult.apiClient.url + "/test")];
209
- case 2:
210
- result = _a.sent();
211
- expect(result.data.result).toBe(3);
212
- return [2 /*return*/];
213
- }
214
- });
215
- }); });
216
- var FreshResponseTest = /** @class */ (function () {
217
- function FreshResponseTest(body, init) {
218
- this.body = body;
219
- this.init = init;
220
- }
221
- FreshResponseTest.json = function (data, init) {
222
- return new this(data, init);
223
- };
224
- return FreshResponseTest;
225
- }());
226
- it("test fresh", function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
227
- var api, r;
228
- return tslib_1.__generator(this, function (_a) {
229
- switch (_a.label) {
230
- case 0:
231
- api = remult_fresh_1.remultFresh({
232
- entities: [remult_3_entities_1.Categories],
233
- dataProvider: new in_memory_database_1.InMemoryDataProvider(),
234
- rootPath: '/api'
235
- }, FreshResponseTest);
236
- return [4 /*yield*/, api.handle({
237
- url: '/api/Categories',
238
- json: function () {
239
- return undefined;
240
- },
241
- method: "get"
242
- }, {
243
- next: function () {
244
- return undefined;
245
- },
246
- })];
247
- case 1:
248
- r = _a.sent();
249
- expect(r.body).toEqual([]);
250
- return [2 /*return*/];
251
- }
252
- });
253
- }); });
254
- var Task = /** @class */ (function () {
255
- function Task() {
256
- this.title = '';
257
- this.completed = false;
258
- }
259
- Task.testForbidden = function () {
260
- };
261
- tslib_1.__decorate([
262
- remult3_1.Fields.uuid(),
263
- tslib_1.__metadata("design:type", String)
264
- ], Task.prototype, "id", void 0);
265
- tslib_1.__decorate([
266
- remult3_1.Fields.string({
267
- // validate: Validators.required should only be on backend
268
- }),
269
- tslib_1.__metadata("design:type", Object)
270
- ], Task.prototype, "title", void 0);
271
- tslib_1.__decorate([
272
- remult3_1.Fields.boolean(),
273
- tslib_1.__metadata("design:type", Object)
274
- ], Task.prototype, "completed", void 0);
275
- tslib_1.__decorate([
276
- server_action_1.BackendMethod({ allowed: false }),
277
- tslib_1.__metadata("design:type", Function),
278
- tslib_1.__metadata("design:paramtypes", []),
279
- tslib_1.__metadata("design:returntype", void 0)
280
- ], Task, "testForbidden", null);
281
- Task = tslib_1.__decorate([
282
- remult3_1.Entity("tasks", {
283
- allowApiCrud: true
284
- })
285
- ], Task);
286
- return Task;
287
- }());
288
- exports.Task = Task;
289
- function create3Tasks() {
290
- return tslib_1.__awaiter(this, void 0, void 0, function () {
291
- var taskRepo, _a, _b, task, e_2_1, _c, _d;
292
- var e_2, _e;
293
- return tslib_1.__generator(this, function (_f) {
294
- switch (_f.label) {
295
- case 0:
296
- remult_proxy_1.remult.apiClient.httpClient = axios_1.default;
297
- taskRepo = remult_proxy_1.remult.repo(Task);
298
- _f.label = 1;
299
- case 1:
300
- _f.trys.push([1, 7, 8, 9]);
301
- return [4 /*yield*/, taskRepo.find()];
302
- case 2:
303
- _a = tslib_1.__values.apply(void 0, [_f.sent()]), _b = _a.next();
304
- _f.label = 3;
305
- case 3:
306
- if (!!_b.done) return [3 /*break*/, 6];
307
- task = _b.value;
308
- return [4 /*yield*/, taskRepo.delete(task)];
309
- case 4:
310
- _f.sent();
311
- _f.label = 5;
312
- case 5:
313
- _b = _a.next();
314
- return [3 /*break*/, 3];
315
- case 6: return [3 /*break*/, 9];
316
- case 7:
317
- e_2_1 = _f.sent();
318
- e_2 = { error: e_2_1 };
319
- return [3 /*break*/, 9];
320
- case 8:
321
- try {
322
- if (_b && !_b.done && (_e = _a.return)) _e.call(_a);
323
- }
324
- finally { if (e_2) throw e_2.error; }
325
- return [7 /*endfinally*/];
326
- case 9:
327
- _c = expect;
328
- return [4 /*yield*/, taskRepo.count()];
329
- case 10:
330
- _c.apply(void 0, [_f.sent()]).toBe(0);
331
- return [4 /*yield*/, taskRepo.insert([{ title: "a" }, { title: "b", completed: true }, { title: "c" }])];
332
- case 11:
333
- _f.sent();
334
- _d = expect;
335
- return [4 /*yield*/, taskRepo.count()];
336
- case 12:
337
- _d.apply(void 0, [_f.sent()]).toBe(3);
338
- return [2 /*return*/, taskRepo];
339
- }
340
- });
341
- });
342
- }
@@ -1,4 +0,0 @@
1
- import { EntityBase } from './remult3';
2
- export declare class IdEntity extends EntityBase {
3
- id: string;
4
- }
package/src/id-entity.js DELETED
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IdEntity = void 0;
4
- var tslib_1 = require("tslib");
5
- var remult3_1 = require("./remult3");
6
- var IdEntity = /** @class */ (function (_super) {
7
- tslib_1.__extends(IdEntity, _super);
8
- function IdEntity() {
9
- return _super !== null && _super.apply(this, arguments) || this;
10
- }
11
- tslib_1.__decorate([
12
- remult3_1.Fields.uuid(),
13
- tslib_1.__metadata("design:type", String)
14
- ], IdEntity.prototype, "id", void 0);
15
- return IdEntity;
16
- }(remult3_1.EntityBase));
17
- exports.IdEntity = IdEntity;
@@ -1,168 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ValueConverters = void 0;
4
- var tslib_1 = require("tslib");
5
- var inputTypes_1 = require("./inputTypes");
6
- var ValueConverters = /** @class */ (function () {
7
- function ValueConverters() {
8
- }
9
- ValueConverters.Date = {
10
- toJson: function (val) {
11
- if (!val)
12
- return '';
13
- if (typeof (val) === "string")
14
- val = new Date(val);
15
- if (val instanceof Date) {
16
- return val.toISOString();
17
- }
18
- else {
19
- console.log("ToJsonError", val);
20
- throw new Error("Expected date but got val");
21
- }
22
- },
23
- fromJson: function (val) {
24
- if (val == undefined)
25
- return undefined;
26
- if (val == '')
27
- return undefined;
28
- if (val.startsWith('0000-00-00'))
29
- return undefined;
30
- return new Date(Date.parse(val));
31
- },
32
- toDb: function (x) { return x; },
33
- fromDb: function (x) { return x; },
34
- fromInput: function (x) { return ValueConverters.Date.fromJson(x); },
35
- toInput: function (x) { return ValueConverters.Date.toJson(x); },
36
- displayValue: function (val) {
37
- if (!val)
38
- return '';
39
- return val.toLocaleString();
40
- }
41
- };
42
- ValueConverters.DateOnly = {
43
- fromInput: function (x) { return ValueConverters.DateOnly.fromJson(x); },
44
- toInput: function (x) { return ValueConverters.DateOnly.toJson(x); },
45
- toJson: function (val) {
46
- var d = val;
47
- if (typeof d === "string" || typeof (d) === "number")
48
- d = new Date(d);
49
- if (!d || d == null)
50
- return null;
51
- if (d.getHours() == 0)
52
- return new Date(d.valueOf() - d.getTimezoneOffset() * 60000).toISOString().substring(0, 10);
53
- else
54
- return d.toISOString().substring(0, 10);
55
- },
56
- fromJson: function (value) {
57
- if (!value || value == '' || value == '0000-00-00')
58
- return null;
59
- var d = new Date(Date.parse(value));
60
- d.setMinutes(d.getMinutes() + d.getTimezoneOffset());
61
- return d;
62
- },
63
- inputType: inputTypes_1.InputTypes.date,
64
- toDb: function (val) {
65
- if (!val)
66
- return null;
67
- return ValueConverters.DateOnly.fromJson(ValueConverters.DateOnly.toJson(val));
68
- } //when using date storage, the database expects and returns a date local and every where else we reflect on date iso
69
- ,
70
- fromDb: function (val) {
71
- var d = val;
72
- if (!d)
73
- return null;
74
- return val;
75
- },
76
- fieldTypeInDb: 'date',
77
- displayValue: function (value) {
78
- if (!value)
79
- return '';
80
- return value.toLocaleDateString(undefined);
81
- }
82
- };
83
- ValueConverters.DateOnlyString = tslib_1.__assign(tslib_1.__assign({}, ValueConverters.DateOnly), { toDb: function (d) {
84
- var val = ValueConverters.DateOnly.toJson(d);
85
- if (!val)
86
- return undefined;
87
- return val.replace(/-/g, '');
88
- }, fromDb: function (val) {
89
- if (val === null)
90
- return null;
91
- if (!val)
92
- return undefined;
93
- return new Date(val.substring(0, 4) + '-' + val.substring(4, 6) + '-' + val.substring(6, 8));
94
- } });
95
- ValueConverters.Boolean = {
96
- toDb: function (val) { return val; },
97
- inputType: inputTypes_1.InputTypes.checkbox,
98
- fromDb: function (value) {
99
- return ValueConverters.Boolean.fromJson(value);
100
- },
101
- fromJson: function (value) {
102
- if (typeof value === "boolean")
103
- return value;
104
- if (value !== undefined && value !== null) {
105
- return value.toString().trim().toLowerCase() == 'true';
106
- }
107
- return value;
108
- },
109
- toJson: function (x) { return x; },
110
- fromInput: function (x) { return ValueConverters.Boolean.fromJson(x); },
111
- toInput: function (x) { return ValueConverters.Boolean.toJson(x); }
112
- };
113
- ValueConverters.Number = {
114
- fromDb: function (value) {
115
- if (value === null)
116
- return null;
117
- if (value !== undefined)
118
- return +value;
119
- return undefined;
120
- },
121
- toDb: function (value) { return value; },
122
- fromJson: function (value) { return ValueConverters.Number.fromDb(value); },
123
- toJson: function (value) { return ValueConverters.Number.toDb(value); },
124
- fromInput: function (x, type) {
125
- var r = +x;
126
- if (!x)
127
- return undefined;
128
- return r;
129
- },
130
- toInput: function (x, type) {
131
- return x === null || x === void 0 ? void 0 : x.toString();
132
- },
133
- inputType: inputTypes_1.InputTypes.number
134
- };
135
- ValueConverters.Integer = tslib_1.__assign(tslib_1.__assign({}, ValueConverters.Number), { toJson: function (value) {
136
- var val = ValueConverters.Number.toDb(value);
137
- if (!val)
138
- return val;
139
- return +(+val).toFixed(0);
140
- }, toDb: function (value) { return ValueConverters.Integer.toJson(value); }, fieldTypeInDb: 'integer' });
141
- ValueConverters.Default = {
142
- fromJson: function (x) { return x; },
143
- toJson: function (x) { return x; },
144
- fromDb: function (x) { return ValueConverters.JsonString.fromDb(x); },
145
- toDb: function (x) { return ValueConverters.JsonString.toDb(x); },
146
- fromInput: function (x) { return ValueConverters.Default.fromJson(x); },
147
- toInput: function (x) { return ValueConverters.Default.toJson(x); }
148
- };
149
- ValueConverters.JsonString = {
150
- fromJson: function (x) { return x; },
151
- toJson: function (x) { return x; },
152
- fromDb: function (x) { return x == null ? null : x ? JSON.parse(ValueConverters.JsonString.fromJson(x)) : undefined; },
153
- toDb: function (x) { return x !== undefined ? x === null ? null : JSON.stringify(ValueConverters.JsonString.toJson(x)) : undefined; },
154
- fromInput: function (x) { return ValueConverters.JsonString.fromJson(x); },
155
- toInput: function (x) { return ValueConverters.JsonString.toJson(x); }
156
- };
157
- ValueConverters.JsonValue = {
158
- fromJson: function (x) { return x; },
159
- toJson: function (x) { return x; },
160
- fromDb: function (x) { return x; },
161
- toDb: function (x) { return x; },
162
- fromInput: function (x) { return ValueConverters.JsonString.fromJson(x); },
163
- toInput: function (x) { return ValueConverters.JsonString.toJson(x); },
164
- fieldTypeInDb: 'json'
165
- };
166
- return ValueConverters;
167
- }());
168
- exports.ValueConverters = ValueConverters;