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.
- package/dist/dev-playground/entity/Org.js +0 -1
- package/dist/dev-playground/entity/Org.js.map +1 -1
- package/dist/dev-playground/entity/User.d.ts +1 -0
- package/dist/dev-playground/entity/User.js +4 -0
- package/dist/dev-playground/entity/User.js.map +1 -1
- package/dist/dev-playground/hasura.js +6 -2
- package/dist/dev-playground/hasura.js.map +1 -1
- package/dist/dev-playground/migration/1682340684100-next.d.ts +6 -0
- package/dist/dev-playground/migration/1682340684100-next.js +29 -0
- package/dist/dev-playground/migration/1682340684100-next.js.map +1 -0
- package/dist/src/builders/Metadata.d.ts +3 -0
- package/dist/src/builders/Metadata.js +22 -4
- package/dist/src/builders/Metadata.js.map +1 -1
- package/dist/src/mappers/graphql.js +29 -7
- package/dist/src/mappers/graphql.js.map +1 -1
- package/dist/src/mappers/operators.d.ts +3 -0
- package/dist/src/mappers/operators.js +25 -0
- package/dist/src/mappers/operators.js.map +1 -0
- package/dist/src/mappers/permissions.d.ts +2 -1
- package/dist/src/mappers/permissions.js +4 -4
- package/dist/src/mappers/permissions.js.map +1 -1
- package/dist/src/mappers/source.js +2 -0
- package/dist/src/mappers/source.js.map +1 -1
- package/dist/src/mappers/table.js +1 -1
- package/dist/src/mappers/table.js.map +1 -1
- package/dist/src/mappers/tableConfiguration.js +0 -9
- package/dist/src/mappers/tableConfiguration.js.map +1 -1
- package/dist/src/mappers/whereClause.d.ts +2 -1
- package/dist/src/mappers/whereClause.js +19 -18
- package/dist/src/mappers/whereClause.js.map +1 -1
- package/dist/src/types/Column.d.ts +0 -6
- package/dist/src/types/whereClause.d.ts +8 -4
- package/dist/src/types/whereClause.js +21 -5
- package/dist/src/types/whereClause.js.map +1 -1
- package/package.json +2 -2
- package/readme.md +2 -2
|
@@ -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;
|
|
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"}
|
|
@@ -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;
|
|
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
|
-
|
|
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;
|
|
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,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
|
|
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
|
-
|
|
86
|
-
|
|
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":";;;;;;;;;;;;AAAA,iCAA0B;
|
|
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
|
|
5
|
-
|
|
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
|
-
|
|
8
|
-
|
|
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:
|
|
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:
|
|
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,
|
|
1
|
+
{"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../src/mappers/graphql.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":";;;
|
|
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;
|
|
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,
|
|
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
|
|
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
|
|
5
|
-
const
|
|
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
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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 (
|
|
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,
|
|
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
|
|
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":";;;
|
|
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.
|
|
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.
|
|
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).
|