remult 0.10.13 → 0.10.16

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "remult",
3
- "version": "0.10.13",
3
+ "version": "0.10.16",
4
4
  "description": "remult core lib",
5
5
  "homepage": "https://remult.dev/",
6
6
  "repository": {
@@ -5,11 +5,16 @@ import { queuedJobInfoResponse } from '../src/server-action';
5
5
  import { DataApi, DataApiRequest, DataApiResponse } from '../src/data-api';
6
6
  import { AllowedForInstance } from '../src/context';
7
7
  export declare function remultExpress(options?: {
8
+ /** Determines the Data Provider
9
+
10
+ * @see [Optional Databases](https://remult.dev/docs/databases.html)
11
+ */
8
12
  dataProvider?: DataProvider | Promise<DataProvider> | (() => Promise<DataProvider | undefined>);
9
13
  bodySizeLimit?: string;
10
14
  disableAutoApi?: boolean;
11
15
  queueStorage?: QueueStorage;
12
16
  initRequest?: (remult: Remult, origReq: express.Request) => Promise<void>;
17
+ initApi?: (remult: Remult) => void | Promise<void>;
13
18
  logApiEndPoints?: boolean;
14
19
  defaultGetLimit?: number;
15
20
  }): RemultExpressBridge;
@@ -14,6 +14,7 @@ var server_action_1 = require("../src/server-action");
14
14
  var data_api_1 = require("../src/data-api");
15
15
  var context_1 = require("../src/context");
16
16
  function remultExpress(options) {
17
+ var _this = this;
17
18
  var app = express.Router();
18
19
  if (!options) {
19
20
  options = {};
@@ -41,6 +42,21 @@ function remultExpress(options) {
41
42
  return dp;
42
43
  return new json_data_provider_1.JsonDataProvider(new JsonEntityFileStorage_1.JsonEntityFileStorage('./db'));
43
44
  });
45
+ if (options.initApi) {
46
+ dataProvider = dataProvider.then(function (dp) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
47
+ var remult;
48
+ return tslib_1.__generator(this, function (_a) {
49
+ switch (_a.label) {
50
+ case 0:
51
+ remult = new __1.Remult(dp);
52
+ return [4 /*yield*/, options.initApi(remult)];
53
+ case 1:
54
+ _a.sent();
55
+ return [2 /*return*/, dp];
56
+ }
57
+ });
58
+ }); });
59
+ }
44
60
  var bridge = new ExpressBridge(app, new inProcessQueueHandler(options.queueStorage), options.initRequest, dataProvider);
45
61
  if (options.logApiEndPoints !== undefined)
46
62
  bridge.logApiEndPoints = options.logApiEndPoints;
@@ -29,8 +29,6 @@ export declare function extractSort(sort: any): Sort;
29
29
  export interface ErrorInfo<entityType = any> {
30
30
  message?: string;
31
31
  modelState?: {
32
- [key: string]: string;
33
- } & {
34
32
  [Properties in keyof Partial<OmitEB<entityType>>]?: string;
35
33
  };
36
34
  stack?: string;
@@ -75,6 +75,8 @@ var FilterConsumerBridgeToSqlRequest = /** @class */ (function () {
75
75
  return [4 /*yield*/, f.resolveWhere()];
76
76
  case 2:
77
77
  where = _b.sent();
78
+ if (!where)
79
+ where = '1=1';
78
80
  if (where.length > 0) {
79
81
  if (statement.length > 0) {
80
82
  statement += " or ";
@@ -111,6 +111,42 @@ db_tests_setup_1.testAll("filter works on all db or", function (_a) {
111
111
  });
112
112
  });
113
113
  }, false);
114
+ db_tests_setup_1.testAll("filter works on all db or_1", function (_a) {
115
+ var createEntity = _a.createEntity;
116
+ return tslib_1.__awaiter(void 0, void 0, void 0, function () {
117
+ var s, _b;
118
+ return tslib_1.__generator(this, function (_c) {
119
+ switch (_c.label) {
120
+ case 0: return [4 /*yield*/, entityWithValidations_1.entityWithValidations.create4RowsInDp(createEntity)];
121
+ case 1:
122
+ s = _c.sent();
123
+ _b = expect;
124
+ return [4 /*yield*/, s.find({ where: { $or: [{}, {}] } })];
125
+ case 2:
126
+ _b.apply(void 0, [(_c.sent()).length]).toBe(4);
127
+ return [2 /*return*/];
128
+ }
129
+ });
130
+ });
131
+ }, false);
132
+ db_tests_setup_1.testAll("filter works on all db or_2", function (_a) {
133
+ var createEntity = _a.createEntity;
134
+ return tslib_1.__awaiter(void 0, void 0, void 0, function () {
135
+ var s, _b;
136
+ return tslib_1.__generator(this, function (_c) {
137
+ switch (_c.label) {
138
+ case 0: return [4 /*yield*/, entityWithValidations_1.entityWithValidations.create4RowsInDp(createEntity)];
139
+ case 1:
140
+ s = _c.sent();
141
+ _b = expect;
142
+ return [4 /*yield*/, s.find({ where: { $or: [{}, { myId: 3 }] } })];
143
+ case 2:
144
+ _b.apply(void 0, [(_c.sent()).length]).toBe(4);
145
+ return [2 /*return*/];
146
+ }
147
+ });
148
+ });
149
+ }, false);
114
150
  db_tests_setup_1.testAll("entity with different id column still works well", function (_a) {
115
151
  var createEntity = _a.createEntity;
116
152
  return tslib_1.__awaiter(void 0, void 0, void 0, function () {