@expo/entity-database-adapter-knex 0.27.0 → 0.29.0

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 (41) hide show
  1. package/build/EntityFields.d.ts +20 -0
  2. package/build/EntityFields.js +33 -0
  3. package/build/EntityFields.js.map +1 -0
  4. package/build/PostgresEntityDatabaseAdapter.js +3 -2
  5. package/build/PostgresEntityDatabaseAdapter.js.map +1 -1
  6. package/build/PostgresEntityQueryContextProvider.d.ts +1 -0
  7. package/build/PostgresEntityQueryContextProvider.js +3 -0
  8. package/build/PostgresEntityQueryContextProvider.js.map +1 -1
  9. package/build/__integration-tests__/PostgresEntityIntegration-test.js +35 -1
  10. package/build/__integration-tests__/PostgresEntityIntegration-test.js.map +1 -1
  11. package/build/__integration-tests__/PostgresEntityQueryContextProvider-test.d.ts +1 -0
  12. package/build/__integration-tests__/PostgresEntityQueryContextProvider-test.js +88 -0
  13. package/build/__integration-tests__/PostgresEntityQueryContextProvider-test.js.map +1 -0
  14. package/build/__tests__/EntityFields-test.d.ts +1 -0
  15. package/build/__tests__/EntityFields-test.js +8 -0
  16. package/build/__tests__/EntityFields-test.js.map +1 -0
  17. package/build/index.d.ts +1 -0
  18. package/build/index.js +15 -0
  19. package/build/index.js.map +1 -1
  20. package/build/testfixtures/PostgresTestEntity.d.ts +1 -0
  21. package/build/testfixtures/PostgresTestEntity.js +8 -4
  22. package/build/testfixtures/PostgresTestEntity.js.map +1 -1
  23. package/build/testfixtures/PostgresTriggerTestEntity.js +1 -2
  24. package/build/testfixtures/PostgresTriggerTestEntity.js.map +1 -1
  25. package/build/testfixtures/PostgresUniqueTestEntity.d.ts +19 -0
  26. package/build/testfixtures/PostgresUniqueTestEntity.js +66 -0
  27. package/build/testfixtures/PostgresUniqueTestEntity.js.map +1 -0
  28. package/build/testfixtures/PostgresValidatorTestEntity.js +1 -2
  29. package/build/testfixtures/PostgresValidatorTestEntity.js.map +1 -1
  30. package/package.json +3 -3
  31. package/src/EntityFields.ts +29 -0
  32. package/src/PostgresEntityDatabaseAdapter.ts +1 -2
  33. package/src/PostgresEntityQueryContextProvider.ts +6 -0
  34. package/src/__integration-tests__/PostgresEntityIntegration-test.ts +46 -1
  35. package/src/__integration-tests__/PostgresEntityQueryContextProvider-test.ts +101 -0
  36. package/src/__tests__/EntityFields-test.ts +19 -0
  37. package/src/index.ts +1 -0
  38. package/src/testfixtures/PostgresTestEntity.ts +8 -5
  39. package/src/testfixtures/PostgresTriggerTestEntity.ts +1 -3
  40. package/src/testfixtures/PostgresUniqueTestEntity.ts +115 -0
  41. package/src/testfixtures/PostgresValidatorTestEntity.ts +1 -3
