typeorm-hasura 0.0.17 → 0.0.18

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 (67) hide show
  1. package/dist/dev-playground/CustomBaseEntity.d.ts +3 -0
  2. package/dist/dev-playground/CustomBaseEntity.js +14 -0
  3. package/dist/dev-playground/CustomBaseEntity.js.map +1 -0
  4. package/dist/dev-playground/entity/Org.d.ts +2 -2
  5. package/dist/dev-playground/entity/Org.js +2 -1
  6. package/dist/dev-playground/entity/Org.js.map +1 -1
  7. package/dist/dev-playground/entity/Product.d.ts +2 -2
  8. package/dist/dev-playground/entity/Product.js +2 -1
  9. package/dist/dev-playground/entity/Product.js.map +1 -1
  10. package/dist/dev-playground/entity/ProductView.d.ts +2 -2
  11. package/dist/dev-playground/entity/ProductView.js +2 -1
  12. package/dist/dev-playground/entity/ProductView.js.map +1 -1
  13. package/dist/dev-playground/entity/User.d.ts +2 -2
  14. package/dist/dev-playground/entity/User.js +2 -1
  15. package/dist/dev-playground/entity/User.js.map +1 -1
  16. package/dist/dev-playground/entity/UserView.d.ts +2 -2
  17. package/dist/dev-playground/entity/UserView.js +2 -1
  18. package/dist/dev-playground/entity/UserView.js.map +1 -1
  19. package/dist/dev-playground/entity/index.js.map +1 -1
  20. package/dist/dev-playground/hasura.js +10 -2
  21. package/dist/dev-playground/hasura.js.map +1 -1
  22. package/dist/src/builders/Metadata.js +25 -8
  23. package/dist/src/builders/Metadata.js.map +1 -1
  24. package/dist/src/mappers/permissions.js +1 -4
  25. package/dist/src/mappers/permissions.js.map +1 -1
  26. package/dist/src/mappers/relationships.js +21 -16
  27. package/dist/src/mappers/relationships.js.map +1 -1
  28. package/dist/src/mappers/table.js +3 -3
  29. package/dist/src/mappers/table.js.map +1 -1
  30. package/dist/src/types/DataSourceOptions.d.ts +5 -2
  31. package/dist/src/types/permissions.d.ts +6 -0
  32. package/package.json +8 -7
  33. package/readme.md +15 -2
  34. package/src/builders/Action.ts +38 -0
  35. package/src/builders/Metadata.ts +171 -0
  36. package/src/builders/index.ts +2 -0
  37. package/src/decorators/Column.ts +12 -0
  38. package/src/decorators/Entity.ts +12 -0
  39. package/src/decorators/index.ts +2 -0
  40. package/src/index.ts +5 -0
  41. package/src/internalStorage.ts +26 -0
  42. package/src/mappers/databaseUrl.spec.ts +33 -0
  43. package/src/mappers/databaseUrl.ts +19 -0
  44. package/src/mappers/graphql.spec.ts +125 -0
  45. package/src/mappers/graphql.ts +75 -0
  46. package/src/mappers/hasuraKind.spec.ts +12 -0
  47. package/src/mappers/hasuraKind.ts +11 -0
  48. package/src/mappers/index.ts +3 -0
  49. package/src/mappers/inheritedRoles.ts +13 -0
  50. package/src/mappers/operators.ts +23 -0
  51. package/src/mappers/permissions.spec.ts +176 -0
  52. package/src/mappers/permissions.ts +89 -0
  53. package/src/mappers/relationships.ts +103 -0
  54. package/src/mappers/source.ts +32 -0
  55. package/src/mappers/table.ts +36 -0
  56. package/src/mappers/tableConfiguration.ts +42 -0
  57. package/src/mappers/whereClause.spec.ts +183 -0
  58. package/src/mappers/whereClause.ts +54 -0
  59. package/src/types/Action.ts +27 -0
  60. package/src/types/Column.ts +18 -0
  61. package/src/types/DataSourceOptions.ts +25 -0
  62. package/src/types/Entity.ts +60 -0
  63. package/src/types/InheritedRoles.ts +6 -0
  64. package/src/types/base.ts +2 -0
  65. package/src/types/index.ts +8 -0
  66. package/src/types/permissions.ts +44 -0
  67. package/src/types/whereClause.ts +99 -0
