remult 0.14.6 → 0.14.7

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 (74) hide show
  1. package/assign.js +5 -1
  2. package/classType.js +2 -1
  3. package/graphql.js +146 -84
  4. package/index.js +73 -25
  5. package/inputTypes.js +16 -9
  6. package/package.json +1 -2
  7. package/postgres/index.js +4 -1
  8. package/postgres/postgres-data-provider.d.ts +4 -1
  9. package/postgres/postgres-data-provider.js +364 -165
  10. package/postgres/postgresColumnSyntax.d.ts +1 -1
  11. package/postgres/postgresColumnSyntax.js +8 -4
  12. package/remult-express.js +10 -6
  13. package/remult-knex/index.d.ts +5 -2
  14. package/remult-knex/index.js +720 -300
  15. package/remult-middleware.js +29 -24
  16. package/remult-mongo.js +406 -172
  17. package/server/JsonEntityFileStorage.js +15 -10
  18. package/server/expressBridge.d.ts +4 -2
  19. package/server/expressBridge.js +570 -383
  20. package/server/index.js +11 -4
  21. package/server/register-actions-on-server.js +38 -12
  22. package/server/register-entities-on-server.js +13 -9
  23. package/src/__EntityValueProvider.js +2 -1
  24. package/src/__RowsOfDataForTesting.js +2 -1
  25. package/src/backend-tests/backend-database-test-setup.backend-spec.js +190 -72
  26. package/src/backend-tests/my-test.backend-spec.js +114 -45
  27. package/src/column-interfaces.js +6 -2
  28. package/src/column.js +113 -71
  29. package/src/context.js +330 -174
  30. package/src/data-api.js +326 -162
  31. package/src/data-interfaces.js +11 -7
  32. package/src/data-providers/array-entity-data-provider.js +286 -171
  33. package/src/data-providers/in-memory-database.js +27 -12
  34. package/src/data-providers/json-data-provider.js +77 -41
  35. package/src/data-providers/rest-data-provider.js +189 -102
  36. package/src/data-providers/sql-database.js +403 -223
  37. package/src/data-providers/web-sql-data-provider.js +139 -78
  38. package/src/entity.js +2 -1
  39. package/src/filter/filter-consumer-bridge-to-sql-request.d.ts +1 -1
  40. package/src/filter/filter-consumer-bridge-to-sql-request.js +248 -106
  41. package/src/filter/filter-consumer-bridge-to-url-builder.js +2 -1
  42. package/src/filter/filter-interfaces.js +440 -277
  43. package/src/id-entity.js +17 -8
  44. package/src/remult3/RepositoryImplementation.js +2367 -1191
  45. package/src/remult3/index.js +5 -2
  46. package/src/remult3/remult3.js +2 -1
  47. package/src/server-action.js +528 -294
  48. package/src/shared-tests/db-tests-setup.js +153 -49
  49. package/src/shared-tests/db-tests.db-tests.js +1566 -660
  50. package/src/shared-tests/deleteAll.js +20 -3
  51. package/src/shared-tests/entityWithValidations.js +79 -52
  52. package/src/shared-tests/index.js +6 -4
  53. package/src/shared-tests/test-custom-id-column.spec.js +85 -37
  54. package/src/shared-tests/test-special-value.spec.js +104 -64
  55. package/src/shared-tests/test-update-with-null.spec.js +49 -28
  56. package/src/sort.js +95 -38
  57. package/src/sql-command.js +2 -1
  58. package/src/tests/Done.js +13 -7
  59. package/src/tests/TestDataApiResponse.js +22 -15
  60. package/src/tests/c.js +27 -21
  61. package/src/tests/createData.js +48 -20
  62. package/src/tests/d.js +27 -19
  63. package/src/tests/dWithPrefilter.js +44 -31
  64. package/src/tests/entityForCustomFilter.js +66 -42
  65. package/src/tests/entityWithValidationsOnColumn.js +29 -21
  66. package/src/tests/frontend-database-tests-setup.spec.js +98 -35
  67. package/src/tests/h.js +44 -35
  68. package/src/tests/remult-3-entities.js +80 -71
  69. package/src/tests/tasks.js +29 -23
  70. package/src/tests/testHelper.spec.js +322 -170
  71. package/src/tests/testModel/models.js +33 -25
  72. package/src/validators.js +59 -32
  73. package/urlBuilder.js +14 -8
  74. package/valueConverters.js +160 -161
