@smartive/graphql-magic 1.0.4 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.releaserc +23 -2
- package/CHANGELOG.md +1 -0
- package/dist/cjs/index.cjs +23 -10
- package/dist/esm/errors.d.ts +1 -1
- package/dist/esm/errors.js +2 -2
- package/dist/esm/errors.js.map +1 -1
- package/dist/esm/permissions/check.js +14 -7
- package/dist/esm/permissions/check.js.map +1 -1
- package/dist/esm/resolvers/resolver.js +2 -1
- package/dist/esm/resolvers/resolver.js.map +1 -1
- package/dist/esm/utils.js +1 -0
- package/dist/esm/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/errors.ts +2 -2
- package/src/permissions/check.ts +18 -7
- package/src/resolvers/resolver.ts +6 -1
- package/src/utils.ts +1 -0
package/.releaserc
CHANGED
|
@@ -1,6 +1,27 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://json.schemastore.org/semantic-release.json",
|
|
3
2
|
"branches": [
|
|
4
|
-
"main"
|
|
3
|
+
"main",
|
|
4
|
+
{
|
|
5
|
+
"name": "next",
|
|
6
|
+
"prerelease": true
|
|
7
|
+
}
|
|
8
|
+
],
|
|
9
|
+
"plugins": [
|
|
10
|
+
[
|
|
11
|
+
"@semantic-release/commit-analyzer",
|
|
12
|
+
{
|
|
13
|
+
"preset": "angular",
|
|
14
|
+
"releaseRules": [
|
|
15
|
+
{
|
|
16
|
+
"type": "break",
|
|
17
|
+
"release": "major"
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"@semantic-release/release-notes-generator",
|
|
23
|
+
"@semantic-release/changelog",
|
|
24
|
+
"@semantic-release/npm",
|
|
25
|
+
"@semantic-release/github"
|
|
5
26
|
]
|
|
6
27
|
}
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# [2.0.0](https://github.com/smartive/graphql-magic/compare/v1.1.0...v2.0.0) (2023-07-19)
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -299,6 +299,7 @@ var summonByName = (array, value2) => summonByKey(array, "name", value2);
|
|
|
299
299
|
var summonByKey = (array, key, value2) => summon(array, (element) => (0, import_get.default)(element, key) === value2, `No element found with ${key} ${value2}`);
|
|
300
300
|
var summon = (array, cb, errorMessage) => {
|
|
301
301
|
if (array === void 0) {
|
|
302
|
+
console.trace();
|
|
302
303
|
throw new Error("Base array is not defined.");
|
|
303
304
|
}
|
|
304
305
|
const result = array.find(cb);
|
|
@@ -1416,8 +1417,8 @@ var UserInputError = class extends GraphQLError {
|
|
|
1416
1417
|
}
|
|
1417
1418
|
};
|
|
1418
1419
|
var PermissionError = class extends ForbiddenError {
|
|
1419
|
-
constructor(action, what) {
|
|
1420
|
-
super(`You do not have sufficient permissions to ${action.toLowerCase()} ${what}.`);
|
|
1420
|
+
constructor(action, what, why) {
|
|
1421
|
+
super(`You do not have sufficient permissions to ${action.toLowerCase()} ${what} (${why}).`);
|
|
1421
1422
|
}
|
|
1422
1423
|
};
|
|
1423
1424
|
|
|
@@ -1557,6 +1558,7 @@ var applyPermissions = (ctx, type, tableAlias, query, action, verifiedPermission
|
|
|
1557
1558
|
return permissionStack;
|
|
1558
1559
|
}
|
|
1559
1560
|
if (permissionStack === false) {
|
|
1561
|
+
console.error(`No applicable permissions exist for ${ctx.user.role} ${type} ${action}.`);
|
|
1560
1562
|
query.where(false);
|
|
1561
1563
|
return permissionStack;
|
|
1562
1564
|
}
|
|
@@ -1580,12 +1582,18 @@ var getEntityToMutate = async (ctx, model, where, action) => {
|
|
|
1580
1582
|
const query = ctx.knex(model.name).where(where).first();
|
|
1581
1583
|
let entity = await query.clone();
|
|
1582
1584
|
if (!entity) {
|
|
1583
|
-
|
|
1585
|
+
console.error(
|
|
1586
|
+
`Not found: ${Object.entries(where).map(([key, value2]) => `${key}: ${value2}`).join(", ")}`
|
|
1587
|
+
);
|
|
1588
|
+
throw new NotFoundError(`Entity to ${action.toLowerCase()}`);
|
|
1584
1589
|
}
|
|
1585
1590
|
applyPermissions(ctx, model.name, model.name, query, action);
|
|
1586
1591
|
entity = await query;
|
|
1587
1592
|
if (!entity) {
|
|
1588
|
-
|
|
1593
|
+
console.error(
|
|
1594
|
+
`Permission error: ${Object.entries(where).map(([key, value2]) => `${key}: ${value2}`).join(", ")}`
|
|
1595
|
+
);
|
|
1596
|
+
throw new PermissionError(action, `this ${model.name}`, "no available permissions applied");
|
|
1589
1597
|
}
|
|
1590
1598
|
return entity;
|
|
1591
1599
|
};
|
|
@@ -1595,7 +1603,7 @@ var checkCanWrite = async (ctx, model, data, action) => {
|
|
|
1595
1603
|
return;
|
|
1596
1604
|
}
|
|
1597
1605
|
if (permissionStack === false) {
|
|
1598
|
-
throw new PermissionError(action, getModelPlural(model));
|
|
1606
|
+
throw new PermissionError(action, getModelPlural(model), "no applicable permissions");
|
|
1599
1607
|
}
|
|
1600
1608
|
const query = ctx.knex.select(1).first();
|
|
1601
1609
|
let linked = false;
|
|
@@ -1607,7 +1615,7 @@ var checkCanWrite = async (ctx, model, data, action) => {
|
|
|
1607
1615
|
}
|
|
1608
1616
|
const fieldPermissions = field[action === "CREATE" ? "creatableBy" : "updatableBy"];
|
|
1609
1617
|
if (fieldPermissions && !fieldPermissions.includes(ctx.user.role)) {
|
|
1610
|
-
throw new PermissionError(action, `this ${model.name}'s ${field.name}
|
|
1618
|
+
throw new PermissionError(action, `this ${model.name}'s ${field.name}`, "field permission not available");
|
|
1611
1619
|
}
|
|
1612
1620
|
linked = true;
|
|
1613
1621
|
const fieldPermissionStack = getPermissionStack(ctx, field.type, "LINK");
|
|
@@ -1616,7 +1624,7 @@ var checkCanWrite = async (ctx, model, data, action) => {
|
|
|
1616
1624
|
continue;
|
|
1617
1625
|
}
|
|
1618
1626
|
if (fieldPermissionStack === false || !fieldPermissionStack.length) {
|
|
1619
|
-
throw new PermissionError(action, `this ${model.name}'s ${field.name}
|
|
1627
|
+
throw new PermissionError(action, `this ${model.name}'s ${field.name}`, "no applicable permissions on data to link");
|
|
1620
1628
|
}
|
|
1621
1629
|
ors(
|
|
1622
1630
|
query,
|
|
@@ -1628,10 +1636,10 @@ var checkCanWrite = async (ctx, model, data, action) => {
|
|
|
1628
1636
|
if (linked) {
|
|
1629
1637
|
const canMutate = await query;
|
|
1630
1638
|
if (!canMutate) {
|
|
1631
|
-
throw new PermissionError(action, `this ${model.name}
|
|
1639
|
+
throw new PermissionError(action, `this ${model.name}`, "no linkable entities");
|
|
1632
1640
|
}
|
|
1633
1641
|
} else if (action === "CREATE") {
|
|
1634
|
-
throw new PermissionError(action, `this ${model.name}
|
|
1642
|
+
throw new PermissionError(action, `this ${model.name}`, "no linkable entities");
|
|
1635
1643
|
}
|
|
1636
1644
|
};
|
|
1637
1645
|
var permissionLinkQuery = (ctx, subQuery, links, id) => {
|
|
@@ -2132,6 +2140,7 @@ var resolve = async (ctx, id) => {
|
|
|
2132
2140
|
return res;
|
|
2133
2141
|
}
|
|
2134
2142
|
if (!res[0]) {
|
|
2143
|
+
console.error("Entity not found", query.toString());
|
|
2135
2144
|
throw new NotFoundError("Entity not found");
|
|
2136
2145
|
}
|
|
2137
2146
|
return res[0];
|
|
@@ -2173,7 +2182,11 @@ var applySelects = (node, query, joins) => {
|
|
|
2173
2182
|
return false;
|
|
2174
2183
|
}
|
|
2175
2184
|
if (field.queriableBy && !field.queriableBy.includes(node.ctx.user.role)) {
|
|
2176
|
-
throw new PermissionError(
|
|
2185
|
+
throw new PermissionError(
|
|
2186
|
+
"READ",
|
|
2187
|
+
`${node.model.name}'s field "${field.name}"`,
|
|
2188
|
+
"field permission not available"
|
|
2189
|
+
);
|
|
2177
2190
|
}
|
|
2178
2191
|
return true;
|
|
2179
2192
|
}).map((n) => ({ field: n.name.value, alias: getNameOrAlias(n) }))
|
package/dist/esm/errors.d.ts
CHANGED
|
@@ -13,5 +13,5 @@ export declare class UserInputError extends GraphQLError {
|
|
|
13
13
|
constructor(what: string);
|
|
14
14
|
}
|
|
15
15
|
export declare class PermissionError extends ForbiddenError {
|
|
16
|
-
constructor(action: PermissionAction, what: string);
|
|
16
|
+
constructor(action: PermissionAction, what: string, why: string);
|
|
17
17
|
}
|
package/dist/esm/errors.js
CHANGED
|
@@ -20,8 +20,8 @@ export class UserInputError extends GraphQLError {
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
export class PermissionError extends ForbiddenError {
|
|
23
|
-
constructor(action, what) {
|
|
24
|
-
super(`You do not have sufficient permissions to ${action.toLowerCase()} ${what}.`);
|
|
23
|
+
constructor(action, what, why) {
|
|
24
|
+
super(`You do not have sufficient permissions to ${action.toLowerCase()} ${what} (${why}).`);
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
//# sourceMappingURL=errors.js.map
|
package/dist/esm/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnD,MAAM,OAAO,YAAa,SAAQ,QAAQ;IACxC,YAAY,OAAe,EAAE,UAAqD;QAChF,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACpF,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,YAAY;IAC9C,YAAY,IAAY;QACtB,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IACrC,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,YAAY;IAC7C,YAAY,IAAY;QACtB,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IACrC,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,YAAY;IAC9C,YAAY,IAAY;QACtB,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,cAAc;IACjD,YAAY,MAAwB,EAAE,IAAY;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnD,MAAM,OAAO,YAAa,SAAQ,QAAQ;IACxC,YAAY,OAAe,EAAE,UAAqD;QAChF,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACpF,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,YAAY;IAC9C,YAAY,IAAY;QACtB,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IACrC,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,YAAY;IAC7C,YAAY,IAAY;QACtB,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IACrC,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,YAAY;IAC9C,YAAY,IAAY;QACtB,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,cAAc;IACjD,YAAY,MAAwB,EAAE,IAAY,EAAE,GAAW;QAC7D,KAAK,CAAC,6CAA6C,MAAM,CAAC,WAAW,EAAE,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;IAC/F,CAAC;CACF"}
|
|
@@ -22,6 +22,7 @@ export const applyPermissions = (ctx, type, tableAlias, query, action, verifiedP
|
|
|
22
22
|
return permissionStack;
|
|
23
23
|
}
|
|
24
24
|
if (permissionStack === false) {
|
|
25
|
+
console.error(`No applicable permissions exist for ${ctx.user.role} ${type} ${action}.`);
|
|
25
26
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises -- we do not need to await knex here
|
|
26
27
|
query.where(false);
|
|
27
28
|
return permissionStack;
|
|
@@ -47,12 +48,18 @@ export const getEntityToMutate = async (ctx, model, where, action) => {
|
|
|
47
48
|
const query = ctx.knex(model.name).where(where).first();
|
|
48
49
|
let entity = await query.clone();
|
|
49
50
|
if (!entity) {
|
|
50
|
-
|
|
51
|
+
console.error(`Not found: ${Object.entries(where)
|
|
52
|
+
.map(([key, value]) => `${key}: ${value}`)
|
|
53
|
+
.join(', ')}`);
|
|
54
|
+
throw new NotFoundError(`Entity to ${action.toLowerCase()}`);
|
|
51
55
|
}
|
|
52
56
|
applyPermissions(ctx, model.name, model.name, query, action);
|
|
53
57
|
entity = await query;
|
|
54
58
|
if (!entity) {
|
|
55
|
-
|
|
59
|
+
console.error(`Permission error: ${Object.entries(where)
|
|
60
|
+
.map(([key, value]) => `${key}: ${value}`)
|
|
61
|
+
.join(', ')}`);
|
|
62
|
+
throw new PermissionError(action, `this ${model.name}`, 'no available permissions applied');
|
|
56
63
|
}
|
|
57
64
|
return entity;
|
|
58
65
|
};
|
|
@@ -65,7 +72,7 @@ export const checkCanWrite = async (ctx, model, data, action) => {
|
|
|
65
72
|
return;
|
|
66
73
|
}
|
|
67
74
|
if (permissionStack === false) {
|
|
68
|
-
throw new PermissionError(action, getModelPlural(model));
|
|
75
|
+
throw new PermissionError(action, getModelPlural(model), 'no applicable permissions');
|
|
69
76
|
}
|
|
70
77
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- using `select(1 as any)` to instantiate an "empty" query builder
|
|
71
78
|
const query = ctx.knex.select(1).first();
|
|
@@ -80,7 +87,7 @@ export const checkCanWrite = async (ctx, model, data, action) => {
|
|
|
80
87
|
}
|
|
81
88
|
const fieldPermissions = field[action === 'CREATE' ? 'creatableBy' : 'updatableBy'];
|
|
82
89
|
if (fieldPermissions && !fieldPermissions.includes(ctx.user.role)) {
|
|
83
|
-
throw new PermissionError(action, `this ${model.name}'s ${field.name}
|
|
90
|
+
throw new PermissionError(action, `this ${model.name}'s ${field.name}`, 'field permission not available');
|
|
84
91
|
}
|
|
85
92
|
linked = true;
|
|
86
93
|
const fieldPermissionStack = getPermissionStack(ctx, field.type, 'LINK');
|
|
@@ -91,7 +98,7 @@ export const checkCanWrite = async (ctx, model, data, action) => {
|
|
|
91
98
|
continue;
|
|
92
99
|
}
|
|
93
100
|
if (fieldPermissionStack === false || !fieldPermissionStack.length) {
|
|
94
|
-
throw new PermissionError(action, `this ${model.name}'s ${field.name}
|
|
101
|
+
throw new PermissionError(action, `this ${model.name}'s ${field.name}`, 'no applicable permissions on data to link');
|
|
95
102
|
}
|
|
96
103
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises -- we do not need to await knex here
|
|
97
104
|
ors(query, fieldPermissionStack.map((links) => (query) => query.whereExists((subQuery) => permissionLinkQuery(ctx, subQuery, links, foreignId))));
|
|
@@ -99,11 +106,11 @@ export const checkCanWrite = async (ctx, model, data, action) => {
|
|
|
99
106
|
if (linked) {
|
|
100
107
|
const canMutate = await query;
|
|
101
108
|
if (!canMutate) {
|
|
102
|
-
throw new PermissionError(action, `this ${model.name}
|
|
109
|
+
throw new PermissionError(action, `this ${model.name}`, 'no linkable entities');
|
|
103
110
|
}
|
|
104
111
|
}
|
|
105
112
|
else if (action === 'CREATE') {
|
|
106
|
-
throw new PermissionError(action, `this ${model.name}
|
|
113
|
+
throw new PermissionError(action, `this ${model.name}`, 'no linkable entities');
|
|
107
114
|
}
|
|
108
115
|
};
|
|
109
116
|
const permissionLinkQuery = (ctx, subQuery, links, id) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/permissions/check.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAI7D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,GAA8C,EAC9C,IAAY,EACZ,MAAwB,EACG,EAAE;IAC7B,MAAM,eAAe,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,OAAO,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,SAAS,EAAE;QACzE,OAAO,CAAC,CAAC,eAAe,CAAC;KAC1B;IAED,MAAM,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,OAAO,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,SAAS,EAAE;QACzE,OAAO,CAAC,CAAC,eAAe,CAAC;KAC1B;IAED,MAAM,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,OAAO,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,KAAK,SAAS,EAAE;QAC3E,OAAO,CAAC,CAAC,gBAAgB,CAAC;KAC3B;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,GAAkE,EAClE,IAAY,EACZ,UAAkB,EAClB,KAAwB,EACxB,MAAwB,EACxB,uBAAyC,EACd,EAAE;IAC7B,MAAM,eAAe,GAAG,kBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAE9D,IAAI,eAAe,KAAK,IAAI,EAAE;QAC5B,OAAO,eAAe,CAAC;KACxB;IAED,IAAI,eAAe,KAAK,KAAK,EAAE;QAC7B,wGAAwG;QACxG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,eAAe,CAAC;KACxB;IAED,IACE,uBAAuB,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,CAC7C,eAAe,CAAC,IAAI,CAClB,CAAC,KAAK,EAAE,EAAE,CACR,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,8EAA8E;QAC9E,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAC1C,CACF,EACD;QACA,yHAAyH;QACzH,gCAAgC;QAChC,OAAO,eAAe,CAAC;KACxB;IAED,wGAAwG;IACxG,GAAG,CACD,KAAK,EACL,eAAe,CAAC,GAAG,CACjB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CACnB,KAAK;SACF,SAAS,CAAC,GAAG,UAAU,KAAK,CAAC;SAC7B,aAAa,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,UAAU,MAAM,CAAC,CAAC,CAAC,CAChH,CACF,CAAC;IAEF,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EACpC,GAAkE,EAClE,KAAY,EACZ,KAAiC,EACjC,MAAuC,EACvC,EAAE;IACF,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;IACxD,IAAI,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IAEjC,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/permissions/check.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,7 @@ export const resolve = async (ctx, id) => {
|
|
|
35
35
|
return res;
|
|
36
36
|
}
|
|
37
37
|
if (!res[0]) {
|
|
38
|
+
console.error('Entity not found', query.toString());
|
|
38
39
|
throw new NotFoundError('Entity not found');
|
|
39
40
|
}
|
|
40
41
|
return res[0];
|
|
@@ -71,7 +72,7 @@ const applySelects = (node, query, joins) => {
|
|
|
71
72
|
return false;
|
|
72
73
|
}
|
|
73
74
|
if (field.queriableBy && !field.queriableBy.includes(node.ctx.user.role)) {
|
|
74
|
-
throw new PermissionError('READ', `${node.model.name}'s field "${field.name}"
|
|
75
|
+
throw new PermissionError('READ', `${node.model.name}'s field "${field.name}"`, 'field permission not available');
|
|
75
76
|
}
|
|
76
77
|
return true;
|
|
77
78
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/resolvers/resolver.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/resolvers/resolver.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/utils.js
CHANGED
|
@@ -115,6 +115,7 @@ export const summonByName = (array, value) => summonByKey(array, 'name', value);
|
|
|
115
115
|
export const summonByKey = (array, key, value) => summon(array, (element) => lodashGet(element, key) === value, `No element found with ${key} ${value}`);
|
|
116
116
|
export const summon = (array, cb, errorMessage) => {
|
|
117
117
|
if (array === undefined) {
|
|
118
|
+
console.trace();
|
|
118
119
|
throw new Error('Base array is not defined.');
|
|
119
120
|
}
|
|
120
121
|
const result = array.find(cb);
|
package/dist/esm/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/errors.ts
CHANGED
|
@@ -26,7 +26,7 @@ export class UserInputError extends GraphQLError {
|
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
export class PermissionError extends ForbiddenError {
|
|
29
|
-
constructor(action: PermissionAction, what: string) {
|
|
30
|
-
super(`You do not have sufficient permissions to ${action.toLowerCase()} ${what}.`);
|
|
29
|
+
constructor(action: PermissionAction, what: string, why: string) {
|
|
30
|
+
super(`You do not have sufficient permissions to ${action.toLowerCase()} ${what} (${why}).`);
|
|
31
31
|
}
|
|
32
32
|
}
|
package/src/permissions/check.ts
CHANGED
|
@@ -45,6 +45,7 @@ export const applyPermissions = (
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
if (permissionStack === false) {
|
|
48
|
+
console.error(`No applicable permissions exist for ${ctx.user.role} ${type} ${action}.`);
|
|
48
49
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises -- we do not need to await knex here
|
|
49
50
|
query.where(false);
|
|
50
51
|
return permissionStack;
|
|
@@ -93,13 +94,23 @@ export const getEntityToMutate = async (
|
|
|
93
94
|
let entity = await query.clone();
|
|
94
95
|
|
|
95
96
|
if (!entity) {
|
|
96
|
-
|
|
97
|
+
console.error(
|
|
98
|
+
`Not found: ${Object.entries(where)
|
|
99
|
+
.map(([key, value]) => `${key}: ${value}`)
|
|
100
|
+
.join(', ')}`
|
|
101
|
+
);
|
|
102
|
+
throw new NotFoundError(`Entity to ${action.toLowerCase()}`);
|
|
97
103
|
}
|
|
98
104
|
|
|
99
105
|
applyPermissions(ctx, model.name, model.name, query, action);
|
|
100
106
|
entity = await query;
|
|
101
107
|
if (!entity) {
|
|
102
|
-
|
|
108
|
+
console.error(
|
|
109
|
+
`Permission error: ${Object.entries(where)
|
|
110
|
+
.map(([key, value]) => `${key}: ${value}`)
|
|
111
|
+
.join(', ')}`
|
|
112
|
+
);
|
|
113
|
+
throw new PermissionError(action, `this ${model.name}`, 'no available permissions applied');
|
|
103
114
|
}
|
|
104
115
|
|
|
105
116
|
return entity;
|
|
@@ -120,7 +131,7 @@ export const checkCanWrite = async (
|
|
|
120
131
|
return;
|
|
121
132
|
}
|
|
122
133
|
if (permissionStack === false) {
|
|
123
|
-
throw new PermissionError(action, getModelPlural(model));
|
|
134
|
+
throw new PermissionError(action, getModelPlural(model), 'no applicable permissions');
|
|
124
135
|
}
|
|
125
136
|
|
|
126
137
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- using `select(1 as any)` to instantiate an "empty" query builder
|
|
@@ -138,7 +149,7 @@ export const checkCanWrite = async (
|
|
|
138
149
|
|
|
139
150
|
const fieldPermissions = field[action === 'CREATE' ? 'creatableBy' : 'updatableBy'];
|
|
140
151
|
if (fieldPermissions && !fieldPermissions.includes(ctx.user.role)) {
|
|
141
|
-
throw new PermissionError(action, `this ${model.name}'s ${field.name}
|
|
152
|
+
throw new PermissionError(action, `this ${model.name}'s ${field.name}`, 'field permission not available');
|
|
142
153
|
}
|
|
143
154
|
|
|
144
155
|
linked = true;
|
|
@@ -153,7 +164,7 @@ export const checkCanWrite = async (
|
|
|
153
164
|
}
|
|
154
165
|
|
|
155
166
|
if (fieldPermissionStack === false || !fieldPermissionStack.length) {
|
|
156
|
-
throw new PermissionError(action, `this ${model.name}'s ${field.name}
|
|
167
|
+
throw new PermissionError(action, `this ${model.name}'s ${field.name}`, 'no applicable permissions on data to link');
|
|
157
168
|
}
|
|
158
169
|
|
|
159
170
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises -- we do not need to await knex here
|
|
@@ -168,10 +179,10 @@ export const checkCanWrite = async (
|
|
|
168
179
|
if (linked) {
|
|
169
180
|
const canMutate = await query;
|
|
170
181
|
if (!canMutate) {
|
|
171
|
-
throw new PermissionError(action, `this ${model.name}
|
|
182
|
+
throw new PermissionError(action, `this ${model.name}`, 'no linkable entities');
|
|
172
183
|
}
|
|
173
184
|
} else if (action === 'CREATE') {
|
|
174
|
-
throw new PermissionError(action, `this ${model.name}
|
|
185
|
+
throw new PermissionError(action, `this ${model.name}`, 'no linkable entities');
|
|
175
186
|
}
|
|
176
187
|
};
|
|
177
188
|
|
|
@@ -61,6 +61,7 @@ export const resolve = async (ctx: FullContext, id?: string) => {
|
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
if (!res[0]) {
|
|
64
|
+
console.error('Entity not found', query.toString());
|
|
64
65
|
throw new NotFoundError('Entity not found');
|
|
65
66
|
}
|
|
66
67
|
|
|
@@ -119,7 +120,11 @@ const applySelects = (node: ResolverNode, query: Knex.QueryBuilder, joins: Joins
|
|
|
119
120
|
}
|
|
120
121
|
|
|
121
122
|
if (field.queriableBy && !field.queriableBy.includes(node.ctx.user.role)) {
|
|
122
|
-
throw new PermissionError(
|
|
123
|
+
throw new PermissionError(
|
|
124
|
+
'READ',
|
|
125
|
+
`${node.model.name}'s field "${field.name}"`,
|
|
126
|
+
'field permission not available'
|
|
127
|
+
);
|
|
123
128
|
}
|
|
124
129
|
|
|
125
130
|
return true;
|
package/src/utils.ts
CHANGED
|
@@ -138,6 +138,7 @@ export const summonByKey = <T>(array: readonly T[] | undefined, key: string, val
|
|
|
138
138
|
|
|
139
139
|
export const summon = <T>(array: readonly T[] | undefined, cb: Parameters<T[]['find']>[1], errorMessage?: string) => {
|
|
140
140
|
if (array === undefined) {
|
|
141
|
+
console.trace();
|
|
141
142
|
throw new Error('Base array is not defined.');
|
|
142
143
|
}
|
|
143
144
|
const result = array.find(cb);
|