typeorm-hasura 0.0.9 → 0.0.11

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 (36) hide show
  1. package/dist/dev-playground/entity/Org.js +0 -1
  2. package/dist/dev-playground/entity/Org.js.map +1 -1
  3. package/dist/dev-playground/entity/User.d.ts +1 -0
  4. package/dist/dev-playground/entity/User.js +4 -0
  5. package/dist/dev-playground/entity/User.js.map +1 -1
  6. package/dist/dev-playground/hasura.js +6 -2
  7. package/dist/dev-playground/hasura.js.map +1 -1
  8. package/dist/dev-playground/migration/1682340684100-next.d.ts +6 -0
  9. package/dist/dev-playground/migration/1682340684100-next.js +29 -0
  10. package/dist/dev-playground/migration/1682340684100-next.js.map +1 -0
  11. package/dist/src/builders/Metadata.d.ts +3 -0
  12. package/dist/src/builders/Metadata.js +22 -4
  13. package/dist/src/builders/Metadata.js.map +1 -1
  14. package/dist/src/mappers/graphql.js +29 -7
  15. package/dist/src/mappers/graphql.js.map +1 -1
  16. package/dist/src/mappers/operators.d.ts +3 -0
  17. package/dist/src/mappers/operators.js +25 -0
  18. package/dist/src/mappers/operators.js.map +1 -0
  19. package/dist/src/mappers/permissions.d.ts +2 -1
  20. package/dist/src/mappers/permissions.js +4 -4
  21. package/dist/src/mappers/permissions.js.map +1 -1
  22. package/dist/src/mappers/source.js +2 -0
  23. package/dist/src/mappers/source.js.map +1 -1
  24. package/dist/src/mappers/table.js +1 -1
  25. package/dist/src/mappers/table.js.map +1 -1
  26. package/dist/src/mappers/tableConfiguration.js +0 -9
  27. package/dist/src/mappers/tableConfiguration.js.map +1 -1
  28. package/dist/src/mappers/whereClause.d.ts +2 -1
  29. package/dist/src/mappers/whereClause.js +19 -18
  30. package/dist/src/mappers/whereClause.js.map +1 -1
  31. package/dist/src/types/Column.d.ts +0 -6
  32. package/dist/src/types/whereClause.d.ts +8 -4
  33. package/dist/src/types/whereClause.js +21 -5
  34. package/dist/src/types/whereClause.js.map +1 -1
  35. package/package.json +2 -2
  36. package/readme.md +2 -2