@@ -1,56 +1,60 @@
1
- import { remultMiddlewareBase } from './server/expressBridge';
2
- export function remultMiddleware(options) {
3
- const m = new middleware();
4
- let app = Object.assign(m, (req, res, next) => m.handleRequest(req, res, next));
5
- return remultMiddlewareBase(app, options);
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.remultMiddleware = void 0;
4
+ var expressBridge_1 = require("./server/expressBridge");
5
+ function remultMiddleware(options) {
6
+ var m = new middleware();
7
+ var app = Object.assign(m, function (req, res, next) { return m.handleRequest(req, res, next); });
8
+ return expressBridge_1.remultMiddlewareBase(app, options);
6
9
  }
7
- class middleware {
8
- constructor() {
10
+ exports.remultMiddleware = remultMiddleware;
11
+ var middleware = /** @class */ (function () {
12
+ function middleware() {
9
13
  this.map = new Map();
10
14
  }
11
- route(path) {
15
+ middleware.prototype.route = function (path) {
12
16
  //consider using:
13
17
  //* https://raw.githubusercontent.com/cmorten/opine/main/src/utils/pathToRegex.ts
14
18
  //* https://github.com/pillarjs/path-to-regexp
15
- let r = path.toLowerCase();
16
- let m = new Map();
19
+ var r = path.toLowerCase();
20
+ var m = new Map();
17
21
  this.map.set(r, m);
18
- const route = {
19
- get: (h) => {
22
+ var route = {
23
+ get: function (h) {
20
24
  m.set("get", h);
21
25
  return route;
22
26
  },
23
- put: (h) => {
27
+ put: function (h) {
24
28
  m.set("put", h);
25
29
  return route;
26
30
  },
27
- post: (h) => {
31
+ post: function (h) {
28
32
  m.set("post", h);
29
33
  return route;
30
34
  },
31
- delete: (h) => {
35
+ delete: function (h) {
32
36
  m.set("delete", h);
33
37
  return route;
34
38
  }
35
39
  };
36
40
  return route;
37
- }
38
- handleRequest(req, res, next) {
39
- let lowerPath = req.path.toLowerCase();
40
- let m = this.map.get(lowerPath);
41
+ };
42
+ middleware.prototype.handleRequest = function (req, res, next) {
43
+ var lowerPath = req.path.toLowerCase();
44
+ var m = this.map.get(lowerPath);
41
45
  if (m) {
42
- let h = m.get(req.method.toLowerCase());
46
+ var h = m.get(req.method.toLowerCase());
43
47
  if (h) {
44
48
  h(req, res, next);
45
49
  return;
46
50
  }
47
51
  }
48
- let idPosition = req.path.lastIndexOf('/');
52
+ var idPosition = req.path.lastIndexOf('/');
49
53
  if (idPosition >= 0) {
50
54
  lowerPath = req.path.substring(0, idPosition) + '/:id';
51
55
  m = this.map.get(lowerPath);
52
56
  if (m) {
53
- let h = m.get(req.method.toLowerCase());
57
+ var h = m.get(req.method.toLowerCase());
54
58
  if (h) {
55
59
  req.params.id = req.path.substring(idPosition + 1);
56
60
  h(req, res, next);
@@ -59,5 +63,6 @@ class middleware {
59
63
  }
60
64
  }
61
65
  next();
62
- }
63
- }
66
+ };
67
+ return middleware;
68
+ }());