remult 0.14.4 → 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.
- package/assign.js +1 -5
- package/classType.js +1 -2
- package/graphql.js +84 -146
- package/index.js +25 -73
- package/inputTypes.js +9 -16
- package/package.json +2 -1
- package/postgres/index.js +1 -4
- package/postgres/postgres-data-provider.js +165 -364
- package/postgres/postgresColumnSyntax.js +4 -8
- package/remult-express.js +6 -10
- package/remult-knex/index.js +300 -720
- package/remult-middleware.js +24 -30
- package/remult-mongo.js +172 -406
- package/server/JsonEntityFileStorage.js +10 -15
- package/server/expressBridge.js +383 -569
- package/server/index.js +4 -11
- package/server/register-actions-on-server.js +12 -38
- package/server/register-entities-on-server.js +9 -13
- package/src/__EntityValueProvider.js +1 -2
- package/src/__RowsOfDataForTesting.js +1 -2
- package/src/backend-tests/backend-database-test-setup.backend-spec.js +72 -190
- package/src/backend-tests/my-test.backend-spec.js +45 -114
- package/src/column-interfaces.js +2 -6
- package/src/column.js +71 -113
- package/src/context.js +174 -330
- package/src/data-api.js +162 -326
- package/src/data-interfaces.js +7 -11
- package/src/data-providers/array-entity-data-provider.js +171 -286
- package/src/data-providers/in-memory-database.js +12 -27
- package/src/data-providers/json-data-provider.js +41 -77
- package/src/data-providers/rest-data-provider.js +102 -189
- package/src/data-providers/sql-database.js +223 -403
- package/src/data-providers/web-sql-data-provider.js +78 -139
- package/src/entity.js +1 -2
- package/src/filter/filter-consumer-bridge-to-sql-request.js +106 -248
- package/src/filter/filter-consumer-bridge-to-url-builder.js +1 -2
- package/src/filter/filter-interfaces.js +277 -440
- package/src/id-entity.js +8 -17
- package/src/remult3/RepositoryImplementation.js +1191 -2367
- package/src/remult3/index.js +2 -5
- package/src/remult3/remult3.js +1 -2
- package/src/server-action.js +294 -528
- package/src/shared-tests/db-tests-setup.js +49 -153
- package/src/shared-tests/db-tests.db-tests.js +660 -1566
- package/src/shared-tests/deleteAll.js +3 -20
- package/src/shared-tests/entityWithValidations.js +52 -79
- package/src/shared-tests/index.js +4 -6
- package/src/shared-tests/test-custom-id-column.spec.js +37 -85
- package/src/shared-tests/test-special-value.spec.js +64 -104
- package/src/shared-tests/test-update-with-null.spec.js +28 -49
- package/src/sort.js +38 -95
- package/src/sql-command.js +1 -2
- package/src/tests/Done.js +7 -13
- package/src/tests/TestDataApiResponse.js +15 -22
- package/src/tests/c.js +21 -27
- package/src/tests/createData.js +20 -48
- package/src/tests/d.js +19 -27
- package/src/tests/dWithPrefilter.js +31 -44
- package/src/tests/entityForCustomFilter.js +42 -66
- package/src/tests/entityWithValidationsOnColumn.js +21 -29
- package/src/tests/frontend-database-tests-setup.spec.js +35 -98
- package/src/tests/h.js +35 -44
- package/src/tests/remult-3-entities.js +71 -80
- package/src/tests/tasks.js +23 -29
- package/src/tests/testHelper.spec.js +170 -322
- package/src/tests/testModel/models.js +25 -33
- package/src/validators.js +32 -59
- package/urlBuilder.js +8 -14
- package/valueConverters.js +161 -160
|
@@ -1,256 +1,143 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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(
|
|
19
|
-
it(name + ' - ' + i,
|
|
20
|
-
runAsync(i).catch(
|
|
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,
|
|
19
|
+
}).then(done, e => {
|
|
24
20
|
fail(e);
|
|
25
21
|
done();
|
|
26
22
|
});
|
|
27
23
|
});
|
|
28
24
|
});
|
|
29
25
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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,
|
|
32
|
+
}).then(done, e => {
|
|
38
33
|
fail(e);
|
|
39
34
|
done();
|
|
40
35
|
});
|
|
41
36
|
});
|
|
42
37
|
});
|
|
43
38
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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
|
-
|
|
65
|
-
|
|
66
|
-
db: new in_memory_database_1.InMemoryDataProvider()
|
|
48
|
+
export const ActionTestConfig = {
|
|
49
|
+
db: new InMemoryDataProvider()
|
|
67
50
|
};
|
|
68
|
-
|
|
51
|
+
Action.provider = {
|
|
69
52
|
delete: undefined,
|
|
70
53
|
get: undefined,
|
|
71
|
-
post:
|
|
72
|
-
return
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
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
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
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
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
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
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
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
|
-
|
|
222
|
-
|
|
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
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
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
|
-
|
|
245
|
-
|
|
246
|
-
|
|
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
|
-
|
|
263
|
-
|
|
149
|
+
export class MockRestDataProvider {
|
|
150
|
+
constructor(remult) {
|
|
264
151
|
this.remult = remult;
|
|
265
152
|
this.supportsCustomFilter = true;
|
|
266
153
|
}
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
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
|
-
|
|
213
|
+
}
|
|
214
|
+
transaction(action) {
|
|
365
215
|
throw new Error('Method not implemented.');
|
|
366
|
-
}
|
|
367
|
-
|
|
368
|
-
}());
|
|
369
|
-
exports.MockRestDataProvider = MockRestDataProvider;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
@@ -1,39 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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 };
|