remult 0.14.2 → 0.14.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 (70) hide show
  1. package/assign.js +1 -5
  2. package/classType.js +1 -2
  3. package/graphql.js +84 -146
  4. package/index.d.ts +13 -0
  5. package/index.js +25 -55
  6. package/inputTypes.js +9 -16
  7. package/package.json +6 -1
  8. package/postgres/index.js +1 -4
  9. package/postgres/postgres-data-provider.js +165 -364
  10. package/postgres/postgresColumnSyntax.js +4 -8
  11. package/remult-express.js +6 -10
  12. package/remult-knex/index.js +300 -720
  13. package/remult-middleware.js +24 -30
  14. package/remult-mongo.js +172 -406
  15. package/server/JsonEntityFileStorage.js +10 -15
  16. package/server/expressBridge.js +383 -569
  17. package/server/index.js +4 -11
  18. package/server/register-actions-on-server.js +12 -38
  19. package/server/register-entities-on-server.js +9 -13
  20. package/src/__EntityValueProvider.js +1 -2
  21. package/src/__RowsOfDataForTesting.js +1 -2
  22. package/src/backend-tests/backend-database-test-setup.backend-spec.js +72 -190
  23. package/src/backend-tests/my-test.backend-spec.js +45 -114
  24. package/src/column-interfaces.js +2 -6
  25. package/src/column.js +71 -113
  26. package/src/context.js +174 -330
  27. package/src/data-api.js +162 -326
  28. package/src/data-interfaces.js +7 -11
  29. package/src/data-providers/array-entity-data-provider.js +171 -286
  30. package/src/data-providers/in-memory-database.js +12 -27
  31. package/src/data-providers/json-data-provider.js +41 -77
  32. package/src/data-providers/rest-data-provider.js +102 -189
  33. package/src/data-providers/sql-database.js +223 -403
  34. package/src/data-providers/web-sql-data-provider.js +78 -139
  35. package/src/entity.js +1 -2
  36. package/src/filter/filter-consumer-bridge-to-sql-request.js +106 -248
  37. package/src/filter/filter-consumer-bridge-to-url-builder.js +1 -2
  38. package/src/filter/filter-interfaces.js +277 -440
  39. package/src/id-entity.js +8 -17
  40. package/src/remult3/RepositoryImplementation.js +1191 -2367
  41. package/src/remult3/index.js +2 -5
  42. package/src/remult3/remult3.js +1 -2
  43. package/src/server-action.js +294 -528
  44. package/src/shared-tests/db-tests-setup.js +49 -153
  45. package/src/shared-tests/db-tests.db-tests.js +660 -1566
  46. package/src/shared-tests/deleteAll.js +3 -20
  47. package/src/shared-tests/entityWithValidations.js +52 -79
  48. package/src/shared-tests/index.js +4 -6
  49. package/src/shared-tests/test-custom-id-column.spec.js +37 -85
  50. package/src/shared-tests/test-special-value.spec.js +64 -104
  51. package/src/shared-tests/test-update-with-null.spec.js +28 -49
  52. package/src/sort.js +38 -95
  53. package/src/sql-command.js +1 -2
  54. package/src/tests/Done.js +7 -13
  55. package/src/tests/TestDataApiResponse.js +15 -22
  56. package/src/tests/c.js +21 -27
  57. package/src/tests/createData.js +20 -48
  58. package/src/tests/d.js +19 -27
  59. package/src/tests/dWithPrefilter.js +31 -44
  60. package/src/tests/entityForCustomFilter.js +42 -66
  61. package/src/tests/entityWithValidationsOnColumn.js +21 -29
  62. package/src/tests/frontend-database-tests-setup.spec.js +35 -98
  63. package/src/tests/h.js +35 -44
  64. package/src/tests/remult-3-entities.js +71 -80
  65. package/src/tests/tasks.js +23 -29
  66. package/src/tests/testHelper.spec.js +170 -322
  67. package/src/tests/testModel/models.js +25 -33
  68. package/src/validators.js +32 -59
  69. package/urlBuilder.js +8 -14
  70. package/valueConverters.js +161 -160
