remult 0.18.1-exp.2 → 0.18.1-exp.21
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/README.md +28 -5
- package/esm/index.d.ts +4 -3
- package/esm/index.js +4 -2
- package/esm/live-query/ably.d.ts +6 -6
- package/esm/live-query/ably.js +5 -5
- package/esm/postgres/postgres-data-provider.d.ts +3 -1
- package/esm/postgres/postgres-data-provider.js +11 -1
- package/esm/postgres/schema-builder.d.ts +1 -1
- package/esm/postgres/schema-builder.js +43 -27
- package/esm/remult-express.d.ts +4 -22
- package/esm/remult-express.js +30 -28
- package/esm/remult-fastify.js +1 -1
- package/esm/remult-fresh.js +2 -2
- package/esm/remult-knex/index.d.ts +7 -31
- package/esm/remult-knex/index.js +71 -42
- package/esm/remult-mongo.d.ts +9 -2
- package/esm/remult-mongo.js +24 -8
- package/esm/remult-next.d.ts +11 -0
- package/esm/remult-next.js +27 -0
- package/esm/server/expressBridge.d.ts +20 -52
- package/esm/server/expressBridge.js +55 -29
- package/esm/server/index.d.ts +3 -1
- package/esm/server/index.js +6 -1
- package/esm/src/column-interfaces.d.ts +44 -8
- package/esm/src/context.d.ts +31 -19
- package/esm/src/context.js +35 -42
- package/esm/src/data-api.js +17 -4
- package/esm/src/data-interfaces.d.ts +1 -1
- package/esm/src/data-providers/array-entity-data-provider.d.ts +1 -1
- package/esm/src/data-providers/array-entity-data-provider.js +1 -1
- package/esm/src/data-providers/rest-data-provider.d.ts +4 -15
- package/esm/src/data-providers/rest-data-provider.js +38 -23
- package/esm/src/data-providers/sql-database.d.ts +6 -3
- package/esm/src/data-providers/sql-database.js +57 -16
- package/esm/src/data-providers/web-sql-data-provider.d.ts +2 -0
- package/esm/src/data-providers/web-sql-data-provider.js +17 -8
- package/esm/src/entity.d.ts +2 -2
- package/esm/src/filter/filter-consumer-bridge-to-sql-request.d.ts +16 -16
- package/esm/src/filter/filter-consumer-bridge-to-sql-request.js +29 -21
- package/esm/src/filter/filter-interfaces.d.ts +5 -5
- package/esm/src/filter/filter-interfaces.js +31 -26
- package/esm/src/live-query/LiveQueryClient.d.ts +1 -19
- package/esm/src/live-query/LiveQueryClient.js +81 -50
- package/esm/src/live-query/SseSubscriptionClient.d.ts +4 -0
- package/esm/src/live-query/{EventSourceLiveQueryProvider.js → SseSubscriptionClient.js} +7 -6
- package/esm/src/live-query/SubscriptionChannel.d.ts +41 -0
- package/esm/src/live-query/{LiveQuerySubscriber.js → SubscriptionChannel.js} +40 -22
- package/esm/src/live-query/SubscriptionServer.d.ts +38 -0
- package/esm/src/live-query/{LiveQueryPublisher.js → SubscriptionServer.js} +60 -73
- package/esm/src/remult-proxy.js +44 -1
- package/esm/src/remult3/RepositoryImplementation.d.ts +8 -2
- package/esm/src/remult3/RepositoryImplementation.js +94 -30
- package/esm/src/remult3/remult3.d.ts +59 -6
- package/esm/src/remult3/remult3.js +1 -0
- package/esm/src/server-action.d.ts +1 -1
- package/esm/src/shared-tests/db-tests-setup.d.ts +1 -1
- package/esm/src/shared-tests/db-tests-setup.js +4 -3
- package/esm/src/shared-tests/db-tests.db-tests.js +55 -9
- package/esm/src/sql-command.d.ts +4 -2
- package/esm/src/tests/entityForCustomFilter.d.ts +6 -6
- package/esm/src/tests/entityForCustomFilter.js +20 -21
- package/esm/src/tests/frontend-database-tests-setup.spec.js +1 -2
- package/esm/src/tests/testHelper.spec.d.ts +2 -2
- package/esm/src/tests/testHelper.spec.js +1 -2
- package/esm/src/valueConverters.js +17 -7
- package/index.d.ts +4 -3
- package/index.js +7 -3
- package/live-query/ably.d.ts +6 -6
- package/live-query/ably.js +12 -12
- package/package.json +18 -9
- package/postgres/postgres-data-provider.d.ts +3 -1
- package/postgres/postgres-data-provider.js +13 -3
- package/postgres/schema-builder.d.ts +1 -1
- package/postgres/schema-builder.js +64 -50
- package/remult-express.d.ts +4 -22
- package/remult-express.js +39 -47
- package/remult-fastify.js +2 -2
- package/remult-fresh.js +1 -1
- package/remult-knex/index.d.ts +7 -31
- package/remult-knex/index.js +100 -53
- package/remult-mongo.d.ts +9 -2
- package/remult-mongo.js +39 -7
- package/remult-next.d.ts +11 -0
- package/remult-next.js +73 -0
- package/server/JsonEntityFileStorage.js +2 -2
- package/server/expressBridge.d.ts +20 -52
- package/server/expressBridge.js +68 -41
- package/server/index.d.ts +3 -1
- package/server/index.js +7 -2
- package/src/column-interfaces.d.ts +44 -8
- package/src/context.d.ts +31 -19
- package/src/context.js +39 -50
- package/src/data-api.js +18 -5
- package/src/data-interfaces.d.ts +1 -1
- package/src/data-providers/array-entity-data-provider.d.ts +1 -1
- package/src/data-providers/array-entity-data-provider.js +1 -1
- package/src/data-providers/rest-data-provider.d.ts +4 -15
- package/src/data-providers/rest-data-provider.js +48 -24
- package/src/data-providers/sql-database.d.ts +6 -3
- package/src/data-providers/sql-database.js +75 -15
- package/src/data-providers/web-sql-data-provider.d.ts +2 -0
- package/src/data-providers/web-sql-data-provider.js +16 -7
- package/src/entity.d.ts +2 -2
- package/src/filter/filter-consumer-bridge-to-sql-request.d.ts +16 -16
- package/src/filter/filter-consumer-bridge-to-sql-request.js +59 -50
- package/src/filter/filter-interfaces.d.ts +5 -5
- package/src/filter/filter-interfaces.js +31 -26
- package/src/live-query/LiveQueryClient.d.ts +1 -19
- package/src/live-query/LiveQueryClient.js +117 -64
- package/src/live-query/SseSubscriptionClient.d.ts +4 -0
- package/src/live-query/{EventSourceLiveQueryProvider.js → SseSubscriptionClient.js} +13 -12
- package/src/live-query/SubscriptionChannel.d.ts +41 -0
- package/src/live-query/{LiveQuerySubscriber.js → SubscriptionChannel.js} +51 -47
- package/src/live-query/SubscriptionServer.d.ts +38 -0
- package/src/live-query/SubscriptionServer.js +237 -0
- package/src/remult-proxy.js +137 -2
- package/src/remult3/RepositoryImplementation.d.ts +8 -2
- package/src/remult3/RepositoryImplementation.js +121 -34
- package/src/remult3/remult3.d.ts +59 -6
- package/src/remult3/remult3.js +1 -0
- package/src/server-action.d.ts +1 -1
- package/src/shared-tests/db-tests-setup.d.ts +1 -1
- package/src/shared-tests/db-tests-setup.js +5 -4
- package/src/shared-tests/db-tests.db-tests.js +101 -8
- package/src/sql-command.d.ts +4 -2
- package/src/tests/entityForCustomFilter.d.ts +6 -6
- package/src/tests/entityForCustomFilter.js +30 -31
- package/src/tests/frontend-database-tests-setup.spec.js +4 -5
- package/src/tests/testHelper.spec.d.ts +2 -2
- package/src/tests/testHelper.spec.js +4 -5
- package/src/valueConverters.js +17 -7
- package/esm/live-query/index.d.ts +0 -3
- package/esm/live-query/index.js +0 -3
- package/esm/src/backend-tests/backend-database-test-setup.backend-spec.d.ts +0 -5
- package/esm/src/backend-tests/backend-database-test-setup.backend-spec.js +0 -113
- package/esm/src/backend-tests/my-test.backend-spec.d.ts +0 -1
- package/esm/src/backend-tests/my-test.backend-spec.js +0 -59
- package/esm/src/backend-tests/test-http-server.backend-spec.d.ts +0 -6
- package/esm/src/backend-tests/test-http-server.backend-spec.js +0 -171
- package/esm/src/live-query/EventSourceLiveQueryProvider.d.ts +0 -4
- package/esm/src/live-query/LiveQueryPublisher.d.ts +0 -49
- package/esm/src/live-query/LiveQuerySubscriber.d.ts +0 -67
- package/live-query/index.d.ts +0 -3
- package/live-query/index.js +0 -10
- package/src/backend-tests/backend-database-test-setup.backend-spec.d.ts +0 -5
- package/src/backend-tests/backend-database-test-setup.backend-spec.js +0 -231
- package/src/backend-tests/my-test.backend-spec.d.ts +0 -1
- package/src/backend-tests/my-test.backend-spec.js +0 -160
- package/src/backend-tests/test-http-server.backend-spec.d.ts +0 -6
- package/src/backend-tests/test-http-server.backend-spec.js +0 -342
- package/src/live-query/EventSourceLiveQueryProvider.d.ts +0 -4
- package/src/live-query/LiveQueryPublisher.d.ts +0 -49
- package/src/live-query/LiveQueryPublisher.js +0 -248
- package/src/live-query/LiveQuerySubscriber.d.ts +0 -67
|
@@ -13,11 +13,12 @@ import { Remult } from "../context";
|
|
|
13
13
|
import { dWithPrefilter } from "../tests/dWithPrefilter";
|
|
14
14
|
import { entityFilterToJson, Filter } from "../filter/filter-interfaces";
|
|
15
15
|
import { d } from "../tests/d";
|
|
16
|
-
import {
|
|
16
|
+
import { entityForrawFilter1 } from "../tests/entityForCustomFilter";
|
|
17
17
|
import { entityWithValidationsOnColumn } from "../tests/entityWithValidationsOnColumn";
|
|
18
18
|
import { Validators } from "../validators";
|
|
19
19
|
import { Status } from "../tests/testModel/models";
|
|
20
20
|
import { IdEntity } from "../id-entity";
|
|
21
|
+
import { describeClass } from "../remult3/DecoratorReplacer";
|
|
21
22
|
testAll("what", async ({ remult, createEntity }) => {
|
|
22
23
|
await (await createEntity(stam)).create({ id: 1, title: 'noam' }).save();
|
|
23
24
|
expect(await remult.repo(stam).count()).toBe(1);
|
|
@@ -124,13 +125,37 @@ testAll("put with validations on entity fails", async ({ remult, createEntity })
|
|
|
124
125
|
x = await s.find({ where: { myId: 1 } });
|
|
125
126
|
expect(x[0].name).toBe('noam');
|
|
126
127
|
});
|
|
127
|
-
testAll("test date with null works", async ({ createEntity }) => {
|
|
128
|
+
testAll("test date only with null works", async ({ createEntity }) => {
|
|
128
129
|
let repo = await createEntity(testDateWithNull);
|
|
129
130
|
let r = repo.create({ id: 0 });
|
|
130
131
|
await r.save();
|
|
131
132
|
r = await repo.findFirst();
|
|
132
133
|
expect(r.d).toBeNull();
|
|
133
134
|
expect(await repo.count({ d: null })).toBe(1);
|
|
135
|
+
r.d = new Date(1976, 5, 16);
|
|
136
|
+
await r.save();
|
|
137
|
+
expect(r.d.getFullYear()).toBe(1976);
|
|
138
|
+
r = await repo.findFirst();
|
|
139
|
+
expect(r.d.getFullYear()).toBe(1976);
|
|
140
|
+
r.d = null;
|
|
141
|
+
await r.save();
|
|
142
|
+
expect(r.d).toBeNull();
|
|
143
|
+
}, false);
|
|
144
|
+
testAll("test date with null works", async ({ createEntity }) => {
|
|
145
|
+
let repo = await createEntity(testDateWithNull);
|
|
146
|
+
let r = repo.create({ id: 0 });
|
|
147
|
+
await r.save();
|
|
148
|
+
r = await repo.findFirst();
|
|
149
|
+
expect(r.fullDate).toBeNull("expected null after");
|
|
150
|
+
expect(await repo.count({ fullDate: null })).toBe(1);
|
|
151
|
+
r.fullDate = new Date(1976, 5, 16);
|
|
152
|
+
await r.save();
|
|
153
|
+
expect(r.fullDate.getFullYear()).toBe(1976);
|
|
154
|
+
r = await repo.findFirst();
|
|
155
|
+
expect(r.fullDate.getFullYear()).toBe(1976);
|
|
156
|
+
r.fullDate = null;
|
|
157
|
+
await r.save();
|
|
158
|
+
expect(r.fullDate).toBeNull();
|
|
134
159
|
}, false);
|
|
135
160
|
testAll("test original value of date", async ({ createEntity }) => {
|
|
136
161
|
let r = await (await createEntity(testDateWithNull)).create({ id: 1, d: new Date(1976, 6, 16) }).save();
|
|
@@ -140,6 +165,7 @@ let testDateWithNull = class testDateWithNull extends EntityBase {
|
|
|
140
165
|
constructor() {
|
|
141
166
|
super(...arguments);
|
|
142
167
|
this.id = 0;
|
|
168
|
+
this.fullDate = null;
|
|
143
169
|
}
|
|
144
170
|
};
|
|
145
171
|
__decorate([
|
|
@@ -150,6 +176,10 @@ __decorate([
|
|
|
150
176
|
Fields.dateOnly({ allowNull: true }),
|
|
151
177
|
__metadata("design:type", Date)
|
|
152
178
|
], testDateWithNull.prototype, "d", void 0);
|
|
179
|
+
__decorate([
|
|
180
|
+
Fields.date({ allowNull: true }),
|
|
181
|
+
__metadata("design:type", Date)
|
|
182
|
+
], testDateWithNull.prototype, "fullDate", void 0);
|
|
153
183
|
testDateWithNull = __decorate([
|
|
154
184
|
Entity('testDateWithNull', { allowApiCrud: true })
|
|
155
185
|
], testDateWithNull);
|
|
@@ -204,7 +234,7 @@ testAll("test paging with complex object", async ({ remult, createEntity }) => {
|
|
|
204
234
|
i++;
|
|
205
235
|
}
|
|
206
236
|
expect(i).toBe(5);
|
|
207
|
-
});
|
|
237
|
+
}, false);
|
|
208
238
|
testAll("test paging with complex object_2", async ({ remult, createEntity }) => {
|
|
209
239
|
let c1 = await (await createEntity(c)).create({ id: 1, name: 'c1' }).save();
|
|
210
240
|
await (await createEntity(p)).create({ id: 1, name: 'p1', c: c1 }).save();
|
|
@@ -237,13 +267,13 @@ testAll("test filter doesn't collapse", async ({ createEntity }) => {
|
|
|
237
267
|
expect((await repo.find({ where: f })).length).toBe(2);
|
|
238
268
|
});
|
|
239
269
|
testAll("test that it works with inheritance", async ({ createEntity }) => {
|
|
240
|
-
let c = await createEntity(
|
|
270
|
+
let c = await createEntity(entityForrawFilter1);
|
|
241
271
|
for (let id = 0; id < 5; id++) {
|
|
242
272
|
await c.create({ id }).save();
|
|
243
273
|
}
|
|
244
|
-
expect(await (c.count(
|
|
245
|
-
expect((await (c.findFirst(
|
|
246
|
-
expect((await (c.findFirst(
|
|
274
|
+
expect(await (c.count(entityForrawFilter1.oneAndThree()))).toBe(2);
|
|
275
|
+
expect((await (c.findFirst(entityForrawFilter1.testNumericValue(2)))).id).toBe(2);
|
|
276
|
+
expect((await (c.findFirst(entityForrawFilter1.testObjectValue({ val: 2 })))).id).toBe(2);
|
|
247
277
|
});
|
|
248
278
|
testAll("put with validations on column fails", async ({ remult, createEntity }) => {
|
|
249
279
|
var s = await createEntity(entityWithValidationsOnColumn);
|
|
@@ -412,7 +442,7 @@ testAllDbs("get array works with filter in body", async ({ createData, remult })
|
|
|
412
442
|
return undefined;
|
|
413
443
|
}
|
|
414
444
|
}, {
|
|
415
|
-
|
|
445
|
+
"status.in": '[1, 2]'
|
|
416
446
|
});
|
|
417
447
|
d.test();
|
|
418
448
|
}, false);
|
|
@@ -537,7 +567,7 @@ let testFilter = class testFilter {
|
|
|
537
567
|
this.c = '';
|
|
538
568
|
}
|
|
539
569
|
};
|
|
540
|
-
testFilter.search = Filter.createCustom((
|
|
570
|
+
testFilter.search = Filter.createCustom((str, remult) => ({
|
|
541
571
|
$and: [{
|
|
542
572
|
$or: [
|
|
543
573
|
{ a: 'a' },
|
|
@@ -721,3 +751,19 @@ testAll("test transaction rollback", async ({ db }) => {
|
|
|
721
751
|
}
|
|
722
752
|
expect(fail).toBe(true);
|
|
723
753
|
});
|
|
754
|
+
testAll("test date", async ({ createEntity }) => {
|
|
755
|
+
const e = class {
|
|
756
|
+
constructor() {
|
|
757
|
+
this.a = 0;
|
|
758
|
+
this.d = new Date();
|
|
759
|
+
}
|
|
760
|
+
};
|
|
761
|
+
describeClass(e, Entity("tdate", { allowApiCrud: true }), {
|
|
762
|
+
a: Fields.number(),
|
|
763
|
+
d: Fields.date()
|
|
764
|
+
});
|
|
765
|
+
const r = await createEntity(e);
|
|
766
|
+
await r.insert({ a: 1, d: new Date(1976, 5, 16) });
|
|
767
|
+
let item = await r.findFirst();
|
|
768
|
+
expect(item.d.getFullYear()).toBe(1976);
|
|
769
|
+
}, false);
|
package/esm/src/sql-command.d.ts
CHANGED
|
@@ -5,10 +5,12 @@ export interface SqlImplementation {
|
|
|
5
5
|
transaction(action: (sql: SqlImplementation) => Promise<void>): Promise<void>;
|
|
6
6
|
entityIsUsedForTheFirstTime(entity: EntityMetadata): Promise<void>;
|
|
7
7
|
}
|
|
8
|
-
export interface SqlCommand {
|
|
9
|
-
addParameterAndReturnSqlToken(val: any): string;
|
|
8
|
+
export interface SqlCommand extends SqlCommandWithParameters {
|
|
10
9
|
execute(sql: string): Promise<SqlResult>;
|
|
11
10
|
}
|
|
11
|
+
export interface SqlCommandWithParameters {
|
|
12
|
+
addParameterAndReturnSqlToken(val: any): string;
|
|
13
|
+
}
|
|
12
14
|
export interface SqlResult {
|
|
13
15
|
rows: any[];
|
|
14
16
|
getColumnKeyInResultForIndexInSelect(index: number): string;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { EntityBase, EntityFilter } from '../remult3';
|
|
2
|
-
export declare class
|
|
2
|
+
export declare class entityForrawFilter extends EntityBase {
|
|
3
3
|
id: number;
|
|
4
4
|
static filter: ((y: {
|
|
5
5
|
oneAndThree?: boolean;
|
|
6
6
|
dbOneOrThree?: boolean;
|
|
7
7
|
two?: boolean;
|
|
8
|
-
}) => EntityFilter<
|
|
9
|
-
static oneAndThree: (() => EntityFilter<
|
|
10
|
-
static testNumericValue: ((y: number) => EntityFilter<
|
|
8
|
+
}) => EntityFilter<entityForrawFilter>) & import("../filter/filter-interfaces").rawFilterInfo<entityForrawFilter>;
|
|
9
|
+
static oneAndThree: (() => EntityFilter<entityForrawFilter>) & import("../filter/filter-interfaces").rawFilterInfo<entityForrawFilter>;
|
|
10
|
+
static testNumericValue: ((y: number) => EntityFilter<entityForrawFilter>) & import("../filter/filter-interfaces").rawFilterInfo<entityForrawFilter>;
|
|
11
11
|
static testObjectValue: ((y: {
|
|
12
12
|
val: number;
|
|
13
|
-
}) => EntityFilter<
|
|
13
|
+
}) => EntityFilter<entityForrawFilter>) & import("../filter/filter-interfaces").rawFilterInfo<entityForrawFilter>;
|
|
14
14
|
}
|
|
15
|
-
export declare class
|
|
15
|
+
export declare class entityForrawFilter1 extends entityForrawFilter {
|
|
16
16
|
}
|
|
@@ -1,44 +1,43 @@
|
|
|
1
|
-
var
|
|
1
|
+
var entityForrawFilter_1;
|
|
2
2
|
import { __decorate, __metadata } from "tslib";
|
|
3
3
|
import { SqlDatabase } from '../data-providers/sql-database';
|
|
4
4
|
import { Entity, EntityBase, Fields } from '../remult3';
|
|
5
5
|
import { Filter } from '../filter/filter-interfaces';
|
|
6
6
|
import { ArrayEntityDataProvider } from '../data-providers/array-entity-data-provider';
|
|
7
|
-
import {
|
|
8
|
-
let
|
|
7
|
+
import { dbNamesOf } from '../filter/filter-consumer-bridge-to-sql-request';
|
|
8
|
+
let entityForrawFilter = entityForrawFilter_1 = class entityForrawFilter extends EntityBase {
|
|
9
9
|
};
|
|
10
|
-
|
|
10
|
+
entityForrawFilter.filter = Filter.createCustom(async (c, remult) => {
|
|
11
11
|
let r = [];
|
|
12
12
|
if (c.oneAndThree)
|
|
13
13
|
r.push({ id: [1, 3] });
|
|
14
14
|
if (c.two)
|
|
15
15
|
r.push({ id: 2 });
|
|
16
16
|
if (c.dbOneOrThree) {
|
|
17
|
-
|
|
18
|
-
const e = await getDbNameProvider(meta);
|
|
17
|
+
const e = await dbNamesOf(remult.repo(entityForrawFilter_1));
|
|
19
18
|
r.push({
|
|
20
19
|
$and: [
|
|
21
|
-
SqlDatabase.
|
|
22
|
-
ArrayEntityDataProvider.
|
|
20
|
+
SqlDatabase.rawFilter(async (x) => x.sql = e.id + ' in (' + x.addParameterAndReturnSqlToken(1) + "," + x.addParameterAndReturnSqlToken(3) + ")"),
|
|
21
|
+
ArrayEntityDataProvider.rawFilter(x => x.id == 1 || x.id == 3)
|
|
23
22
|
]
|
|
24
23
|
});
|
|
25
24
|
}
|
|
26
25
|
return { $and: r };
|
|
27
26
|
});
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
entityForrawFilter.oneAndThree = Filter.createCustom(() => ({ id: [1, 3] }));
|
|
28
|
+
entityForrawFilter.testNumericValue = Filter.createCustom((val) => ({ id: val }));
|
|
29
|
+
entityForrawFilter.testObjectValue = Filter.createCustom((val) => ({ id: val.val }));
|
|
31
30
|
__decorate([
|
|
32
31
|
Fields.integer(),
|
|
33
32
|
__metadata("design:type", Number)
|
|
34
|
-
],
|
|
35
|
-
|
|
36
|
-
Entity('
|
|
37
|
-
],
|
|
38
|
-
export {
|
|
39
|
-
let
|
|
33
|
+
], entityForrawFilter.prototype, "id", void 0);
|
|
34
|
+
entityForrawFilter = entityForrawFilter_1 = __decorate([
|
|
35
|
+
Entity('entityForrawFilter', { allowApiCrud: true })
|
|
36
|
+
], entityForrawFilter);
|
|
37
|
+
export { entityForrawFilter };
|
|
38
|
+
let entityForrawFilter1 = class entityForrawFilter1 extends entityForrawFilter {
|
|
40
39
|
};
|
|
41
|
-
|
|
42
|
-
Entity('
|
|
43
|
-
],
|
|
44
|
-
export {
|
|
40
|
+
entityForrawFilter1 = __decorate([
|
|
41
|
+
Entity('entityForrawFilter1', { allowApiCrud: true })
|
|
42
|
+
], entityForrawFilter1);
|
|
43
|
+
export { entityForrawFilter1 };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { addDatabaseToTest, itWithFocus } from "../shared-tests/db-tests-setup";
|
|
2
|
-
import { InMemoryDataProvider } from "../..";
|
|
2
|
+
import { InMemoryDataProvider, remult } from "../..";
|
|
3
3
|
import { Remult } from "../context";
|
|
4
4
|
import { SqlDatabase } from "../data-providers/sql-database";
|
|
5
5
|
import { WebSqlDataProvider } from "../data-providers/web-sql-data-provider";
|
|
@@ -28,7 +28,6 @@ export function testRest(key, what, focus = false) {
|
|
|
28
28
|
itWithFocus(key + " - Rest Provider", async () => {
|
|
29
29
|
let r = new Remult();
|
|
30
30
|
r.dataProvider = (new InMemoryDataProvider());
|
|
31
|
-
let remult = new Remult();
|
|
32
31
|
let db = new MockRestDataProvider(r);
|
|
33
32
|
remult.dataProvider = (db);
|
|
34
33
|
await what({ db, remult, createEntity: async (x) => remult.repo(x) });
|
|
@@ -31,6 +31,6 @@ export declare class MockRestDataProvider implements DataProvider {
|
|
|
31
31
|
constructor(remult: Remult);
|
|
32
32
|
getEntityDataProvider(metadata: EntityMetadata<any>): EntityDataProvider;
|
|
33
33
|
transaction(action: (dataProvider: DataProvider) => Promise<void>): Promise<void>;
|
|
34
|
-
|
|
34
|
+
supportsrawFilter: boolean;
|
|
35
35
|
}
|
|
36
|
-
export declare function createMockHttpDataProvider(dataApi: DataApi<any>): import("
|
|
36
|
+
export declare function createMockHttpDataProvider(dataApi: DataApi<any>): import("../data-interfaces").RestDataProviderHttpProvider;
|
|
@@ -104,7 +104,6 @@ export async function testSql(runAsync) {
|
|
|
104
104
|
await runAsync({ db: sql, remult });
|
|
105
105
|
}
|
|
106
106
|
export async function testInMemoryDb(runAsync) {
|
|
107
|
-
let remult = new Remult();
|
|
108
107
|
let db = new InMemoryDataProvider();
|
|
109
108
|
remult.dataProvider = (db);
|
|
110
109
|
await runAsync({ db, remult });
|
|
@@ -155,7 +154,7 @@ function urlToReq(url) {
|
|
|
155
154
|
export class MockRestDataProvider {
|
|
156
155
|
constructor(remult) {
|
|
157
156
|
this.remult = remult;
|
|
158
|
-
this.
|
|
157
|
+
this.supportsrawFilter = true;
|
|
159
158
|
}
|
|
160
159
|
getEntityDataProvider(metadata) {
|
|
161
160
|
let dataApi = new DataApi(this.remult.repo(metadata.entityType), this.remult);
|
|
@@ -3,6 +3,8 @@ export class ValueConverters {
|
|
|
3
3
|
}
|
|
4
4
|
ValueConverters.Date = {
|
|
5
5
|
toJson: (val) => {
|
|
6
|
+
if (val === null)
|
|
7
|
+
return null;
|
|
6
8
|
if (!val)
|
|
7
9
|
return '';
|
|
8
10
|
if (typeof (val) === "string")
|
|
@@ -11,11 +13,12 @@ ValueConverters.Date = {
|
|
|
11
13
|
return val.toISOString();
|
|
12
14
|
}
|
|
13
15
|
else {
|
|
14
|
-
|
|
15
|
-
throw new Error("Expected date but got val");
|
|
16
|
+
throw new Error("Expected date but got " + val);
|
|
16
17
|
}
|
|
17
18
|
},
|
|
18
19
|
fromJson: (val) => {
|
|
20
|
+
if (val === null)
|
|
21
|
+
return null;
|
|
19
22
|
if (val == undefined)
|
|
20
23
|
return undefined;
|
|
21
24
|
if (val == '')
|
|
@@ -25,7 +28,15 @@ ValueConverters.Date = {
|
|
|
25
28
|
return new Date(Date.parse(val));
|
|
26
29
|
},
|
|
27
30
|
toDb: x => x,
|
|
28
|
-
fromDb:
|
|
31
|
+
fromDb: val => {
|
|
32
|
+
if (typeof val === "number")
|
|
33
|
+
val = new Date(val);
|
|
34
|
+
if (typeof (val) === "string")
|
|
35
|
+
val = new Date(val);
|
|
36
|
+
if (val && !(val instanceof Date))
|
|
37
|
+
throw "expected date but got " + val;
|
|
38
|
+
return val;
|
|
39
|
+
},
|
|
29
40
|
fromInput: x => ValueConverters.Date.fromJson(x),
|
|
30
41
|
toInput: x => ValueConverters.Date.toJson(x),
|
|
31
42
|
displayValue: (val) => {
|
|
@@ -63,10 +74,7 @@ ValueConverters.DateOnly = {
|
|
|
63
74
|
} //when using date storage, the database expects and returns a date local and every where else we reflect on date iso
|
|
64
75
|
,
|
|
65
76
|
fromDb: (val) => {
|
|
66
|
-
|
|
67
|
-
if (!d)
|
|
68
|
-
return null;
|
|
69
|
-
return val;
|
|
77
|
+
return ValueConverters.Date.fromDb(val);
|
|
70
78
|
},
|
|
71
79
|
fieldTypeInDb: 'date',
|
|
72
80
|
displayValue: (value) => {
|
|
@@ -100,6 +108,8 @@ ValueConverters.Boolean = {
|
|
|
100
108
|
fromJson: value => {
|
|
101
109
|
if (typeof value === "boolean")
|
|
102
110
|
return value;
|
|
111
|
+
if (value === 1)
|
|
112
|
+
return true;
|
|
103
113
|
if (value !== undefined && value !== null) {
|
|
104
114
|
return value.toString().trim().toLowerCase() == 'true';
|
|
105
115
|
}
|
package/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { Field, Fields, FieldsMetadata, Entity, EntityBase, ControllerBase, FieldRef, IdFieldRef, FieldsRef, EntityMetadata, EntityOrderBy, EntityFilter, FindOptions, QueryResult, QueryOptions, Repository, FieldType, FindFirstOptions, ComparisonValueFilter, ValueFilter, IdFilter, ContainsStringValueFilter, getFields, EntityRef, getEntityRef, SortSegments, ValueListFieldType, getValueList, ValueListFieldOptions, ValueListInfo, OmitEB, Paginator, CaptionTransformer } from './src/remult3';
|
|
1
|
+
export { Field, Fields, FieldsMetadata, Entity, EntityBase, ControllerBase, FieldRef, IdFieldRef, FieldsRef, EntityMetadata, EntityOrderBy, EntityFilter, FindOptions, QueryResult, QueryOptions, Repository, FieldType, FindFirstOptions, ComparisonValueFilter, ValueFilter, IdFilter, ContainsStringValueFilter, getFields, EntityRef, getEntityRef, SortSegments, ValueListFieldType, getValueList, ValueListFieldOptions, ValueListInfo, OmitEB, Paginator, CaptionTransformer, LiveQuery, LiveQueryChangeInfo } from './src/remult3';
|
|
2
2
|
export { StringFieldOptions } from './src/remult3/RepositoryImplementation';
|
|
3
3
|
export { describeClass } from './src/remult3/DecoratorReplacer';
|
|
4
4
|
export { EntityOptions } from './src/entity';
|
|
@@ -11,7 +11,7 @@ export { InMemoryDataProvider } from './src/data-providers/in-memory-database';
|
|
|
11
11
|
export { ArrayEntityDataProvider } from './src/data-providers/array-entity-data-provider';
|
|
12
12
|
export { WebSqlDataProvider } from './src/data-providers/web-sql-data-provider';
|
|
13
13
|
export { SqlDatabase, } from './src/data-providers/sql-database';
|
|
14
|
-
export { CustomSqlFilterObject, CustomSqlFilterBuilder } from './src/filter/filter-consumer-bridge-to-sql-request';
|
|
14
|
+
export { CustomSqlFilterObject, CustomSqlFilterBuilder, dbNamesOf } from './src/filter/filter-consumer-bridge-to-sql-request';
|
|
15
15
|
export { JsonDataProvider, JsonEntityStorage } from './src/data-providers/json-data-provider';
|
|
16
16
|
export { Controller, BackendMethodOptions, BackendMethod, ProgressListener } from './src/server-action';
|
|
17
17
|
export { Allowed, Allow, Remult, RemultContext, ApiClient, isBackend, AllowedForInstance, EventDispatcher, EventSource, Unobserve, UserInfo } from './src/context';
|
|
@@ -20,8 +20,9 @@ export { IdEntity } from './src/id-entity';
|
|
|
20
20
|
export { SortSegment, Sort } from './src/sort';
|
|
21
21
|
export { OneToMany, CompoundIdField } from './src/column';
|
|
22
22
|
export { Filter } from './src/filter/filter-interfaces';
|
|
23
|
-
export { FilterConsumerBridgeToSqlRequest } from './src/filter/filter-consumer-bridge-to-sql-request';
|
|
24
23
|
export { UrlBuilder } from './urlBuilder';
|
|
25
24
|
export { Validators } from './src/validators';
|
|
26
25
|
export { ValueConverters } from './src/valueConverters';
|
|
27
26
|
export { remult } from './src/remult-proxy';
|
|
27
|
+
export { SubscriptionServer, LiveQueryStorage, StoredQuery, InMemoryLiveQueryStorage } from "./src/live-query/SubscriptionServer";
|
|
28
|
+
export { SubscriptionListener, SubscriptionClientConnection, SubscriptionClient, SubscriptionChannel, LiveQueryChange, Unsubscribe } from './src/live-query/SubscriptionChannel';
|
package/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.SubscriptionChannel = exports.InMemoryLiveQueryStorage = exports.remult = exports.ValueConverters = exports.Validators = exports.UrlBuilder = exports.Filter = exports.CompoundIdField = exports.OneToMany = exports.Sort = exports.IdEntity = exports.EventSource = exports.isBackend = exports.Remult = exports.Allow = exports.ProgressListener = exports.BackendMethod = exports.Controller = exports.JsonDataProvider = exports.dbNamesOf = exports.CustomSqlFilterBuilder = exports.SqlDatabase = exports.WebSqlDataProvider = exports.ArrayEntityDataProvider = exports.InMemoryDataProvider = exports.RestDataProvider = exports.describeClass = exports.CaptionTransformer = exports.ValueListInfo = exports.getValueList = exports.ValueListFieldType = exports.getEntityRef = exports.getFields = exports.FieldType = exports.ControllerBase = exports.EntityBase = exports.Entity = exports.Fields = exports.Field = void 0;
|
|
4
4
|
/*
|
|
5
5
|
* Public API Surface of remult
|
|
6
6
|
*/
|
|
@@ -31,6 +31,7 @@ var sql_database_1 = require("./src/data-providers/sql-database"); //V
|
|
|
31
31
|
Object.defineProperty(exports, "SqlDatabase", { enumerable: true, get: function () { return sql_database_1.SqlDatabase; } });
|
|
32
32
|
var filter_consumer_bridge_to_sql_request_1 = require("./src/filter/filter-consumer-bridge-to-sql-request");
|
|
33
33
|
Object.defineProperty(exports, "CustomSqlFilterBuilder", { enumerable: true, get: function () { return filter_consumer_bridge_to_sql_request_1.CustomSqlFilterBuilder; } });
|
|
34
|
+
Object.defineProperty(exports, "dbNamesOf", { enumerable: true, get: function () { return filter_consumer_bridge_to_sql_request_1.dbNamesOf; } });
|
|
34
35
|
var json_data_provider_1 = require("./src/data-providers/json-data-provider"); //V
|
|
35
36
|
Object.defineProperty(exports, "JsonDataProvider", { enumerable: true, get: function () { return json_data_provider_1.JsonDataProvider; } });
|
|
36
37
|
//export * from './src/data-api'; //reconsider if to make internal
|
|
@@ -52,8 +53,6 @@ Object.defineProperty(exports, "OneToMany", { enumerable: true, get: function ()
|
|
|
52
53
|
Object.defineProperty(exports, "CompoundIdField", { enumerable: true, get: function () { return column_1.CompoundIdField; } });
|
|
53
54
|
var filter_interfaces_1 = require("./src/filter/filter-interfaces");
|
|
54
55
|
Object.defineProperty(exports, "Filter", { enumerable: true, get: function () { return filter_interfaces_1.Filter; } });
|
|
55
|
-
var filter_consumer_bridge_to_sql_request_2 = require("./src/filter/filter-consumer-bridge-to-sql-request");
|
|
56
|
-
Object.defineProperty(exports, "FilterConsumerBridgeToSqlRequest", { enumerable: true, get: function () { return filter_consumer_bridge_to_sql_request_2.FilterConsumerBridgeToSqlRequest; } });
|
|
57
56
|
var urlBuilder_1 = require("./urlBuilder");
|
|
58
57
|
Object.defineProperty(exports, "UrlBuilder", { enumerable: true, get: function () { return urlBuilder_1.UrlBuilder; } });
|
|
59
58
|
var validators_1 = require("./src/validators");
|
|
@@ -62,3 +61,8 @@ var valueConverters_1 = require("./src/valueConverters");
|
|
|
62
61
|
Object.defineProperty(exports, "ValueConverters", { enumerable: true, get: function () { return valueConverters_1.ValueConverters; } });
|
|
63
62
|
var remult_proxy_1 = require("./src/remult-proxy");
|
|
64
63
|
Object.defineProperty(exports, "remult", { enumerable: true, get: function () { return remult_proxy_1.remult; } });
|
|
64
|
+
//export { getId } from './src/remult3/getId';
|
|
65
|
+
var SubscriptionServer_1 = require("./src/live-query/SubscriptionServer");
|
|
66
|
+
Object.defineProperty(exports, "InMemoryLiveQueryStorage", { enumerable: true, get: function () { return SubscriptionServer_1.InMemoryLiveQueryStorage; } });
|
|
67
|
+
var SubscriptionChannel_1 = require("./src/live-query/SubscriptionChannel");
|
|
68
|
+
Object.defineProperty(exports, "SubscriptionChannel", { enumerable: true, get: function () { return SubscriptionChannel_1.SubscriptionChannel; } });
|
package/live-query/ably.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type * as Ably from 'ably';
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
export declare class
|
|
2
|
+
import type { SubscriptionServer } from '../src/live-query/SubscriptionServer';
|
|
3
|
+
import type { SubscriptionClient, SubscriptionClientConnection } from '../src/live-query/SubscriptionChannel';
|
|
4
|
+
export declare class AblySubscriptionClient implements SubscriptionClient {
|
|
5
5
|
private ably;
|
|
6
6
|
constructor(ably: Ably.Types.RealtimePromise);
|
|
7
|
-
|
|
7
|
+
openConnection(onReconnect: VoidFunction): Promise<SubscriptionClientConnection>;
|
|
8
8
|
}
|
|
9
|
-
export declare class
|
|
9
|
+
export declare class AblySubscriptionServer implements SubscriptionServer {
|
|
10
10
|
private ably;
|
|
11
11
|
constructor(ably: Ably.Types.RealtimePromise);
|
|
12
|
-
|
|
12
|
+
publishMessage<T>(channel: string, message: T): void;
|
|
13
13
|
}
|
package/live-query/ably.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.AblySubscriptionServer = exports.AblySubscriptionClient = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
-
var
|
|
6
|
-
function
|
|
5
|
+
var AblySubscriptionClient = /** @class */ (function () {
|
|
6
|
+
function AblySubscriptionClient(ably) {
|
|
7
7
|
this.ably = ably;
|
|
8
8
|
}
|
|
9
|
-
|
|
9
|
+
AblySubscriptionClient.prototype.openConnection = function (onReconnect) {
|
|
10
10
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
11
11
|
var _this = this;
|
|
12
12
|
return tslib_1.__generator(this, function (_a) {
|
|
13
13
|
return [2 /*return*/, {
|
|
14
|
-
|
|
14
|
+
close: function () {
|
|
15
15
|
_this.ably.connection.close();
|
|
16
16
|
},
|
|
17
17
|
subscribe: function (channel, handler) {
|
|
@@ -23,16 +23,16 @@ var AblyLiveQueryProvider = /** @class */ (function () {
|
|
|
23
23
|
});
|
|
24
24
|
});
|
|
25
25
|
};
|
|
26
|
-
return
|
|
26
|
+
return AblySubscriptionClient;
|
|
27
27
|
}());
|
|
28
|
-
exports.
|
|
29
|
-
var
|
|
30
|
-
function
|
|
28
|
+
exports.AblySubscriptionClient = AblySubscriptionClient;
|
|
29
|
+
var AblySubscriptionServer = /** @class */ (function () {
|
|
30
|
+
function AblySubscriptionServer(ably) {
|
|
31
31
|
this.ably = ably;
|
|
32
32
|
}
|
|
33
|
-
|
|
33
|
+
AblySubscriptionServer.prototype.publishMessage = function (channel, message) {
|
|
34
34
|
this.ably.channels.get(channel).publish({ data: message });
|
|
35
35
|
};
|
|
36
|
-
return
|
|
36
|
+
return AblySubscriptionServer;
|
|
37
37
|
}());
|
|
38
|
-
exports.
|
|
38
|
+
exports.AblySubscriptionServer = AblySubscriptionServer;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "remult",
|
|
3
|
-
"version": "0.18.1-exp.
|
|
3
|
+
"version": "0.18.1-exp.21",
|
|
4
4
|
"description": "A CRUD framework for full-stack TypeScript",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"uuid": "^8.3.2",
|
|
20
|
+
"cuid": "^2.1.8",
|
|
20
21
|
"reflect-metadata": "^0.1.13",
|
|
21
22
|
"tslib": "^2.3.1"
|
|
22
23
|
},
|
|
@@ -37,6 +38,14 @@
|
|
|
37
38
|
},
|
|
38
39
|
"import": "./esm/remult-express.js"
|
|
39
40
|
},
|
|
41
|
+
"./remult-next": {
|
|
42
|
+
"require": "./remult-next.js",
|
|
43
|
+
"node": {
|
|
44
|
+
"require": "./remult-next.js",
|
|
45
|
+
"import": "./remult-next.js"
|
|
46
|
+
},
|
|
47
|
+
"import": "./esm/remult-next.js"
|
|
48
|
+
},
|
|
40
49
|
"./server": {
|
|
41
50
|
"require": "./server/index.js",
|
|
42
51
|
"node": {
|
|
@@ -45,6 +54,14 @@
|
|
|
45
54
|
},
|
|
46
55
|
"import": "./esm/server/index.js"
|
|
47
56
|
},
|
|
57
|
+
"./server/core": {
|
|
58
|
+
"require": "./server/core.js",
|
|
59
|
+
"node": {
|
|
60
|
+
"require": "./server/core.js",
|
|
61
|
+
"import": "./server/core.js"
|
|
62
|
+
},
|
|
63
|
+
"import": "./esm/server/core.js"
|
|
64
|
+
},
|
|
48
65
|
"./remult-fastify": {
|
|
49
66
|
"require": "./remult-fastify.js",
|
|
50
67
|
"node": {
|
|
@@ -93,14 +110,6 @@
|
|
|
93
110
|
},
|
|
94
111
|
"import": "./esm/remult-mongo.js"
|
|
95
112
|
},
|
|
96
|
-
"./live-query": {
|
|
97
|
-
"require": "./live-query/index.js",
|
|
98
|
-
"node": {
|
|
99
|
-
"require": "./live-query/index.js",
|
|
100
|
-
"import": "./live-query/index.js"
|
|
101
|
-
},
|
|
102
|
-
"import": "./esm/live-query/index.js"
|
|
103
|
-
},
|
|
104
113
|
"./live-query/ably": {
|
|
105
114
|
"require": "./live-query/ably.js",
|
|
106
115
|
"node": {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { PoolConfig, QueryResult } from 'pg';
|
|
1
|
+
import { ClientBase, PoolConfig, QueryResult } from 'pg';
|
|
2
|
+
import { Remult } from '../src/context';
|
|
2
3
|
import { EntityMetadata } from '../src/remult3';
|
|
3
4
|
import { SqlCommand, SqlImplementation } from '../src/sql-command';
|
|
4
5
|
import { SqlDatabase } from '../src/data-providers/sql-database';
|
|
@@ -10,6 +11,7 @@ export interface PostgresClient extends PostgresCommandSource {
|
|
|
10
11
|
}
|
|
11
12
|
export declare class PostgresDataProvider implements SqlImplementation {
|
|
12
13
|
private pool;
|
|
14
|
+
static getDb(remult?: Remult): ClientBase;
|
|
13
15
|
entityIsUsedForTheFirstTime(entity: EntityMetadata): Promise<void>;
|
|
14
16
|
getLimitSqlSyntax(limit: number, offset: number): string;
|
|
15
17
|
createCommand(): SqlCommand;
|
|
@@ -10,6 +10,14 @@ var PostgresDataProvider = /** @class */ (function () {
|
|
|
10
10
|
function PostgresDataProvider(pool) {
|
|
11
11
|
this.pool = pool;
|
|
12
12
|
}
|
|
13
|
+
PostgresDataProvider.getDb = function (remult) {
|
|
14
|
+
var sql = sql_database_1.SqlDatabase.getDb(remult);
|
|
15
|
+
var me = sql._getSourceSql();
|
|
16
|
+
if (!me.pool) {
|
|
17
|
+
throw "the data provider is not a PostgresDataProvider";
|
|
18
|
+
}
|
|
19
|
+
return me.pool;
|
|
20
|
+
};
|
|
13
21
|
PostgresDataProvider.prototype.entityIsUsedForTheFirstTime = function (entity) {
|
|
14
22
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
15
23
|
return tslib_1.__generator(this, function (_a) {
|
|
@@ -41,7 +49,9 @@ var PostgresDataProvider = /** @class */ (function () {
|
|
|
41
49
|
createCommand: function () { return new PostgresBridgeToSQLCommand(client); },
|
|
42
50
|
entityIsUsedForTheFirstTime: this.entityIsUsedForTheFirstTime,
|
|
43
51
|
transaction: function () { throw "nested transactions not allowed"; },
|
|
44
|
-
getLimitSqlSyntax: this.getLimitSqlSyntax
|
|
52
|
+
getLimitSqlSyntax: this.getLimitSqlSyntax,
|
|
53
|
+
//@ts-ignore
|
|
54
|
+
pool: client
|
|
45
55
|
})];
|
|
46
56
|
case 4:
|
|
47
57
|
_a.sent();
|
|
@@ -140,7 +150,7 @@ function preparePostgresQueueStorage(sql) {
|
|
|
140
150
|
case 0:
|
|
141
151
|
c = new context_1.Remult();
|
|
142
152
|
c.dataProvider = (sql);
|
|
143
|
-
return [4 /*yield*/, Promise.resolve().then(function () { return require('../server/expressBridge'); })];
|
|
153
|
+
return [4 /*yield*/, Promise.resolve().then(function () { return tslib_1.__importStar(require('../server/expressBridge')); })];
|
|
144
154
|
case 1:
|
|
145
155
|
JobsInQueueEntity = (_a.sent()).JobsInQueueEntity;
|
|
146
156
|
e = c.repo(JobsInQueueEntity);
|
|
@@ -150,7 +160,7 @@ function preparePostgresQueueStorage(sql) {
|
|
|
150
160
|
return [4 /*yield*/, new schema_builder_1.PostgresSchemaBuilder(sql).verifyAllColumns(e.metadata)];
|
|
151
161
|
case 3:
|
|
152
162
|
_a.sent();
|
|
153
|
-
return [4 /*yield*/, Promise.resolve().then(function () { return require('../server/expressBridge'); })];
|
|
163
|
+
return [4 /*yield*/, Promise.resolve().then(function () { return tslib_1.__importStar(require('../server/expressBridge')); })];
|
|
154
164
|
case 4: return [2 /*return*/, new (_a.sent()).EntityQueueStorage(c.repo(JobsInQueueEntity))];
|
|
155
165
|
}
|
|
156
166
|
});
|
|
@@ -6,7 +6,7 @@ export declare function postgresColumnSyntax(x: FieldMetadata, dbName: string):
|
|
|
6
6
|
export declare function verifyStructureOfAllEntities(db: SqlDatabase, remult: Remult): Promise<void>;
|
|
7
7
|
export declare class PostgresSchemaBuilder {
|
|
8
8
|
private pool;
|
|
9
|
-
verifyStructureOfAllEntities(remult
|
|
9
|
+
verifyStructureOfAllEntities(remult?: Remult): Promise<void>;
|
|
10
10
|
createIfNotExist(entity: EntityMetadata): Promise<void>;
|
|
11
11
|
addColumnIfNotExist<T extends EntityMetadata>(entity: T, c: ((e: T) => FieldMetadata)): Promise<void>;
|
|
12
12
|
verifyAllColumns<T extends EntityMetadata>(entity: T): Promise<void>;
|