on-zero 0.0.75 → 0.0.76
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/cjs/createPermissions.cjs +2 -2
- package/dist/cjs/createPermissions.js +2 -2
- package/dist/cjs/createPermissions.js.map +1 -1
- package/dist/cjs/createPermissions.native.js +2 -2
- package/dist/cjs/createPermissions.native.js.map +1 -1
- package/dist/cjs/createZeroClient.cjs +27 -22
- package/dist/cjs/createZeroClient.js +24 -23
- package/dist/cjs/createZeroClient.js.map +2 -2
- package/dist/cjs/createZeroClient.native.js +37 -28
- package/dist/cjs/createZeroClient.native.js.map +1 -1
- package/dist/cjs/createZeroServer.cjs +16 -4
- package/dist/cjs/createZeroServer.js +10 -2
- package/dist/cjs/createZeroServer.js.map +1 -1
- package/dist/cjs/createZeroServer.native.js +12 -0
- package/dist/cjs/createZeroServer.native.js.map +1 -1
- package/dist/esm/createPermissions.js +2 -2
- package/dist/esm/createPermissions.js.map +1 -1
- package/dist/esm/createPermissions.mjs +2 -2
- package/dist/esm/createPermissions.mjs.map +1 -1
- package/dist/esm/createPermissions.native.js +2 -2
- package/dist/esm/createPermissions.native.js.map +1 -1
- package/dist/esm/createZeroClient.js +26 -29
- package/dist/esm/createZeroClient.js.map +1 -1
- package/dist/esm/createZeroClient.mjs +28 -23
- package/dist/esm/createZeroClient.mjs.map +1 -1
- package/dist/esm/createZeroClient.native.js +37 -28
- package/dist/esm/createZeroClient.native.js.map +1 -1
- package/dist/esm/createZeroServer.js +11 -2
- package/dist/esm/createZeroServer.js.map +1 -1
- package/dist/esm/createZeroServer.mjs +17 -5
- package/dist/esm/createZeroServer.mjs.map +1 -1
- package/dist/esm/createZeroServer.native.js +13 -1
- package/dist/esm/createZeroServer.native.js.map +1 -1
- package/package.json +1 -1
- package/src/createPermissions.ts +3 -2
- package/src/createZeroClient.tsx +55 -59
- package/src/createZeroServer.ts +19 -1
- package/types/createPermissions.d.ts +2 -2
- package/types/createPermissions.d.ts.map +1 -1
- package/types/createZeroClient.d.ts.map +1 -1
- package/types/createZeroServer.d.ts.map +1 -1
|
@@ -33,8 +33,8 @@ function createPermissions({
|
|
|
33
33
|
environment,
|
|
34
34
|
schema
|
|
35
35
|
}) {
|
|
36
|
-
function buildPermissionQuery(authData, eb, permissionWhere, objOrId) {
|
|
37
|
-
const tableName = (0, import_where.getWhereTableName)(permissionWhere);
|
|
36
|
+
function buildPermissionQuery(authData, eb, permissionWhere, objOrId, tableNameOverride) {
|
|
37
|
+
const tableName = tableNameOverride || (0, import_where.getWhereTableName)(permissionWhere);
|
|
38
38
|
if (!tableName) throw new Error("Must use PermissionWhere for buildPermissionQuery");
|
|
39
39
|
const tableSchema = schema.tables[tableName];
|
|
40
40
|
if (!tableSchema) throw new Error("No schema?");
|
|
@@ -22,8 +22,8 @@ function createPermissions({
|
|
|
22
22
|
environment,
|
|
23
23
|
schema
|
|
24
24
|
}) {
|
|
25
|
-
function buildPermissionQuery(authData, eb, permissionWhere, objOrId) {
|
|
26
|
-
const tableName = (0, import_where.getWhereTableName)(permissionWhere);
|
|
25
|
+
function buildPermissionQuery(authData, eb, permissionWhere, objOrId, tableNameOverride) {
|
|
26
|
+
const tableName = tableNameOverride || (0, import_where.getWhereTableName)(permissionWhere);
|
|
27
27
|
if (!tableName)
|
|
28
28
|
throw new Error("Must use PermissionWhere for buildPermissionQuery");
|
|
29
29
|
const tableSchema = schema.tables[tableName];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/createPermissions.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAoC,8BAEpC,+BAAyC,4CACzC,wBAA+B,qCAC/B,+BAAsC,4CACtC,eAAuB,oBACvB,eAAkC;AAU3B,SAAS,kBAA6C;AAAA,EAC3D;AAAA,EACA;AACF,GAGG;AAQD,WAAS,qBACP,UACA,IACA,iBAEA,SACA;AACA,UAAM,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAoC,8BAEpC,+BAAyC,4CACzC,wBAA+B,qCAC/B,+BAAsC,4CACtC,eAAuB,oBACvB,eAAkC;AAU3B,SAAS,kBAA6C;AAAA,EAC3D;AAAA,EACA;AACF,GAGG;AAQD,WAAS,qBACP,UACA,IACA,iBAEA,SACA,mBACA;AACA,UAAM,YAAY,yBAAqB,gCAAkB,eAAe;AAExE,QAAI,CAAC;AACH,YAAM,IAAI,MAAM,mDAAmD;AAGrE,UAAM,cAAc,OAAO,OAAO,SAAS;AAE3C,QAAI,CAAC;AACH,YAAM,IAAI,MAAM,YAAY;AAG9B,UAAM,cAAc,YAAY,YAC1B,mBAAmB,gBAAgB,IAAI,QAAQ;AAErD,QAAI,oBAAoB;AACtB,YAAM,IAAI,MAAM,6BAA6B,SAAS,EAAE;AAG1D,QAAI,qBAAqB;AACvB,aAAO,GAAG,OAAO,IAAM,KAAK,EAAI;AAGlC,QAAI,qBAAqB;AACvB,aAAO,GAAG,OAAO,IAAM,KAAK,EAAK;AAGnC,UAAM,mBAAgC,CAAC;AAEvC,eAAW,OAAO,aAAa;AAC7B,YAAM,QAAQ,OAAO,WAAY,WAAW,UAAU,QAAQ,GAAG;AACjE,uBAAiB,KAAK,GAAG,IAAI,KAAY,KAAK,CAAC;AAAA,IACjD;AAEA,WAAO,GAAG,IAAI,kBAAkB,GAAG,gBAAgB;AAAA,EACrD;AAEA,QAAM,MAAW,OAAO,OAAO,QAAQ;AAErC,QAAI,gBAAgB,UAAU;AAC5B,YAAM,UAAM,sCAAe,GACrB,gBAAY,gCAAkB,KAAK;AACzC,UAAI,CAAC;AACH,cAAM,IAAI,MAAM,sDAAsD;AAExE,YAAM,iBAAiB,IAAI,IAAI,IAAI,UAAU,WAAW,OAAO,GAAG,OAClE,uDAAyB,GAAG;AAAA,IAC9B;AAAA,EACF;AAEA,iBAAe,iBACb,IACA,UACA,WACA,OACA,KACe;AACf,QAAI,UAAU,SAAS;AAErB;AAIF,UAAM,gBADa,qBAAO,EACG,SAAS;AACtC,QAAI,QAAqC;AAEzC,QAAI;AACF,cAAQ,UACL,MAAM,CAAC,OACC,qBAAqB,UAAU,IAAI,OAAO,GAAG,CACrD,EACA,IAAI,OAEP,uBAAO,MAAM,GAAG,IAAI,KAAK,CAAC;AAAA,IAC5B,SAAS,KAAK;AACZ,YAAM,aAAa,GAAG,SAAS,kBAAkB,UAAU,EAAE;AAE7D,UAAI,eAAe,4BAAa;AAC9B,YAAI,MAAM,uCAAgC,UAAU;AACpD,cAAI,QAAQ,IAAI,aAAa,iBAAiB,UAC5C,OAAO;AAAA,OAAM,oDAAsB,KAAK,CAAC,KAErC,IAAI,MAAM,GAAG;AAAA,MACrB;AAEA,YAAM,IAAI,MAAM,4BAA4B,UAAU;AAAA,EAAK,GAAG,EAAE;AAAA,IAClE;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -39,8 +39,8 @@ function createPermissions(param) {
|
|
|
39
39
|
environment,
|
|
40
40
|
schema
|
|
41
41
|
} = param;
|
|
42
|
-
function buildPermissionQuery(authData, eb, permissionWhere, objOrId) {
|
|
43
|
-
var tableName = (0, import_where.getWhereTableName)(permissionWhere);
|
|
42
|
+
function buildPermissionQuery(authData, eb, permissionWhere, objOrId, tableNameOverride) {
|
|
43
|
+
var tableName = tableNameOverride || (0, import_where.getWhereTableName)(permissionWhere);
|
|
44
44
|
if (!tableName) throw new Error("Must use PermissionWhere for buildPermissionQuery");
|
|
45
45
|
var tableSchema = schema.tables[tableName];
|
|
46
46
|
if (!tableSchema) throw new Error("No schema?");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createPermissions_exports","__export","createPermissions","module","exports","import_helpers","require","import_didRunPermissionCheck","import_mutatorContext","import_prettyFormatZeroQuery","import_state","import_where","_instanceof","left","right","Symbol","hasInstance","param","environment","schema","buildPermissionQuery","authData","eb","permissionWhere","objOrId","tableName","getWhereTableName","Error","tableSchema","tables","primaryKeys","primaryKey","permissionReturn","cmpLit","primaryKeyWheres","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","key","push","cmp","err","return","and","can","where","obj","ctx","mutatorContext","ensurePermission","tx","setDidRunPermissionCheck","role","zqlBuilder","getZQL","queryBase","query","one","ensure","run","errorTitle","id","EnsureError"],"sources":["../../src/createPermissions.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,yBAAA;AAAAC,QAAA,CAAAD,yBAAA;EAAAE,iBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAoC,CAAAK,yBAEpC;AAcO,IAAAK,cAAS,GAAAC,OAA6C;EAAAC,4BAAA,GAAAD,OAAA;EAAAE,qBAAA,GAAAF,OAAA;EAAAG,4BAAA,GAAAH,OAAA;EAAAI,YAAA,GAAAJ,OAAA;EAAAK,YAAA,GAAAL,OAAA;AAAA,SAC3DM,YAAAC,IAAA,EAAAC,KAAA;EACA,OAAAA,KAAA,mBAAAC,MAAA,UAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA,MAAAF,KAAA,CAAAC,MAAA,CAAAC,WAAA,EAAAH,IAAA,IAAAA,IAAA,YAAAC,KAAA;AACF;AAWE,SAAAZ,iBAASA,CAAAe,KACP;
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createPermissions_exports","__export","createPermissions","module","exports","import_helpers","require","import_didRunPermissionCheck","import_mutatorContext","import_prettyFormatZeroQuery","import_state","import_where","_instanceof","left","right","Symbol","hasInstance","param","environment","schema","buildPermissionQuery","authData","eb","permissionWhere","objOrId","tableNameOverride","tableName","getWhereTableName","Error","tableSchema","tables","primaryKeys","primaryKey","permissionReturn","cmpLit","primaryKeyWheres","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","key","push","cmp","err","return","and","can","where","obj","ctx","mutatorContext","ensurePermission","tx","setDidRunPermissionCheck","role","zqlBuilder","getZQL","queryBase","query","one","ensure","run","errorTitle","id","EnsureError"],"sources":["../../src/createPermissions.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,yBAAA;AAAAC,QAAA,CAAAD,yBAAA;EAAAE,iBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAoC,CAAAK,yBAEpC;AAcO,IAAAK,cAAS,GAAAC,OAA6C;EAAAC,4BAAA,GAAAD,OAAA;EAAAE,qBAAA,GAAAF,OAAA;EAAAG,4BAAA,GAAAH,OAAA;EAAAI,YAAA,GAAAJ,OAAA;EAAAK,YAAA,GAAAL,OAAA;AAAA,SAC3DM,YAAAC,IAAA,EAAAC,KAAA;EACA,OAAAA,KAAA,mBAAAC,MAAA,UAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA,MAAAF,KAAA,CAAAC,MAAA,CAAAC,WAAA,EAAAH,IAAA,IAAAA,IAAA,YAAAC,KAAA;AACF;AAWE,SAAAZ,iBAASA,CAAAe,KACP;EAOA;IAAAC,WAAM;IAAAC;EAAY,IAAAF,KAAA;EAElB,SAAKG,qBAAAC,QAAA,EAAAC,EAAA,EAAAC,eAAA,EAAAC,OAAA,EAAAC,iBAAA;IACH,IAAAC,SAAU,GAAAD,iBAAM,QAAAd,YAAA,CAAAgB,iBAAmD,EAAAJ,eAAA;IAGrE,KAAAG,SAAM,EAEN,MAAK,IAAAE,KAAA;IACH,IAAAC,WAAU,GAAMV,MAAA,CAAAW,MAAY,CAAAJ,SAAA;IAG9B,KAAAG,WAAM,EAGN,MAAI,IAAAD,KAAA,aAAoB;IACtB,IAAAG,WAAU,GAAMF,WAAA,CAAAG,UAAA;MAAAC,gBAAwC,GAAAV,eAAA,CAAAD,EAAA,EAAAD,QAAA;IAG1D,IAAIY,gBAAA,QAAqB,EACvB,UAAUL,KAAA,8BAAsBF,SAAA;IAGlC,IAAIO,gBAAA,KAAqB,IACvB,OAAOX,EAAA,CAAGY,MAAA,CAAO,IAAM,KAAK,EAAK;IAGnC,IAAAD,gBAAM,KAAgC,CAAC,GAEvC,OAAAX,EAAW,CAAAY,MAAO,aAAa;IAC7B,IAAAC,gBAAc,GAAO;MAAAC,yBAAuB,GAAU;MAAAC,iBAAW;MAAAC,cAAA;IACjE;MACF,SAAAC,SAAA,GAAAR,WAAA,CAAAhB,MAAA,CAAAyB,QAAA,KAAAC,KAAA,IAAAL,yBAAA,IAAAK,KAAA,GAAAF,SAAA,CAAAG,IAAA,IAAAC,IAAA,GAAAP,yBAAA;QAEA,IAAOQ,GAAG,GAAIH,KAAA,CAAA1C,KAAA;UAAAA,KAAkB,GAAG,OAAAyB,OAAA,IAAgB,WAAAA,OAAA,GAAAA,OAAA,CAAAoB,GAAA;QACrDT,gBAAA,CAAAU,IAAA,CAAAvB,EAAA,CAAAwB,GAAA,CAAAF,GAAA,EAAA7C,KAAA;MAEA;IAEE,SAAIgD,GAAA;MACFV,iBAAY,OAAAC,cAAA,GAAAS,GAAA;IAEZ,UAAK;MACH;QAEF,CAAAX,yBAA2B,IAAIG,SAAI,CAAAS,MAAU,QAAW,IAAAT,SAAU,CAAAS,MAClE;MACF;QACF,IAAAX,iBAAA,EAEA,MAAAC,cAAe;MAOb;IAEE;IAIF,OAAMhB,EAAA,CAAA2B,GAAA,CAAAhB,gBADa,KAAAE,gBACU;EAC7B;EAEA,IAAAe,GAAI,kBAAAA,CAAAC,KAAA,EAAAC,GAAA;IACF,IAAAlC,WAAQ,KACL,QAAO;MAMZ,IAAAmC,GAAS,KAAK,EAAA7C,qBAAA,CAAA8C,cAAA;QAAA5B,SAAA,OAAAf,YAAA,CAAAgB,iBAAA,EAAAwB,KAAA;MACZ,KAAAzB,SAAM,EAEN,MAAI,IAAAE,KAAA,uDAA4B;MAC9B,MAAI2B,gBAAM,CAAAF,GAAA,CAAAG,EAAA,EAAAH,GAAA,CAAAhC,QAAA,EAAAK,SAAgC,EAAAyB,KAAU,EAAAC,GAAA,OAAA7C,4BAAA,CAAAkD,wBAAA,EAAAJ,GAAA;IACpD;EACS;EAEU,eACrBE,iBAAAC,EAAA,EAAAnC,QAAA,EAAAK,SAAA,EAAAyB,KAAA,EAAAC,GAAA;IAEA,IAAA/B,QAAU,EAAAqC,IAAM;MAA8C,IAAEC,UAAA,OAAAjD,YAAA,CAAAkD,MAAA;QAAAC,SAAA,GAAAF,UAAA,CAAAjC,SAAA;QAAAoC,KAAA;MAClE;QACFA,KAAA,GAAAD,SAAA,CAAAV,KAAA,WAAA7B,EAAA;UAEO,OAAAF,oBAAA,CAAAC,QAAA,EAAAC,EAAA,EAAA6B,KAAA,EAAAC,GAAA;QACL,GAAAW,GAAA,QAAA1D,cAAA,CAAA2D,MAAA,QAAAR,EAAA,CAAAS,GAAA,CAAAH,KAAA;MACA,SAAAf,GAAA;QACF,IAAAmB,UAAA,MAAAxC,SAAA,kBAAAL,QAAA,EAAA8C,EAAA;QACF,IAAAvD,WAAA,CAAAmC,GAAA,EAAA1C,cAAA,CAAA+D,WAAA","ignoreList":[]}
|
|
@@ -30,13 +30,14 @@ var import_zero = require("@rocicorp/zero"),
|
|
|
30
30
|
import_createPermissions = require("./createPermissions.cjs"),
|
|
31
31
|
import_createUseQuery = require("./createUseQuery.cjs"),
|
|
32
32
|
import_createMutators = require("./helpers/createMutators.cjs"),
|
|
33
|
-
|
|
33
|
+
import_getQueryOrMutatorAuthData = require("./helpers/getQueryOrMutatorAuthData.cjs"),
|
|
34
34
|
import_modelRegistry = require("./modelRegistry.cjs"),
|
|
35
35
|
import_queryRegistry = require("./queryRegistry.cjs"),
|
|
36
36
|
import_resolveQuery = require("./resolveQuery.cjs"),
|
|
37
37
|
import_run = require("./run.cjs"),
|
|
38
38
|
import_state = require("./state.cjs"),
|
|
39
39
|
import_zeroRunner = require("./zeroRunner.cjs"),
|
|
40
|
+
import_zql = require("./zql.cjs"),
|
|
40
41
|
import_jsx_runtime = require("react/jsx-runtime");
|
|
41
42
|
function createZeroClient({
|
|
42
43
|
schema,
|
|
@@ -44,13 +45,27 @@ function createZeroClient({
|
|
|
44
45
|
groupedQueries
|
|
45
46
|
}) {
|
|
46
47
|
(0, import_state.setSchema)(schema);
|
|
47
|
-
const
|
|
48
|
+
const permissionsHelpers = (0, import_createPermissions.createPermissions)({
|
|
49
|
+
schema,
|
|
50
|
+
environment: "client"
|
|
51
|
+
}),
|
|
52
|
+
wrappedNamespaces = {};
|
|
48
53
|
for (const [namespace, queries] of Object.entries(groupedQueries)) {
|
|
49
54
|
wrappedNamespaces[namespace] = {};
|
|
50
55
|
for (const [name, fn] of Object.entries(queries)) (0, import_queryRegistry.registerQuery)(fn, `${namespace}.${name}`), wrappedNamespaces[namespace][name] = (0, import_zero.defineQuery)(({
|
|
51
56
|
args
|
|
52
57
|
}) => fn(args));
|
|
53
58
|
}
|
|
59
|
+
const permissionCheckFn = args => {
|
|
60
|
+
const perm = (0, import_modelRegistry.getMutationsPermissions)(args.table),
|
|
61
|
+
base = import_zql.zql[args.table];
|
|
62
|
+
return args.objOrId ? base.where(eb => permissionsHelpers.buildPermissionQuery((0, import_getQueryOrMutatorAuthData.getQueryOrMutatorAuthData)(), eb, perm || (e => e.and()), args.objOrId, args.table)).one() : base.where(eb => eb.cmpLit(!0, "=", !1)).one();
|
|
63
|
+
};
|
|
64
|
+
(0, import_queryRegistry.registerQuery)(permissionCheckFn, "permission.check"), wrappedNamespaces.permission = {
|
|
65
|
+
check: (0, import_zero.defineQuery)(({
|
|
66
|
+
args
|
|
67
|
+
}) => permissionCheckFn(args))
|
|
68
|
+
};
|
|
54
69
|
const customQueries = (0, import_zero.defineQueries)(wrappedNamespaces);
|
|
55
70
|
(0, import_run.setCustomQueries)(customQueries);
|
|
56
71
|
const DisabledContext = (0, import_react2.createContext)(!1);
|
|
@@ -61,36 +76,26 @@ function createZeroClient({
|
|
|
61
76
|
return Reflect.get(latestZeroInstance, key, latestZeroInstance);
|
|
62
77
|
}
|
|
63
78
|
}),
|
|
64
|
-
permissionsHelpers = (0, import_createPermissions.createPermissions)({
|
|
65
|
-
schema,
|
|
66
|
-
environment: "client"
|
|
67
|
-
}),
|
|
68
79
|
zeroEvents = (0, import_helpers.createEmitter)("zero", null),
|
|
69
80
|
AuthDataContext = (0, import_react2.createContext)({}),
|
|
70
|
-
useAuthData = () => (0, import_react2.use)(AuthDataContext),
|
|
71
81
|
useQuery = (0, import_createUseQuery.createUseQuery)({
|
|
72
82
|
DisabledContext,
|
|
73
83
|
customQueries
|
|
74
84
|
});
|
|
75
85
|
function usePermission(table, objOrId, enabled = typeof objOrId < "u", debug = !1) {
|
|
76
86
|
const disabled = (0, import_react2.use)(DisabledContext),
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
})(),
|
|
83
|
-
[data, status] = (0, import_react.useQuery)(query, {
|
|
84
|
-
enabled: !!(enabled && permission && authData && objOrId)
|
|
87
|
+
[data, status] = useQuery(permissionCheckFn, {
|
|
88
|
+
table,
|
|
89
|
+
objOrId
|
|
90
|
+
}, {
|
|
91
|
+
enabled: !!(!disabled && enabled && objOrId)
|
|
85
92
|
});
|
|
86
|
-
debug && console.info("usePermission()", {
|
|
93
|
+
return debug && console.info("usePermission()", {
|
|
94
|
+
table,
|
|
95
|
+
objOrId,
|
|
87
96
|
data,
|
|
88
|
-
status
|
|
89
|
-
|
|
90
|
-
permission
|
|
91
|
-
}, (0, import_prettyFormatZeroQuery.prettyFormatZeroQuery)(query));
|
|
92
|
-
const allowed = !!data;
|
|
93
|
-
return objOrId ? allowed : !1;
|
|
97
|
+
status
|
|
98
|
+
}), objOrId ? status.type === "unknown" ? null : !!data : !1;
|
|
94
99
|
}
|
|
95
100
|
const ProvideZero = ({
|
|
96
101
|
children,
|
|
@@ -17,14 +17,17 @@ __export(createZeroClient_exports, {
|
|
|
17
17
|
createZeroClient: () => createZeroClient
|
|
18
18
|
});
|
|
19
19
|
module.exports = __toCommonJS(createZeroClient_exports);
|
|
20
|
-
var import_zero = require("@rocicorp/zero"), import_react = require("@rocicorp/zero/react"), import_helpers = require("@take-out/helpers"), import_react2 = require("react"), import_createPermissions = require("./createPermissions"), import_createUseQuery = require("./createUseQuery"), import_createMutators = require("./helpers/createMutators"),
|
|
20
|
+
var import_zero = require("@rocicorp/zero"), import_react = require("@rocicorp/zero/react"), import_helpers = require("@take-out/helpers"), import_react2 = require("react"), import_createPermissions = require("./createPermissions"), import_createUseQuery = require("./createUseQuery"), import_createMutators = require("./helpers/createMutators"), import_getQueryOrMutatorAuthData = require("./helpers/getQueryOrMutatorAuthData"), import_modelRegistry = require("./modelRegistry"), import_queryRegistry = require("./queryRegistry"), import_resolveQuery = require("./resolveQuery"), import_run = require("./run"), import_state = require("./state"), import_zeroRunner = require("./zeroRunner"), import_zql = require("./zql"), import_jsx_runtime = require("react/jsx-runtime");
|
|
21
21
|
function createZeroClient({
|
|
22
22
|
schema,
|
|
23
23
|
models,
|
|
24
24
|
groupedQueries
|
|
25
25
|
}) {
|
|
26
26
|
(0, import_state.setSchema)(schema);
|
|
27
|
-
const
|
|
27
|
+
const permissionsHelpers = (0, import_createPermissions.createPermissions)({
|
|
28
|
+
schema,
|
|
29
|
+
environment: "client"
|
|
30
|
+
}), wrappedNamespaces = {};
|
|
28
31
|
for (const [namespace, queries] of Object.entries(groupedQueries)) {
|
|
29
32
|
wrappedNamespaces[namespace] = {};
|
|
30
33
|
for (const [name, fn] of Object.entries(queries))
|
|
@@ -32,6 +35,19 @@ function createZeroClient({
|
|
|
32
35
|
({ args }) => fn(args)
|
|
33
36
|
);
|
|
34
37
|
}
|
|
38
|
+
const permissionCheckFn = (args) => {
|
|
39
|
+
const perm = (0, import_modelRegistry.getMutationsPermissions)(args.table), base = import_zql.zql[args.table];
|
|
40
|
+
return args.objOrId ? base.where((eb) => permissionsHelpers.buildPermissionQuery(
|
|
41
|
+
(0, import_getQueryOrMutatorAuthData.getQueryOrMutatorAuthData)(),
|
|
42
|
+
eb,
|
|
43
|
+
perm || ((e) => e.and()),
|
|
44
|
+
args.objOrId,
|
|
45
|
+
args.table
|
|
46
|
+
)).one() : base.where((eb) => eb.cmpLit(!0, "=", !1)).one();
|
|
47
|
+
};
|
|
48
|
+
(0, import_queryRegistry.registerQuery)(permissionCheckFn, "permission.check"), wrappedNamespaces.permission = {
|
|
49
|
+
check: (0, import_zero.defineQuery)(({ args }) => permissionCheckFn(args))
|
|
50
|
+
};
|
|
35
51
|
const customQueries = (0, import_zero.defineQueries)(wrappedNamespaces);
|
|
36
52
|
(0, import_run.setCustomQueries)(customQueries);
|
|
37
53
|
const DisabledContext = (0, import_react2.createContext)(!1);
|
|
@@ -44,32 +60,17 @@ function createZeroClient({
|
|
|
44
60
|
);
|
|
45
61
|
return Reflect.get(latestZeroInstance, key, latestZeroInstance);
|
|
46
62
|
}
|
|
47
|
-
}),
|
|
48
|
-
schema,
|
|
49
|
-
environment: "client"
|
|
50
|
-
}), zeroEvents = (0, import_helpers.createEmitter)("zero", null), AuthDataContext = (0, import_react2.createContext)({}), useAuthData = () => (0, import_react2.use)(AuthDataContext), useQuery = (0, import_createUseQuery.createUseQuery)({
|
|
63
|
+
}), zeroEvents = (0, import_helpers.createEmitter)("zero", null), AuthDataContext = (0, import_react2.createContext)({}), useQuery = (0, import_createUseQuery.createUseQuery)({
|
|
51
64
|
DisabledContext,
|
|
52
65
|
customQueries
|
|
53
66
|
});
|
|
54
67
|
function usePermission(table, objOrId, enabled = typeof objOrId < "u", debug = !1) {
|
|
55
|
-
const disabled = (0, import_react2.use)(DisabledContext),
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
eb,
|
|
60
|
-
permission,
|
|
61
|
-
objOrId
|
|
62
|
-
));
|
|
63
|
-
})(), [data, status] = (0, import_react.useQuery)(query, {
|
|
64
|
-
enabled: !!(enabled && permission && authData && objOrId)
|
|
65
|
-
});
|
|
66
|
-
debug && console.info(
|
|
67
|
-
"usePermission()",
|
|
68
|
-
{ data, status, authData, permission },
|
|
69
|
-
(0, import_prettyFormatZeroQuery.prettyFormatZeroQuery)(query)
|
|
68
|
+
const disabled = (0, import_react2.use)(DisabledContext), [data, status] = useQuery(
|
|
69
|
+
permissionCheckFn,
|
|
70
|
+
{ table, objOrId },
|
|
71
|
+
{ enabled: !!(!disabled && enabled && objOrId) }
|
|
70
72
|
);
|
|
71
|
-
|
|
72
|
-
return objOrId ? allowed : !1;
|
|
73
|
+
return debug && console.info("usePermission()", { table, objOrId, data, status }), objOrId ? status.type === "unknown" ? null : !!data : !1;
|
|
73
74
|
}
|
|
74
75
|
const ProvideZero = ({
|
|
75
76
|
children,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/createZeroClient.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA2C,2BAC3C,
|
|
5
|
-
"names": ["import_react", "
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["import_react", "zeroEvents"]
|
|
6
6
|
}
|
|
@@ -33,13 +33,14 @@ var import_jsx_runtime = require("react/jsx-runtime"),
|
|
|
33
33
|
import_createPermissions = require("./createPermissions.native.js"),
|
|
34
34
|
import_createUseQuery = require("./createUseQuery.native.js"),
|
|
35
35
|
import_createMutators = require("./helpers/createMutators.native.js"),
|
|
36
|
-
|
|
36
|
+
import_getQueryOrMutatorAuthData = require("./helpers/getQueryOrMutatorAuthData.native.js"),
|
|
37
37
|
import_modelRegistry = require("./modelRegistry.native.js"),
|
|
38
38
|
import_queryRegistry = require("./queryRegistry.native.js"),
|
|
39
39
|
import_resolveQuery = require("./resolveQuery.native.js"),
|
|
40
40
|
import_run = require("./run.native.js"),
|
|
41
41
|
import_state = require("./state.native.js"),
|
|
42
|
-
import_zeroRunner = require("./zeroRunner.native.js")
|
|
42
|
+
import_zeroRunner = require("./zeroRunner.native.js"),
|
|
43
|
+
import_zql = require("./zql.native.js");
|
|
43
44
|
function createZeroClient(param) {
|
|
44
45
|
var {
|
|
45
46
|
schema,
|
|
@@ -47,7 +48,11 @@ function createZeroClient(param) {
|
|
|
47
48
|
groupedQueries
|
|
48
49
|
} = param;
|
|
49
50
|
(0, import_state.setSchema)(schema);
|
|
50
|
-
var
|
|
51
|
+
var permissionsHelpers = (0, import_createPermissions.createPermissions)({
|
|
52
|
+
schema,
|
|
53
|
+
environment: "client"
|
|
54
|
+
}),
|
|
55
|
+
wrappedNamespaces = {},
|
|
51
56
|
_iteratorNormalCompletion = !0,
|
|
52
57
|
_didIteratorError = !1,
|
|
53
58
|
_iteratorError = void 0;
|
|
@@ -87,6 +92,25 @@ function createZeroClient(param) {
|
|
|
87
92
|
if (_didIteratorError) throw _iteratorError;
|
|
88
93
|
}
|
|
89
94
|
}
|
|
95
|
+
var permissionCheckFn = function (args) {
|
|
96
|
+
var perm = (0, import_modelRegistry.getMutationsPermissions)(args.table),
|
|
97
|
+
base = import_zql.zql[args.table];
|
|
98
|
+
return args.objOrId ? base.where(function (eb) {
|
|
99
|
+
return permissionsHelpers.buildPermissionQuery((0, import_getQueryOrMutatorAuthData.getQueryOrMutatorAuthData)(), eb, perm || function (e) {
|
|
100
|
+
return e.and();
|
|
101
|
+
}, args.objOrId, args.table);
|
|
102
|
+
}).one() : base.where(function (eb) {
|
|
103
|
+
return eb.cmpLit(!0, "=", !1);
|
|
104
|
+
}).one();
|
|
105
|
+
};
|
|
106
|
+
(0, import_queryRegistry.registerQuery)(permissionCheckFn, "permission.check"), wrappedNamespaces.permission = {
|
|
107
|
+
check: (0, import_zero.defineQuery)(function (param2) {
|
|
108
|
+
var {
|
|
109
|
+
args
|
|
110
|
+
} = param2;
|
|
111
|
+
return permissionCheckFn(args);
|
|
112
|
+
})
|
|
113
|
+
};
|
|
90
114
|
var customQueries = (0, import_zero.defineQueries)(wrappedNamespaces);
|
|
91
115
|
(0, import_run.setCustomQueries)(customQueries);
|
|
92
116
|
var DisabledContext = /* @__PURE__ */(0, import_react2.createContext)(!1),
|
|
@@ -97,15 +121,8 @@ function createZeroClient(param) {
|
|
|
97
121
|
return Reflect.get(latestZeroInstance, key, latestZeroInstance);
|
|
98
122
|
}
|
|
99
123
|
}),
|
|
100
|
-
permissionsHelpers = (0, import_createPermissions.createPermissions)({
|
|
101
|
-
schema,
|
|
102
|
-
environment: "client"
|
|
103
|
-
}),
|
|
104
124
|
zeroEvents = (0, import_helpers.createEmitter)("zero", null),
|
|
105
125
|
AuthDataContext = /* @__PURE__ */(0, import_react2.createContext)({}),
|
|
106
|
-
useAuthData = function () {
|
|
107
|
-
return (0, import_react2.use)(AuthDataContext);
|
|
108
|
-
},
|
|
109
126
|
useQuery = (0, import_createUseQuery.createUseQuery)({
|
|
110
127
|
DisabledContext,
|
|
111
128
|
customQueries
|
|
@@ -114,26 +131,18 @@ function createZeroClient(param) {
|
|
|
114
131
|
var enabled = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : typeof objOrId < "u",
|
|
115
132
|
debug = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !1,
|
|
116
133
|
disabled = (0, import_react2.use)(DisabledContext),
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
return permissionsHelpers.buildPermissionQuery(authData, eb, permission, objOrId);
|
|
123
|
-
});
|
|
124
|
-
}(),
|
|
125
|
-
[data, status] = (0, import_react.useQuery)(query, {
|
|
126
|
-
enabled: !!(enabled && permission && authData && objOrId)
|
|
134
|
+
[data, status] = useQuery(permissionCheckFn, {
|
|
135
|
+
table,
|
|
136
|
+
objOrId
|
|
137
|
+
}, {
|
|
138
|
+
enabled: !!(!disabled && enabled && objOrId)
|
|
127
139
|
});
|
|
128
|
-
debug && console.info("usePermission()", {
|
|
140
|
+
return debug && console.info("usePermission()", {
|
|
141
|
+
table,
|
|
142
|
+
objOrId,
|
|
129
143
|
data,
|
|
130
|
-
status
|
|
131
|
-
|
|
132
|
-
permission
|
|
133
|
-
}, (0, import_prettyFormatZeroQuery.prettyFormatZeroQuery)(query));
|
|
134
|
-
var result = data,
|
|
135
|
-
allowed = !!result;
|
|
136
|
-
return objOrId ? allowed : !1;
|
|
144
|
+
status
|
|
145
|
+
}), objOrId ? status.type === "unknown" ? null : !!data : !1;
|
|
137
146
|
}
|
|
138
147
|
var ProvideZero = function (param2) {
|
|
139
148
|
var {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroClient_exports","__export","createZeroClient","module","exports","import_jsx_runtime","require","import_zero","import_react","import_helpers","import_react2","import_createPermissions","import_createUseQuery","import_createMutators","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroClient_exports","__export","createZeroClient","module","exports","import_jsx_runtime","require","import_zero","import_react","import_helpers","import_react2","import_createPermissions","import_createUseQuery","import_createMutators","import_getQueryOrMutatorAuthData","import_modelRegistry","import_queryRegistry","import_resolveQuery","import_run","import_state","import_zeroRunner","import_zql","param","schema","models","groupedQueries","setSchema","permissionsHelpers","createPermissions","environment","wrappedNamespaces","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","Symbol","iterator","_step","next","done","namespace","queries","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop","name","fn","_step1","registerQuery","defineQuery","param2","args","_iterator1","err","return","permissionCheckFn","perm","getMutationsPermissions","table","base","zql","objOrId","where","eb","buildPermissionQuery","getQueryOrMutatorAuthData","e","and","one","cmpLit","permission","check","customQueries","defineQueries","setCustomQueries","DisabledContext","createContext","latestZeroInstance","zero","Proxy","get","_","key","Error","Reflect","zeroEvents","createEmitter","AuthDataContext","useQuery","createUseQuery","usePermission","enabled","arguments","length","debug","disabled","use","data","status","console","info","type","ProvideZero","children","authData","authDataIn","disable","props","setAuthData","mutators","useMemo","createMutators","can","jsx","Provider","jsxs","ZeroProvider","kvStore","SetZeroInstance","ConnectionMonitor"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -32,6 +32,7 @@ var import_zero = require("@rocicorp/zero"),
|
|
|
32
32
|
import_createPermissions = require("./createPermissions.cjs"),
|
|
33
33
|
import_createMutators = require("./helpers/createMutators.cjs"),
|
|
34
34
|
import_mutatorContext = require("./helpers/mutatorContext.cjs"),
|
|
35
|
+
import_modelRegistry = require("./modelRegistry.cjs"),
|
|
35
36
|
import_run = require("./run.cjs"),
|
|
36
37
|
import_state = require("./state.cjs"),
|
|
37
38
|
import_zeroRunner = require("./zeroRunner.cjs");
|
|
@@ -90,10 +91,21 @@ function createZeroServer({
|
|
|
90
91
|
}) => {
|
|
91
92
|
if (!queries) throw new Error("No queries registered with createZeroServer. Pass the syncedQueries registry to createZeroServer via the queries option.");
|
|
92
93
|
return (0, import_state.setAuthData)(authData || {}), {
|
|
93
|
-
response: await (0, import_server.handleQueryRequest)((name, args) =>
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
94
|
+
response: await (0, import_server.handleQueryRequest)((name, args) => {
|
|
95
|
+
if (name === "permission.check") {
|
|
96
|
+
const {
|
|
97
|
+
table,
|
|
98
|
+
objOrId
|
|
99
|
+
} = args,
|
|
100
|
+
perm = (0, import_modelRegistry.getMutationsPermissions)(table);
|
|
101
|
+
if (!perm) throw new Error(`[permission] no permission defined for table: ${table}`);
|
|
102
|
+
return (0, import_state.getZQL)()[table].where(eb => permissions.buildPermissionQuery(authData, eb, perm, objOrId, table)).one();
|
|
103
|
+
}
|
|
104
|
+
return (0, import_zero.mustGetQuery)(queries, name).fn({
|
|
105
|
+
args,
|
|
106
|
+
ctx: authData
|
|
107
|
+
});
|
|
108
|
+
}, schema, request)
|
|
97
109
|
};
|
|
98
110
|
},
|
|
99
111
|
mutate = async (run, authData) => {
|
|
@@ -17,7 +17,7 @@ __export(createZeroServer_exports, {
|
|
|
17
17
|
createZeroServer: () => createZeroServer
|
|
18
18
|
});
|
|
19
19
|
module.exports = __toCommonJS(createZeroServer_exports);
|
|
20
|
-
var import_zero = require("@rocicorp/zero"), import_pg = require("@rocicorp/zero/pg"), import_server = require("@rocicorp/zero/server"), import_pg2 = require("@rocicorp/zero/server/adapters/pg"), import_helpers = require("@take-out/helpers"), import_pg3 = require("pg"), import_createPermissions = require("./createPermissions"), import_createMutators = require("./helpers/createMutators"), import_mutatorContext = require("./helpers/mutatorContext"), import_run = require("./run"), import_state = require("./state"), import_zeroRunner = require("./zeroRunner");
|
|
20
|
+
var import_zero = require("@rocicorp/zero"), import_pg = require("@rocicorp/zero/pg"), import_server = require("@rocicorp/zero/server"), import_pg2 = require("@rocicorp/zero/server/adapters/pg"), import_helpers = require("@take-out/helpers"), import_pg3 = require("pg"), import_createPermissions = require("./createPermissions"), import_createMutators = require("./helpers/createMutators"), import_mutatorContext = require("./helpers/mutatorContext"), import_modelRegistry = require("./modelRegistry"), import_run = require("./run"), import_state = require("./state"), import_zeroRunner = require("./zeroRunner");
|
|
21
21
|
function createZeroServer({
|
|
22
22
|
createServerActions,
|
|
23
23
|
database,
|
|
@@ -71,7 +71,15 @@ function createZeroServer({
|
|
|
71
71
|
);
|
|
72
72
|
return (0, import_state.setAuthData)(authData || {}), {
|
|
73
73
|
response: await (0, import_server.handleQueryRequest)(
|
|
74
|
-
(name, args) =>
|
|
74
|
+
(name, args) => {
|
|
75
|
+
if (name === "permission.check") {
|
|
76
|
+
const { table, objOrId } = args, perm = (0, import_modelRegistry.getMutationsPermissions)(table);
|
|
77
|
+
if (!perm)
|
|
78
|
+
throw new Error(`[permission] no permission defined for table: ${table}`);
|
|
79
|
+
return (0, import_state.getZQL)()[table].where((eb) => permissions.buildPermissionQuery(authData, eb, perm, objOrId, table)).one();
|
|
80
|
+
}
|
|
81
|
+
return (0, import_zero.mustGetQuery)(queries, name).fn({ args, ctx: authData });
|
|
82
|
+
},
|
|
75
83
|
schema,
|
|
76
84
|
request
|
|
77
85
|
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/createZeroServer.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA6B,2BAC7B,YAA8B,8BAC9B,gBAA6D,kCAC7DA,aAA2B,8CAC3B,iBAAuC,8BACvCA,aAAqB,eAErB,2BAAkC,gCAClC,wBAA+B,qCAC/B,wBAAiD,qCACjD,aAAiC,kBACjC,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["import_pg", "zeroHandleQueryRequest", "query"]
|
|
6
6
|
}
|
|
@@ -34,6 +34,7 @@ var import_zero = require("@rocicorp/zero"),
|
|
|
34
34
|
import_createPermissions = require("./createPermissions.native.js"),
|
|
35
35
|
import_createMutators = require("./helpers/createMutators.native.js"),
|
|
36
36
|
import_mutatorContext = require("./helpers/mutatorContext.native.js"),
|
|
37
|
+
import_modelRegistry = require("./modelRegistry.native.js"),
|
|
37
38
|
import_run = require("./run.native.js"),
|
|
38
39
|
import_state = require("./state.native.js"),
|
|
39
40
|
import_zeroRunner = require("./zeroRunner.native.js");
|
|
@@ -98,6 +99,17 @@ function createZeroServer(param) {
|
|
|
98
99
|
if (!queries) throw new Error("No queries registered with createZeroServer. Pass the syncedQueries registry to createZeroServer via the queries option.");
|
|
99
100
|
(0, import_state.setAuthData)(authData || {});
|
|
100
101
|
var response = await (0, import_server.handleQueryRequest)(function (name, args) {
|
|
102
|
+
if (name === "permission.check") {
|
|
103
|
+
var {
|
|
104
|
+
table,
|
|
105
|
+
objOrId
|
|
106
|
+
} = args,
|
|
107
|
+
perm = (0, import_modelRegistry.getMutationsPermissions)(table);
|
|
108
|
+
if (!perm) throw new Error(`[permission] no permission defined for table: ${table}`);
|
|
109
|
+
return (0, import_state.getZQL)()[table].where(function (eb) {
|
|
110
|
+
return permissions.buildPermissionQuery(authData, eb, perm, objOrId, table);
|
|
111
|
+
}).one();
|
|
112
|
+
}
|
|
101
113
|
var _$query = (0, import_zero.mustGetQuery)(queries, name);
|
|
102
114
|
return _$query.fn({
|
|
103
115
|
args,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroServer_exports","__export","createZeroServer","module","exports","import_zero","require","import_pg","import_server","import_pg2","import_helpers","import_pg3","import_createPermissions","import_createMutators","import_mutatorContext","import_run","import_state","import_zeroRunner","param","createServerActions","database","schema","models","queries","setSchema","dbString","assertString","zeroDb","zeroNodePg","Pool","connectionString","ssl","includes","rejectUnauthorized","permissions","createPermissions","environment","processor","PushProcessor","handleMutationRequest","param2","authData","request","skipAsyncTasks","asyncTasks","mutators","createMutators","can","response","process","length","id","randomId","console","info","Promise","all","map","task","then","catch","err","error","handleQueryRequest","Error","setAuthData","name","args","_$query","mustGetQuery","fn","ctx","mutate","run","email","role","transaction","tx","t","query2","isInZeroMutation","mutatorContext","output","dummyTransactionInput","query","cb","setCustomQueries","setRunner","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,wBAAA;AAAAC,QAAA,CAAAD,wBAAA;EAAAE,gBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAA6B,CAAAK,wBAC7B;
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroServer_exports","__export","createZeroServer","module","exports","import_zero","require","import_pg","import_server","import_pg2","import_helpers","import_pg3","import_createPermissions","import_createMutators","import_mutatorContext","import_modelRegistry","import_run","import_state","import_zeroRunner","param","createServerActions","database","schema","models","queries","setSchema","dbString","assertString","zeroDb","zeroNodePg","Pool","connectionString","ssl","includes","rejectUnauthorized","permissions","createPermissions","environment","processor","PushProcessor","handleMutationRequest","param2","authData","request","skipAsyncTasks","asyncTasks","mutators","createMutators","can","response","process","length","id","randomId","console","info","Promise","all","map","task","then","catch","err","error","handleQueryRequest","Error","setAuthData","name","args","table","objOrId","perm","getMutationsPermissions","getZQL","where","eb","buildPermissionQuery","one","_$query","mustGetQuery","fn","ctx","mutate","run","email","role","transaction","tx","t","query2","isInZeroMutation","mutatorContext","output","dummyTransactionInput","query","cb","setCustomQueries","setRunner","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -8,8 +8,8 @@ function createPermissions({
|
|
|
8
8
|
environment,
|
|
9
9
|
schema
|
|
10
10
|
}) {
|
|
11
|
-
function buildPermissionQuery(authData, eb, permissionWhere, objOrId) {
|
|
12
|
-
const tableName = getWhereTableName(permissionWhere);
|
|
11
|
+
function buildPermissionQuery(authData, eb, permissionWhere, objOrId, tableNameOverride) {
|
|
12
|
+
const tableName = tableNameOverride || getWhereTableName(permissionWhere);
|
|
13
13
|
if (!tableName)
|
|
14
14
|
throw new Error("Must use PermissionWhere for buildPermissionQuery");
|
|
15
15
|
const tableSchema = schema.tables[tableName];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/createPermissions.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,QAAQ,mBAAmB;AAEpC,SAAS,gCAAgC;AACzC,SAAS,sBAAsB;AAC/B,SAAS,6BAA6B;AACtC,SAAS,cAAc;AACvB,SAAS,yBAAyB;AAU3B,SAAS,kBAA6C;AAAA,EAC3D;AAAA,EACA;AACF,GAGG;AAQD,WAAS,qBACP,UACA,IACA,iBAEA,SACA;AACA,UAAM,YAAY,kBAAkB,eAAe;
|
|
4
|
+
"mappings": "AAAA,SAAS,QAAQ,mBAAmB;AAEpC,SAAS,gCAAgC;AACzC,SAAS,sBAAsB;AAC/B,SAAS,6BAA6B;AACtC,SAAS,cAAc;AACvB,SAAS,yBAAyB;AAU3B,SAAS,kBAA6C;AAAA,EAC3D;AAAA,EACA;AACF,GAGG;AAQD,WAAS,qBACP,UACA,IACA,iBAEA,SACA,mBACA;AACA,UAAM,YAAY,qBAAqB,kBAAkB,eAAe;AAExE,QAAI,CAAC;AACH,YAAM,IAAI,MAAM,mDAAmD;AAGrE,UAAM,cAAc,OAAO,OAAO,SAAS;AAE3C,QAAI,CAAC;AACH,YAAM,IAAI,MAAM,YAAY;AAG9B,UAAM,cAAc,YAAY,YAC1B,mBAAmB,gBAAgB,IAAI,QAAQ;AAErD,QAAI,oBAAoB;AACtB,YAAM,IAAI,MAAM,6BAA6B,SAAS,EAAE;AAG1D,QAAI,qBAAqB;AACvB,aAAO,GAAG,OAAO,IAAM,KAAK,EAAI;AAGlC,QAAI,qBAAqB;AACvB,aAAO,GAAG,OAAO,IAAM,KAAK,EAAK;AAGnC,UAAM,mBAAgC,CAAC;AAEvC,eAAW,OAAO,aAAa;AAC7B,YAAM,QAAQ,OAAO,WAAY,WAAW,UAAU,QAAQ,GAAG;AACjE,uBAAiB,KAAK,GAAG,IAAI,KAAY,KAAK,CAAC;AAAA,IACjD;AAEA,WAAO,GAAG,IAAI,kBAAkB,GAAG,gBAAgB;AAAA,EACrD;AAEA,QAAM,MAAW,OAAO,OAAO,QAAQ;AAErC,QAAI,gBAAgB,UAAU;AAC5B,YAAM,MAAM,eAAe,GACrB,YAAY,kBAAkB,KAAK;AACzC,UAAI,CAAC;AACH,cAAM,IAAI,MAAM,sDAAsD;AAExE,YAAM,iBAAiB,IAAI,IAAI,IAAI,UAAU,WAAW,OAAO,GAAG,GAClE,yBAAyB,GAAG;AAAA,IAC9B;AAAA,EACF;AAEA,iBAAe,iBACb,IACA,UACA,WACA,OACA,KACe;AACf,QAAI,UAAU,SAAS;AAErB;AAIF,UAAM,YADa,OAAO,EACG,SAAS;AACtC,QAAI,QAAqC;AAEzC,QAAI;AACF,cAAQ,UACL,MAAM,CAAC,OACC,qBAAqB,UAAU,IAAI,OAAO,GAAG,CACrD,EACA,IAAI,GAEP,OAAO,MAAM,GAAG,IAAI,KAAK,CAAC;AAAA,IAC5B,SAAS,KAAK;AACZ,YAAM,aAAa,GAAG,SAAS,kBAAkB,UAAU,EAAE;AAE7D,UAAI,eAAe,aAAa;AAC9B,YAAI,MAAM,uCAAgC,UAAU;AACpD,cAAI,QAAQ,IAAI,aAAa,iBAAiB,UAC5C,OAAO;AAAA,GAAM,sBAAsB,KAAK,CAAC,KAErC,IAAI,MAAM,GAAG;AAAA,MACrB;AAEA,YAAM,IAAI,MAAM,4BAA4B,UAAU;AAAA,EAAK,GAAG,EAAE;AAAA,IAClE;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|