@@ -1,256 +1,143 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MockRestDataProvider = exports.testAllDataProviders = exports.testRestDb = exports.testInMemoryDb = exports.testSql = exports.ActionTestConfig = exports.testAsIfOnBackend = exports.fitForEach = exports.itForEach = void 0;
4
- var tslib_1 = require("tslib");
5
- require("./frontend-database-tests-setup.spec");
6
- var context_1 = require("../context");
7
- var data_api_1 = require("../data-api");
8
- var in_memory_database_1 = require("../data-providers/in-memory-database");
9
- var rest_data_provider_1 = require("../data-providers/rest-data-provider");
10
- var sql_database_1 = require("../data-providers/sql-database");
11
- var web_sql_data_provider_1 = require("../data-providers/web-sql-data-provider");
12
- var server_action_1 = require("../server-action");
13
- var entityWithValidations_1 = require("../shared-tests/entityWithValidations");
14
- var TestDataApiResponse_1 = require("./TestDataApiResponse");
1
+ import './frontend-database-tests-setup.spec';
2
+ import { HttpProviderBridgeToRestDataProviderHttpProvider, Remult } from "../context";
3
+ import { DataApi, serializeError } from "../data-api";
4
+ import { InMemoryDataProvider } from "../data-providers/in-memory-database";
5
+ import { RestEntityDataProvider } from "../data-providers/rest-data-provider";
6
+ import { SqlDatabase } from "../data-providers/sql-database";
7
+ import { WebSqlDataProvider } from "../data-providers/web-sql-data-provider";
8
+ import { Action, actionInfo, serverActionField } from "../server-action";
9
+ import { testConfiguration } from '../shared-tests/entityWithValidations';
10
+ import { TestDataApiResponse } from './TestDataApiResponse';
15
11
  jasmine.DEFAULT_TIMEOUT_INTERVAL = 999999;
16
12
  //actionInfo.runningOnServer = false;