@@ -0,0 +1,20 @@
1
+ import { EntityFieldDefinition } from '@expo/entity';
2
+ /**
3
+ * EntityFieldDefinition for a Postres column with a JS JSON array type.
4
+ */
5
+ export declare class JSONArrayField extends EntityFieldDefinition<any[]> {
6
+ protected validateInputValueInternal(value: any[]): boolean;
7
+ }
8
+ /**
9
+ * EntityFieldDefinition for a Postgres column that may be a JS JSON array type.
10
+ * Does not do any validation.
11
+ */
12
+ export declare class MaybeJSONArrayField extends EntityFieldDefinition<any | any[]> {
13
+ protected validateInputValueInternal(_value: any): boolean;
14
+ }
15
+ /**
16
+ * EntityFieldDefinition for a Postgres BIGINT column.
17
+ */
18
+ export declare class BigIntField extends EntityFieldDefinition<string> {
19
+ protected validateInputValueInternal(value: string): boolean;
20
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BigIntField = exports.MaybeJSONArrayField = exports.JSONArrayField = void 0;
4
+ const entity_1 = require("@expo/entity");
5
+ /**
6
+ * EntityFieldDefinition for a Postres column with a JS JSON array type.
7
+ */
8
+ class JSONArrayField extends entity_1.EntityFieldDefinition {
9
+ validateInputValueInternal(value) {
10
+ return Array.isArray(value);
11
+ }
12
+ }
13
+ exports.JSONArrayField = JSONArrayField;
14
+ /**
15
+ * EntityFieldDefinition for a Postgres column that may be a JS JSON array type.
16
+ * Does not do any validation.
17
+ */
18
+ class MaybeJSONArrayField extends entity_1.EntityFieldDefinition {
19
+ validateInputValueInternal(_value) {
20
+ return true;
21
+ }
22
+ }
23
+ exports.MaybeJSONArrayField = MaybeJSONArrayField;
24
+ /**
25
+ * EntityFieldDefinition for a Postgres BIGINT column.
26
+ */
27
+ class BigIntField extends entity_1.EntityFieldDefinition {
28
+ validateInputValueInternal(value) {
29
+ return typeof value === 'string';
30
+ }
31
+ }
32
+ exports.BigIntField = BigIntField;
33
+ //# sourceMappingURL=EntityFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityFields.js","sourceRoot":"","sources":["../src/EntityFields.ts"],"names":[],"mappings":";;;AAAA,yCAAqD;AAErD;;GAEG;AACH,MAAa,cAAe,SAAQ,8BAA4B;IACpD,0BAA0B,CAAC,KAAY;QAC/C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;CACF;AAJD,wCAIC;AAED;;;GAGG;AACH,MAAa,mBAAoB,SAAQ,8BAAkC;IAC/D,0BAA0B,CAAC,MAAW;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAJD,kDAIC;AAED;;GAEG;AACH,MAAa,WAAY,SAAQ,8BAA6B;IAClD,0BAA0B,CAAC,KAAa;QAChD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;IACnC,CAAC;CACF;AAJD,kCAIC"}
@@ -4,12 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const entity_1 = require("@expo/entity");
7
+ const EntityFields_1 = require("./EntityFields");
7
8
  const wrapNativePostgresCallAsync_1 = __importDefault(require("./errors/wrapNativePostgresCallAsync"));
8
9
  class PostgresEntityDatabaseAdapter extends entity_1.EntityDatabaseAdapter {
9
10
  getFieldTransformerMap() {
10
11
  return new Map([
11
12
  [
12
- entity_1.JSONArrayField.name,
13
+ EntityFields_1.JSONArrayField.name,
13
14
  {
14
15
  /**
15
16
  * JSON array fields must be stringified before insertion using Knex.
@@ -19,7 +20,7 @@ class PostgresEntityDatabaseAdapter extends entity_1.EntityDatabaseAdapter {
19
20
  },
20
21
  ],
21
22
  [
22
- entity_1.MaybeJSONArrayField.name,
23
+ EntityFields_1.MaybeJSONArrayField.name,
23
24
  {
24
25
  /**
25
26
  * JSON array fields must be stringified before insertion using Knex.
@@ -1 +1 @@
1
- {"version":3,"file":"PostgresEntityDatabaseAdapter.js","sourceRoot":"","sources":["../src/PostgresEntityDatabaseAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostgresEntityDatabaseAdapter.js","sourceRoot":"","sources":["../src/PostgresEntityDatabaseAdapter.ts"],"names":[],"mappings":"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"}
@@ -8,4 +8,5 @@ export default class PostgresEntityQueryContextProvider extends EntityQueryConte
8
8
  constructor(knexInstance: Knex);
9
9
  protected getQueryInterface(): any;
10
10
  protected createTransactionRunner<T>(): (transactionScope: (trx: any) => Promise<T>) => Promise<T>;
11
+ protected createNestedTransactionRunner<T>(outerQueryInterface: any): (transactionScope: (queryInterface: any) => Promise<T>) => Promise<T>;
11
12
  }
@@ -15,6 +15,9 @@ class PostgresEntityQueryContextProvider extends entity_1.EntityQueryContextProv
15
15
  createTransactionRunner() {
16
16
  return (transactionScope) => this.knexInstance.transaction(transactionScope);
17
17
  }
18
+ createNestedTransactionRunner(outerQueryInterface) {
19
+ return (transactionScope) => outerQueryInterface.transaction(transactionScope);
20
+ }
18
21
  }
19
22
  exports.default = PostgresEntityQueryContextProvider;
20
23
  //# sourceMappingURL=PostgresEntityQueryContextProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostgresEntityQueryContextProvider.js","sourceRoot":"","sources":["../src/PostgresEntityQueryContextProvider.ts"],"names":[],"mappings":";;AAAA,yCAA0D;AAG1D;;GAEG;AACH,MAAqB,kCAAmC,SAAQ,mCAA0B;IACxF,YAA6B,YAAkB;QAC7C,KAAK,EAAE,CAAC;QADmB,iBAAY,GAAZ,YAAY,CAAM;IAE/C,CAAC;IAES,iBAAiB;QACzB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAES,uBAAuB;QAG/B,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC/E,CAAC;CACF;AAdD,qDAcC"}
1
+ {"version":3,"file":"PostgresEntityQueryContextProvider.js","sourceRoot":"","sources":["../src/PostgresEntityQueryContextProvider.ts"],"names":[],"mappings":";;AAAA,yCAA0D;AAG1D;;GAEG;AACH,MAAqB,kCAAmC,SAAQ,mCAA0B;IACxF,YAA6B,YAAkB;QAC7C,KAAK,EAAE,CAAC;QADmB,iBAAY,GAAZ,YAAY,CAAM;IAE/C,CAAC;IAES,iBAAiB;QACzB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAES,uBAAuB;QAG/B,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC/E,CAAC;IAES,6BAA6B,CACrC,mBAAwB;QAExB,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAE,mBAA4B,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC3F,CAAC;CACF;AApBD,qDAoBC"}
@@ -106,6 +106,17 @@ describe('postgres entity integration', () => {
106
106
  expect(entity2.getField('maybeJsonArrayField')).toEqual({ hello: 'world' });
107
107
  });
108
108
  });
109
+ describe('BIGINT fields', () => {
110
+ it('supports BIGINT fields', async () => {
111
+ const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
112
+ let entity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1).setField('bigintField', '72057594037928038').createAsync());
113
+ expect(entity.getField('bigintField')).toEqual('72057594037928038');
114
+ entity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.updater(entity).setField('bigintField', '10').updateAsync());
115
+ expect(entity.getField('bigintField')).toEqual('10');
116
+ entity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.updater(entity).setField('bigintField', '-10').updateAsync());
117
+ expect(entity.getField('bigintField')).toEqual('-10');
118
+ });
119
+ });
109
120
  describe('conjunction field equality loading', () => {
110
121
  it('supports single fieldValue and multiple fieldValues', async () => {
111
122
  const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
@@ -414,6 +425,7 @@ describe('postgres entity integration', () => {
414
425
  it('calls callbacks correctly', async () => {
415
426
  const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
416
427
  let preCommitCallCount = 0;
428
+ let preCommitInnerCallCount = 0;
417
429
  let postCommitCallCount = 0;
418
430
  await vc1.runInTransactionForDatabaseAdaptorFlavorAsync('postgres', async (queryContext) => {
419
431
  queryContext.appendPostCommitCallback(async () => {
@@ -422,6 +434,27 @@ describe('postgres entity integration', () => {
422
434
  queryContext.appendPreCommitCallback(async () => {
423
435
  preCommitCallCount++;
424
436
  }, 0);
437
+ await queryContext.runInNestedTransactionAsync(async (innerQueryContext) => {
438
+ innerQueryContext.appendPostCommitCallback(async () => {
439
+ postCommitCallCount++;
440
+ });
441
+ innerQueryContext.appendPreCommitCallback(async () => {
442
+ preCommitInnerCallCount++;
443
+ }, 0);
444
+ });
445
+ // this one throws so its post commit shouldn't execute
446
+ try {
447
+ await queryContext.runInNestedTransactionAsync(async (innerQueryContext) => {
448
+ innerQueryContext.appendPostCommitCallback(async () => {
449
+ postCommitCallCount++;
450
+ });
451
+ innerQueryContext.appendPreCommitCallback(async () => {
452
+ preCommitInnerCallCount++;
453
+ throw Error('wat');
454
+ }, 0);
455
+ });
456
+ }
457
+ catch { }
425
458
  });
426
459
  await expect(vc1.runInTransactionForDatabaseAdaptorFlavorAsync('postgres', async (queryContext) => {
427
460
  queryContext.appendPostCommitCallback(async () => {
@@ -433,7 +466,8 @@ describe('postgres entity integration', () => {
433
466
  }, 0);
434
467
  })).rejects.toThrowError('wat');
435
468
  expect(preCommitCallCount).toBe(2);
436
- expect(postCommitCallCount).toBe(1);
469
+ expect(preCommitInnerCallCount).toBe(2);
470
+ expect(postCommitCallCount).toBe(2);
437
471
  });
438
472
  });
439
473
  });
@@ -1 +1 @@
1
- {"version":3,"file":"PostgresEntityIntegration-test.js","sourceRoot":"","sources":["../../src/__integration-tests__/PostgresEntityIntegration-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostgresEntityIntegration-test.js","sourceRoot":"","sources":["../../src/__integration-tests__/PostgresEntityIntegration-test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const entity_1 = require("@expo/entity");
7
+ const knex_1 = require("knex");
8
+ const nullthrows_1 = __importDefault(require("nullthrows"));
9
+ const PostgresEntityQueryContextProvider_1 = __importDefault(require("../PostgresEntityQueryContextProvider"));
10
+ const PostgresUniqueTestEntity_1 = __importDefault(require("../testfixtures/PostgresUniqueTestEntity"));
11
+ const createKnexIntegrationTestEntityCompanionProvider_1 = require("../testfixtures/createKnexIntegrationTestEntityCompanionProvider");
12
+ describe(PostgresEntityQueryContextProvider_1.default, () => {
13
+ let knexInstance;
14
+ beforeAll(() => {
15
+ knexInstance = (0, knex_1.knex)({
16
+ client: 'pg',
17
+ connection: {
18
+ user: (0, nullthrows_1.default)(process.env['PGUSER']),
19
+ password: (0, nullthrows_1.default)(process.env['PGPASSWORD']),
20
+ host: 'localhost',
21
+ port: parseInt((0, nullthrows_1.default)(process.env['PGPORT']), 10),
22
+ database: (0, nullthrows_1.default)(process.env['PGDATABASE']),
23
+ },
24
+ });
25
+ });
26
+ beforeEach(async () => {
27
+ await PostgresUniqueTestEntity_1.default.createOrTruncatePostgresTable(knexInstance);
28
+ });
29
+ afterAll(async () => {
30
+ await PostgresUniqueTestEntity_1.default.dropPostgresTable(knexInstance);
31
+ await knexInstance.destroy();
32
+ });
33
+ it('supports nested transactions', async () => {
34
+ const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
35
+ await PostgresUniqueTestEntity_1.default.creator(vc1).setField('name', 'unique').enforceCreateAsync();
36
+ const id = (await PostgresUniqueTestEntity_1.default.creator(vc1).setField('name', 'wat').enforceCreateAsync()).getID();
37
+ await vc1.runInTransactionForDatabaseAdaptorFlavorAsync('postgres', async (queryContext) => {
38
+ const entity = await PostgresUniqueTestEntity_1.default.loader(vc1, queryContext)
39
+ .enforcing()
40
+ .loadByIDAsync(id);
41
+ await PostgresUniqueTestEntity_1.default.updater(entity, queryContext)
42
+ .setField('name', 'wat2')
43
+ .enforceUpdateAsync();
44
+ // ensure the outer transaction is not aborted due to postgres error in inner transaction,
45
+ // in this case the error triggered is a unique constraint violation
46
+ try {
47
+ await queryContext.runInNestedTransactionAsync(async (innerQueryContext) => {
48
+ const entity = await PostgresUniqueTestEntity_1.default.loader(vc1, innerQueryContext)
49
+ .enforcing()
50
+ .loadByIDAsync(id);
51
+ await PostgresUniqueTestEntity_1.default.updater(entity, innerQueryContext)
52
+ .setField('name', 'unique')
53
+ .enforceUpdateAsync();
54
+ });
55
+ }
56
+ catch { }
57
+ const entity2 = await PostgresUniqueTestEntity_1.default.loader(vc1, queryContext)
58
+ .enforcing()
59
+ .loadByIDAsync(id);
60
+ await PostgresUniqueTestEntity_1.default.updater(entity2, queryContext)
61
+ .setField('name', 'wat3')
62
+ .enforceUpdateAsync();
63
+ });
64
+ const entityLoaded = await PostgresUniqueTestEntity_1.default.loader(vc1).enforcing().loadByIDAsync(id);
65
+ expect(entityLoaded.getField('name')).toEqual('wat3');
66
+ });
67
+ it('supports multi-nested transactions', async () => {
68
+ const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
69
+ const id = (await PostgresUniqueTestEntity_1.default.creator(vc1).setField('name', 'wat').enforceCreateAsync()).getID();
70
+ await vc1.runInTransactionForDatabaseAdaptorFlavorAsync('postgres', async (queryContext) => {
71
+ await queryContext.runInNestedTransactionAsync(async (innerQueryContext) => {
72
+ await innerQueryContext.runInNestedTransactionAsync(async (innerQueryContex2) => {
73
+ await innerQueryContex2.runInNestedTransactionAsync(async (innerQueryContex3) => {
74
+ const entity = await PostgresUniqueTestEntity_1.default.loader(vc1, innerQueryContex3)
75
+ .enforcing()
76
+ .loadByIDAsync(id);
77
+ await PostgresUniqueTestEntity_1.default.updater(entity, innerQueryContex3)
78
+ .setField('name', 'wat3')
79
+ .enforceUpdateAsync();
80
+ });
81
+ });
82
+ });
83
+ });
84
+ const entityLoaded = await PostgresUniqueTestEntity_1.default.loader(vc1).enforcing().loadByIDAsync(id);
85
+ expect(entityLoaded.getField('name')).toEqual('wat3');
86
+ });
87
+ });
88
+ //# sourceMappingURL=PostgresEntityQueryContextProvider-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostgresEntityQueryContextProvider-test.js","sourceRoot":"","sources":["../../src/__integration-tests__/PostgresEntityQueryContextProvider-test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const entity_1 = require("@expo/entity");
4
+ const EntityFields_1 = require("../EntityFields");
5
+ (0, entity_1.describeFieldTestCase)(new EntityFields_1.JSONArrayField({ columnName: 'wat' }), [[[1, 2]], [['hello']]], [1, 'hello']);
6
+ (0, entity_1.describeFieldTestCase)(new EntityFields_1.MaybeJSONArrayField({ columnName: 'wat' }), [1, 'hello', [['hello']]], []);
7
+ (0, entity_1.describeFieldTestCase)(new EntityFields_1.BigIntField({ columnName: 'wat' }), ['123457682149816498126412896', '123', '-1', '-124147812641876482716841'], [1, false, -1, 1e6, {}]);
8
+ //# sourceMappingURL=EntityFields-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityFields-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityFields-test.ts"],"names":[],"mappings":";;AAAA,yCAAqD;AAErD,kDAAmF;AAEnF,IAAA,8BAAqB,EACnB,IAAI,6BAAc,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EACzC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAQ,CAAC,EACrC,CAAC,CAAC,EAAE,OAAO,CAAC,CACb,CAAC;AACF,IAAA,8BAAqB,EACnB,IAAI,kCAAmB,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAC9C,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EACzB,EAAE,CACH,CAAC;AACF,IAAA,8BAAqB,EACnB,IAAI,0BAAW,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EACtC,CAAC,6BAA6B,EAAE,KAAK,EAAE,IAAI,EAAE,2BAA2B,CAAC,EACzE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CACxB,CAAC"}
package/build/index.d.ts CHANGED
@@ -5,3 +5,4 @@
5
5
  export { default as PostgresEntityDatabaseAdapter } from './PostgresEntityDatabaseAdapter';
6
6
  export { default as PostgresEntityDatabaseAdapterProvider } from './PostgresEntityDatabaseAdapterProvider';
7
7
  export { default as PostgresEntityQueryContextProvider } from './PostgresEntityQueryContextProvider';
8
+ export * from './EntityFields';
package/build/index.js CHANGED
@@ -4,6 +4,20 @@
4
4
  * @packageDocumentation
5
5
  * @module @expo/entity-database-adapter-knex
6
6
  */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
+ };
7
21
  var __importDefault = (this && this.__importDefault) || function (mod) {
8
22
  return (mod && mod.__esModule) ? mod : { "default": mod };
9
23
  };
@@ -15,4 +29,5 @@ var PostgresEntityDatabaseAdapterProvider_1 = require("./PostgresEntityDatabaseA
15
29
  Object.defineProperty(exports, "PostgresEntityDatabaseAdapterProvider", { enumerable: true, get: function () { return __importDefault(PostgresEntityDatabaseAdapterProvider_1).default; } });
16
30
  var PostgresEntityQueryContextProvider_1 = require("./PostgresEntityQueryContextProvider");
17
31
  Object.defineProperty(exports, "PostgresEntityQueryContextProvider", { enumerable: true, get: function () { return __importDefault(PostgresEntityQueryContextProvider_1).default; } });
32
+ __exportStar(require("./EntityFields"), exports);
18
33
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,iCAAiC;AACjC;;;GAGG;;;;;;AAEH,iFAA2F;AAAlF,+JAAA,OAAO,OAAiC;AACjD,iGAA2G;AAAlG,+KAAA,OAAO,OAAyC;AACzD,2FAAqG;AAA5F,yKAAA,OAAO,OAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,iCAAiC;AACjC;;;GAGG;;;;;;;;;;;;;;;;;;;;AAEH,iFAA2F;AAAlF,+JAAA,OAAO,OAAiC;AACjD,iGAA2G;AAAlG,+KAAA,OAAO,OAAyC;AACzD,2FAAqG;AAA5F,yKAAA,OAAO,OAAsC;AACtD,iDAA+B"}
@@ -14,6 +14,7 @@ declare type PostgresTestEntityFields = {
14
14
  maybeJsonArrayField: string[] | {
15
15
  hello: string;
16
16
  } | null;
17
+ bigintField: string | null;
17
18
  };
18
19
  export default class PostgresTestEntity extends Entity<PostgresTestEntityFields, string, ViewerContext> {
19
20
  static getCompanionDefinition(): EntityCompanionDefinition<PostgresTestEntityFields, string, ViewerContext, PostgresTestEntity, PostgresTestEntityPrivacyPolicy>;
@@ -2,17 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.postgresTestEntityConfiguration = void 0;
4
4
  const entity_1 = require("@expo/entity");
5
+ const EntityFields_1 = require("../EntityFields");
5
6
  class PostgresTestEntity extends entity_1.Entity {
6
7
  static getCompanionDefinition() {
7
8
  return postgresTestEntityCompanionDefinition;
8
9
  }
9
10
  static async createOrTruncatePostgresTable(knex) {
10
- await knex.raw('CREATE EXTENSION IF NOT EXISTS "uuid-ossp"'); // for uuid_generate_v4()
11
11
  const tableName = this.getCompanionDefinition().entityConfiguration.tableName;
12
12
  const hasTable = await knex.schema.hasTable(tableName);
13
13
  if (!hasTable) {
14
14
  await knex.schema.createTable(tableName, (table) => {
15
- table.uuid('id').defaultTo(knex.raw('uuid_generate_v4()')).primary();
15
+ table.uuid('id').defaultTo(knex.raw('gen_random_uuid()')).primary();
16
16
  table.string('name');
17
17
  table.boolean('has_a_dog');
18
18
  table.boolean('has_a_cat');
@@ -21,6 +21,7 @@ class PostgresTestEntity extends entity_1.Entity {
21
21
  table.jsonb('json_object_field');
22
22
  table.dateTime('date_field', { useTz: true });
23
23
  table.jsonb('maybe_json_array_field');
24
+ table.bigint('bigint_field');
24
25
  });
25
26
  }
26
27
  await knex.into(tableName).truncate();
@@ -71,7 +72,7 @@ exports.postgresTestEntityConfiguration = new entity_1.EntityConfiguration({
71
72
  stringArray: new entity_1.StringArrayField({
72
73
  columnName: 'string_array',
73
74
  }),
74
- jsonArrayField: new entity_1.JSONArrayField({
75
+ jsonArrayField: new EntityFields_1.JSONArrayField({
75
76
  columnName: 'json_array_field',
76
77
  }),
77
78
  jsonObjectField: new entity_1.JSONObjectField({
@@ -80,9 +81,12 @@ exports.postgresTestEntityConfiguration = new entity_1.EntityConfiguration({
80
81
  dateField: new entity_1.DateField({
81
82
  columnName: 'date_field',
82
83
  }),
83
- maybeJsonArrayField: new entity_1.MaybeJSONArrayField({
84
+ maybeJsonArrayField: new EntityFields_1.MaybeJSONArrayField({
84
85
  columnName: 'maybe_json_array_field',
85
86
  }),
87
+ bigintField: new EntityFields_1.BigIntField({
88
+ columnName: 'bigint_field',
89
+ }),
86
90
  },
87
91
  databaseAdapterFlavor: 'postgres',
88
92
  cacheAdapterFlavor: 'redis',
@@ -1 +1 @@
1
- {"version":3,"file":"PostgresTestEntity.js","sourceRoot":"","sources":["../../src/testfixtures/PostgresTestEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostgresTestEntity.js","sourceRoot":"","sources":["../../src/testfixtures/PostgresTestEntity.ts"],"names":[],"mappings":"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"}
@@ -7,12 +7,11 @@ class PostgresTriggerTestEntity extends entity_1.Entity {
7
7
  return postgresTestEntityCompanionDefinition;
8
8
  }
9
9
  static async createOrTruncatePostgresTable(knex) {
10
- await knex.raw('CREATE EXTENSION IF NOT EXISTS "uuid-ossp"'); // for uuid_generate_v4()
11
10
  const tableName = this.getCompanionDefinition().entityConfiguration.tableName;
12
11
  const hasTable = await knex.schema.hasTable(tableName);
13
12
  if (!hasTable) {
14
13
  await knex.schema.createTable(tableName, (table) => {
15
- table.uuid('id').defaultTo(knex.raw('uuid_generate_v4()')).primary();
14
+ table.uuid('id').defaultTo(knex.raw('gen_random_uuid()')).primary();
16
15
  table.string('name');
17
16
  });
18
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PostgresTriggerTestEntity.js","sourceRoot":"","sources":["../../src/testfixtures/PostgresTriggerTestEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostgresTriggerTestEntity.js","sourceRoot":"","sources":["../../src/testfixtures/PostgresTriggerTestEntity.ts"],"names":[],"mappings":";;;AAAA,yCAasB;AAQtB,MAAqB,yBAA0B,SAAQ,eAItD;IACC,MAAM,CAAC,sBAAsB;QAO3B,OAAO,qCAAqC,CAAC;IAC/C,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,IAAU;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC;QAC9E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;gBACjD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBACpE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;SACJ;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;IACxC,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAU;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC;QAC9E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,QAAQ,EAAE;YACZ,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;SACxC;IACH,CAAC;CACF;AAlCD,4CAkCC;AAED,MAAM,sCAAuC,SAAQ,4BAKpD;IALD;;QAM8B,gBAAW,GAAG;YACxC,IAAI,qCAA4B,EAK7B;SACJ,CAAC;QAC0B,cAAS,GAAG;YACtC,IAAI,qCAA4B,EAK7B;SACJ,CAAC;QAC0B,gBAAW,GAAG;YACxC,IAAI,qCAA4B,EAK7B;SACJ,CAAC;QAC0B,gBAAW,GAAG;YACxC,IAAI,qCAA4B,EAK7B;SACJ,CAAC;IACJ,CAAC;CAAA;AAED,MAAM,yBAA0B,SAAQ,8BAKvC;IACC,YAAoB,SAAgD,EAAU,QAAgB;QAC5F,KAAK,EAAE,CAAC;QADU,cAAS,GAAT,SAAS,CAAuC;QAAU,aAAQ,GAAR,QAAQ,CAAQ;IAE9F,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,cAA6B,EAC7B,aAAiC,EACjC,MAAiC,EACjC,aAKC;QAED,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE;YACrD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,sBAAsB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;SACzE;IACH,CAAC;CACF;AAED,MAAM,yCAA0C,SAAQ,8CAKvD;IACC,YAAoB,SAAgD,EAAU,QAAgB;QAC5F,KAAK,EAAE,CAAC;QADU,cAAS,GAAT,SAAS,CAAuC;QAAU,aAAQ,GAAR,QAAQ,CAAQ;IAE9F,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,cAA6B,EAC7B,MAAiC;QAEjC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE;YACrD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,sBAAsB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;SACzE;IACH,CAAC;CACF;AAEY,QAAA,+BAA+B,GAC1C,IAAI,4BAAmB,CAAkC;IACvD,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,wBAAwB;IACnC,MAAM,EAAE;QACN,EAAE,EAAE,IAAI,kBAAS,CAAC;YAChB,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,IAAI,EAAE,IAAI,oBAAW,CAAC;YACpB,UAAU,EAAE,MAAM;SACnB,CAAC;KACH;IACD,qBAAqB,EAAE,UAAU;IACjC,kBAAkB,EAAE,OAAO;CAC5B,CAAC,CAAC;AAEL,MAAM,qCAAqC,GAAG,IAAI,kCAAyB,CAAC;IAC1E,WAAW,EAAE,yBAAyB;IACtC,mBAAmB,EAAE,uCAA+B;IACpD,kBAAkB,EAAE,sCAAsC;IAC1D,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;QACvB,YAAY,EAAE,CAAC,IAAI,yBAAyB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QACrE,WAAW,EAAE,CAAC,IAAI,yBAAyB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACnE,YAAY,EAAE,CAAC,IAAI,yBAAyB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QACrE,WAAW,EAAE,CAAC,IAAI,yBAAyB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACnE,YAAY,EAAE,CAAC,IAAI,yBAAyB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QACrE,WAAW,EAAE,CAAC,IAAI,yBAAyB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACnE,SAAS,EAAE,CAAC,IAAI,yBAAyB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC/D,QAAQ,EAAE,CAAC,IAAI,yBAAyB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC7D,WAAW,EAAE,CAAC,IAAI,yCAAyC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;KACpF,CAAC;CACH,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { AlwaysAllowPrivacyPolicyRule, EntityPrivacyPolicy, ViewerContext, EntityConfiguration, EntityCompanionDefinition, Entity } from '@expo/entity';
2
+ import { Knex } from 'knex';
3
+ declare type PostgresUniqueTestEntityFields = {
4
+ id: string;
5
+ name: string | null;
6
+ };
7
+ export default class PostgresUniqueTestEntity extends Entity<PostgresUniqueTestEntityFields, string, ViewerContext> {
8
+ static getCompanionDefinition(): EntityCompanionDefinition<PostgresUniqueTestEntityFields, string, ViewerContext, PostgresUniqueTestEntity, PostgresUniqueTestEntityPrivacyPolicy>;
9
+ static createOrTruncatePostgresTable(knex: Knex): Promise<void>;
10
+ static dropPostgresTable(knex: Knex): Promise<void>;
11
+ }
12
+ declare class PostgresUniqueTestEntityPrivacyPolicy extends EntityPrivacyPolicy<PostgresUniqueTestEntityFields, string, ViewerContext, PostgresUniqueTestEntity> {
13
+ protected readonly createRules: AlwaysAllowPrivacyPolicyRule<PostgresUniqueTestEntityFields, string, ViewerContext, PostgresUniqueTestEntity, keyof PostgresUniqueTestEntityFields>[];
14
+ protected readonly readRules: AlwaysAllowPrivacyPolicyRule<PostgresUniqueTestEntityFields, string, ViewerContext, PostgresUniqueTestEntity, keyof PostgresUniqueTestEntityFields>[];
15
+ protected readonly updateRules: AlwaysAllowPrivacyPolicyRule<PostgresUniqueTestEntityFields, string, ViewerContext, PostgresUniqueTestEntity, keyof PostgresUniqueTestEntityFields>[];
16
+ protected readonly deleteRules: AlwaysAllowPrivacyPolicyRule<PostgresUniqueTestEntityFields, string, ViewerContext, PostgresUniqueTestEntity, keyof PostgresUniqueTestEntityFields>[];
17
+ }
18
+ export declare const postgresTestEntityConfiguration: EntityConfiguration<PostgresUniqueTestEntityFields>;
19
+ export {};
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.postgresTestEntityConfiguration = void 0;
4
+ const entity_1 = require("@expo/entity");
5
+ class PostgresUniqueTestEntity extends entity_1.Entity {
6
+ static getCompanionDefinition() {
7
+ return postgresTestEntityCompanionDefinition;
8
+ }
9
+ static async createOrTruncatePostgresTable(knex) {
10
+ const tableName = this.getCompanionDefinition().entityConfiguration.tableName;
11
+ const hasTable = await knex.schema.hasTable(tableName);
12
+ if (!hasTable) {
13
+ await knex.schema.createTable(tableName, (table) => {
14
+ table.uuid('id').defaultTo(knex.raw('gen_random_uuid()')).primary();
15
+ table.string('name').unique();
16
+ });
17
+ }
18
+ await knex.into(tableName).truncate();
19
+ }
20
+ static async dropPostgresTable(knex) {
21
+ const tableName = this.getCompanionDefinition().entityConfiguration.tableName;
22
+ const hasTable = await knex.schema.hasTable(tableName);
23
+ if (hasTable) {
24
+ await knex.schema.dropTable(tableName);
25
+ }
26
+ }
27
+ }
28
+ exports.default = PostgresUniqueTestEntity;
29
+ class PostgresUniqueTestEntityPrivacyPolicy extends entity_1.EntityPrivacyPolicy {
30
+ constructor() {
31
+ super(...arguments);
32
+ this.createRules = [
33
+ new entity_1.AlwaysAllowPrivacyPolicyRule(),
34
+ ];
35
+ this.readRules = [
36
+ new entity_1.AlwaysAllowPrivacyPolicyRule(),
37
+ ];
38
+ this.updateRules = [
39
+ new entity_1.AlwaysAllowPrivacyPolicyRule(),
40
+ ];
41
+ this.deleteRules = [
42
+ new entity_1.AlwaysAllowPrivacyPolicyRule(),
43
+ ];
44
+ }
45
+ }
46
+ exports.postgresTestEntityConfiguration = new entity_1.EntityConfiguration({
47
+ idField: 'id',
48
+ tableName: 'postgres_test_entities',
49
+ schema: {
50
+ id: new entity_1.UUIDField({
51
+ columnName: 'id',
52
+ cache: true,
53
+ }),
54
+ name: new entity_1.StringField({
55
+ columnName: 'name',
56
+ }),
57
+ },
58
+ databaseAdapterFlavor: 'postgres',
59
+ cacheAdapterFlavor: 'redis',
60
+ });
61
+ const postgresTestEntityCompanionDefinition = new entity_1.EntityCompanionDefinition({
62
+ entityClass: PostgresUniqueTestEntity,
63
+ entityConfiguration: exports.postgresTestEntityConfiguration,
64
+ privacyPolicyClass: PostgresUniqueTestEntityPrivacyPolicy,
65
+ });
66
+ //# sourceMappingURL=PostgresUniqueTestEntity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostgresUniqueTestEntity.js","sourceRoot":"","sources":["../../src/testfixtures/PostgresUniqueTestEntity.ts"],"names":[],"mappings":";;;AAAA,yCASsB;AAQtB,MAAqB,wBAAyB,SAAQ,eAIrD;IACC,MAAM,CAAC,sBAAsB;QAO3B,OAAO,qCAAqC,CAAC;IAC/C,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,IAAU;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC;QAC9E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;gBACjD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBACpE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;YAChC,CAAC,CAAC,CAAC;SACJ;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;IACxC,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAU;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC;QAC9E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,QAAQ,EAAE;YACZ,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;SACxC;IACH,CAAC;CACF;AAlCD,2CAkCC;AAED,MAAM,qCAAsC,SAAQ,4BAKnD;IALD;;QAM8B,gBAAW,GAAG;YACxC,IAAI,qCAA4B,EAK7B;SACJ,CAAC;QAC0B,cAAS,GAAG;YACtC,IAAI,qCAA4B,EAK7B;SACJ,CAAC;QAC0B,gBAAW,GAAG;YACxC,IAAI,qCAA4B,EAK7B;SACJ,CAAC;QAC0B,gBAAW,GAAG;YACxC,IAAI,qCAA4B,EAK7B;SACJ,CAAC;IACJ,CAAC;CAAA;AAEY,QAAA,+BAA+B,GAC1C,IAAI,4BAAmB,CAAiC;IACtD,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,wBAAwB;IACnC,MAAM,EAAE;QACN,EAAE,EAAE,IAAI,kBAAS,CAAC;YAChB,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,IAAI,EAAE,IAAI,oBAAW,CAAC;YACpB,UAAU,EAAE,MAAM;SACnB,CAAC;KACH;IACD,qBAAqB,EAAE,UAAU;IACjC,kBAAkB,EAAE,OAAO;CAC5B,CAAC,CAAC;AAEL,MAAM,qCAAqC,GAAG,IAAI,kCAAyB,CAAC;IAC1E,WAAW,EAAE,wBAAwB;IACrC,mBAAmB,EAAE,uCAA+B;IACpD,kBAAkB,EAAE,qCAAqC;CAC1D,CAAC,CAAC"}
@@ -7,12 +7,11 @@ class PostgresValidatorTestEntity extends entity_1.Entity {
7
7
  return postgresTestEntityCompanionDefinition;
8
8
  }
9
9
  static async createOrTruncatePostgresTable(knex) {
10
- await knex.raw('CREATE EXTENSION IF NOT EXISTS "uuid-ossp"'); // for uuid_generate_v4()
11
10
  const tableName = this.getCompanionDefinition().entityConfiguration.tableName;
12
11
  const hasTable = await knex.schema.hasTable(tableName);
13
12
  if (!hasTable) {
14
13
  await knex.schema.createTable(tableName, (table) => {
15
- table.uuid('id').defaultTo(knex.raw('uuid_generate_v4()')).primary();
14
+ table.uuid('id').defaultTo(knex.raw('gen_random_uuid()')).primary();
16
15
  table.string('name');
17
16
  });
18
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PostgresValidatorTestEntity.js","sourceRoot":"","sources":["../../src/testfixtures/PostgresValidatorTestEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostgresValidatorTestEntity.js","sourceRoot":"","sources":["../../src/testfixtures/PostgresValidatorTestEntity.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expo/entity-database-adapter-knex",
3
- "version": "0.27.0",
3
+ "version": "0.29.0",
4
4
  "description": "Knex database adapter for @expo/entity",
5
5
  "files": [
6
6
  "build",
@@ -33,8 +33,8 @@
33
33
  "knex": "^1.0.2"
34
34
  },
35
35
  "devDependencies": {
36
- "@expo/entity": "^0.27.0",
36
+ "@expo/entity": "^0.29.0",
37
37
  "pg": "^8.7.1"
38
38
  },
39
- "gitHead": "813e72bd53291ad6087fbcd0782946d6b125347d"
39
+ "gitHead": "b11bd24351ae34afd71a1572c8d023dde03fbdf3"
40
40
  }
@@ -0,0 +1,29 @@
1
+ import { EntityFieldDefinition } from '@expo/entity';
2
+
3
+ /**
4
+ * EntityFieldDefinition for a Postres column with a JS JSON array type.
5
+ */
6
+ export class JSONArrayField extends EntityFieldDefinition<any[]> {
7
+ protected validateInputValueInternal(value: any[]): boolean {
8
+ return Array.isArray(value);
9
+ }
10
+ }
11
+
12
+ /**
13
+ * EntityFieldDefinition for a Postgres column that may be a JS JSON array type.
14
+ * Does not do any validation.
15
+ */
16
+ export class MaybeJSONArrayField extends EntityFieldDefinition<any | any[]> {
17
+ protected validateInputValueInternal(_value: any): boolean {
18
+ return true;
19
+ }
20
+ }
21
+
22
+ /**
23
+ * EntityFieldDefinition for a Postgres BIGINT column.
24
+ */
25
+ export class BigIntField extends EntityFieldDefinition<string> {
26
+ protected validateInputValueInternal(value: string): boolean {
27
+ return typeof value === 'string';
28
+ }
29
+ }
@@ -2,8 +2,6 @@ import {
2
2
  EntityDatabaseAdapter,
3
3
  FieldTransformerMap,
4
4
  FieldTransformer,
5
- JSONArrayField,
6
- MaybeJSONArrayField,
7
5
  TableQuerySelectionModifiers,
8
6
  TableFieldSingleValueEqualityCondition,
9
7
  TableFieldMultiValueEqualityCondition,
@@ -11,6 +9,7 @@ import {
11
9
  } from '@expo/entity';
12
10
  import { Knex } from 'knex';
13
11
 
12
+ import { JSONArrayField, MaybeJSONArrayField } from './EntityFields';
14
13
  import wrapNativePostgresCallAsync from './errors/wrapNativePostgresCallAsync';
15
14
 
16
15
  export default class PostgresEntityDatabaseAdapter<TFields> extends EntityDatabaseAdapter<TFields> {
@@ -18,4 +18,10 @@ export default class PostgresEntityQueryContextProvider extends EntityQueryConte
18
18
  ) => Promise<T> {
19
19
  return (transactionScope) => this.knexInstance.transaction(transactionScope);
20
20
  }
21
+
22
+ protected createNestedTransactionRunner<T>(
23
+ outerQueryInterface: any
24
+ ): (transactionScope: (queryInterface: any) => Promise<T>) => Promise<T> {
25
+ return (transactionScope) => (outerQueryInterface as Knex).transaction(transactionScope);
26
+ }
21
27
  }
@@ -157,6 +157,27 @@ describe('postgres entity integration', () => {
157
157
  });
158
158
  });
159
159
 
160
+ describe('BIGINT fields', () => {
161
+ it('supports BIGINT fields', async () => {
162
+ const vc1 = new ViewerContext(createKnexIntegrationTestEntityCompanionProvider(knexInstance));
163
+
164
+ let entity = await enforceAsyncResult(
165
+ PostgresTestEntity.creator(vc1).setField('bigintField', '72057594037928038').createAsync()
166
+ );
167
+ expect(entity.getField('bigintField')).toEqual('72057594037928038');
168
+
169
+ entity = await enforceAsyncResult(
170
+ PostgresTestEntity.updater(entity).setField('bigintField', '10').updateAsync()
171
+ );
172
+ expect(entity.getField('bigintField')).toEqual('10');
173
+
174
+ entity = await enforceAsyncResult(
175
+ PostgresTestEntity.updater(entity).setField('bigintField', '-10').updateAsync()
176
+ );
177
+ expect(entity.getField('bigintField')).toEqual('-10');
178
+ });
179
+ });
180
+
160
181
  describe('conjunction field equality loading', () => {
161
182
  it('supports single fieldValue and multiple fieldValues', async () => {
162
183
  const vc1 = new ViewerContext(createKnexIntegrationTestEntityCompanionProvider(knexInstance));
@@ -615,6 +636,7 @@ describe('postgres entity integration', () => {
615
636
  const vc1 = new ViewerContext(createKnexIntegrationTestEntityCompanionProvider(knexInstance));
616
637
 
617
638
  let preCommitCallCount = 0;
639
+ let preCommitInnerCallCount = 0;
618
640
  let postCommitCallCount = 0;
619
641
 
620
642
  await vc1.runInTransactionForDatabaseAdaptorFlavorAsync('postgres', async (queryContext) => {
@@ -624,6 +646,28 @@ describe('postgres entity integration', () => {
624
646
  queryContext.appendPreCommitCallback(async () => {
625
647
  preCommitCallCount++;
626
648
  }, 0);
649
+
650
+ await queryContext.runInNestedTransactionAsync(async (innerQueryContext) => {
651
+ innerQueryContext.appendPostCommitCallback(async () => {
652
+ postCommitCallCount++;
653
+ });
654
+ innerQueryContext.appendPreCommitCallback(async () => {
655
+ preCommitInnerCallCount++;
656
+ }, 0);
657
+ });
658
+
659
+ // this one throws so its post commit shouldn't execute
660
+ try {
661
+ await queryContext.runInNestedTransactionAsync(async (innerQueryContext) => {
662
+ innerQueryContext.appendPostCommitCallback(async () => {
663
+ postCommitCallCount++;
664
+ });
665
+ innerQueryContext.appendPreCommitCallback(async () => {
666
+ preCommitInnerCallCount++;
667
+ throw Error('wat');
668
+ }, 0);
669
+ });
670
+ } catch {}
627
671
  });
628
672
 
629
673
  await expect(
@@ -639,7 +683,8 @@ describe('postgres entity integration', () => {
639
683
  ).rejects.toThrowError('wat');
640
684
 
641
685
  expect(preCommitCallCount).toBe(2);
642
- expect(postCommitCallCount).toBe(1);
686
+ expect(preCommitInnerCallCount).toBe(2);
687
+ expect(postCommitCallCount).toBe(2);
643
688
  });
644
689
  });
645
690
  });
@@ -0,0 +1,101 @@
1
+ import { ViewerContext } from '@expo/entity';
2
+ import { knex, Knex } from 'knex';
3
+ import nullthrows from 'nullthrows';
4
+
5
+ import PostgresEntityQueryContextProvider from '../PostgresEntityQueryContextProvider';
6
+ import PostgresUniqueTestEntity from '../testfixtures/PostgresUniqueTestEntity';
7
+ import { createKnexIntegrationTestEntityCompanionProvider } from '../testfixtures/createKnexIntegrationTestEntityCompanionProvider';
8
+
9
+ describe(PostgresEntityQueryContextProvider, () => {
10
+ let knexInstance: Knex;
11
+
12
+ beforeAll(() => {
13
+ knexInstance = knex({
14
+ client: 'pg',
15
+ connection: {
16
+ user: nullthrows(process.env['PGUSER']),
17
+ password: nullthrows(process.env['PGPASSWORD']),
18
+ host: 'localhost',
19
+ port: parseInt(nullthrows(process.env['PGPORT']), 10),
20
+ database: nullthrows(process.env['PGDATABASE']),
21
+ },
22
+ });
23
+ });
24
+
25
+ beforeEach(async () => {
26
+ await PostgresUniqueTestEntity.createOrTruncatePostgresTable(knexInstance);
27
+ });
28
+
29
+ afterAll(async () => {
30
+ await PostgresUniqueTestEntity.dropPostgresTable(knexInstance);
31
+ await knexInstance.destroy();
32
+ });
33
+
34
+ it('supports nested transactions', async () => {
35
+ const vc1 = new ViewerContext(createKnexIntegrationTestEntityCompanionProvider(knexInstance));
36
+
37
+ await PostgresUniqueTestEntity.creator(vc1).setField('name', 'unique').enforceCreateAsync();
38
+
39
+ const id = (
40
+ await PostgresUniqueTestEntity.creator(vc1).setField('name', 'wat').enforceCreateAsync()
41
+ ).getID();
42
+
43
+ await vc1.runInTransactionForDatabaseAdaptorFlavorAsync('postgres', async (queryContext) => {
44
+ const entity = await PostgresUniqueTestEntity.loader(vc1, queryContext)
45
+ .enforcing()
46
+ .loadByIDAsync(id);
47
+ await PostgresUniqueTestEntity.updater(entity, queryContext)
48
+ .setField('name', 'wat2')
49
+ .enforceUpdateAsync();
50
+
51
+ // ensure the outer transaction is not aborted due to postgres error in inner transaction,
52
+ // in this case the error triggered is a unique constraint violation
53
+ try {
54
+ await queryContext.runInNestedTransactionAsync(async (innerQueryContext) => {
55
+ const entity = await PostgresUniqueTestEntity.loader(vc1, innerQueryContext)
56
+ .enforcing()
57
+ .loadByIDAsync(id);
58
+ await PostgresUniqueTestEntity.updater(entity, innerQueryContext)
59
+ .setField('name', 'unique')
60
+ .enforceUpdateAsync();
61
+ });
62
+ } catch {}
63
+
64
+ const entity2 = await PostgresUniqueTestEntity.loader(vc1, queryContext)
65
+ .enforcing()
66
+ .loadByIDAsync(id);
67
+ await PostgresUniqueTestEntity.updater(entity2, queryContext)
68
+ .setField('name', 'wat3')
69
+ .enforceUpdateAsync();
70
+ });
71
+
72
+ const entityLoaded = await PostgresUniqueTestEntity.loader(vc1).enforcing().loadByIDAsync(id);
73
+ expect(entityLoaded.getField('name')).toEqual('wat3');
74
+ });
75
+
76
+ it('supports multi-nested transactions', async () => {
77
+ const vc1 = new ViewerContext(createKnexIntegrationTestEntityCompanionProvider(knexInstance));
78
+
79
+ const id = (
80
+ await PostgresUniqueTestEntity.creator(vc1).setField('name', 'wat').enforceCreateAsync()
81
+ ).getID();
82
+
83
+ await vc1.runInTransactionForDatabaseAdaptorFlavorAsync('postgres', async (queryContext) => {
84
+ await queryContext.runInNestedTransactionAsync(async (innerQueryContext) => {
85
+ await innerQueryContext.runInNestedTransactionAsync(async (innerQueryContex2) => {
86
+ await innerQueryContex2.runInNestedTransactionAsync(async (innerQueryContex3) => {
87
+ const entity = await PostgresUniqueTestEntity.loader(vc1, innerQueryContex3)
88
+ .enforcing()
89
+ .loadByIDAsync(id);
90
+ await PostgresUniqueTestEntity.updater(entity, innerQueryContex3)
91
+ .setField('name', 'wat3')
92
+ .enforceUpdateAsync();
93
+ });
94
+ });
95
+ });
96
+ });
97
+
98
+ const entityLoaded = await PostgresUniqueTestEntity.loader(vc1).enforcing().loadByIDAsync(id);
99
+ expect(entityLoaded.getField('name')).toEqual('wat3');
100
+ });
101
+ });
@@ -0,0 +1,19 @@
1
+ import { describeFieldTestCase } from '@expo/entity';
2
+
3
+ import { BigIntField, JSONArrayField, MaybeJSONArrayField } from '../EntityFields';
4
+
5
+ describeFieldTestCase(
6
+ new JSONArrayField({ columnName: 'wat' }),
7
+ [[[1, 2]] as any, [['hello']] as any],
8
+ [1, 'hello']
9
+ );
10
+ describeFieldTestCase(
11
+ new MaybeJSONArrayField({ columnName: 'wat' }),
12
+ [1, 'hello', [['hello']]],
13
+ []
14
+ );
15
+ describeFieldTestCase(
16
+ new BigIntField({ columnName: 'wat' }),
17
+ ['123457682149816498126412896', '123', '-1', '-124147812641876482716841'],
18
+ [1, false, -1, 1e6, {}]
19
+ );
package/src/index.ts CHANGED
@@ -7,3 +7,4 @@
7
7
  export { default as PostgresEntityDatabaseAdapter } from './PostgresEntityDatabaseAdapter';
8
8
  export { default as PostgresEntityDatabaseAdapterProvider } from './PostgresEntityDatabaseAdapterProvider';
9
9
  export { default as PostgresEntityQueryContextProvider } from './PostgresEntityQueryContextProvider';
10
+ export * from './EntityFields';
@@ -6,16 +6,16 @@ import {
6
6
  StringField,
7
7
  BooleanField,
8
8
  StringArrayField,
9
- JSONArrayField,
10
9
  JSONObjectField,
11
10
  DateField,
12
- MaybeJSONArrayField,
13
11
  EntityConfiguration,
14
12
  EntityCompanionDefinition,
15
13
  Entity,
16
14
  } from '@expo/entity';
17
15
  import { Knex } from 'knex';
18
16
 
17
+ import { BigIntField, JSONArrayField, MaybeJSONArrayField } from '../EntityFields';
18
+
19
19
  type PostgresTestEntityFields = {
20
20
  id: string;
21
21
  name: string | null;
@@ -28,6 +28,7 @@ type PostgresTestEntityFields = {
28
28
  } | null;
29
29
  dateField: Date | null;
30
30
  maybeJsonArrayField: string[] | { hello: string } | null;
31
+ bigintField: string | null;
31
32
  };
32
33
 
33
34
  export default class PostgresTestEntity extends Entity<
@@ -46,13 +47,11 @@ export default class PostgresTestEntity extends Entity<
46
47
  }
47
48
 
48
49
  public static async createOrTruncatePostgresTable(knex: Knex): Promise<void> {
49
- await knex.raw('CREATE EXTENSION IF NOT EXISTS "uuid-ossp"'); // for uuid_generate_v4()
50
-
51
50
  const tableName = this.getCompanionDefinition().entityConfiguration.tableName;
52
51
  const hasTable = await knex.schema.hasTable(tableName);
53
52
  if (!hasTable) {
54
53
  await knex.schema.createTable(tableName, (table) => {
55
- table.uuid('id').defaultTo(knex.raw('uuid_generate_v4()')).primary();
54
+ table.uuid('id').defaultTo(knex.raw('gen_random_uuid()')).primary();
56
55
  table.string('name');
57
56
  table.boolean('has_a_dog');
58
57
  table.boolean('has_a_cat');
@@ -61,6 +60,7 @@ export default class PostgresTestEntity extends Entity<
61
60
  table.jsonb('json_object_field');
62
61
  table.dateTime('date_field', { useTz: true });
63
62
  table.jsonb('maybe_json_array_field');
63
+ table.bigint('bigint_field');
64
64
  });
65
65
  }
66
66
  await knex.into(tableName).truncate();
@@ -147,6 +147,9 @@ export const postgresTestEntityConfiguration = new EntityConfiguration<PostgresT
147
147
  maybeJsonArrayField: new MaybeJSONArrayField({
148
148
  columnName: 'maybe_json_array_field',
149
149
  }),
150
+ bigintField: new BigIntField({
151
+ columnName: 'bigint_field',
152
+ }),
150
153
  },
151
154
  databaseAdapterFlavor: 'postgres',
152
155
  cacheAdapterFlavor: 'redis',
@@ -35,13 +35,11 @@ export default class PostgresTriggerTestEntity extends Entity<
35
35
  }
36
36
 
37
37
  public static async createOrTruncatePostgresTable(knex: Knex): Promise<void> {
38
- await knex.raw('CREATE EXTENSION IF NOT EXISTS "uuid-ossp"'); // for uuid_generate_v4()
39
-
40
38
  const tableName = this.getCompanionDefinition().entityConfiguration.tableName;
41
39
  const hasTable = await knex.schema.hasTable(tableName);
42
40
  if (!hasTable) {
43
41
  await knex.schema.createTable(tableName, (table) => {
44
- table.uuid('id').defaultTo(knex.raw('uuid_generate_v4()')).primary();
42
+ table.uuid('id').defaultTo(knex.raw('gen_random_uuid()')).primary();
45
43
  table.string('name');
46
44
  });
47
45
  }
@@ -0,0 +1,115 @@
1
+ import {
2
+ AlwaysAllowPrivacyPolicyRule,
3
+ EntityPrivacyPolicy,
4
+ ViewerContext,
5
+ UUIDField,
6
+ StringField,
7
+ EntityConfiguration,
8
+ EntityCompanionDefinition,
9
+ Entity,
10
+ } from '@expo/entity';
11
+ import { Knex } from 'knex';
12
+
13
+ type PostgresUniqueTestEntityFields = {
14
+ id: string;
15
+ name: string | null;
16
+ };
17
+
18
+ export default class PostgresUniqueTestEntity extends Entity<
19
+ PostgresUniqueTestEntityFields,
20
+ string,
21
+ ViewerContext
22
+ > {
23
+ static getCompanionDefinition(): EntityCompanionDefinition<
24
+ PostgresUniqueTestEntityFields,
25
+ string,
26
+ ViewerContext,
27
+ PostgresUniqueTestEntity,
28
+ PostgresUniqueTestEntityPrivacyPolicy
29
+ > {
30
+ return postgresTestEntityCompanionDefinition;
31
+ }
32
+
33
+ public static async createOrTruncatePostgresTable(knex: Knex): Promise<void> {
34
+ const tableName = this.getCompanionDefinition().entityConfiguration.tableName;
35
+ const hasTable = await knex.schema.hasTable(tableName);
36
+ if (!hasTable) {
37
+ await knex.schema.createTable(tableName, (table) => {
38
+ table.uuid('id').defaultTo(knex.raw('gen_random_uuid()')).primary();
39
+ table.string('name').unique();
40
+ });
41
+ }
42
+ await knex.into(tableName).truncate();
43
+ }
44
+
45
+ public static async dropPostgresTable(knex: Knex): Promise<void> {
46
+ const tableName = this.getCompanionDefinition().entityConfiguration.tableName;
47
+ const hasTable = await knex.schema.hasTable(tableName);
48
+ if (hasTable) {
49
+ await knex.schema.dropTable(tableName);
50
+ }
51
+ }
52
+ }
53
+
54
+ class PostgresUniqueTestEntityPrivacyPolicy extends EntityPrivacyPolicy<
55
+ PostgresUniqueTestEntityFields,
56
+ string,
57
+ ViewerContext,
58
+ PostgresUniqueTestEntity
59
+ > {
60
+ protected override readonly createRules = [
61
+ new AlwaysAllowPrivacyPolicyRule<
62
+ PostgresUniqueTestEntityFields,
63
+ string,
64
+ ViewerContext,
65
+ PostgresUniqueTestEntity
66
+ >(),
67
+ ];
68
+ protected override readonly readRules = [
69
+ new AlwaysAllowPrivacyPolicyRule<
70
+ PostgresUniqueTestEntityFields,
71
+ string,
72
+ ViewerContext,
73
+ PostgresUniqueTestEntity
74
+ >(),
75
+ ];
76
+ protected override readonly updateRules = [
77
+ new AlwaysAllowPrivacyPolicyRule<
78
+ PostgresUniqueTestEntityFields,
79
+ string,
80
+ ViewerContext,
81
+ PostgresUniqueTestEntity
82
+ >(),
83
+ ];
84
+ protected override readonly deleteRules = [
85
+ new AlwaysAllowPrivacyPolicyRule<
86
+ PostgresUniqueTestEntityFields,
87
+ string,
88
+ ViewerContext,
89
+ PostgresUniqueTestEntity
90
+ >(),
91
+ ];
92
+ }
93
+
94
+ export const postgresTestEntityConfiguration =
95
+ new EntityConfiguration<PostgresUniqueTestEntityFields>({
96
+ idField: 'id',
97
+ tableName: 'postgres_test_entities',
98
+ schema: {
99
+ id: new UUIDField({
100
+ columnName: 'id',
101
+ cache: true,
102
+ }),
103
+ name: new StringField({
104
+ columnName: 'name',
105
+ }),
106
+ },
107
+ databaseAdapterFlavor: 'postgres',
108
+ cacheAdapterFlavor: 'redis',
109
+ });
110
+
111
+ const postgresTestEntityCompanionDefinition = new EntityCompanionDefinition({
112
+ entityClass: PostgresUniqueTestEntity,
113
+ entityConfiguration: postgresTestEntityConfiguration,
114
+ privacyPolicyClass: PostgresUniqueTestEntityPrivacyPolicy,
115
+ });
@@ -34,13 +34,11 @@ export default class PostgresValidatorTestEntity extends Entity<
34
34
  }
35
35
 
36
36
  public static async createOrTruncatePostgresTable(knex: Knex): Promise<void> {
37
- await knex.raw('CREATE EXTENSION IF NOT EXISTS "uuid-ossp"'); // for uuid_generate_v4()
38
-
39
37
  const tableName = this.getCompanionDefinition().entityConfiguration.tableName;
40
38
  const hasTable = await knex.schema.hasTable(tableName);
41
39
  if (!hasTable) {
42
40
  await knex.schema.createTable(tableName, (table) => {
43
- table.uuid('id').defaultTo(knex.raw('uuid_generate_v4()')).primary();
41
+ table.uuid('id').defaultTo(knex.raw('gen_random_uuid()')).primary();
44
42
  table.string('name');
45
43
  });
46
44
  }