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.
- package/assign.js +5 -1
- package/classType.js +2 -1
- package/graphql.js +146 -84
- package/index.js +73 -25
- package/inputTypes.js +16 -9
- package/package.json +1 -2
- package/postgres/index.js +4 -1
- package/postgres/postgres-data-provider.d.ts +4 -1
- package/postgres/postgres-data-provider.js +364 -165
- package/postgres/postgresColumnSyntax.d.ts +1 -1
- package/postgres/postgresColumnSyntax.js +8 -4
- package/remult-express.js +10 -6
- package/remult-knex/index.d.ts +5 -2
- package/remult-knex/index.js +720 -300
- package/remult-middleware.js +29 -24
- package/remult-mongo.js +406 -172
- package/server/JsonEntityFileStorage.js +15 -10
- package/server/expressBridge.d.ts +4 -2
- package/server/expressBridge.js +570 -383
- package/server/index.js +11 -4
- package/server/register-actions-on-server.js +38 -12
- package/server/register-entities-on-server.js +13 -9
- package/src/__EntityValueProvider.js +2 -1
- package/src/__RowsOfDataForTesting.js +2 -1
- package/src/backend-tests/backend-database-test-setup.backend-spec.js +190 -72
- package/src/backend-tests/my-test.backend-spec.js +114 -45
- package/src/column-interfaces.js +6 -2
- package/src/column.js +113 -71
- package/src/context.js +330 -174
- package/src/data-api.js +326 -162
- package/src/data-interfaces.js +11 -7
- package/src/data-providers/array-entity-data-provider.js +286 -171
- package/src/data-providers/in-memory-database.js +27 -12
- package/src/data-providers/json-data-provider.js +77 -41
- package/src/data-providers/rest-data-provider.js +189 -102
- package/src/data-providers/sql-database.js +403 -223
- package/src/data-providers/web-sql-data-provider.js +139 -78
- package/src/entity.js +2 -1
- package/src/filter/filter-consumer-bridge-to-sql-request.d.ts +1 -1
- package/src/filter/filter-consumer-bridge-to-sql-request.js +248 -106
- package/src/filter/filter-consumer-bridge-to-url-builder.js +2 -1
- package/src/filter/filter-interfaces.js +440 -277
- package/src/id-entity.js +17 -8
- package/src/remult3/RepositoryImplementation.js +2367 -1191
- package/src/remult3/index.js +5 -2
- package/src/remult3/remult3.js +2 -1
- package/src/server-action.js +528 -294
- package/src/shared-tests/db-tests-setup.js +153 -49
- package/src/shared-tests/db-tests.db-tests.js +1566 -660
- package/src/shared-tests/deleteAll.js +20 -3
- package/src/shared-tests/entityWithValidations.js +79 -52
- package/src/shared-tests/index.js +6 -4
- package/src/shared-tests/test-custom-id-column.spec.js +85 -37
- package/src/shared-tests/test-special-value.spec.js +104 -64
- package/src/shared-tests/test-update-with-null.spec.js +49 -28
- package/src/sort.js +95 -38
- package/src/sql-command.js +2 -1
- package/src/tests/Done.js +13 -7
- package/src/tests/TestDataApiResponse.js +22 -15
- package/src/tests/c.js +27 -21
- package/src/tests/createData.js +48 -20
- package/src/tests/d.js +27 -19
- package/src/tests/dWithPrefilter.js +44 -31
- package/src/tests/entityForCustomFilter.js +66 -42
- package/src/tests/entityWithValidationsOnColumn.js +29 -21
- package/src/tests/frontend-database-tests-setup.spec.js +98 -35
- package/src/tests/h.js +44 -35
- package/src/tests/remult-3-entities.js +80 -71
- package/src/tests/tasks.js +29 -23
- package/src/tests/testHelper.spec.js +322 -170
- package/src/tests/testModel/models.js +33 -25
- package/src/validators.js +59 -32
- package/urlBuilder.js +14 -8
- package/valueConverters.js +160 -161
package/remult-middleware.js
CHANGED
|
@@ -1,56 +1,60 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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
|
-
|
|
8
|
-
|
|
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
|
-
|
|
16
|
-
|
|
19
|
+
var r = path.toLowerCase();
|
|
20
|
+
var m = new Map();
|
|
17
21
|
this.map.set(r, m);
|
|
18
|
-
|
|
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
|
-
|
|
40
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
+
}());
|