@@ -0,0 +1,3 @@
1
+ import { BaseEntity } from "typeorm";
2
+ export declare class CustomBaseEntity extends BaseEntity {
3
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ // https://typeorm.io/active-record-data-mapper
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.CustomBaseEntity = void 0;
5
+ //
6
+ const typeorm_1 = require("typeorm");
7
+ class CustomBaseEntity extends typeorm_1.BaseEntity {
8
+ }
9
+ exports.CustomBaseEntity = CustomBaseEntity;
10
+ ;
11
+ /*/
12
+ export class CustomBaseEntity { };
13
+ //*/
14
+ //# sourceMappingURL=CustomBaseEntity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomBaseEntity.js","sourceRoot":"","sources":["../../dev-playground/CustomBaseEntity.ts"],"names":[],"mappings":";AAAA,+CAA+C;;;AAE/C,EAAE;AACF,qCAAqC;AACrC,MAAa,gBAAiB,SAAQ,oBAAU;CAAI;AAApD,4CAAoD;AAAA,CAAC;AACrD;;IAEI"}
@@ -1,7 +1,7 @@
1
- import { BaseEntity } from 'typeorm';
2
1
  import { Product } from './Product';
3
2
  import { User } from './User';
4
- export declare class Org extends BaseEntity {
3
+ import { CustomBaseEntity } from '../CustomBaseEntity';
4
+ export declare class Org extends CustomBaseEntity {
5
5
  id: string;
6
6
  name: string;
7
7
  users: User[];
@@ -15,7 +15,8 @@ const src_1 = require("../../src");
15
15
  const Product_1 = require("./Product");
16
16
  const User_1 = require("./User");
17
17
  const UserRole_1 = require("../UserRole");
18
- let Org = class Org extends typeorm_1.BaseEntity {
18
+ const CustomBaseEntity_1 = require("../CustomBaseEntity");
19
+ let Org = class Org extends CustomBaseEntity_1.CustomBaseEntity {
19
20
  };
20
21
  exports.Org = Org;
21
22
  __decorate([
@@ -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;AAkBhC,IAAM,GAAG,GAAT,MAAM,GAAI,SAAQ,oBAAU;CAsBlC,CAAA;AAtBY,kBAAG;AAOZ;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;cArBZ,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"}
1
+ {"version":3,"file":"Org.js","sourceRoot":"","sources":["../../../dev-playground/entity/Org.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAKiB;AACjB,mCAAuD;AACvD,uCAAoC;AACpC,iCAA8B;AAC9B,0CAAuC;AACvC,0DAAuD;AAkBhD,IAAM,GAAG,GAAT,MAAM,GAAI,SAAQ,mCAAgB;CAsBxC,CAAA;AAtBY,kBAAG;AAOZ;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;cArBZ,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"}
@@ -1,7 +1,7 @@
1
- import { BaseEntity } from 'typeorm';
2
1
  import { User } from './User';
3
2
  import { Org } from "./Org";
4
- export declare class Product extends BaseEntity {
3
+ import { CustomBaseEntity } from '../CustomBaseEntity';
4
+ export declare class Product extends CustomBaseEntity {
5
5
  id: string;
6
6
  name: string;
7
7
  orgId: string;
@@ -15,7 +15,8 @@ const src_1 = require("../../src");
15
15
  const User_1 = require("./User");
16
16
  const Org_1 = require("./Org");
17
17
  const UserRole_1 = require("../UserRole");
18
- let Product = class Product extends typeorm_1.BaseEntity {
18
+ const CustomBaseEntity_1 = require("../CustomBaseEntity");
19
+ let Product = class Product extends CustomBaseEntity_1.CustomBaseEntity {
19
20
  };
20
21
  exports.Product = Product;
21
22
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"Product.js","sourceRoot":"","sources":["../../../dev-playground/entity/Product.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAMiB;AACjB,mCAAuD;AACvD,iCAA8B;AAC9B,+BAA4B;AAC5B,0CAAuC;AAuBhC,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,oBAAU;CAwCtC,CAAA;AAxCY,0BAAO;AAOhB;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;;mCACU;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;;qCACY;AAQd;IANC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvD,IAAA,kBAAY,EAAC;QACV,WAAW,EAAE;YACT,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;SAC9B;KACJ,CAAC;;sCACa;AAIf;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,SAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC3C,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8BACxB,SAAG;oCAAC;AAQV;IANC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxD,IAAA,kBAAY,EAAC;QACV,WAAW,EAAE;YACT,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;SAC9B;KACJ,CAAC;;uCACc;AAIhB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,WAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC9C,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;8BACxB,WAAI;qCAAC;kBAvCH,OAAO;IApBnB,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC7C,IAAA,kBAAY,EAAU;QACnB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE;YACT,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE;gBACb,KAAK,EAAE;oBACH,EAAE,MAAM,EAAE,kBAAkB,EAAE;oBAC9B;wBACI,GAAG,EAAE;4BACD,KAAK,EAAE;gCACH,EAAE,EAAE,kBAAkB;6BACzB;yBACJ;qBACJ;iBACJ;gBACD,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,IAAI;aACf;SACJ;KACJ,CAAC;GACW,OAAO,CAwCnB"}
1
+ {"version":3,"file":"Product.js","sourceRoot":"","sources":["../../../dev-playground/entity/Product.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAKiB;AACjB,mCAAuD;AACvD,iCAA8B;AAC9B,+BAA4B;AAC5B,0CAAuC;AACvC,0DAAuD;AAuBhD,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,mCAAgB;CAwC5C,CAAA;AAxCY,0BAAO;AAOhB;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;;mCACU;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;;qCACY;AAQd;IANC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvD,IAAA,kBAAY,EAAC;QACV,WAAW,EAAE;YACT,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;SAC9B;KACJ,CAAC;;sCACa;AAIf;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,SAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC3C,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8BACxB,SAAG;oCAAC;AAQV;IANC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxD,IAAA,kBAAY,EAAC;QACV,WAAW,EAAE;YACT,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;SAC9B;KACJ,CAAC;;uCACc;AAIhB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,WAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC9C,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;8BACxB,WAAI;qCAAC;kBAvCH,OAAO;IApBnB,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC7C,IAAA,kBAAY,EAAU;QACnB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE;YACT,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE;gBACb,KAAK,EAAE;oBACH,EAAE,MAAM,EAAE,kBAAkB,EAAE;oBAC9B;wBACI,GAAG,EAAE;4BACD,KAAK,EAAE;gCACH,EAAE,EAAE,kBAAkB;6BACzB;yBACJ;qBACJ;iBACJ;gBACD,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,IAAI;aACf;SACJ;KACJ,CAAC;GACW,OAAO,CAwCnB"}
@@ -1,6 +1,6 @@
1
- import { BaseEntity } from "typeorm";
2
1
  import { Org, UserView } from ".";
3
- export declare class ProductView extends BaseEntity {
2
+ import { CustomBaseEntity } from "../CustomBaseEntity";
3
+ export declare class ProductView extends CustomBaseEntity {
4
4
  id: string;
5
5
  name: string;
6
6
  orgId: string;
@@ -14,7 +14,8 @@ const typeorm_1 = require("typeorm");
14
14
  const src_1 = require("../../src");
15
15
  const UserRole_1 = require("../UserRole");
16
16
  const _1 = require(".");
17
- let ProductView = class ProductView extends typeorm_1.BaseEntity {
17
+ const CustomBaseEntity_1 = require("../CustomBaseEntity");
18
+ let ProductView = class ProductView extends CustomBaseEntity_1.CustomBaseEntity {
18
19
  };
19
20
  exports.ProductView = ProductView;
20
21
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"ProductView.js","sourceRoot":"","sources":["../../../dev-playground/entity/ProductView.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAA4G;AAC5G,mCAAuD;AACvD,0CAAuC;AACvC,wBAA2C;AAqBpC,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,oBAAU;CAyB1C,CAAA;AAzBY,kCAAW;AAGpB;IAFC,IAAA,oBAAU,GAAE;IACZ,IAAA,kBAAY,EAAC,EAAE,WAAW,EAAE,EAAE,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;;uCACnD;AAIZ;IAFC,IAAA,oBAAU,GAAE;IACZ,IAAA,kBAAY,EAAC,EAAE,WAAW,EAAE,EAAE,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;;yCAC3D;AAKd;IAHC,IAAA,oBAAU,GAAE;IACZ,IAAA,oBAAU,EAAC,CAAC,KAAkB,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;IAC7C,IAAA,kBAAY,EAAC,EAAE,WAAW,EAAE,EAAE,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;;0CAChD;AAIf;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,MAAG,CAAC;IACpB,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8BACxB,MAAG;wCAAC;AAKV;IAHC,IAAA,oBAAU,GAAE;IACZ,IAAA,oBAAU,EAAC,CAAC,KAAkB,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IAC9C,IAAA,kBAAY,EAAC,EAAE,WAAW,EAAE,EAAE,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;;2CAC/C;AAGhB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,WAAQ,CAAC;8BACnB,WAAQ;yCAAC;sBAxBP,WAAW;IAnBvB,IAAA,oBAAU,EAAC;QACR,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,CAAC,UAAsB,EAAE,EAAE,CACnC,UAAU;aACL,kBAAkB,EAAE;aACpB,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC;aAC1B,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;aACjC,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC;aACnC,SAAS,CAAC,gBAAgB,EAAE,QAAQ,CAAC;aACrC,IAAI,CAAC,UAAO,EAAE,SAAS,CAAC;KACpC,CAAC;IACD,IAAA,kBAAY,EAAc;QACvB,UAAU,EAAE,aAAa;QACzB,WAAW,EAAE;YACT,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE;gBACb,MAAM,EAAE,IAAI;aACf;SACJ;KACJ,CAAC;GACW,WAAW,CAyBvB"}
1
+ {"version":3,"file":"ProductView.js","sourceRoot":"","sources":["../../../dev-playground/entity/ProductView.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAgG;AAChG,mCAAuD;AACvD,0CAAuC;AACvC,wBAA2C;AAC3C,0DAAuD;AAqBhD,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,mCAAgB;CAyBhD,CAAA;AAzBY,kCAAW;AAGpB;IAFC,IAAA,oBAAU,GAAE;IACZ,IAAA,kBAAY,EAAC,EAAE,WAAW,EAAE,EAAE,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;;uCACnD;AAIZ;IAFC,IAAA,oBAAU,GAAE;IACZ,IAAA,kBAAY,EAAC,EAAE,WAAW,EAAE,EAAE,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;;yCAC3D;AAKd;IAHC,IAAA,oBAAU,GAAE;IACZ,IAAA,oBAAU,EAAC,CAAC,KAAkB,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;IAC7C,IAAA,kBAAY,EAAC,EAAE,WAAW,EAAE,EAAE,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;;0CAChD;AAIf;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,MAAG,CAAC;IACpB,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8BACxB,MAAG;wCAAC;AAKV;IAHC,IAAA,oBAAU,GAAE;IACZ,IAAA,oBAAU,EAAC,CAAC,KAAkB,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IAC9C,IAAA,kBAAY,EAAC,EAAE,WAAW,EAAE,EAAE,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;;2CAC/C;AAGhB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,WAAQ,CAAC;8BACnB,WAAQ;yCAAC;sBAxBP,WAAW;IAnBvB,IAAA,oBAAU,EAAC;QACR,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,CAAC,UAAsB,EAAE,EAAE,CACnC,UAAU;aACL,kBAAkB,EAAE;aACpB,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC;aAC1B,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;aACjC,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC;aACnC,SAAS,CAAC,gBAAgB,EAAE,QAAQ,CAAC;aACrC,IAAI,CAAC,UAAO,EAAE,SAAS,CAAC;KACpC,CAAC;IACD,IAAA,kBAAY,EAAc;QACvB,UAAU,EAAE,aAAa;QACzB,WAAW,EAAE;YACT,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE;gBACb,MAAM,EAAE,IAAI;aACf;SACJ;KACJ,CAAC;GACW,WAAW,CAyBvB"}
@@ -1,7 +1,7 @@
1
- import { BaseEntity } from 'typeorm';
2
1
  import { Org } from './Org';
3
2
  import { Product } from './Product';
4
- export declare class User extends BaseEntity {
3
+ import { CustomBaseEntity } from '../CustomBaseEntity';
4
+ export declare class User extends CustomBaseEntity {
5
5
  id: string;
6
6
  name: string;
7
7
  orgId: string;
@@ -15,7 +15,8 @@ const src_1 = require("../../src");
15
15
  const Org_1 = require("./Org");
16
16
  const Product_1 = require("./Product");
17
17
  const UserRole_1 = require("../UserRole");
18
- let User = class User extends typeorm_1.BaseEntity {
18
+ const CustomBaseEntity_1 = require("../CustomBaseEntity");
19
+ let User = class User extends CustomBaseEntity_1.CustomBaseEntity {
19
20
  };
20
21
  exports.User = User;
21
22
  __decorate([
@@ -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;AAiBhC,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,oBAAU;CAsBnC,CAAA;AAtBY,oBAAI;AAGb;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;eArBZ,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"}
1
+ {"version":3,"file":"User.js","sourceRoot":"","sources":["../../../dev-playground/entity/User.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAOiB;AACjB,mCAAuD;AACvD,+BAA4B;AAC5B,uCAAoC;AACpC,0CAAuC;AACvC,0DAAuD;AAiBhD,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,mCAAgB;CAsBzC,CAAA;AAtBY,oBAAI;AAGb;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;eArBZ,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"}
@@ -1,6 +1,6 @@
1
- import { BaseEntity } from "typeorm";
2
1
  import { Org, ProductView } from ".";
3
- export declare class UserView extends BaseEntity {
2
+ import { CustomBaseEntity } from "../CustomBaseEntity";
3
+ export declare class UserView extends CustomBaseEntity {
4
4
  id: string;
5
5
  name: string;
6
6
  orgId: string;
@@ -14,7 +14,8 @@ const typeorm_1 = require("typeorm");
14
14
  const src_1 = require("../../src");
15
15
  const UserRole_1 = require("../UserRole");
16
16
  const _1 = require(".");
17
- let UserView = class UserView extends typeorm_1.BaseEntity {
17
+ const CustomBaseEntity_1 = require("../CustomBaseEntity");
18
+ let UserView = class UserView extends CustomBaseEntity_1.CustomBaseEntity {
18
19
  };
19
20
  exports.UserView = UserView;
20
21
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"UserView.js","sourceRoot":"","sources":["../../../dev-playground/entity/UserView.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAA2G;AAC3G,mCAAuD;AACvD,0CAAuC;AACvC,wBAA2C;AAqBpC,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,oBAAU;CAsBvC,CAAA;AAtBY,4BAAQ;AAGnB;IAFC,IAAA,oBAAU,GAAE;IACZ,IAAA,kBAAY,EAAC,EAAE,WAAW,EAAE,EAAE,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;;oCACnD;AAIZ;IAFC,IAAA,oBAAU,GAAE;IACZ,IAAA,kBAAY,EAAC,EAAE,WAAW,EAAE,EAAE,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;;sCAC3D;AAKd;IAHC,IAAA,oBAAU,GAAE;IACZ,IAAA,oBAAU,EAAC,CAAC,KAAe,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;IAC1C,IAAA,kBAAY,EAAC,EAAE,WAAW,EAAE,EAAE,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;;uCAChD;AAGf;IADC,IAAA,oBAAU,GAAE;;2CACK;AAGlB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,MAAG,CAAC;8BACf,MAAG;qCAAC;AAGV;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,cAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;;0CAC/B;mBArBd,QAAQ;IAnBpB,IAAA,oBAAU,EAAC;QACV,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,CAAC,UAAsB,EAAE,EAAE,CACrC,UAAU;aACP,kBAAkB,EAAE;aACpB,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC;aACvB,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;aAC9B,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC;aAChC,SAAS,CAAC,gBAAgB,EAAE,WAAW,CAAC;aACxC,IAAI,CAAC,OAAI,EAAE,MAAM,CAAC;KACxB,CAAC;IACD,IAAA,kBAAY,EAAW;QACtB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE;YACX,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE;gBACf,MAAM,EAAE,IAAI;aACb;SACF;KACF,CAAC;GACW,QAAQ,CAsBpB"}
1
+ {"version":3,"file":"UserView.js","sourceRoot":"","sources":["../../../dev-playground/entity/UserView.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAA+F;AAC/F,mCAAuD;AACvD,0CAAuC;AACvC,wBAA2C;AAC3C,0DAAuD;AAqBhD,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,mCAAgB;CAsB7C,CAAA;AAtBY,4BAAQ;AAGnB;IAFC,IAAA,oBAAU,GAAE;IACZ,IAAA,kBAAY,EAAC,EAAE,WAAW,EAAE,EAAE,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;;oCACnD;AAIZ;IAFC,IAAA,oBAAU,GAAE;IACZ,IAAA,kBAAY,EAAC,EAAE,WAAW,EAAE,EAAE,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;;sCAC3D;AAKd;IAHC,IAAA,oBAAU,GAAE;IACZ,IAAA,oBAAU,EAAC,CAAC,KAAe,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;IAC1C,IAAA,kBAAY,EAAC,EAAE,WAAW,EAAE,EAAE,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;;uCAChD;AAGf;IADC,IAAA,oBAAU,GAAE;;2CACK;AAGlB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,MAAG,CAAC;8BACf,MAAG;qCAAC;AAGV;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,cAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;;0CAC/B;mBArBd,QAAQ;IAnBpB,IAAA,oBAAU,EAAC;QACV,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,CAAC,UAAsB,EAAE,EAAE,CACrC,UAAU;aACP,kBAAkB,EAAE;aACpB,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC;aACvB,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;aAC9B,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC;aAChC,SAAS,CAAC,gBAAgB,EAAE,WAAW,CAAC;aACxC,IAAI,CAAC,OAAI,EAAE,MAAM,CAAC;KACxB,CAAC;IACD,IAAA,kBAAY,EAAW;QACtB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE;YACX,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE;gBACf,MAAM,EAAE,IAAI;aACb;SACF;KACF,CAAC;GACW,QAAQ,CAsBpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../dev-playground/entity/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,4CAA0B;AAC1B,yCAAuB;AAEvB,6CAA0B;AAC1B,gDAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../dev-playground/entity/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,4CAA0B;AAC1B,yCAAuB;AACvB,6CAA0B;AAC1B,gDAA6B"}
@@ -36,8 +36,16 @@ function convert() {
36
36
  yield (0, promises_1.mkdir)("tmp/output", { recursive: true })
37
37
  .catch(error => console.log(error));
38
38
  yield (0, promises_1.writeFile)(`tmp/output/metadata-${Date.now()}.json`, JSON.stringify(metadata, null, 2));
39
- data_source_1.AppDataSource.close();
40
- console.log("Done and done");
39
+ data_source_1.AppDataSource.destroy();
40
+ if (!process.env.HASURA_URL) {
41
+ console.log('Done and done');
42
+ return;
43
+ }
44
+ const result = yield generator.applyMetadata({
45
+ hasuraUrl: process.env.HASURA_URL,
46
+ adminSecret: process.env.HASURA_GRAPHQL_ADMIN_SECRET
47
+ });
48
+ console.log(result);
41
49
  });
42
50
  }
43
51
  data_source_1.AppDataSource.initialize()
@@ -1 +1 @@
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,CAAC;IAC7B,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;AACxC,CAAC"}
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,OAAO,EAAE,CAAC;QAExB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;YAC5B,OAAO;QACX,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC;YACzC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;YACjC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,2BAA4B;SACxD,CAAC,CAAA;QACF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACvB,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,CAAC;IAC7B,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;AACxC,CAAC"}
@@ -139,17 +139,34 @@ class MetadataBuilder {
139
139
  * @returns The response of the Hasura instance.
140
140
  */
141
141
  applyMetadata({ hasuraUrl, adminSecret }) {
142
+ var _a;
142
143
  return __awaiter(this, void 0, void 0, function* () {
143
144
  const { metadata } = yield this.getMetadata();
144
- const { data } = yield axios_1.default.post(`${hasuraUrl}/v1/metadata`, {
145
- type: "replace_metadata",
146
- args: metadata
147
- }, {
148
- headers: {
149
- 'X-Hasura-Admin-Secret': adminSecret
145
+ try {
146
+ const { data } = yield axios_1.default.post(`${hasuraUrl}/v1/metadata`, {
147
+ type: "replace_metadata",
148
+ args: metadata
149
+ }, {
150
+ headers: {
151
+ 'X-Hasura-Admin-Secret': adminSecret
152
+ }
153
+ });
154
+ return data;
155
+ }
156
+ catch (e) {
157
+ if (e instanceof axios_1.AxiosError && ((_a = e.response) === null || _a === void 0 ? void 0 : _a.data)) {
158
+ // TODO: Add a better error display.
159
+ const error = new Error(e.stack);
160
+ const data = e.response.data;
161
+ // @ts-ignore
162
+ error.data = data;
163
+ if (data.internal)
164
+ // @ts-ignore
165
+ error.internal = data.internal;
166
+ throw error;
150
167
  }
151
- });
152
- return data;
168
+ throw e;
169
+ }
153
170
  });
154
171
  }
155
172
  }
@@ -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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"}
@@ -37,10 +37,7 @@ function generatePermissions(dataSourceOptions, table, { entityOptions, columnMe
37
37
  insert = {};
38
38
  result.insert_permissions.push({
39
39
  role: key,
40
- permission: {
41
- columns: columnNames(columnMetadata, key, "insert"),
42
- check: (0, whereClause_1.convertWhereClause)(table, insert.check)
43
- }
40
+ permission: Object.assign(Object.assign({ columns: columnNames(columnMetadata, key, "insert") }, (insert.check ? { check: (0, whereClause_1.convertWhereClause)(table, insert.check) } : {})), (insert.set ? { set: insert.set } : {}))
44
41
  });
45
42
  }
46
43
  if (myDelete) {
@@ -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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"}
@@ -4,14 +4,11 @@ exports.generateRelationships = exports.generateRelationship = void 0;
4
4
  function generateRelationship(relation) {
5
5
  const owningRelation = relation.isOwning ?
6
6
  relation : relation.inverseRelation;
7
- if (!owningRelation || relation.isManyToMany)
8
- throw new Error('Does not support many-to-many relations yet, so we will skip this specific relation. ' +
9
- 'Also its possible that you have missed to set inverse side of the relation.');
7
+ if (!owningRelation)
8
+ throw new Error('Unable to find owning relation. Probably you have missed to set inverse side of the relation.');
10
9
  const columns = owningRelation.joinColumns.map(column => column.databaseName);
11
- // todo: does not work?
12
- // const schema = owningRelation.entityMetadata.schema;
13
- // @ts-ignore is that okay?
14
- const schema = owningRelation.target.dataSource.options.schema || 'public';
10
+ // The schema doesn't defined for views by default but we can assume it's public
11
+ const schema = owningRelation.entityMetadata.schema || 'public';
15
12
  const tableType = owningRelation.entityMetadata.tableType;
16
13
  if (tableType === "regular" && relation.isOwning)
17
14
  return {
@@ -58,18 +55,26 @@ function generateRelationships(relations) {
58
55
  // sort to be consistent with hasura
59
56
  relations.sort((a, b) => a.propertyName.localeCompare(b.propertyName));
60
57
  for (const relation of relations) {
61
- try {
62
- const kind = relation.relationType.endsWith('-to-one') ?
63
- 'object_relationships' : 'array_relationships';
64
- const relationship = generateRelationship(relation);
65
- // @ts-ignore dont want to play with types for now
66
- result[kind].push(relationship);
67
- }
68
- catch (e) {
69
- console.warn(e);
58
+ if (relation.isManyToMany) {
59
+ manyToManyWarning();
60
+ continue;
70
61
  }
62
+ const kind = relation.relationType.endsWith('-to-one') ?
63
+ 'object_relationships' : 'array_relationships';
64
+ const relationship = generateRelationship(relation);
65
+ // @ts-ignore dont want to play with types for now
66
+ result[kind].push(relationship);
71
67
  }
72
68
  return result;
73
69
  }
74
70
  exports.generateRelationships = generateRelationships;
71
+ let isManyToManyWarningShown = false;
72
+ function manyToManyWarning() {
73
+ if (isManyToManyWarningShown)
74
+ return;
75
+ console.warn(new Error('Typeorm-hasura does not support many-to-many relations yet, so we will skip such relationships. ' +
76
+ 'Also its possible that you have missed to set inverse side of the relation. ' +
77
+ 'If you want to help us to support many-to-many relations, please create an issue on github.'));
78
+ isManyToManyWarningShown = true;
79
+ }
75
80
  //# sourceMappingURL=relationships.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"relationships.js","sourceRoot":"","sources":["../../../src/mappers/relationships.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relationships.js","sourceRoot":"","sources":["../../../src/mappers/relationships.ts"],"names":[],"mappings":"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"}
@@ -10,9 +10,9 @@ function generateTable(dataSourceOptions, table) {
10
10
  const entityWorkspace = internalStorage_1.internalStorage.getEntityWorkspace(table.target);
11
11
  const metadata = Object.assign(Object.assign({ table: {
12
12
  name: table.tableName,
13
- // todo: does not work?
14
- // schema: table.schema,
15
- schema: 'schema' in table.connection.options && table.connection.options.schema || 'public',
13
+ schema: table.schema
14
+ || ('schema' in table.connection.options && table.connection.options.schema)
15
+ || 'public',
16
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))
@@ -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,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"}
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,MAAM,EAAE,KAAK,CAAC,MAAM;mBACb,CAAC,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;mBACzE,QAAQ;SAClB,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"}
@@ -5,10 +5,13 @@ export interface DataSourceOptions {
5
5
  dataSource: TypeORM.DataSource;
6
6
  customizationNative?: Hasura.SourceCustomization;
7
7
  /**
8
- * override database url instead of url from data source
8
+ * Override database url instead of url from data source
9
+ *
10
+ * Should refer to the database that Hasura will use to connect to the database from inside the container of Hasura.
11
+ *
12
+ * Can omit if you are using the same database for Hasura and TypeORM.
9
13
  *
10
14
  * @example `postgres://username:password@host:5432/database`
11
- * @deprecated please rely on the `dataSource` parameter instead
12
15
  */
13
16
  databaseUrl?: string;
14
17
  /**
@@ -4,6 +4,12 @@ export interface BasePermissionRule<Entity extends Object> {
4
4
  }
5
5
  export interface InsertPermissionRule<Entity extends Object> {
6
6
  check?: Where<Entity>;
7
+ /**
8
+ * Column presets
9
+ *
10
+ * if its a plain property it will be set to the value, but in another case you cannot use the value of the property
11
+ */
12
+ set?: Partial<Record<keyof Entity, unknown>>;
7
13
  }
8
14
  export interface SelectPermissionRule<Entity extends Object> {
9
15
  where?: Where<Entity>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typeorm-hasura",
3
- "version": "0.0.17",
3
+ "version": "0.0.18",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "hasura",
@@ -10,6 +10,7 @@
10
10
  "types": "./dist/src/index.d.ts",
11
11
  "files": [
12
12
  "dist",
13
+ "src",
13
14
  "LICENSE",
14
15
  "README.md"
15
16
  ],
@@ -29,11 +30,11 @@
29
30
  "typeorm": "typeorm-ts-node-esm",
30
31
  "test": "jest",
31
32
  "test:watch": "jest --watch",
32
- "play:gen": "npx env-cmd npx typeorm-ts-node-esm migration:generate ./dev-playground/migration/next -d ./dev-playground/data-source",
33
- "play:up": "npx env-cmd npx typeorm-ts-node-esm migration:run -d ./dev-playground/data-source",
34
- "play:down": "npx env-cmd npx typeorm-ts-node-esm migration:revert -d ./dev-playground/data-source",
35
- "play:start": "npx env-cmd ts-node dev-playground/index.ts",
36
- "play:run": "npx env-cmd ts-node dev-playground/hasura.ts"
33
+ "play:gen": "npx env-cmd --silent npx typeorm-ts-node-esm migration:generate ./dev-playground/migration/next -d ./dev-playground/data-source",
34
+ "play:up": "npx env-cmd --silent npx typeorm-ts-node-esm migration:run -d ./dev-playground/data-source",
35
+ "play:down": "npx env-cmd --silent npx typeorm-ts-node-esm migration:revert -d ./dev-playground/data-source",
36
+ "play:start": "npx env-cmd --silent ts-node dev-playground/index.ts",
37
+ "play:hasura:apply": "npx env-cmd --silent ts-node dev-playground/hasura.ts"
37
38
  },
38
39
  "author": {
39
40
  "name": "Utyfua",
@@ -44,7 +45,7 @@
44
45
  "axios": "^1.3.5",
45
46
  "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
47
  "graphql-tag": "^2.0.0",
47
- "hasura-metadata-types": "^2.26.0",
48
+ "hasura-metadata-types": "^2.22.1",
48
49
  "lodash.snakecase": "^4.1.1"
49
50
  },
50
51
  "peerDependencies": {
package/readme.md CHANGED
@@ -1,6 +1,7 @@
1
- # typeorm-hasura [![npm version](https://badge.fury.io/js/typeorm-hasura.svg)](https://badge.fury.io/js/typeorm-hasura) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
1
+ # typeorm-hasura
2
2
 
3
3
  `typeorm-hasura` is a JavaScript library that generates Hasura metadata from TypeORM entities.
4
+
4
5
  This library is designed to automate the process of creating Hasura metadata,
5
6
  making it easier to manage complex database schemas and permissions when using Hasura with TypeORM.
6
7
 
@@ -11,6 +12,12 @@ making it easier to manage complex database schemas and permissions when using H
11
12
  - Add custom actions and inherited roles
12
13
  - Automatic handling of relationships between entities
13
14
 
15
+ > [!WARNING]
16
+ > The library does not support ManyToMany relationships.
17
+
18
+ > [!NOTE]
19
+ > The library was tested with Hasura v2 and TypeORM v0.3 with PostgreSQL only.
20
+
14
21
  ## Installation
15
22
 
16
23
  ```bash
@@ -60,6 +67,12 @@ Here's a step-by-step guide on how to use typeorm-hasura:
60
67
  }
61
68
  ```
62
69
 
70
+ > [!IMPORTANT]
71
+ > :warning:
72
+ > `databaseUrl` **should refer to the database that Hasura will use to connect to the database from inside the container of Hasura.**
73
+ >
74
+ > You can omit `databaseUrl` if you are using the same database for Hasura and TypeORM.
75
+
63
76
  3. Save metadata:
64
77
 
65
78
  a. Save metadata to a file:
@@ -80,7 +93,7 @@ Here's a step-by-step guide on how to use typeorm-hasura:
80
93
  // example: https://example.com
81
94
  // please do not put /v1/graphql at the end of the url
82
95
  hasuraUrl: process.env.HASURA_URL,
83
- adminSecret : process.env.HASURA_ADMIN_SECRET
96
+ adminSecret : process.env.HASURA_GRAPHQL_ADMIN_SECRET
84
97
  })
85
98
  console.log(result)
86
99
  ```
@@ -0,0 +1,38 @@
1
+ import type * as Hasura from "hasura-metadata-types";
2
+ import { getGraphQLDefinitions } from "../mappers/graphql";
3
+ import { ActionBuildResult, ActionCustomMetadataV1 } from "../types";
4
+
5
+ /**
6
+ * The builder for the actions.
7
+ */
8
+ export class ActionBuilder {
9
+ /**
10
+ * Builds the actions from the custom metadata.
11
+ *
12
+ * @param customMetadata The custom metadata.
13
+ * @returns The actions.
14
+ *
15
+ * @note This method is experimental and might change in the future. Also have nothing in common with Hasura 1.x.
16
+ */
17
+ static buildV1(customMetadata: ActionCustomMetadataV1): ActionBuildResult {
18
+ const defs = getGraphQLDefinitions(customMetadata.definitionType);
19
+ if (defs.baseActions.length !== 1)
20
+ throw new Error(`Expected exactly one base action, got ${defs.baseActions.length}`);
21
+ const [baseAction] = defs.baseActions;
22
+ const action: Hasura.Action = {
23
+ name: baseAction.name,
24
+ comment: customMetadata.comment,
25
+ permissions: customMetadata.permissions,
26
+ definition: {
27
+ ...baseAction.definition,
28
+ forward_client_headers: customMetadata.forwardClientHeaders || false,
29
+ handler: customMetadata.handler,
30
+ ...customMetadata.nativeDefinition,
31
+ }
32
+ };
33
+ return {
34
+ actions: [action],
35
+ custom_types: defs.custom_types,
36
+ };
37
+ }
38
+ }