17
- function itForEach(name, arrayOfT, runAsync) {
18
- arrayOfT.forEach(function (i) {
19
- it(name + ' - ' + i, function (done) {
20
- runAsync(i).catch(function (e) {
13
+ export function itForEach(name, arrayOfT, runAsync) {
14
+ arrayOfT.forEach(i => {
15
+ it(name + ' - ' + i, (done) => {
16
+ runAsync(i).catch(e => {
21
17
  fail(e);
22
18
  done();
23
- }).then(done, function (e) {
19
+ }).then(done, e => {
24
20
  fail(e);
25
21
  done();
26
22
  });
27
23
  });
28
24
  });
29
25
  }
30
- exports.itForEach = itForEach;
31
- function fitForEach(name, arrayOfT, runAsync) {
32
- arrayOfT.forEach(function (i) {
33
- fit(name + ' - ' + i, function (done) {
34
- runAsync(i).catch(function (e) {
26
+ export function fitForEach(name, arrayOfT, runAsync) {
27
+ arrayOfT.forEach(i => {
28
+ fit(name + ' - ' + i, (done) => {
29
+ runAsync(i).catch(e => {
35
30
  fail(e);
36
31
  done();
37
- }).then(done, function (e) {
32
+ }).then(done, e => {
38
33
  fail(e);
39
34
  done();
40
35
  });
41
36
  });
42
37
  });
43
38
  }
44
- exports.fitForEach = fitForEach;
45
- function testAsIfOnBackend(what) {
46
- return tslib_1.__awaiter(this, void 0, void 0, function () {
47
- return tslib_1.__generator(this, function (_a) {
48
- switch (_a.label) {
49
- case 0:
50
- _a.trys.push([0, , 2, 3]);
51
- server_action_1.actionInfo.runningOnServer = true;
52
- return [4 /*yield*/, what()];
53
- case 1:
54
- _a.sent();
55
- return [3 /*break*/, 3];
56
- case 2:
57
- server_action_1.actionInfo.runningOnServer = false;
58
- return [7 /*endfinally*/];
59
- case 3: return [2 /*return*/];
60
- }
61
- });
62
- });
39
+ export async function testAsIfOnBackend(what) {
40
+ try {
41
+ actionInfo.runningOnServer = true;
42
+ await what();
43
+ }
44
+ finally {
45
+ actionInfo.runningOnServer = false;
46
+ }
63
47
  }
64
- exports.testAsIfOnBackend = testAsIfOnBackend;
65
- exports.ActionTestConfig = {
66
- db: new in_memory_database_1.InMemoryDataProvider()
48
+ export const ActionTestConfig = {
49
+ db: new InMemoryDataProvider()
67
50
  };
68
- server_action_1.Action.provider = {
51
+ Action.provider = {
69
52
  delete: undefined,
70
53
  get: undefined,
71
- post: function (urlreq, data) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
72
- return tslib_1.__generator(this, function (_a) {
73
- switch (_a.label) {
74
- case 0: return [4 /*yield*/, new Promise(function (res, r) {
75
- var found = false;
76
- server_action_1.actionInfo.allActions.forEach(function (action) {
77
- action[server_action_1.serverActionField].
78
- __register(function (url, queue, allowed, what) {
79
- if (context_1.Remult.apiBaseUrl + '/' + url == urlreq) {
80
- found = true;
81
- var t = new TestDataApiResponse_1.TestDataApiResponse();
82
- server_action_1.actionInfo.runningOnServer = true;
83
- t.success = function (data) {
84
- res(data);
85
- server_action_1.actionInfo.runningOnServer = false;
86
- };
87
- t.error = function (data) {
88
- r(JSON.parse(JSON.stringify(data_api_1.serializeError(data))));
89
- server_action_1.actionInfo.runningOnServer = false;
90
- };
91
- var remult = new context_1.Remult();
92
- remult.setDataProvider(exports.ActionTestConfig.db);
93
- what(JSON.parse(JSON.stringify(data)), remult, t);
94
- }
95
- });
96
- });
97
- if (!found) {
98
- r("did not find " + urlreq);
99
- }
100
- })];
101
- case 1: return [2 /*return*/, _a.sent()];
54
+ post: async (urlreq, data) => {
55
+ return await new Promise((res, r) => {
56
+ let found = false;
57
+ actionInfo.allActions.forEach(action => {
58
+ action[serverActionField].
59
+ __register((url, queue, allowed, what) => {
60
+ if (Remult.apiBaseUrl + '/' + url == urlreq) {
61
+ found = true;
62
+ let t = new TestDataApiResponse();
63
+ actionInfo.runningOnServer = true;
64
+ t.success = data => {
65
+ res(data);
66
+ actionInfo.runningOnServer = false;
67
+ };
68
+ t.error = data => {
69
+ r(JSON.parse(JSON.stringify(serializeError(data))));
70
+ actionInfo.runningOnServer = false;
71
+ };
72
+ let remult = new Remult();
73
+ remult.setDataProvider(ActionTestConfig.db);
74
+ what(JSON.parse(JSON.stringify(data)), remult, t);
75
+ }
76
+ });
77
+ });
78
+ if (!found) {
79
+ r("did not find " + urlreq);
102
80
  }
103
81
  });
104
- }); },
82
+ },
105
83
  put: undefined
106
84
  };
107
- function testSql(runAsync) {
108
- return tslib_1.__awaiter(this, void 0, void 0, function () {
109
- var webSql, sql, _a, _b, r, _c, e_1_1, remult;
110
- var e_1, _d;
111
- return tslib_1.__generator(this, function (_e) {
112
- switch (_e.label) {
113
- case 0:
114
- webSql = new web_sql_data_provider_1.WebSqlDataProvider('test');
115
- sql = new sql_database_1.SqlDatabase(webSql);
116
- _e.label = 1;
117
- case 1:
118
- _e.trys.push([1, 10, 11, 12]);
119
- return [4 /*yield*/, sql.execute("select name from sqlite_master where type='table'")];
120
- case 2: return [4 /*yield*/, (_e.sent()).rows];
121
- case 3:
122
- _a = tslib_1.__values.apply(void 0, [_e.sent()]), _b = _a.next();
123
- _e.label = 4;
124
- case 4:
125
- if (!!_b.done) return [3 /*break*/, 9];
126
- r = _b.value;
127
- _c = r.name;
128
- switch (_c) {
129
- case "__WebKitDatabaseInfoTable__": return [3 /*break*/, 5];
130
- }
131
- return [3 /*break*/, 6];
132
- case 5: return [3 /*break*/, 8];
133
- case 6: return [4 /*yield*/, sql.execute("drop table if exists " + r.name)];
134
- case 7:
135
- _e.sent();
136
- _e.label = 8;
137
- case 8:
138
- _b = _a.next();
139
- return [3 /*break*/, 4];
140
- case 9: return [3 /*break*/, 12];
141
- case 10:
142
- e_1_1 = _e.sent();
143
- e_1 = { error: e_1_1 };
144
- return [3 /*break*/, 12];
145
- case 11:
146
- try {
147
- if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
148
- }
149
- finally { if (e_1) throw e_1.error; }
150
- return [7 /*endfinally*/];
151
- case 12:
152
- remult = new context_1.Remult();
153
- remult.setDataProvider(sql);
154
- return [4 /*yield*/, runAsync({ db: sql, remult: remult })];
155
- case 13:
156
- _e.sent();
157
- return [2 /*return*/];
158
- }
159
- });
160
- });
85
+ export async function testSql(runAsync) {
86
+ let webSql = new WebSqlDataProvider('test');
87
+ const sql = new SqlDatabase(webSql);
88
+ for (const r of await (await sql.execute("select name from sqlite_master where type='table'")).rows) {
89
+ switch (r.name) {
90
+ case "__WebKitDatabaseInfoTable__":
91
+ break;
92
+ default:
93
+ await sql.execute("drop table if exists " + r.name);
94
+ }
95
+ }
96
+ let remult = new Remult();
97
+ remult.setDataProvider(sql);
98
+ await runAsync({ db: sql, remult });
161
99
  }
162
- exports.testSql = testSql;
163
- function testInMemoryDb(runAsync) {
164
- return tslib_1.__awaiter(this, void 0, void 0, function () {
165
- var remult, db;
166
- return tslib_1.__generator(this, function (_a) {
167
- switch (_a.label) {
168
- case 0:
169
- remult = new context_1.Remult();
170
- db = new in_memory_database_1.InMemoryDataProvider();
171
- remult.setDataProvider(db);
172
- return [4 /*yield*/, runAsync({ db: db, remult: remult })];
173
- case 1:
174
- _a.sent();
175
- return [2 /*return*/];
176
- }
177
- });
178
- });
100
+ export async function testInMemoryDb(runAsync) {
101
+ let remult = new Remult();
102
+ let db = new InMemoryDataProvider();
103
+ remult.setDataProvider(db);
104
+ await runAsync({ db, remult });
179
105
  }
180
- exports.testInMemoryDb = testInMemoryDb;
181
- function testRestDb(runAsync) {
182
- return tslib_1.__awaiter(this, void 0, void 0, function () {
183
- var r, remult, db;
184
- return tslib_1.__generator(this, function (_a) {
185
- switch (_a.label) {
186
- case 0:
187
- r = new context_1.Remult();
188
- r.setDataProvider(new in_memory_database_1.InMemoryDataProvider());
189
- remult = new context_1.Remult();
190
- db = new MockRestDataProvider(r);
191
- remult.setDataProvider(db);
192
- return [4 /*yield*/, runAsync({ db: db, remult: remult })];
193
- case 1:
194
- _a.sent();
195
- return [2 /*return*/];
196
- }
197
- });
198
- });
106
+ export async function testRestDb(runAsync) {
107
+ let r = new Remult();
108
+ r.setDataProvider(new InMemoryDataProvider());
109
+ let remult = new Remult();
110
+ let db = new MockRestDataProvider(r);
111
+ remult.setDataProvider(db);
112
+ await runAsync({ db, remult });
199
113
  }
200
- exports.testRestDb = testRestDb;
201
- function testAllDataProviders(runAsync) {
202
- return tslib_1.__awaiter(this, void 0, void 0, function () {
203
- return tslib_1.__generator(this, function (_a) {
204
- switch (_a.label) {
205
- case 0: return [4 /*yield*/, testSql(runAsync)];
206
- case 1:
207
- _a.sent();
208
- return [4 /*yield*/, testInMemoryDb(runAsync)];
209
- case 2:
210
- _a.sent();
211
- return [4 /*yield*/, testRestDb(runAsync)];
212
- case 3:
213
- _a.sent();
214
- return [2 /*return*/];
215
- }
216
- });
217
- });
114
+ export async function testAllDataProviders(runAsync) {
115
+ await testSql(runAsync);
116
+ await testInMemoryDb(runAsync);
117
+ await testRestDb(runAsync);
218
118
  }
219
- exports.testAllDataProviders = testAllDataProviders;
220
119
  function urlToReq(url) {
221
- var e_2, _a;
222
- var _b;
223
- var args = new Map();
224
- var params = (_b = url === null || url === void 0 ? void 0 : url.split('?')[1]) === null || _b === void 0 ? void 0 : _b.split('&');
120
+ let args = new Map();
121
+ let params = url?.split('?')[1]?.split('&');
225
122
  if (params)
226
- try {
227
- for (var params_1 = tslib_1.__values(params), params_1_1 = params_1.next(); !params_1_1.done; params_1_1 = params_1.next()) {
228
- var p = params_1_1.value;
229
- if (!p)
230
- continue;
231
- var z = p.split('=');
232
- var key = decodeURIComponent(z[0]);
233
- var value = decodeURIComponent(z[1]);
234
- var x = args.get(key);
235
- if (x === undefined) {
236
- args.set(key, value);
237
- }
238
- else if (Array.isArray(x))
239
- x.push(value);
240
- else
241
- args.set(key, [args.get(key), value]);
123
+ for (const p of params) {
124
+ if (!p)
125
+ continue;
126
+ let z = p.split('=');
127
+ let key = decodeURIComponent(z[0]);
128
+ let value = decodeURIComponent(z[1]);
129
+ let x = args.get(key);
130
+ if (x === undefined) {
131
+ args.set(key, value);
242
132
  }
133
+ else if (Array.isArray(x))
134
+ x.push(value);
135
+ else
136
+ args.set(key, [args.get(key), value]);
243
137
  }
244
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
245
- finally {
246
- try {
247
- if (params_1_1 && !params_1_1.done && (_a = params_1.return)) _a.call(params_1);
248
- }
249
- finally { if (e_2) throw e_2.error; }
250
- }
251
- var req = {
252
- get: function (key) {
253
- var r = args.get(key);
138
+ let req = {
139
+ get: (key) => {
140
+ let r = args.get(key);
254
141
  if (r !== undefined) {
255
142
  r.toString();
256
143
  }
@@ -259,111 +146,72 @@ function urlToReq(url) {
259
146
  };
260
147
  return req;
261
148
  }
262
- var MockRestDataProvider = /** @class */ (function () {
263
- function MockRestDataProvider(remult) {
149
+ export class MockRestDataProvider {
150
+ constructor(remult) {
264
151
  this.remult = remult;
265
152
  this.supportsCustomFilter = true;
266
153
  }
267
- MockRestDataProvider.prototype.getEntityDataProvider = function (metadata) {
268
- var _this = this;
269
- var dataApi = new data_api_1.DataApi(this.remult.repo(metadata.entityType), this.remult);
270
- return new rest_data_provider_1.RestEntityDataProvider("", new context_1.HttpProviderBridgeToRestDataProviderHttpProvider({
271
- delete: function (url) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
272
- var urlSplit, r, result;
273
- return tslib_1.__generator(this, function (_a) {
274
- switch (_a.label) {
275
- case 0:
276
- urlSplit = url.split('/');
277
- r = new TestDataApiResponse_1.TestDataApiResponse();
278
- r.deleted = function () { };
279
- _a.label = 1;
280
- case 1:
281
- _a.trys.push([1, , 3, 4]);
282
- entityWithValidations_1.testConfiguration.restDbRunningOnServer = true;
283
- return [4 /*yield*/, dataApi.delete(r, urlSplit[urlSplit.length - 1])];
284
- case 2:
285
- _a.sent();
286
- return [3 /*break*/, 4];
287
- case 3:
288
- entityWithValidations_1.testConfiguration.restDbRunningOnServer = false;
289
- return [7 /*endfinally*/];
290
- case 4: return [2 /*return*/, result];
291
- }
292
- });
293
- }); },
294
- get: function (url) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
295
- var r, result;
296
- return tslib_1.__generator(this, function (_a) {
297
- switch (_a.label) {
298
- case 0:
299
- r = new TestDataApiResponse_1.TestDataApiResponse();
300
- r.success = function (data) { result = data; };
301
- _a.label = 1;
302
- case 1:
303
- _a.trys.push([1, , 3, 4]);
304
- entityWithValidations_1.testConfiguration.restDbRunningOnServer = true;
305
- return [4 /*yield*/, dataApi.httpGet(r, urlToReq(url))];
306
- case 2:
307
- _a.sent();
308
- return [3 /*break*/, 4];
309
- case 3:
310
- entityWithValidations_1.testConfiguration.restDbRunningOnServer = false;
311
- return [7 /*endfinally*/];
312
- case 4: return [2 /*return*/, result];
313
- }
314
- });
315
- }); },
316
- post: function (url, data) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
317
- var r, result;
318
- return tslib_1.__generator(this, function (_a) {
319
- switch (_a.label) {
320
- case 0:
321
- r = new TestDataApiResponse_1.TestDataApiResponse();
322
- r.created = function (data) { result = data; };
323
- r.success = function (data) { result = data; };
324
- _a.label = 1;
325
- case 1:
326
- _a.trys.push([1, , 3, 4]);
327
- entityWithValidations_1.testConfiguration.restDbRunningOnServer = true;
328
- return [4 /*yield*/, dataApi.httpPost(r, urlToReq(url), data)];
329
- case 2:
330
- _a.sent();
331
- return [3 /*break*/, 4];
332
- case 3:
333
- entityWithValidations_1.testConfiguration.restDbRunningOnServer = false;
334
- return [7 /*endfinally*/];
335
- case 4: return [2 /*return*/, result];
336
- }
337
- });
338
- }); },
339
- put: function (url, data) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
340
- var urlSplit, r, result;
341
- return tslib_1.__generator(this, function (_a) {
342
- switch (_a.label) {
343
- case 0:
344
- urlSplit = url.split('/');
345
- r = new TestDataApiResponse_1.TestDataApiResponse();
346
- r.success = function (data) { result = data; };
347
- _a.label = 1;
348
- case 1:
349
- _a.trys.push([1, , 3, 4]);
350
- entityWithValidations_1.testConfiguration.restDbRunningOnServer = true;
351
- return [4 /*yield*/, dataApi.put(r, urlSplit[urlSplit.length - 1], data)];
352
- case 2:
353
- _a.sent();
354
- return [3 /*break*/, 4];
355
- case 3:
356
- entityWithValidations_1.testConfiguration.restDbRunningOnServer = false;
357
- return [7 /*endfinally*/];
358
- case 4: return [2 /*return*/, result];
359
- }
360
- });
361
- }); }
154
+ getEntityDataProvider(metadata) {
155
+ let dataApi = new DataApi(this.remult.repo(metadata.entityType), this.remult);
156
+ return new RestEntityDataProvider("", new HttpProviderBridgeToRestDataProviderHttpProvider({
157
+ delete: async (url) => {
158
+ let urlSplit = url.split('/');
159
+ let r = new TestDataApiResponse();
160
+ let result;
161
+ r.deleted = () => { };
162
+ try {
163
+ testConfiguration.restDbRunningOnServer = true;
164
+ await dataApi.delete(r, urlSplit[urlSplit.length - 1]);
165
+ }
166
+ finally {
167
+ testConfiguration.restDbRunningOnServer = false;
168
+ }
169
+ return result;
170
+ },
171
+ get: async (url) => {
172
+ let r = new TestDataApiResponse();
173
+ let result;
174
+ r.success = data => { result = data; };
175
+ try {
176
+ testConfiguration.restDbRunningOnServer = true;
177
+ await dataApi.httpGet(r, urlToReq(url));
178
+ }
179
+ finally {
180
+ testConfiguration.restDbRunningOnServer = false;
181
+ }
182
+ return result;
183
+ },
184
+ post: async (url, data) => {
185
+ let r = new TestDataApiResponse();
186
+ let result;
187
+ r.created = data => { result = data; };
188
+ r.success = data => { result = data; };
189
+ try {
190
+ testConfiguration.restDbRunningOnServer = true;
191
+ await dataApi.httpPost(r, urlToReq(url), data);
192
+ }
193
+ finally {
194
+ testConfiguration.restDbRunningOnServer = false;
195
+ }
196
+ return result;
197
+ },
198
+ put: async (url, data) => {
199
+ let urlSplit = url.split('/');
200
+ let r = new TestDataApiResponse();
201
+ let result;
202
+ r.success = data => { result = data; };
203
+ try {
204
+ testConfiguration.restDbRunningOnServer = true;
205
+ await dataApi.put(r, urlSplit[urlSplit.length - 1], data);
206
+ }
207
+ finally {
208
+ testConfiguration.restDbRunningOnServer = false;
209
+ }
210
+ return result;
211
+ }
362
212
  }), metadata);
363
- };
364
- MockRestDataProvider.prototype.transaction = function (action) {
213
+ }
214
+ transaction(action) {
365
215
  throw new Error('Method not implemented.');
366
- };
367
- return MockRestDataProvider;
368
- }());
369
- exports.MockRestDataProvider = MockRestDataProvider;
216
+ }
217
+ }
@@ -1,39 +1,31 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TestStatus = exports.Status = void 0;
4
- var tslib_1 = require("tslib");
5
- var remult3_1 = require("../../remult3");
6
- var Status = /** @class */ (function () {
7
- function Status(id, name) {
1
+ var Status_1, TestStatus_1;
2
+ import { __decorate, __metadata } from "tslib";
3
+ import { ValueListFieldType } from "../../remult3";
4
+ let Status = Status_1 = class Status {
5
+ constructor(id, name) {
8
6
  this.id = id;
9
7
  this.name = name;
10
8
  }
11
- Status_1 = Status;
12
- var Status_1;
13
- Status.open = new Status_1(0, "open");
14
- Status.closed = new Status_1(1, "closed");
15
- Status.hold = new Status_1(2, "hold");
16
- Status = Status_1 = tslib_1.__decorate([
17
- remult3_1.ValueListFieldType(),
18
- tslib_1.__metadata("design:paramtypes", [Number, String])
19
- ], Status);
20
- return Status;
21
- }());
22
- exports.Status = Status;
23
- var TestStatus = /** @class */ (function () {
24
- function TestStatus(id, caption) {
9
+ };
10
+ Status.open = new Status_1(0, "open");
11
+ Status.closed = new Status_1(1, "closed");
12
+ Status.hold = new Status_1(2, "hold");
13
+ Status = Status_1 = __decorate([
14
+ ValueListFieldType(),
15
+ __metadata("design:paramtypes", [Number, String])
16
+ ], Status);
17
+ export { Status };
18
+ let TestStatus = TestStatus_1 = class TestStatus {
19
+ constructor(id, caption) {
25
20
  this.id = id;
26
21
  this.caption = caption;
27
22
  }
28
- TestStatus_1 = TestStatus;
29
- var TestStatus_1;
30
- TestStatus.open = new TestStatus_1();
31
- TestStatus.closed = new TestStatus_1('cc');
32
- TestStatus.hold = new TestStatus_1(undefined, 'hh');
33
- TestStatus = TestStatus_1 = tslib_1.__decorate([
34
- remult3_1.ValueListFieldType(),
35
- tslib_1.__metadata("design:paramtypes", [String, String])
36
- ], TestStatus);
37
- return TestStatus;
38
- }());
39
- exports.TestStatus = TestStatus;
23
+ };
24
+ TestStatus.open = new TestStatus_1();
25
+ TestStatus.closed = new TestStatus_1('cc');
26
+ TestStatus.hold = new TestStatus_1(undefined, 'hh');
27
+ TestStatus = TestStatus_1 = __decorate([
28
+ ValueListFieldType(),
29
+ __metadata("design:paramtypes", [String, String])
30
+ ], TestStatus);
31
+ export { TestStatus };