typeorm-hasura 0.0.20 → 0.0.22
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/src/decorators/Column.js +0 -2
- package/dist/src/decorators/Column.js.map +1 -1
- package/dist/src/decorators/Entity.js +0 -2
- package/dist/src/decorators/Entity.js.map +1 -1
- package/dist/src/mappers/databaseUrl.spec.d.ts +1 -0
- package/dist/src/mappers/databaseUrl.spec.js +33 -0
- package/dist/src/mappers/databaseUrl.spec.js.map +1 -0
- package/dist/src/mappers/graphql.spec.d.ts +1 -0
- package/dist/src/mappers/graphql.spec.js +127 -0
- package/dist/src/mappers/graphql.spec.js.map +1 -0
- package/dist/src/mappers/hasuraKind.spec.d.ts +1 -0
- package/dist/src/mappers/hasuraKind.spec.js +14 -0
- package/dist/src/mappers/hasuraKind.spec.js.map +1 -0
- package/dist/src/mappers/permissions.spec.d.ts +1 -0
- package/dist/src/mappers/permissions.spec.js +173 -0
- package/dist/src/mappers/permissions.spec.js.map +1 -0
- package/dist/src/mappers/whereClause.spec.d.ts +1 -0
- package/dist/src/mappers/whereClause.spec.js +192 -0
- package/dist/src/mappers/whereClause.spec.js.map +1 -0
- package/package.json +8 -7
- package/readme.md +1 -1
- package/src/mappers/databaseUrl.spec.ts +17 -18
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Column = Column;
|
|
4
4
|
exports.HasuraColumn = Column;
|
|
5
|
-
exports.Column = Column;
|
|
6
|
-
exports.HasuraColumn = Column;
|
|
7
5
|
const internalStorage_1 = require("../internalStorage");
|
|
8
6
|
function Column(options) {
|
|
9
7
|
return function (object, propertyName) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Column.js","sourceRoot":"","sources":["../../../src/decorators/Column.ts"],"names":[],"mappings":";;AAGA,wBAIC;AAGa,8BAAY;
|
|
1
|
+
{"version":3,"file":"Column.js","sourceRoot":"","sources":["../../../src/decorators/Column.ts"],"names":[],"mappings":";;AAGA,wBAIC;AAGa,8BAAY;AAV1B,wDAAqD;AAGrD,SAAgB,MAAM,CAAC,OAAuB;IAC1C,OAAO,UAAU,MAAc,EAAE,YAAoB;QACjD,iCAAe,CAAC,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Entity = Entity;
|
|
4
4
|
exports.HasuraEntity = Entity;
|
|
5
|
-
exports.Entity = Entity;
|
|
6
|
-
exports.HasuraEntity = Entity;
|
|
7
5
|
const internalStorage_1 = require("../internalStorage");
|
|
8
6
|
function Entity(options) {
|
|
9
7
|
return (target) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Entity.js","sourceRoot":"","sources":["../../../src/decorators/Entity.ts"],"names":[],"mappings":";;AAGA,wBAIC;AAGa,8BAAY;
|
|
1
|
+
{"version":3,"file":"Entity.js","sourceRoot":"","sources":["../../../src/decorators/Entity.ts"],"names":[],"mappings":";;AAGA,wBAIC;AAGa,8BAAY;AAV1B,wDAAqD;AAGrD,SAAgB,MAAM,CAAwB,OAA8B;IACxE,OAAO,CAAC,MAAc,EAAE,EAAE;QACtB,iCAAe,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const typeorm_1 = require("typeorm");
|
|
4
|
+
const databaseUrl_1 = require("./databaseUrl");
|
|
5
|
+
describe('mappers', () => {
|
|
6
|
+
describe('databaseUrl', () => {
|
|
7
|
+
it('should return postgres for postgres', () => {
|
|
8
|
+
const dataSource = new typeorm_1.DataSource({
|
|
9
|
+
type: 'postgres',
|
|
10
|
+
host: 'localhost',
|
|
11
|
+
port: 5432,
|
|
12
|
+
username: 'test-user',
|
|
13
|
+
password: 'test-password',
|
|
14
|
+
database: 'test-database',
|
|
15
|
+
});
|
|
16
|
+
expect((0, databaseUrl_1.getDatabaseUrl)({
|
|
17
|
+
name: 'default',
|
|
18
|
+
dataSource
|
|
19
|
+
})).toEqual('postgres://test-user:test-password@localhost:5432/test-database');
|
|
20
|
+
});
|
|
21
|
+
it('should throw for unsupported type', () => {
|
|
22
|
+
const dataSource = new typeorm_1.DataSource({
|
|
23
|
+
type: 'sqljs',
|
|
24
|
+
driver: {}
|
|
25
|
+
});
|
|
26
|
+
expect(() => (0, databaseUrl_1.getDatabaseUrl)({
|
|
27
|
+
name: 'default',
|
|
28
|
+
dataSource
|
|
29
|
+
})).toThrow();
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=databaseUrl.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"databaseUrl.spec.js","sourceRoot":"","sources":["../../../src/mappers/databaseUrl.spec.ts"],"names":[],"mappings":";;AACA,qCAAqC;AACrC,+CAA+C;AAE/C,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACrB,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC3C,MAAM,UAAU,GAAG,IAAI,oBAAU,CAAC;gBAC9B,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,WAAW;gBACrB,QAAQ,EAAE,eAAe;gBACzB,QAAQ,EAAE,eAAe;aAC5B,CAAC,CAAC;YACH,MAAM,CAAC,IAAA,4BAAc,EAAC;gBAClB,IAAI,EAAE,SAAS;gBACf,UAAU;aACb,CAAC,CAAC,CAAC,OAAO,CAAC,iEAAiE,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YACzC,MAAM,UAAU,GAAG,IAAI,oBAAU,CAAC;gBAC9B,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,EAAE;aACb,CAAC,CAAC;YACH,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,4BAAc,EAAC;gBACxB,IAAI,EAAE,SAAS;gBACf,UAAU;aACb,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const graphql_tag_1 = require("graphql-tag");
|
|
4
|
+
const graphql_1 = require("./graphql");
|
|
5
|
+
describe("convert graphql document to hasura defs", () => {
|
|
6
|
+
it("Base case", () => expect((0, graphql_1.getGraphQLDefinitions)((0, graphql_tag_1.default) `
|
|
7
|
+
type Query {
|
|
8
|
+
currencyConverter(CurrencyInfo: ConvertCurrencyInputParams!): ConvertedCurrency
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
input ConvertCurrencyInputParams {
|
|
12
|
+
from: String
|
|
13
|
+
to: String
|
|
14
|
+
amt: Int
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
type ConvertedCurrency {
|
|
18
|
+
date: String
|
|
19
|
+
info: ConvertedCurrencyInfo
|
|
20
|
+
query: ConvertedCurrencyQuery
|
|
21
|
+
result: Float
|
|
22
|
+
success: Boolean
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
type ConvertedCurrencyInfo {
|
|
26
|
+
rate: Float
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
type ConvertedCurrencyQuery {
|
|
30
|
+
amount: Int
|
|
31
|
+
from: String
|
|
32
|
+
to: String
|
|
33
|
+
}
|
|
34
|
+
`)).toEqual({
|
|
35
|
+
baseActions: [
|
|
36
|
+
{
|
|
37
|
+
name: "currencyConverter",
|
|
38
|
+
definition: {
|
|
39
|
+
"type": "query",
|
|
40
|
+
output_type: "ConvertedCurrency",
|
|
41
|
+
"arguments": [
|
|
42
|
+
{
|
|
43
|
+
"name": "CurrencyInfo",
|
|
44
|
+
"type": "ConvertCurrencyInputParams!"
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
],
|
|
50
|
+
"custom_types": {
|
|
51
|
+
"input_objects": [
|
|
52
|
+
{
|
|
53
|
+
"name": "ConvertCurrencyInputParams",
|
|
54
|
+
"fields": [
|
|
55
|
+
{
|
|
56
|
+
"name": "from",
|
|
57
|
+
"type": "String"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "to",
|
|
61
|
+
"type": "String"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"name": "amt",
|
|
65
|
+
"type": "Int"
|
|
66
|
+
}
|
|
67
|
+
]
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"objects": [
|
|
71
|
+
{
|
|
72
|
+
"name": "ConvertedCurrency",
|
|
73
|
+
"fields": [
|
|
74
|
+
{
|
|
75
|
+
"name": "date",
|
|
76
|
+
"type": "String"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"name": "info",
|
|
80
|
+
"type": "ConvertedCurrencyInfo"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"name": "query",
|
|
84
|
+
"type": "ConvertedCurrencyQuery"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"name": "result",
|
|
88
|
+
"type": "Float"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"name": "success",
|
|
92
|
+
"type": "Boolean"
|
|
93
|
+
}
|
|
94
|
+
]
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"name": "ConvertedCurrencyInfo",
|
|
98
|
+
"fields": [
|
|
99
|
+
{
|
|
100
|
+
"name": "rate",
|
|
101
|
+
"type": "Float"
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"name": "ConvertedCurrencyQuery",
|
|
107
|
+
"fields": [
|
|
108
|
+
{
|
|
109
|
+
"name": "amount",
|
|
110
|
+
"type": "Int"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"name": "from",
|
|
114
|
+
"type": "String"
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"name": "to",
|
|
118
|
+
"type": "String"
|
|
119
|
+
}
|
|
120
|
+
]
|
|
121
|
+
},
|
|
122
|
+
],
|
|
123
|
+
"scalars": []
|
|
124
|
+
}
|
|
125
|
+
}));
|
|
126
|
+
});
|
|
127
|
+
//# sourceMappingURL=graphql.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql.spec.js","sourceRoot":"","sources":["../../../src/mappers/graphql.spec.ts"],"names":[],"mappings":";;AAAA,6CAA6B;AAC7B,uCAAiD;AAEjD,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACrD,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAA,+BAAqB,EAAC,IAAA,qBAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4BrD,CAAC,CAAC,CAAC,OAAO,CAAC;QACR,WAAW,EAAE;YACT;gBACI,IAAI,EAAE,mBAAmB;gBACzB,UAAU,EAAE;oBACR,MAAM,EAAE,OAAO;oBACf,WAAW,EAAE,mBAAmB;oBAChC,WAAW,EAAE;wBACT;4BACI,MAAM,EAAE,cAAc;4BACtB,MAAM,EAAE,6BAA6B;yBACxC;qBACJ;iBACJ;aACJ;SACJ;QACD,cAAc,EAAE;YACZ,eAAe,EAAE;gBACb;oBACI,MAAM,EAAE,4BAA4B;oBACpC,QAAQ,EAAE;wBACN;4BACI,MAAM,EAAE,MAAM;4BACd,MAAM,EAAE,QAAQ;yBACnB;wBACD;4BACI,MAAM,EAAE,IAAI;4BACZ,MAAM,EAAE,QAAQ;yBACnB;wBACD;4BACI,MAAM,EAAE,KAAK;4BACb,MAAM,EAAE,KAAK;yBAChB;qBACJ;iBACJ;aACJ;YACD,SAAS,EAAE;gBACP;oBACI,MAAM,EAAE,mBAAmB;oBAC3B,QAAQ,EAAE;wBACN;4BACI,MAAM,EAAE,MAAM;4BACd,MAAM,EAAE,QAAQ;yBACnB;wBACD;4BACI,MAAM,EAAE,MAAM;4BACd,MAAM,EAAE,uBAAuB;yBAClC;wBACD;4BACI,MAAM,EAAE,OAAO;4BACf,MAAM,EAAE,wBAAwB;yBACnC;wBACD;4BACI,MAAM,EAAE,QAAQ;4BAChB,MAAM,EAAE,OAAO;yBAClB;wBACD;4BACI,MAAM,EAAE,SAAS;4BACjB,MAAM,EAAE,SAAS;yBACpB;qBACJ;iBACJ;gBACD;oBACI,MAAM,EAAE,uBAAuB;oBAC/B,QAAQ,EAAE;wBACN;4BACI,MAAM,EAAE,MAAM;4BACd,MAAM,EAAE,OAAO;yBAClB;qBACJ;iBACJ;gBACD;oBACI,MAAM,EAAE,wBAAwB;oBAChC,QAAQ,EAAE;wBACN;4BACI,MAAM,EAAE,QAAQ;4BAChB,MAAM,EAAE,KAAK;yBAChB;wBACD;4BACI,MAAM,EAAE,MAAM;4BACd,MAAM,EAAE,QAAQ;yBACnB;wBACD;4BACI,MAAM,EAAE,IAAI;4BACZ,MAAM,EAAE,QAAQ;yBACnB;qBACJ;iBACJ;aACJ;YACD,SAAS,EAAE,EAAE;SAChB;KACJ,CAAC,CAAC,CAAA;AACP,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const hasuraKind_1 = require("./hasuraKind");
|
|
4
|
+
describe('mappers', () => {
|
|
5
|
+
describe('hasuraKind', () => {
|
|
6
|
+
it('should return postgres for postgres', () => {
|
|
7
|
+
expect((0, hasuraKind_1.getHasuraKind)('postgres')).toEqual('postgres');
|
|
8
|
+
});
|
|
9
|
+
it('should throw for unsupported type', () => {
|
|
10
|
+
expect(() => (0, hasuraKind_1.getHasuraKind)('mysql')).toThrow();
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=hasuraKind.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hasuraKind.spec.js","sourceRoot":"","sources":["../../../src/mappers/hasuraKind.spec.ts"],"names":[],"mappings":";;AAAA,6CAA6C;AAE7C,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACrB,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC3C,MAAM,CAAC,IAAA,0BAAa,EAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YACzC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,0BAAa,EAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACnD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const permissions_1 = require("./permissions");
|
|
4
|
+
const dataSourceOptions = {};
|
|
5
|
+
const table = {
|
|
6
|
+
columns: [
|
|
7
|
+
{ databaseName: "id", type: 'uuid' },
|
|
8
|
+
{ databaseName: "name", type: 'text' },
|
|
9
|
+
{ databaseName: "orgId", type: 'uuid' },
|
|
10
|
+
{ databaseName: "testJsonB", type: 'jsonb' }
|
|
11
|
+
],
|
|
12
|
+
relations: [
|
|
13
|
+
{
|
|
14
|
+
propertyName: "org",
|
|
15
|
+
inverseEntityMetadata: {
|
|
16
|
+
columns: [
|
|
17
|
+
{ databaseName: "id", type: 'uuid' },
|
|
18
|
+
{ databaseName: "name", type: 'text' },
|
|
19
|
+
],
|
|
20
|
+
relations: [{}]
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
propertyName: "products",
|
|
25
|
+
inverseEntityMetadata: {
|
|
26
|
+
columns: [
|
|
27
|
+
{ databaseName: "id", type: 'uuid' },
|
|
28
|
+
{ databaseName: "name", type: 'text' },
|
|
29
|
+
{ databaseName: "orgId", type: 'uuid' },
|
|
30
|
+
{ databaseName: "userId", type: 'uuid' },
|
|
31
|
+
],
|
|
32
|
+
relations: [{}]
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
};
|
|
37
|
+
let TestColumns = [
|
|
38
|
+
{
|
|
39
|
+
object: 1,
|
|
40
|
+
propertyName: "id",
|
|
41
|
+
options: {
|
|
42
|
+
permissions: {
|
|
43
|
+
user: ["select", "update"]
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
];
|
|
48
|
+
const cases = [
|
|
49
|
+
{
|
|
50
|
+
input: {
|
|
51
|
+
permissions: {
|
|
52
|
+
user: {
|
|
53
|
+
where: {
|
|
54
|
+
id: "1"
|
|
55
|
+
},
|
|
56
|
+
select: true,
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
output: {
|
|
61
|
+
insert_permissions: [],
|
|
62
|
+
select_permissions: [{
|
|
63
|
+
role: "user",
|
|
64
|
+
permission: {
|
|
65
|
+
allow_aggregations: undefined,
|
|
66
|
+
columns: ["id"],
|
|
67
|
+
filter: {
|
|
68
|
+
id: { _eq: "1" }
|
|
69
|
+
},
|
|
70
|
+
limit: undefined
|
|
71
|
+
}
|
|
72
|
+
}],
|
|
73
|
+
update_permissions: [],
|
|
74
|
+
delete_permissions: [],
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
input: {
|
|
79
|
+
permissions: {
|
|
80
|
+
user: {
|
|
81
|
+
where: {
|
|
82
|
+
id: "1"
|
|
83
|
+
},
|
|
84
|
+
select: true,
|
|
85
|
+
update: true,
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
output: {
|
|
90
|
+
insert_permissions: [],
|
|
91
|
+
select_permissions: [{
|
|
92
|
+
role: "user",
|
|
93
|
+
permission: {
|
|
94
|
+
allow_aggregations: undefined,
|
|
95
|
+
columns: ["id"],
|
|
96
|
+
filter: {
|
|
97
|
+
id: { _eq: "1" }
|
|
98
|
+
},
|
|
99
|
+
limit: undefined
|
|
100
|
+
}
|
|
101
|
+
}],
|
|
102
|
+
update_permissions: [{
|
|
103
|
+
role: "user",
|
|
104
|
+
permission: {
|
|
105
|
+
check: {},
|
|
106
|
+
columns: ["id"],
|
|
107
|
+
filter: {
|
|
108
|
+
id: { _eq: "1" }
|
|
109
|
+
},
|
|
110
|
+
set: undefined
|
|
111
|
+
}
|
|
112
|
+
}],
|
|
113
|
+
delete_permissions: [],
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
input: {
|
|
118
|
+
permissions: {
|
|
119
|
+
user: {
|
|
120
|
+
where: {
|
|
121
|
+
id: "1"
|
|
122
|
+
},
|
|
123
|
+
select: true,
|
|
124
|
+
update: {
|
|
125
|
+
where: {
|
|
126
|
+
products: {
|
|
127
|
+
id: "1"
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
output: {
|
|
135
|
+
insert_permissions: [],
|
|
136
|
+
select_permissions: [{
|
|
137
|
+
role: "user",
|
|
138
|
+
permission: {
|
|
139
|
+
allow_aggregations: undefined,
|
|
140
|
+
columns: ["id"],
|
|
141
|
+
filter: {
|
|
142
|
+
id: { _eq: "1" }
|
|
143
|
+
},
|
|
144
|
+
limit: undefined
|
|
145
|
+
}
|
|
146
|
+
}],
|
|
147
|
+
update_permissions: [{
|
|
148
|
+
role: "user",
|
|
149
|
+
permission: {
|
|
150
|
+
check: {},
|
|
151
|
+
columns: ["id"],
|
|
152
|
+
filter: {
|
|
153
|
+
_and: [
|
|
154
|
+
{ id: { _eq: "1" } },
|
|
155
|
+
{
|
|
156
|
+
products: {
|
|
157
|
+
id: { _eq: "1" }
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
]
|
|
161
|
+
},
|
|
162
|
+
set: undefined
|
|
163
|
+
}
|
|
164
|
+
}],
|
|
165
|
+
delete_permissions: [],
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
];
|
|
169
|
+
describe("convert whereTypeorm to hasuraObj", () => {
|
|
170
|
+
cases.forEach(({ input, output }) => it("input to Equal output", () => expect((0, permissions_1.generatePermissions)(dataSourceOptions, table, { entityOptions: input, columnMetadata: TestColumns }))
|
|
171
|
+
.toEqual(output)));
|
|
172
|
+
});
|
|
173
|
+
//# sourceMappingURL=permissions.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.spec.js","sourceRoot":"","sources":["../../../src/mappers/permissions.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const typeorm_1 = require("typeorm");
|
|
4
|
+
const whereClause_1 = require("./whereClause");
|
|
5
|
+
const table = {
|
|
6
|
+
columns: [
|
|
7
|
+
{ databaseName: "id", type: 'uuid' },
|
|
8
|
+
{ databaseName: "name", type: 'text' },
|
|
9
|
+
{ databaseName: "orgId", type: 'uuid' },
|
|
10
|
+
{ databaseName: "testJsonB", type: 'jsonb' }
|
|
11
|
+
],
|
|
12
|
+
relations: [
|
|
13
|
+
{
|
|
14
|
+
propertyName: "org",
|
|
15
|
+
inverseEntityMetadata: {
|
|
16
|
+
columns: [
|
|
17
|
+
{ databaseName: "id", type: 'uuid' },
|
|
18
|
+
{ databaseName: "name", type: 'text' },
|
|
19
|
+
],
|
|
20
|
+
relations: [{}]
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
propertyName: "products",
|
|
25
|
+
inverseEntityMetadata: {
|
|
26
|
+
columns: [
|
|
27
|
+
{ databaseName: "id", type: 'uuid' },
|
|
28
|
+
{ databaseName: "name", type: 'text' },
|
|
29
|
+
{ databaseName: "orgId", type: 'uuid' },
|
|
30
|
+
{ databaseName: "userId", type: 'uuid' },
|
|
31
|
+
],
|
|
32
|
+
relations: [{}]
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
};
|
|
37
|
+
const cases = [
|
|
38
|
+
{
|
|
39
|
+
input: {
|
|
40
|
+
id: "1",
|
|
41
|
+
},
|
|
42
|
+
output: {
|
|
43
|
+
id: { _eq: "1" }
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
input: {
|
|
48
|
+
id: "1",
|
|
49
|
+
name: "test"
|
|
50
|
+
},
|
|
51
|
+
output: {
|
|
52
|
+
_and: [
|
|
53
|
+
{ id: { _eq: "1" } },
|
|
54
|
+
{ name: { _eq: "test" } }
|
|
55
|
+
]
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
input: [
|
|
60
|
+
{ id: "1", name: "test" },
|
|
61
|
+
{ id: "2", name: "test" }
|
|
62
|
+
],
|
|
63
|
+
output: {
|
|
64
|
+
_or: [
|
|
65
|
+
{ _and: [{ id: { _eq: "1" } }, { name: { _eq: "test" } }] },
|
|
66
|
+
{ _and: [{ id: { _eq: "2" } }, { name: { _eq: "test" } }] }
|
|
67
|
+
]
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
input: {
|
|
72
|
+
id: (0, typeorm_1.Not)("1")
|
|
73
|
+
},
|
|
74
|
+
output: {
|
|
75
|
+
id: { _neq: "1" }
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
input: [
|
|
80
|
+
{ id: (0, typeorm_1.Not)("1"), name: "test" },
|
|
81
|
+
{ id: "2", name: (0, typeorm_1.In)(["test"]) }
|
|
82
|
+
],
|
|
83
|
+
output: {
|
|
84
|
+
_or: [
|
|
85
|
+
{ _and: [{ id: { _neq: "1" } }, { name: { _eq: "test" } }] },
|
|
86
|
+
{ _and: [{ id: { _eq: "2" } }, { name: { _in: ["test"] } }] }
|
|
87
|
+
],
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
input: {
|
|
92
|
+
products: {
|
|
93
|
+
id: "1"
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
output: {
|
|
97
|
+
products: {
|
|
98
|
+
id: { _eq: "1" },
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
input: {
|
|
104
|
+
products: [
|
|
105
|
+
{
|
|
106
|
+
id: "1"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
id: "2"
|
|
110
|
+
}
|
|
111
|
+
]
|
|
112
|
+
},
|
|
113
|
+
output: {
|
|
114
|
+
products: {
|
|
115
|
+
_or: [
|
|
116
|
+
{ id: { _eq: "1" } },
|
|
117
|
+
{ id: { _eq: "2" } }
|
|
118
|
+
]
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
input: {
|
|
124
|
+
products: {
|
|
125
|
+
id: (0, typeorm_1.Not)((0, typeorm_1.IsNull)())
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
output: {
|
|
129
|
+
products: {
|
|
130
|
+
id: { _is_null: false },
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
input: {
|
|
136
|
+
products: {
|
|
137
|
+
id: (0, typeorm_1.Not)("test")
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
output: {
|
|
141
|
+
products: {
|
|
142
|
+
id: { _neq: "test" },
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
input: {
|
|
148
|
+
products: {
|
|
149
|
+
id: (0, typeorm_1.IsNull)()
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
output: {
|
|
153
|
+
products: {
|
|
154
|
+
id: { _is_null: true },
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
input: {
|
|
160
|
+
testJsonB: {
|
|
161
|
+
name: "test"
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
output: {
|
|
165
|
+
testJsonB: {
|
|
166
|
+
_contains: {
|
|
167
|
+
name: "test"
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
input: {
|
|
174
|
+
testJsonB: (0, typeorm_1.Not)({
|
|
175
|
+
name: "test"
|
|
176
|
+
})
|
|
177
|
+
},
|
|
178
|
+
output: {
|
|
179
|
+
_not: {
|
|
180
|
+
testJsonB: {
|
|
181
|
+
_contains: {
|
|
182
|
+
name: "test"
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
];
|
|
189
|
+
describe("convert whereTypeorm to hasuraObj", () => {
|
|
190
|
+
cases.forEach(({ input, output }) => it("input to Equal output", () => expect((0, whereClause_1.convertWhereClause)(table, input)).toEqual(output)));
|
|
191
|
+
});
|
|
192
|
+
//# sourceMappingURL=whereClause.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whereClause.spec.js","sourceRoot":"","sources":["../../../src/mappers/whereClause.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "typeorm-hasura",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.22",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"hasura",
|
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
"url": "https://github.com/utyfua/typeorm-hasura/issues"
|
|
25
25
|
},
|
|
26
26
|
"scripts": {
|
|
27
|
-
"
|
|
28
|
-
"prebuild": "
|
|
29
|
-
"build": "
|
|
30
|
-
"
|
|
27
|
+
"prepublish": "run-s build",
|
|
28
|
+
"prebuild": "rimraf -g dist/*",
|
|
29
|
+
"build": "tsc --module commonjs",
|
|
30
|
+
"pretest": "run-s build",
|
|
31
31
|
"test": "jest",
|
|
32
32
|
"test:watch": "jest --watch",
|
|
33
33
|
"play:gen": "npx env-cmd --silent npx typeorm-ts-node-commonjs migration:generate ./dev-playground/migration/next -d ./dev-playground/data-source.ts",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"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",
|
|
53
53
|
"graphql-tag": "^2.0.0",
|
|
54
54
|
"hasura-metadata-types": "^2.22.1",
|
|
55
|
-
"typeorm": "^0.3.0"
|
|
55
|
+
"typeorm": "^0.3.0 || ^1.0.0 || >=1.0.0-nightly.0 <1.0.1"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@types/jest": "^29.5.0",
|
|
@@ -66,6 +66,7 @@
|
|
|
66
66
|
"rimraf": "^6.0.1",
|
|
67
67
|
"ts-jest": "^29.0.5",
|
|
68
68
|
"ts-node": "^10.9.1",
|
|
69
|
-
"typeorm": "^0.3.14"
|
|
69
|
+
"typeorm": "^0.3.14",
|
|
70
|
+
"typescript": "^5.9.3"
|
|
70
71
|
}
|
|
71
72
|
}
|
package/readme.md
CHANGED
|
@@ -16,7 +16,7 @@ making it easier to manage complex database schemas and permissions when using H
|
|
|
16
16
|
> The library does not support ManyToMany relationships.
|
|
17
17
|
|
|
18
18
|
> [!NOTE]
|
|
19
|
-
> The library was tested with Hasura v2 and TypeORM v0.3 with PostgreSQL only.
|
|
19
|
+
> The library was tested with Hasura v2 and TypeORM v0.3/v1-nightly.20260426 with PostgreSQL only.
|
|
20
20
|
|
|
21
21
|
## Installation
|
|
22
22
|
|
|
@@ -1,32 +1,31 @@
|
|
|
1
1
|
|
|
2
|
+
import { DataSource } from "typeorm";
|
|
2
3
|
import { getDatabaseUrl } from "./databaseUrl";
|
|
3
4
|
|
|
4
5
|
describe('mappers', () => {
|
|
5
6
|
describe('databaseUrl', () => {
|
|
6
7
|
it('should return postgres for postgres', () => {
|
|
8
|
+
const dataSource = new DataSource({
|
|
9
|
+
type: 'postgres',
|
|
10
|
+
host: 'localhost',
|
|
11
|
+
port: 5432,
|
|
12
|
+
username: 'test-user',
|
|
13
|
+
password: 'test-password',
|
|
14
|
+
database: 'test-database',
|
|
15
|
+
});
|
|
7
16
|
expect(getDatabaseUrl({
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
// @ts-ignore
|
|
11
|
-
type: 'postgres',
|
|
12
|
-
options: {
|
|
13
|
-
type: 'postgres',
|
|
14
|
-
host: 'localhost',
|
|
15
|
-
port: 5432,
|
|
16
|
-
username: 'test-user',
|
|
17
|
-
password: 'test-password',
|
|
18
|
-
database: 'test-database',
|
|
19
|
-
}
|
|
20
|
-
}
|
|
17
|
+
name: 'default',
|
|
18
|
+
dataSource
|
|
21
19
|
})).toEqual('postgres://test-user:test-password@localhost:5432/test-database');
|
|
22
20
|
});
|
|
23
21
|
it('should throw for unsupported type', () => {
|
|
22
|
+
const dataSource = new DataSource({
|
|
23
|
+
type: 'sqljs',
|
|
24
|
+
driver: {}
|
|
25
|
+
});
|
|
24
26
|
expect(() => getDatabaseUrl({
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
// @ts-ignore
|
|
28
|
-
type: 'mysql',
|
|
29
|
-
}
|
|
27
|
+
name: 'default',
|
|
28
|
+
dataSource
|
|
30
29
|
})).toThrow();
|
|
31
30
|
});
|
|
32
31
|
});
|