@@ -29,7 +29,6 @@ __decorate([
29
29
  __decorate([
30
30
  (0, typeorm_1.Column)({ type: 'text', nullable: true }),
31
31
  (0, src_1.HasuraColumn)({
32
- // customName: 'myOrgName',
33
32
  permissions: {
34
33
  [UserRole_1.UserRole.user]: ['select', 'update']
35
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Org.js","sourceRoot":"","sources":["../../../dev-playground/entity/Org.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAMiB;AACjB,mCAAuD;AACvD,uCAAoC;AACpC,iCAA8B;AAC9B,0CAAuC;AAkBvC,IAAa,GAAG,GAAhB,MAAa,GAAI,SAAQ,oBAAU;CAuBlC,CAAA;AAhBG;IANC,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,kBAAY,EAAC;QACV,WAAW,EAAE;YACT,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;SAC9B;KACJ,CAAC;;+BACU;AASZ;IAPC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxC,IAAA,kBAAY,EAAC;QACV,2BAA2B;QAC3B,WAAW,EAAE;YACT,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;SACxC;KACJ,CAAC;;iCACY;AAGd;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,WAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;;kCAC3B;AAGf;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,iBAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;;qCAC9B;AAtBZ,GAAG;IAff,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzC,IAAA,kBAAY,EAAM;QACf,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE;YACT,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE;gBACb,KAAK,EAAE;oBACH,KAAK,EAAE;wBACH,EAAE,EAAE,kBAAkB;qBACzB;iBACJ;gBACD,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,IAAI;aACf;SACJ;KACJ,CAAC;GACW,GAAG,CAuBf;AAvBY,kBAAG"}
1
+ {"version":3,"file":"Org.js","sourceRoot":"","sources":["../../../dev-playground/entity/Org.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAMiB;AACjB,mCAAuD;AACvD,uCAAoC;AACpC,iCAA8B;AAC9B,0CAAuC;AAkBvC,IAAa,GAAG,GAAhB,MAAa,GAAI,SAAQ,oBAAU;CAsBlC,CAAA;AAfG;IANC,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,kBAAY,EAAC;QACV,WAAW,EAAE;YACT,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;SAC9B;KACJ,CAAC;;+BACU;AAQZ;IANC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxC,IAAA,kBAAY,EAAC;QACV,WAAW,EAAE;YACT,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;SACxC;KACJ,CAAC;;iCACY;AAGd;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,WAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;;kCAC3B;AAGf;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,iBAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;;qCAC9B;AArBZ,GAAG;IAff,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzC,IAAA,kBAAY,EAAM;QACf,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE;YACT,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE;gBACb,KAAK,EAAE;oBACH,KAAK,EAAE;wBACH,EAAE,EAAE,kBAAkB;qBACzB;iBACJ;gBACD,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,IAAI;aACf;SACJ;KACJ,CAAC;GACW,GAAG,CAsBf;AAtBY,kBAAG"}
@@ -5,6 +5,7 @@ export declare class User extends BaseEntity {
5
5
  id: string;
6
6
  name: string;
7
7
  orgId: string;
8
+ testJsonB: object;
8
9
  org: Org;
9
10
  products: Product[];
10
11
  }
@@ -32,6 +32,10 @@ __decorate([
32
32
  (0, src_1.HasuraColumn)({ permissions: { [UserRole_1.UserRole.user]: ['select'] } }),
33
33
  __metadata("design:type", String)
34
34
  ], User.prototype, "orgId", void 0);
35
+ __decorate([
36
+ (0, typeorm_1.Column)({ type: 'jsonb', nullable: true }),
37
+ __metadata("design:type", Object)
38
+ ], User.prototype, "testJsonB", void 0);
35
39
  __decorate([
36
40
  (0, typeorm_1.ManyToOne)(() => Org_1.Org, (org) => org.users),
37
41
  (0, typeorm_1.JoinColumn)({ name: 'orgId' }),
@@ -1 +1 @@
1
- {"version":3,"file":"User.js","sourceRoot":"","sources":["../../../dev-playground/entity/User.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAQiB;AACjB,mCAAuD;AACvD,+BAA4B;AAC5B,uCAAoC;AACpC,0CAAuC;AAiBvC,IAAa,IAAI,GAAjB,MAAa,IAAK,SAAQ,oBAAU;CAmBnC,CAAA;AAhBG;IAFC,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,kBAAY,EAAC,EAAE,WAAW,EAAE,EAAE,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;;gCACnD;AAIZ;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxC,IAAA,kBAAY,EAAC,EAAE,WAAW,EAAE,EAAE,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;;kCAC3D;AAId;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvD,IAAA,kBAAY,EAAC,EAAE,WAAW,EAAE,EAAE,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;;mCAChD;AAIf;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,SAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;IACxC,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8BACxB,SAAG;iCAAC;AAGV;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,iBAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;;sCAC/B;AAlBZ,IAAI;IAdhB,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1C,IAAA,kBAAY,EAAO;QAChB,UAAU,EAAE,MAAM;QAClB,WAAW,EAAE;YACT,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE;gBACb,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,KAAK,EAAE;wBACH,EAAE,EAAE,kBAAkB;qBACzB;iBACJ;aACJ;SACJ;KACJ,CAAC;GACW,IAAI,CAmBhB;AAnBY,oBAAI"}
1
+ {"version":3,"file":"User.js","sourceRoot":"","sources":["../../../dev-playground/entity/User.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAQiB;AACjB,mCAAuD;AACvD,+BAA4B;AAC5B,uCAAoC;AACpC,0CAAuC;AAiBvC,IAAa,IAAI,GAAjB,MAAa,IAAK,SAAQ,oBAAU;CAsBnC,CAAA;AAnBG;IAFC,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,kBAAY,EAAC,EAAE,WAAW,EAAE,EAAE,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;;gCACnD;AAIZ;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxC,IAAA,kBAAY,EAAC,EAAE,WAAW,EAAE,EAAE,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;;kCAC3D;AAId;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvD,IAAA,kBAAY,EAAC,EAAE,WAAW,EAAE,EAAE,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;;mCAChD;AAGf;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uCACxB;AAIlB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,SAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;IACxC,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8BACxB,SAAG;iCAAC;AAGV;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,iBAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;;sCAC/B;AArBZ,IAAI;IAdhB,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1C,IAAA,kBAAY,EAAO;QAChB,UAAU,EAAE,MAAM;QAClB,WAAW,EAAE;YACT,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE;gBACb,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,KAAK,EAAE;wBACH,EAAE,EAAE,kBAAkB;qBACzB;iBACJ;aACJ;SACJ;KACJ,CAAC;GACW,IAAI,CAsBhB;AAtBY,oBAAI"}
@@ -9,10 +9,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
+ const graphql_tag_1 = require("graphql-tag");
13
+ const promises_1 = require("fs/promises");
12
14
  const src_1 = require("../src");
13
15
  const currencyConverter_1 = require("./action/currencyConverter");
14
16
  const data_source_1 = require("./data-source");
15
- const promises_1 = require("fs/promises");
16
17
  function convert() {
17
18
  return __awaiter(this, void 0, void 0, function* () {
18
19
  const generator = new src_1.MetadataBuilder()
@@ -25,8 +26,11 @@ function convert() {
25
26
  .addActions([
26
27
  currencyConverter_1.currencyConverterAction,
27
28
  ])
29
+ .addGraphQLDefinitions((0, graphql_tag_1.default) `
30
+ scalar JSON
31
+ `)
28
32
  .addInheritedRoles({
29
- testUser: ["admin", "editor"]
33
+ // testUser: ["admin", "editor"]
30
34
  });
31
35
  const metadata = generator.getMetadata();
32
36
  yield (0, promises_1.mkdir)("tmp/output", { recursive: true })
@@ -1 +1 @@
1
- {"version":3,"file":"hasura.js","sourceRoot":"","sources":["../../dev-playground/hasura.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,gCAAyC;AACzC,kEAAqE;AACrE,+CAA6C;AAC7C,0CAA8C;AAE9C,SAAe,OAAO;;QAClB,MAAM,SAAS,GAAG,IAAI,qBAAe,EAAE;aAClC,SAAS,CAAC;YACP,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,2BAAa;YACzB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;YAC5C,4BAA4B,EAAE,EAAE;SACnC,CAAC;aACD,UAAU,CAAC;YACR,2CAAuB;SAC1B,CAAC;aACD,iBAAiB,CAAC;YACf,QAAQ,EAAE,CAAC,OAAO,EAAC,QAAQ,CAAC;SAC/B,CAAC,CAAA;QACN,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAEzC,MAAM,IAAA,gBAAK,EAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;aACzC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACxC,MAAM,IAAA,oBAAS,EACX,uBAAuB,IAAI,CAAC,GAAG,EAAE,OAAO,EACxC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CACpC,CAAA;QACD,2BAAa,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACjC,CAAC;CAAA;AAED,2BAAa,CAAC,UAAU,EAAE;KACrB,IAAI,CAAC,OAAO,CAAC;KACb,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;AAEvC,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE;IAC5B,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;CACvC"}
1
+ {"version":3,"file":"hasura.js","sourceRoot":"","sources":["../../dev-playground/hasura.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,6CAA8B;AAC9B,0CAA8C;AAC9C,gCAAyC;AACzC,kEAAqE;AACrE,+CAA6C;AAE7C,SAAe,OAAO;;QAClB,MAAM,SAAS,GAAG,IAAI,qBAAe,EAAE;aAClC,SAAS,CAAC;YACP,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,2BAAa;YACzB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;YAC5C,4BAA4B,EAAE,EAAE;SACnC,CAAC;aACD,UAAU,CAAC;YACR,2CAAuB;SAC1B,CAAC;aACD,qBAAqB,CAAC,IAAA,qBAAG,EAAA;;SAEzB,CAAC;aACD,iBAAiB,CAAC;QACf,gCAAgC;SACnC,CAAC,CAAA;QACN,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAEzC,MAAM,IAAA,gBAAK,EAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;aACzC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACxC,MAAM,IAAA,oBAAS,EACX,uBAAuB,IAAI,CAAC,GAAG,EAAE,OAAO,EACxC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CACpC,CAAA;QACD,2BAAa,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACjC,CAAC;CAAA;AAED,2BAAa,CAAC,UAAU,EAAE;KACrB,IAAI,CAAC,OAAO,CAAC;KACb,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;AAEvC,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE;IAC5B,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;CACvC"}
@@ -0,0 +1,6 @@
1
+ import { MigrationInterface, QueryRunner } from "typeorm";
2
+ export declare class next1682340684100 implements MigrationInterface {
3
+ name: string;
4
+ up(queryRunner: QueryRunner): Promise<void>;
5
+ down(queryRunner: QueryRunner): Promise<void>;
6
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.next1682340684100 = void 0;
13
+ class next1682340684100 {
14
+ constructor() {
15
+ this.name = 'next1682340684100';
16
+ }
17
+ up(queryRunner) {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ yield queryRunner.query(`ALTER TABLE "User" ADD "testJsonB" jsonb`);
20
+ });
21
+ }
22
+ down(queryRunner) {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ yield queryRunner.query(`ALTER TABLE "User" DROP COLUMN "testJsonB"`);
25
+ });
26
+ }
27
+ }
28
+ exports.next1682340684100 = next1682340684100;
29
+ //# sourceMappingURL=1682340684100-next.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1682340684100-next.js","sourceRoot":"","sources":["../../../dev-playground/migration/1682340684100-next.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,MAAa,iBAAiB;IAA9B;QACI,SAAI,GAAG,mBAAmB,CAAA;IAU9B,CAAC;IARgB,EAAE,CAAC,WAAwB;;YACpC,MAAM,WAAW,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QACxE,CAAC;KAAA;IAEY,IAAI,CAAC,WAAwB;;YACtC,MAAM,WAAW,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC1E,CAAC;KAAA;CAEJ;AAXD,8CAWC"}
@@ -1,3 +1,4 @@
1
+ import { DocumentNode } from "graphql";
1
2
  import type * as Hasura from "hasura-metadata-types";
2
3
  import { ActionBuildResult, DataSourceOptions, InheritedRoles } from "../types";
3
4
  /**
@@ -25,6 +26,8 @@ export declare class MetadataBuilder {
25
26
  * @note Use the `ActionBuilder` to create an action.
26
27
  */
27
28
  addAction(action: ActionBuildResult): this;
29
+ addGraphQLDefinitions(document: DocumentNode): this;
30
+ _pushCustomTypes(custom_types: Hasura.CustomTypes): this;
28
31
  /**
29
32
  * Adds multiple actions to the metadata.
30
33
  *
@@ -13,6 +13,7 @@ exports.MetadataBuilder = void 0;
13
13
  const axios_1 = require("axios");
14
14
  const mappers_1 = require("../mappers");
15
15
  const inheritedRoles_1 = require("../mappers/inheritedRoles");
16
+ const graphql_1 = require("../mappers/graphql");
16
17
  /**
17
18
  * The builder for the metadata.
18
19
  */
@@ -76,14 +77,31 @@ class MetadataBuilder {
76
77
  * @note Use the `ActionBuilder` to create an action.
77
78
  */
78
79
  addAction(action) {
79
- var _a, _b, _c, _d, _e;
80
80
  const metadata = this._metadata.metadata;
81
- if (!metadata.actions || !((_a = metadata.custom_types) === null || _a === void 0 ? void 0 : _a.input_objects)) {
81
+ if (!metadata.actions) {
82
82
  throw new Error("Metadata object is not initialized correctly.");
83
83
  }
84
84
  metadata.actions.push(...action.actions);
85
- (_b = metadata.custom_types.input_objects) === null || _b === void 0 ? void 0 : _b.push(...(_c = action.custom_types) === null || _c === void 0 ? void 0 : _c.input_objects);
86
- (_d = metadata.custom_types.objects) === null || _d === void 0 ? void 0 : _d.push(...(_e = action.custom_types) === null || _e === void 0 ? void 0 : _e.objects);
85
+ this._pushCustomTypes(action.custom_types);
86
+ return this;
87
+ }
88
+ addGraphQLDefinitions(document) {
89
+ const { custom_types, baseActions } = (0, graphql_1.getGraphQLDefinitions)(document);
90
+ if (baseActions === null || baseActions === void 0 ? void 0 : baseActions.length) {
91
+ throw new Error("You should not add base actions throw addGraphQLDefinitions. Use addAction instead.");
92
+ }
93
+ this._pushCustomTypes(custom_types);
94
+ return this;
95
+ }
96
+ _pushCustomTypes(custom_types) {
97
+ var _a, _b, _c, _d;
98
+ const metadata = this._metadata.metadata;
99
+ if (!((_a = metadata.custom_types) === null || _a === void 0 ? void 0 : _a.input_objects)) {
100
+ throw new Error("Metadata object is not initialized correctly.");
101
+ }
102
+ (_b = metadata.custom_types.input_objects) === null || _b === void 0 ? void 0 : _b.push(...custom_types.input_objects);
103
+ (_c = metadata.custom_types.objects) === null || _c === void 0 ? void 0 : _c.push(...custom_types.objects);
104
+ (_d = metadata.custom_types.scalars) === null || _d === void 0 ? void 0 : _d.push(...custom_types.scalars);
87
105
  return this;
88
106
  }
89
107
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Metadata.js","sourceRoot":"","sources":["../../../src/builders/Metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Metadata.js","sourceRoot":"","sources":["../../../src/builders/Metadata.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,35 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getGraphQLDefinitions = void 0;
4
- function mapFields(values) {
5
- return values.map(value => ({
4
+ function mapType(type) {
5
+ if (type.kind === "NamedType") {
6
+ return type.name.value;
7
+ }
8
+ else if (type.kind === "NonNullType") {
9
+ return mapType(type.type) + "!";
10
+ }
11
+ else if (type.kind === "ListType") {
12
+ return "[" + mapType(type.type) + "]";
13
+ }
14
+ else {
15
+ // @ts-ignore never?
16
+ throw new Error(`Invalid type ${type.kind}`);
17
+ }
18
+ }
19
+ function mapField(value) {
20
+ return {
6
21
  name: value.name.value,
7
- // @ts-ignore
8
- type: value.type.kind === "NonNullType" ? value.type.type.name.value + "!" : value.type.name.value,
9
- }));
22
+ type: mapType(value.type),
23
+ };
10
24
  }
11
25
  function getGraphQLDefinitions(document) {
26
+ var _a, _b;
12
27
  const result = {
13
28
  baseActions: [],
14
29
  custom_types: {
15
30
  input_objects: [],
16
31
  objects: [],
32
+ scalars: [],
17
33
  },
18
34
  };
19
35
  for (const definition of document.definitions) {
@@ -36,7 +52,7 @@ function getGraphQLDefinitions(document) {
36
52
  definition: {
37
53
  type,
38
54
  output_type,
39
- arguments: mapFields(field.arguments || []),
55
+ arguments: ((_a = field.arguments) === null || _a === void 0 ? void 0 : _a.map(mapField)) || [],
40
56
  }
41
57
  });
42
58
  }
@@ -47,7 +63,13 @@ function getGraphQLDefinitions(document) {
47
63
  const type = definition.kind === "InputObjectTypeDefinition" ? "input_objects" : "objects";
48
64
  result.custom_types[type].push({
49
65
  name: definition.name.value,
50
- fields: mapFields(definition.fields || []),
66
+ fields: ((_b = definition.fields) === null || _b === void 0 ? void 0 : _b.map(mapField)) || [],
67
+ });
68
+ }
69
+ // ScalarTypeDefinition
70
+ else if (definition.kind === "ScalarTypeDefinition") {
71
+ result.custom_types.scalars.push({
72
+ name: definition.name.value,
51
73
  });
52
74
  }
53
75
  else
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../src/mappers/graphql.ts"],"names":[],"mappings":";;;AAIA,SAAS,SAAS,CAAC,MAA4E;IAC3F,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK;QACtB,aAAa;QACb,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;KACrG,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAgB,qBAAqB,CAAC,QAAsB;IACxD,MAAM,MAAM,GAA6B;QACrC,WAAW,EAAE,EAAE;QACf,YAAY,EAAE;YACV,aAAa,EAAE,EAAE;YACjB,OAAO,EAAE,EAAE;SACd;KACJ,CAAC;IACF,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,WAAW,EAAE;QAC3C,8BAA8B;QAC9B,IAAI,UAAU,CAAC,IAAI,KAAK,sBAAsB,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACrG,IAAI,CAAC,UAAU,CAAC,MAAM;gBAClB,MAAM,IAAI,KAAK,CAAC,qCAAqC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAClF,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE;gBACnC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;gBACjD,IAAI,IAAI,KAAK,OAAgB,IAAI,IAAI,KAAK,UAAmB;oBACzD,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,cAAc,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBAE1E,IAAI,WAAmB,CAAC;gBACxB,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;oBACjC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;iBACvC;;oBACG,MAAM,IAAI,KAAK,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,cAAc,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBAErF,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;oBACpB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK;oBACtB,UAAU,EAAE;wBACR,IAAI;wBACJ,WAAW;wBACX,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;qBAC9C;iBACJ,CAAC,CAAA;aACL;YACD,SAAQ;SACX;QAED,oDAAoD;aAC/C,IAAI,UAAU,CAAC,IAAI,KAAK,2BAA2B,IAAI,UAAU,CAAC,IAAI,KAAK,sBAAsB,EAAE;YACpG,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,KAAK,2BAA2B,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3F,MAAM,CAAC,YAAY,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC;gBAC5B,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK;gBAC3B,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;aAC7C,CAAC,CAAA;SACL;;YAEI,MAAM,IAAI,KAAK,CAAC,sBAAsB,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;KACjE;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAhDD,sDAgDC"}
1
+ {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../src/mappers/graphql.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { FindOperator } from "typeorm";
2
+ import { ExclusiveParameters } from "../types";
3
+ export declare function operatorMappers(operator: FindOperator<any>): ExclusiveParameters;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.operatorMappers = void 0;
4
+ const types_1 = require("../types");
5
+ function operatorMappers(operator) {
6
+ var _a;
7
+ const { type } = operator;
8
+ if (!(type in types_1.Operators))
9
+ throw new Error(`${operator.type} operator is not supported in this time`);
10
+ const subOperator = operator === null || operator === void 0 ? void 0 : operator.child;
11
+ if (subOperator === null || subOperator === void 0 ? void 0 : subOperator.child)
12
+ throw new Error(`${(_a = subOperator.child) === null || _a === void 0 ? void 0 : _a.type} operator is not supported in this time`);
13
+ switch (type) {
14
+ case "not":
15
+ if ((subOperator === null || subOperator === void 0 ? void 0 : subOperator.type) === "isNull")
16
+ return { _is_null: false };
17
+ return { [types_1.Operators["not"]]: operator.value };
18
+ case "isNull":
19
+ return { _is_null: true };
20
+ default:
21
+ return { [types_1.Operators[type]]: operator.value };
22
+ }
23
+ }
24
+ exports.operatorMappers = operatorMappers;
25
+ //# sourceMappingURL=operators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operators.js","sourceRoot":"","sources":["../../../src/mappers/operators.ts"],"names":[],"mappings":";;;AACA,oCAAyD;AAEzD,SAAgB,eAAe,CAAC,QAA2B;;IACvD,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAA;IACzB,IAAI,CAAC,CAAC,IAAI,IAAI,iBAAS,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,yCAAyC,CAAC,CAAC;IAC/E,MAAM,WAAW,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,CAAA;IAEnC,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK;QAClB,MAAM,IAAI,KAAK,CAAC,GAAG,MAAA,WAAW,CAAC,KAAK,0CAAE,IAAI,yCAAyC,CAAC,CAAC;IAEzF,QAAQ,IAAI,EAAE;QACV,KAAK,KAAK;YACN,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,MAAK,QAAQ;gBAC9B,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;YAC9B,OAAO,EAAE,CAAC,iBAAS,CAAC,KAAK,CAAE,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAA;QAClD,KAAK,QAAQ;YACT,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;QAC7B;YACI,OAAO,EAAE,CAAC,iBAAS,CAAC,IAAI,CAAE,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAA;KACpD;AACL,CAAC;AAnBD,0CAmBC"}
@@ -1,4 +1,5 @@
1
+ import * as TypeORM from "typeorm";
1
2
  import type * as Hasura from "hasura-metadata-types";
2
3
  import { DataSourceOptions, EntityInternalStorageWorkspace } from "../types";
3
4
  export type PermissionResult = Required<Pick<Hasura.MetadataTable, "insert_permissions" | "select_permissions" | "update_permissions" | "delete_permissions">>;
4
- export declare function generatePermissions<Entity extends Object = Object>(dataSourceOptions: DataSourceOptions, { entityOptions, columnMetadata }: EntityInternalStorageWorkspace<Entity>): PermissionResult;
5
+ export declare function generatePermissions<Entity extends Object = Object>(dataSourceOptions: DataSourceOptions, table: TypeORM.EntityMetadata, { entityOptions, columnMetadata }: EntityInternalStorageWorkspace<Entity>): PermissionResult;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generatePermissions = void 0;
4
4
  const whereClause_1 = require("./whereClause");
5
- function generatePermissions(dataSourceOptions, { entityOptions, columnMetadata }) {
5
+ function generatePermissions(dataSourceOptions, table, { entityOptions, columnMetadata }) {
6
6
  const result = {
7
7
  insert_permissions: [],
8
8
  select_permissions: [],
@@ -22,7 +22,7 @@ function generatePermissions(dataSourceOptions, { entityOptions, columnMetadata
22
22
  role: key,
23
23
  permission: {
24
24
  columns: columnNames(columnMetadata, key, "select"),
25
- filter: (0, whereClause_1.convertWhereClause)(where, select.where),
25
+ filter: (0, whereClause_1.convertWhereClause)(table, where, select.where),
26
26
  limit: select.limit || dataSourceOptions.defaultSelectPermissionLimit,
27
27
  }
28
28
  });
@@ -34,7 +34,7 @@ function generatePermissions(dataSourceOptions, { entityOptions, columnMetadata
34
34
  role: key,
35
35
  permission: {
36
36
  columns: columnNames(columnMetadata, key, "update"),
37
- filter: (0, whereClause_1.convertWhereClause)(where, update.where)
37
+ filter: (0, whereClause_1.convertWhereClause)(table, where, update.where)
38
38
  }
39
39
  });
40
40
  }
@@ -56,7 +56,7 @@ function generatePermissions(dataSourceOptions, { entityOptions, columnMetadata
56
56
  result.delete_permissions.push({
57
57
  role: key,
58
58
  permission: {
59
- filter: (0, whereClause_1.convertWhereClause)(where, myDelete.where)
59
+ filter: (0, whereClause_1.convertWhereClause)(table, where, myDelete.where)
60
60
  }
61
61
  });
62
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../src/mappers/permissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../src/mappers/permissions.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ function generateSource(dataSourceOptions) {
14
14
  tables: [...dataSource.entityMetadatas]
15
15
  // sort to be consistent with hasura
16
16
  .sort((a, b) => a.name.localeCompare(b.name))
17
+ // we only want to generate tables for regular tables cuz we doesn't support another types
18
+ .filter(table => table.tableType === 'regular')
17
19
  .map(table => (0, table_1.generateTable)(dataSourceOptions, table)),
18
20
  customization,
19
21
  configuration: {
@@ -1 +1 @@
1
- {"version":3,"file":"source.js","sourceRoot":"","sources":["../../../src/mappers/source.ts"],"names":[],"mappings":";;;AAEA,6CAA6C;AAC7C,+CAA+C;AAC/C,mCAAwC;AAExC,SAAgB,cAAc,CAAC,iBAAoC;IAC/D,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAAC;IAEjF,uBAAuB;IACvB,wDAAwD;IAExD,OAAO;QACH,IAAI;QACJ,IAAI,EAAE,IAAA,0BAAa,EAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;QAC5C,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,eAAe,CAAC;YACnC,oCAAoC;aACnC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAC5C,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAA,qBAAa,EAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAC1D,aAAa;QACb,aAAa,EAAE;YACX,iBAAiB,EAAE;gBACf,cAAc,EAAE,IAAA,4BAAc,EAAC,iBAAiB,CAAC;gBACjD,iBAAiB,EAAE,gBAAgB;gBACnC,yBAAyB,EAAE,KAAK;aACnC;YACD,mBAAmB,EAAE,wBAAwB;SAChD;KACJ,CAAA;AACL,CAAC;AAvBD,wCAuBC"}
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../../src/mappers/source.ts"],"names":[],"mappings":";;;AAEA,6CAA6C;AAC7C,+CAA+C;AAC/C,mCAAwC;AAExC,SAAgB,cAAc,CAAC,iBAAoC;IAC/D,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAAC;IAEjF,uBAAuB;IACvB,wDAAwD;IAExD,OAAO;QACH,IAAI;QACJ,IAAI,EAAE,IAAA,0BAAa,EAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;QAC5C,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,eAAe,CAAC;YACnC,oCAAoC;aACnC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC7C,0FAA0F;aACzF,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC;aAC9C,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAA,qBAAa,EAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAC1D,aAAa;QACb,aAAa,EAAE;YACX,iBAAiB,EAAE;gBACf,cAAc,EAAE,IAAA,4BAAc,EAAC,iBAAiB,CAAC;gBACjD,iBAAiB,EAAE,gBAAgB;gBACnC,yBAAyB,EAAE,KAAK;aACnC;YACD,mBAAmB,EAAE,wBAAwB;SAChD;KACJ,CAAA;AACL,CAAC;AAzBD,wCAyBC"}
@@ -13,7 +13,7 @@ function generateTable(dataSourceOptions, table) {
13
13
  // todo: does not work?
14
14
  // schema: table.schema,
15
15
  schema: 'schema' in table.connection.options && table.connection.options.schema || 'public',
16
- }, configuration: (0, tableConfiguration_1.generateTableConfiguration)(table, entityWorkspace) }, (0, relationships_1.generateRelationships)(table.relations)), (0, permissions_1.generatePermissions)(dataSourceOptions, entityWorkspace));
16
+ }, configuration: (0, tableConfiguration_1.generateTableConfiguration)(table, entityWorkspace) }, (0, relationships_1.generateRelationships)(table.relations)), (0, permissions_1.generatePermissions)(dataSourceOptions, table, entityWorkspace));
17
17
  // be consistent with hasura
18
18
  if (!((_a = metadata.object_relationships) === null || _a === void 0 ? void 0 : _a.length))
19
19
  delete metadata.object_relationships;
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/mappers/table.ts"],"names":[],"mappings":";;;AAEA,mDAAwD;AACxD,6DAAkE;AAElE,+CAAoD;AACpD,wDAAqD;AAErD,SAAgB,aAAa,CACzB,iBAAoC,EACpC,KAA6B;;IAE7B,MAAM,eAAe,GAAG,iCAAe,CAAC,kBAAkB,CAAS,KAAK,CAAC,MAAM,CAAC,CAAC;IAEjF,MAAM,QAAQ,iCACV,KAAK,EAAE;YACH,IAAI,EAAE,KAAK,CAAC,SAAS;YACrB,uBAAuB;YACvB,wBAAwB;YACxB,MAAM,EAAE,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,IAAI,QAAQ;SAC9F,EACD,aAAa,EAAE,IAAA,+CAA0B,EAAC,KAAK,EAAE,eAAe,CAAC,IAC9D,IAAA,qCAAqB,EAAC,KAAK,CAAC,SAAS,CAAC,GACtC,IAAA,iCAAmB,EAAC,iBAAiB,EAAE,eAAe,CAAC,CAC7D,CAAA;IAED,4BAA4B;IAC5B,IAAI,CAAC,CAAA,MAAA,QAAQ,CAAC,oBAAoB,0CAAE,MAAM,CAAA;QAAE,OAAO,QAAQ,CAAC,oBAAoB,CAAC;IACjF,IAAI,CAAC,CAAA,MAAA,QAAQ,CAAC,mBAAmB,0CAAE,MAAM,CAAA;QAAE,OAAO,QAAQ,CAAC,mBAAmB,CAAC;IAC/E,IAAI,CAAC,CAAA,MAAA,QAAQ,CAAC,kBAAkB,0CAAE,MAAM,CAAA;QAAE,OAAO,QAAQ,CAAC,kBAAkB,CAAC;IAC7E,IAAI,CAAC,CAAA,MAAA,QAAQ,CAAC,kBAAkB,0CAAE,MAAM,CAAA;QAAE,OAAO,QAAQ,CAAC,kBAAkB,CAAC;IAC7E,IAAI,CAAC,CAAA,MAAA,QAAQ,CAAC,kBAAkB,0CAAE,MAAM,CAAA;QAAE,OAAO,QAAQ,CAAC,kBAAkB,CAAC;IAC7E,IAAI,CAAC,CAAA,MAAA,QAAQ,CAAC,kBAAkB,0CAAE,MAAM,CAAA;QAAE,OAAO,QAAQ,CAAC,kBAAkB,CAAC;IAE7E,OAAO,QAAQ,CAAC;AACpB,CAAC;AA3BD,sCA2BC"}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/mappers/table.ts"],"names":[],"mappings":";;;AAEA,mDAAwD;AACxD,6DAAkE;AAElE,+CAAoD;AACpD,wDAAqD;AAErD,SAAgB,aAAa,CACzB,iBAAoC,EACpC,KAA6B;;IAE7B,MAAM,eAAe,GAAG,iCAAe,CAAC,kBAAkB,CAAS,KAAK,CAAC,MAAM,CAAC,CAAC;IAEjF,MAAM,QAAQ,iCACV,KAAK,EAAE;YACH,IAAI,EAAE,KAAK,CAAC,SAAS;YACrB,uBAAuB;YACvB,wBAAwB;YACxB,MAAM,EAAE,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,IAAI,QAAQ;SAC9F,EACD,aAAa,EAAE,IAAA,+CAA0B,EAAC,KAAK,EAAE,eAAe,CAAC,IAC9D,IAAA,qCAAqB,EAAC,KAAK,CAAC,SAAS,CAAC,GACtC,IAAA,iCAAmB,EAAC,iBAAiB,EAAE,KAAK,EAAE,eAAe,CAAC,CACpE,CAAA;IAED,4BAA4B;IAC5B,IAAI,CAAC,CAAA,MAAA,QAAQ,CAAC,oBAAoB,0CAAE,MAAM,CAAA;QAAE,OAAO,QAAQ,CAAC,oBAAoB,CAAC;IACjF,IAAI,CAAC,CAAA,MAAA,QAAQ,CAAC,mBAAmB,0CAAE,MAAM,CAAA;QAAE,OAAO,QAAQ,CAAC,mBAAmB,CAAC;IAC/E,IAAI,CAAC,CAAA,MAAA,QAAQ,CAAC,kBAAkB,0CAAE,MAAM,CAAA;QAAE,OAAO,QAAQ,CAAC,kBAAkB,CAAC;IAC7E,IAAI,CAAC,CAAA,MAAA,QAAQ,CAAC,kBAAkB,0CAAE,MAAM,CAAA;QAAE,OAAO,QAAQ,CAAC,kBAAkB,CAAC;IAC7E,IAAI,CAAC,CAAA,MAAA,QAAQ,CAAC,kBAAkB,0CAAE,MAAM,CAAA;QAAE,OAAO,QAAQ,CAAC,kBAAkB,CAAC;IAC7E,IAAI,CAAC,CAAA,MAAA,QAAQ,CAAC,kBAAkB,0CAAE,MAAM,CAAA;QAAE,OAAO,QAAQ,CAAC,kBAAkB,CAAC;IAE7E,OAAO,QAAQ,CAAC;AACpB,CAAC;AA3BD,sCA2BC"}
@@ -3,17 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateTableConfiguration = void 0;
4
4
  const lodash_snakecase_1 = require("lodash.snakecase");
5
5
  function generateTableConfiguration(table, { entityOptions, columnMetadata }) {
6
- var _a;
7
6
  let custom_name = entityOptions && entityOptions.customName || table.tableName;
8
7
  const columnHasuraEntries = [];
9
- for (const column of columnMetadata) {
10
- // looks like its only possible to set custom_name for columns here
11
- if ((_a = column.options) === null || _a === void 0 ? void 0 : _a.customName) {
12
- columnHasuraEntries.push([column.propertyName, {
13
- custom_name: column.options.customName,
14
- }]);
15
- }
16
- }
17
8
  const column_config = columnHasuraEntries.length ? Object.fromEntries(columnHasuraEntries) : {};
18
9
  const custom_root_fields = {};
19
10
  if (entityOptions === null || entityOptions === void 0 ? void 0 : entityOptions.customRootFields) {
@@ -1 +1 @@
1
- {"version":3,"file":"tableConfiguration.js","sourceRoot":"","sources":["../../../src/mappers/tableConfiguration.ts"],"names":[],"mappings":";;;AAGA,uDAAwC;AAExC,SAAgB,0BAA0B,CACtC,KAA6B,EAC7B,EAAE,aAAa,EAAE,cAAc,EAA0C;;IAGzE,IAAI,WAAW,GAAuB,aAAa,IAAI,aAAa,CAAC,UAAU,IAAI,KAAK,CAAC,SAAS,CAAC;IAEnG,MAAM,mBAAmB,GAAiD,EAAE,CAAC;IAC7E,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE;QACjC,mEAAmE;QACnE,IAAI,MAAA,MAAM,CAAC,OAAO,0CAAE,UAAU,EAAE;YAC5B,mBAAmB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE;oBAC3C,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU;iBACzC,CAAC,CAAC,CAAA;SACN;KACJ;IACD,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhG,MAAM,kBAAkB,GAAoC,EAAE,CAAC;IAC/D,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,gBAAgB,EAAE;QACjC,4EAA4E;QAC5E,KAAK,MAAM,SAAS,IAAI,aAAa,CAAC,gBAAgB,EAAE;YACpD,IAAI,eAAe,GAAG,aAAa,CAAC,gBAAgB,CAAC,SAAwD,CAAC,CAAC;YAC/G,IAAI,eAAe,EAAE;gBACjB,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE;oBACrC,eAAe,GAAG;wBACd,IAAI,EAAE,eAAe;qBACxB,CAAC;iBACL;gBACD,kBAAkB,CAAC,IAAA,0BAAS,EAAC,SAAS,CAAC,CAAC,GAAG,eAAe,CAAC;aAC9D;SACJ;KACJ;IAED,OAAO;QACH,aAAa;QAEb,4CAA4C;QAC5C,mBAAmB,EAAE,EAAE;QAEvB,WAAW;QACX,kBAAkB;KACrB,CAAA;AACL,CAAC;AA3CD,gEA2CC"}
1
+ {"version":3,"file":"tableConfiguration.js","sourceRoot":"","sources":["../../../src/mappers/tableConfiguration.ts"],"names":[],"mappings":";;;AAGA,uDAAwC;AAExC,SAAgB,0BAA0B,CACtC,KAA6B,EAC7B,EAAE,aAAa,EAAE,cAAc,EAA0C;IAGzE,IAAI,WAAW,GAAuB,aAAa,IAAI,aAAa,CAAC,UAAU,IAAI,KAAK,CAAC,SAAS,CAAC;IAEnG,MAAM,mBAAmB,GAAiD,EAAE,CAAC;IAE7E,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhG,MAAM,kBAAkB,GAAoC,EAAE,CAAC;IAC/D,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,gBAAgB,EAAE;QACjC,4EAA4E;QAC5E,KAAK,MAAM,SAAS,IAAI,aAAa,CAAC,gBAAgB,EAAE;YACpD,IAAI,eAAe,GAAG,aAAa,CAAC,gBAAgB,CAAC,SAAwD,CAAC,CAAC;YAC/G,IAAI,eAAe,EAAE;gBACjB,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE;oBACrC,eAAe,GAAG;wBACd,IAAI,EAAE,eAAe;qBACxB,CAAC;iBACL;gBACD,kBAAkB,CAAC,IAAA,0BAAS,EAAC,SAAS,CAAC,CAAC,GAAG,eAAe,CAAC;aAC9D;SACJ;KACJ;IAED,OAAO;QACH,aAAa;QAEb,4CAA4C;QAC5C,mBAAmB,EAAE,EAAE;QAEvB,WAAW;QACX,kBAAkB;KACrB,CAAA;AACL,CAAC;AApCD,gEAoCC"}
@@ -1,2 +1,3 @@
1
+ import * as TypeORM from "typeorm";
1
2
  import { Where, Filter } from "../types";
2
- export declare function convertWhereClause<Entity extends Object>(...wheres: (Where<Entity> | undefined)[]): Filter<Entity>;
3
+ export declare function convertWhereClause<Entity extends Object>(table: TypeORM.EntityMetadata, ...wheres: (Where<Entity> | undefined)[]): Filter<Entity>;
@@ -1,46 +1,47 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.convertWhereClause = void 0;
4
- const typeorm_1 = require("typeorm");
5
- const types_1 = require("../types");
6
- function convertWhereClause(...wheres) {
4
+ const TypeORM = require("typeorm");
5
+ const operators_1 = require("./operators");
6
+ function convertWhereClause(table, ...wheres) {
7
7
  wheres = wheres.filter(Boolean);
8
8
  if (!wheres.length)
9
9
  return {};
10
10
  if (wheres.length > 1) {
11
11
  return {
12
- _and: wheres.map(where => convertWhereClause(where))
12
+ _and: wheres.map(where => convertWhereClause(table, where))
13
13
  };
14
14
  }
15
15
  const [where] = wheres;
16
16
  if (!where)
17
17
  return {};
18
18
  if (Array.isArray(where)) {
19
- return { _or: where.map(i => parseParameters(i)) };
19
+ return { _or: where.map(i => parseParameters(table, i)) };
20
20
  }
21
- return parseParameters(where);
21
+ return parseParameters(table, where);
22
22
  }
23
23
  exports.convertWhereClause = convertWhereClause;
24
- function parseParameters(object) {
24
+ function parseParameters(table, object) {
25
25
  let conditions = [];
26
26
  for (let key in object) {
27
27
  const parameterValue = object[key];
28
- if (typeorm_1.InstanceChecker.isFindOperator(parameterValue)) {
29
- const operator = types_1.Operators[parameterValue.type];
30
- if (operator) {
31
- conditions.push({ [key]: { [operator]: parameterValue.value } });
32
- }
33
- else
34
- throw new Error(`operator "${parameterValue.type}" is not supported in this time`);
28
+ const column = table.columns.find(i => i.databaseName === key);
29
+ const relation = table.relations.find(i => i.propertyName === key);
30
+ if (TypeORM.InstanceChecker.isFindOperator(parameterValue)) {
31
+ conditions.push({ [key]: (0, operators_1.operatorMappers)(parameterValue) });
35
32
  }
36
33
  else if (["string", "number", "boolean"].includes(typeof parameterValue)) {
37
34
  conditions.push({ [key]: { "_eq": parameterValue } });
38
35
  }
39
- else if (typeof parameterValue === "object" && !Array.isArray(parameterValue) && parameterValue !== null) {
40
- conditions.push({ [key]: parseParameters(parameterValue) });
36
+ else if (relation && parameterValue) {
37
+ conditions.push({ [key]: parseParameters(relation.inverseEntityMetadata, parameterValue) });
38
+ }
39
+ else if ((column === null || column === void 0 ? void 0 : column.type) === "jsonb" && typeof parameterValue == "object" && !Array.isArray(parameterValue)) {
40
+ conditions.push({ [key]: { "_contains": parameterValue } });
41
+ }
42
+ else {
43
+ throw new Error(`this parameter is not supported in this time`);
41
44
  }
42
- else
43
- throw new Error("this parameter is not supported in this time");
44
45
  }
45
46
  return conditions.length == 0 ? {} :
46
47
  conditions.length == 1 ? conditions[0] :
@@ -1 +1 @@
1
- {"version":3,"file":"whereClause.js","sourceRoot":"","sources":["../../../src/mappers/whereClause.ts"],"names":[],"mappings":";;;AAAA,qCAAiE;AACjE,oCAAqD;AAErD,SAAgB,kBAAkB,CAAwB,GAAG,MAAqC;IAC9F,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC/B,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,EAAE,CAAA;IAC7B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,OAAO;YACH,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;SACvD,CAAA;KACJ;IACD,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAA;IAEtB,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAA;IACrB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACtB,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;KACrD;IACD,OAAO,eAAe,CAAC,KAAK,CAAC,CAAA;AACjC,CAAC;AAfD,gDAeC;AAED,SAAS,eAAe,CAAwB,MAAgC;IAC5E,IAAI,UAAU,GAAqB,EAAE,CAAA;IACrC,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;QACpB,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QAClC,IAAI,yBAAe,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE;YAChD,MAAM,QAAQ,GAAG,iBAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;YAC/C,IAAI,QAAQ,EAAE;gBACV,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;aACnE;;gBACG,MAAM,IAAI,KAAK,CAAC,aAAa,cAAc,CAAC,IAAI,iCAAiC,CAAC,CAAC;SAC1F;aAAM,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,cAAc,CAAC,EAAE;YACxE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,CAAA;SACxD;aAAM,IAAI,OAAO,cAAc,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,cAAc,KAAK,IAAI,EAAE;YACxG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;SAC9D;;YACG,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;KACvE;IACD,OAAO,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAChC,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;AAChC,CAAC"}
1
+ {"version":3,"file":"whereClause.js","sourceRoot":"","sources":["../../../src/mappers/whereClause.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAEnC,2CAA8C;AAE9C,SAAgB,kBAAkB,CAC9B,KAA6B,EAC7B,GAAG,MAAqC;IAExC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC/B,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,EAAE,CAAA;IAC7B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,OAAO;YACH,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SAC9D,CAAA;KACJ;IACD,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAA;IAEtB,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAA;IACrB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACtB,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;KAC5D;IACD,OAAO,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AACxC,CAAC;AAlBD,gDAkBC;AAED,SAAS,eAAe,CACpB,KAA6B,EAC7B,MAAwC;IAExC,IAAI,UAAU,GAAqB,EAAE,CAAA;IACrC,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;QACpB,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,GAAG,CAAC,CAAA;QAC9D,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,GAAG,CAAC,CAAA;QAElE,IAAI,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE;YACxD,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAA,2BAAe,EAAC,cAAc,CAAC,EAAE,CAAC,CAAA;SAC9D;aAAM,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,cAAc,CAAC,EAAE;YACxE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,CAAA;SACxD;aAAM,IAAI,QAAQ,IAAI,cAAc,EAAE;YACnC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,qBAAqB,EAAE,cAAc,CAAC,EAAE,CAAC,CAAA;SAC9F;aAAM,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,OAAO,IAAI,OAAO,cAAc,IAAI,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;YACxG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE,CAAC,CAAA;SAC9D;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;SACnE;KACJ;IACD,OAAO,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAChC,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;AAChC,CAAC"}
@@ -1,12 +1,6 @@
1
1
  import { UserActionType, UserRoleName } from "./base";
2
2
  import { EntityTarget } from "./Entity";
3
3
  export interface ColumnOptions {
4
- /**
5
- * Column name which will be show up in hasura.
6
- *
7
- * @deprecated please DO NOT use this property cuz its unsafe and unstable.
8
- */
9
- customName?: string;
10
4
  /**
11
5
  * Column type which will be allowed to do actions.
12
6
  */
@@ -7,15 +7,18 @@ export type ExclusiveKeys<T extends {}, Key = {
7
7
  }> = {
8
8
  [K in keyof Key]: Key[K];
9
9
  }[keyof Key];
10
- type StringParameters = "_eq" | "_neq" | "_gt" | "_lt" | "_gte" | "_lte" | "_like" | "_ilike";
11
- type ArrayParameters = "_in";
10
+ type StringParameters = "_eq" | "_neq" | "_gt" | "_lt" | "_gte" | "_lte" | "_like" | "_nlike" | "_ilike" | "_nilike";
11
+ type ArrayParameters = "_in" | "_nin";
12
12
  type NullParameters = "_is_null";
13
- type ExclusiveParameters = ExclusiveKeys<{
13
+ type JsonBParameters = "_contains";
14
+ export type ExclusiveParameters = ExclusiveKeys<{
14
15
  [key in StringParameters]?: string;
15
16
  } & {
16
17
  [key in ArrayParameters]?: string[];
17
18
  } & {
18
19
  [key in NullParameters]?: boolean;
20
+ } & {
21
+ [key in JsonBParameters]?: Object;
19
22
  }>;
20
23
  type Subject<Entity extends Object> = {
21
24
  [key in keyof Entity]?: ExclusiveParameters;
@@ -28,5 +31,6 @@ export type Filter<EntityParameters extends Object> = ExclusiveKeys<{
28
31
  _or?: Filter<EntityParameters>[];
29
32
  _not?: Filter<EntityParameters>;
30
33
  }> | ExclusiveArguments<EntityParameters>;
31
- export declare const Operators: Readonly<Partial<Record<FindOperatorType, StringParameters | ArrayParameters>>>;
34
+ export declare const Operators: Readonly<Partial<Record<FindOperatorType, StringParameters | ArrayParameters | NullParameters>>>;
35
+ export declare const OppositeOperators: Readonly<Partial<Record<StringParameters | ArrayParameters, StringParameters | ArrayParameters>>>;
32
36
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Operators = void 0;
3
+ exports.OppositeOperators = exports.Operators = void 0;
4
4
  exports.Operators = {
5
5
  // string
6
6
  "equal": "_eq",
@@ -13,10 +13,26 @@ exports.Operators = {
13
13
  "ilike": "_ilike",
14
14
  // array
15
15
  "in": "_in",
16
+ "isNull": "_is_null",
17
+ };
18
+ exports.OppositeOperators = {
19
+ "_eq": "_neq",
20
+ "_neq": "_eq",
21
+ //
22
+ "_gt": "_lte",
23
+ "_lt": "_gte",
24
+ //
25
+ "_gte": "_lt",
26
+ "_lte": "_gt",
27
+ //
28
+ "_like": "_nlike",
29
+ "_nlike": "_like",
30
+ //
31
+ "_ilike": "_nilike",
32
+ "_nilike": "_ilike",
33
+ //
34
+ "_in": "_nin",
35
+ "_nin": "_in"
16
36
  };
17
- var NullParams;
18
- (function (NullParams) {
19
- NullParams["isNull"] = "_is_null";
20
- })(NullParams || (NullParams = {}));
21
37
  // all typeorm operators FindOperatorType
22
38
  //# sourceMappingURL=whereClause.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"whereClause.js","sourceRoot":"","sources":["../../../src/types/whereClause.ts"],"names":[],"mappings":";;;AAsDa,QAAA,SAAS,GAElB;IACA,SAAS;IACT,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,MAAM;IACb,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE,KAAK;IACjB,iBAAiB,EAAE,MAAM;IACzB,iBAAiB,EAAE,MAAM;IACzB,MAAM,EAAE,OAAO;IACf,OAAO,EAAE,QAAQ;IACjB,QAAQ;IACR,IAAI,EAAE,KAAK;CACd,CAAA;AACD,IAAK,UAEJ;AAFD,WAAK,UAAU;IACX,iCAAqB,CAAA;AACzB,CAAC,EAFI,UAAU,KAAV,UAAU,QAEd;AAED,yCAAyC"}
1
+ {"version":3,"file":"whereClause.js","sourceRoot":"","sources":["../../../src/types/whereClause.ts"],"names":[],"mappings":";;;AA2Da,QAAA,SAAS,GAElB;IACA,SAAS;IACT,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,MAAM;IACb,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE,KAAK;IACjB,iBAAiB,EAAE,MAAM;IACzB,iBAAiB,EAAE,MAAM;IACzB,MAAM,EAAE,OAAO;IACf,OAAO,EAAE,QAAQ;IACjB,QAAQ;IACR,IAAI,EAAE,KAAK;IACX,QAAQ,EAAE,UAAU;CACd,CAAA;AAEG,QAAA,iBAAiB,GAE1B;IACA,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,KAAK;IACb,EAAE;IACF,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,MAAM;IACb,EAAE;IACF,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,KAAK;IACb,EAAE;IACF,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,OAAO;IACjB,EAAE;IACF,QAAQ,EAAE,SAAS;IACnB,SAAS,EAAE,QAAQ;IACnB,EAAE;IACF,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,KAAK;CAChB,CAAA;AAED,yCAAyC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typeorm-hasura",
3
- "version": "0.0.9",
3
+ "version": "0.0.11",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "hasura",
@@ -44,7 +44,7 @@
44
44
  "axios": "^1.3.5",
45
45
  "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0",
46
46
  "graphql-tag": "^2.0.0",
47
- "hasura-metadata-types": "^2.22.1",
47
+ "hasura-metadata-types": "^2.24.11",
48
48
  "lodash.snakecase": "^4.1.1"
49
49
  },
50
50
  "peerDependencies": {
package/readme.md CHANGED
@@ -148,8 +148,8 @@ Here's a step-by-step guide on how to use typeorm-hasura:
148
148
  ## Contributing
149
149
 
150
150
  We appreciate your help in improving the "typeorm-hasura" library.
151
- <!-- Please follow our [contributing guidelines](https://github.com/utyfua/typeorm-hasura/CONTRIBUTING.md) to contribute to the project. -->
151
+ <!-- Please follow our [contributing guidelines](https://github.com/utyfua/typeorm-hasura/blob/master/CONTRIBUTING.md) to contribute to the project. -->
152
152
 
153
153
  ## License
154
154
 
155
- `typeorm-hasura` is released under the [MIT License](https://github.com/utyfua/typeorm-hasura/LICENSE).
155
+ `typeorm-hasura` is released under the [MIT License](https://github.com/utyfua/typeorm-hasura/blob/master/LICENSE).