on-zero 0.0.75 → 0.0.77

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/cjs/createPermissions.cjs +2 -2
  2. package/dist/cjs/createPermissions.js +2 -2
  3. package/dist/cjs/createPermissions.js.map +1 -1
  4. package/dist/cjs/createPermissions.native.js +2 -2
  5. package/dist/cjs/createPermissions.native.js.map +1 -1
  6. package/dist/cjs/createZeroClient.cjs +27 -22
  7. package/dist/cjs/createZeroClient.js +24 -23
  8. package/dist/cjs/createZeroClient.js.map +2 -2
  9. package/dist/cjs/createZeroClient.native.js +37 -28
  10. package/dist/cjs/createZeroClient.native.js.map +1 -1
  11. package/dist/cjs/createZeroServer.cjs +16 -4
  12. package/dist/cjs/createZeroServer.js +10 -2
  13. package/dist/cjs/createZeroServer.js.map +1 -1
  14. package/dist/cjs/createZeroServer.native.js +12 -0
  15. package/dist/cjs/createZeroServer.native.js.map +1 -1
  16. package/dist/esm/createPermissions.js +2 -2
  17. package/dist/esm/createPermissions.js.map +1 -1
  18. package/dist/esm/createPermissions.mjs +2 -2
  19. package/dist/esm/createPermissions.mjs.map +1 -1
  20. package/dist/esm/createPermissions.native.js +2 -2
  21. package/dist/esm/createPermissions.native.js.map +1 -1
  22. package/dist/esm/createZeroClient.js +26 -29
  23. package/dist/esm/createZeroClient.js.map +1 -1
  24. package/dist/esm/createZeroClient.mjs +28 -23
  25. package/dist/esm/createZeroClient.mjs.map +1 -1
  26. package/dist/esm/createZeroClient.native.js +37 -28
  27. package/dist/esm/createZeroClient.native.js.map +1 -1
  28. package/dist/esm/createZeroServer.js +11 -2
  29. package/dist/esm/createZeroServer.js.map +1 -1
  30. package/dist/esm/createZeroServer.mjs +17 -5
  31. package/dist/esm/createZeroServer.mjs.map +1 -1
  32. package/dist/esm/createZeroServer.native.js +13 -1
  33. package/dist/esm/createZeroServer.native.js.map +1 -1
  34. package/package.json +6 -7
  35. package/src/createPermissions.ts +3 -2
  36. package/src/createZeroClient.tsx +55 -59
  37. package/src/createZeroServer.ts +19 -1
  38. package/types/createPermissions.d.ts +2 -2
  39. package/types/createPermissions.d.ts.map +1 -1
  40. package/types/createZeroClient.d.ts.map +1 -1
  41. package/types/createZeroServer.d.ts.map +1 -1
@@ -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) throw new Error("Must use PermissionWhere for buildPermissionQuery");
14
14
  const tableSchema = schema.tables[tableName];
15
15
  if (!tableSchema) throw new Error("No schema?");
@@ -1 +1 @@
1
- {"version":3,"names":["ensure","EnsureError","setDidRunPermissionCheck","mutatorContext","prettyFormatZeroQuery","getZQL","getWhereTableName","createPermissions","environment","schema","buildPermissionQuery","authData","eb","permissionWhere","objOrId","tableName","Error","tableSchema","tables","primaryKeys","primaryKey","permissionReturn","cmpLit","primaryKeyWheres","key","value","push","cmp","and","can","where","obj","ctx","ensurePermission","tx","role","queryBase","query","one","run","err","errorTitle","id","msg","process","env","NODE_ENV"],"sources":["../../src/createPermissions.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["ensure","EnsureError","setDidRunPermissionCheck","mutatorContext","prettyFormatZeroQuery","getZQL","getWhereTableName","createPermissions","environment","schema","buildPermissionQuery","authData","eb","permissionWhere","objOrId","tableNameOverride","tableName","Error","tableSchema","tables","primaryKeys","primaryKey","permissionReturn","cmpLit","primaryKeyWheres","key","value","push","cmp","and","can","where","obj","ctx","ensurePermission","tx","role","queryBase","query","one","run","err","errorTitle","id","msg","process","env","NODE_ENV"],"sources":["../../src/createPermissions.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -12,8 +12,8 @@ function createPermissions(param) {
12
12
  environment,
13
13
  schema
14
14
  } = param;
15
- function buildPermissionQuery(authData, eb, permissionWhere, objOrId) {
16
- var tableName = getWhereTableName(permissionWhere);
15
+ function buildPermissionQuery(authData, eb, permissionWhere, objOrId, tableNameOverride) {
16
+ var tableName = tableNameOverride || getWhereTableName(permissionWhere);
17
17
  if (!tableName) throw new Error("Must use PermissionWhere for buildPermissionQuery");
18
18
  var tableSchema = schema.tables[tableName];
19
19
  if (!tableSchema) throw new Error("No schema?");
@@ -1 +1 @@
1
- {"version":3,"names":["ensure","EnsureError","setDidRunPermissionCheck","mutatorContext","prettyFormatZeroQuery","getZQL","getWhereTableName","_instanceof","left","right","Symbol","hasInstance","createPermissions","param","environment","schema","buildPermissionQuery","authData","eb","permissionWhere","objOrId","tableName","Error","tableSchema","tables","primaryKeys","primaryKey","permissionReturn","cmpLit","primaryKeyWheres","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","key","value","push","cmp","err","return","and","can","where","obj","ctx","ensurePermission","tx","role","zqlBuilder","queryBase","query","one","run","errorTitle","id","msg"],"sources":["../../src/createPermissions.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["ensure","EnsureError","setDidRunPermissionCheck","mutatorContext","prettyFormatZeroQuery","getZQL","getWhereTableName","_instanceof","left","right","Symbol","hasInstance","createPermissions","param","environment","schema","buildPermissionQuery","authData","eb","permissionWhere","objOrId","tableNameOverride","tableName","Error","tableSchema","tables","primaryKeys","primaryKey","permissionReturn","cmpLit","primaryKeyWheres","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","key","value","push","cmp","err","return","and","can","where","obj","ctx","ensurePermission","tx","role","zqlBuilder","queryBase","query","one","run","errorTitle","id","msg"],"sources":["../../src/createPermissions.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,5 @@
1
1
  import { defineQueries, defineQuery } from "@rocicorp/zero";
2
- import {
3
- useConnectionState,
4
- useZero,
5
- ZeroProvider,
6
- useQuery as zeroUseQuery
7
- } from "@rocicorp/zero/react";
2
+ import { useConnectionState, useZero, ZeroProvider } from "@rocicorp/zero/react";
8
3
  import { createEmitter } from "@take-out/helpers";
9
4
  import {
10
5
  createContext,
@@ -17,13 +12,14 @@ import {
17
12
  import { createPermissions } from "./createPermissions";
18
13
  import { createUseQuery } from "./createUseQuery";
19
14
  import { createMutators } from "./helpers/createMutators";
20
- import { prettyFormatZeroQuery } from "./helpers/prettyFormatZeroQuery";
15
+ import { getQueryOrMutatorAuthData } from "./helpers/getQueryOrMutatorAuthData";
21
16
  import { getMutationsPermissions } from "./modelRegistry";
22
17
  import { registerQuery } from "./queryRegistry";
23
18
  import { resolveQuery } from "./resolveQuery";
24
19
  import { setCustomQueries } from "./run";
25
20
  import { setAuthData, setSchema } from "./state";
26
21
  import { setRunner } from "./zeroRunner";
22
+ import { zql } from "./zql";
27
23
  import { jsx, jsxs } from "react/jsx-runtime";
28
24
  function createZeroClient({
29
25
  schema,
@@ -31,7 +27,10 @@ function createZeroClient({
31
27
  groupedQueries
32
28
  }) {
33
29
  setSchema(schema);
34
- const wrappedNamespaces = {};
30
+ const permissionsHelpers = createPermissions({
31
+ schema,
32
+ environment: "client"
33
+ }), wrappedNamespaces = {};
35
34
  for (const [namespace, queries] of Object.entries(groupedQueries)) {
36
35
  wrappedNamespaces[namespace] = {};
37
36
  for (const [name, fn] of Object.entries(queries))
@@ -39,6 +38,19 @@ function createZeroClient({
39
38
  ({ args }) => fn(args)
40
39
  );
41
40
  }
41
+ const permissionCheckFn = (args) => {
42
+ const perm = getMutationsPermissions(args.table), base = zql[args.table];
43
+ return args.objOrId ? base.where((eb) => permissionsHelpers.buildPermissionQuery(
44
+ getQueryOrMutatorAuthData(),
45
+ eb,
46
+ perm || ((e) => e.and()),
47
+ args.objOrId,
48
+ args.table
49
+ )).one() : base.where((eb) => eb.cmpLit(!0, "=", !1)).one();
50
+ };
51
+ registerQuery(permissionCheckFn, "permission.check"), wrappedNamespaces.permission = {
52
+ check: defineQuery(({ args }) => permissionCheckFn(args))
53
+ };
42
54
  const customQueries = defineQueries(wrappedNamespaces);
43
55
  setCustomQueries(customQueries);
44
56
  const DisabledContext = createContext(!1);
@@ -51,32 +63,17 @@ function createZeroClient({
51
63
  );
52
64
  return Reflect.get(latestZeroInstance, key, latestZeroInstance);
53
65
  }
54
- }), permissionsHelpers = createPermissions({
55
- schema,
56
- environment: "client"
57
- }), zeroEvents = createEmitter("zero", null), AuthDataContext = createContext({}), useAuthData = () => use(AuthDataContext), useQuery = createUseQuery({
66
+ }), zeroEvents = createEmitter("zero", null), AuthDataContext = createContext({}), useQuery = createUseQuery({
58
67
  DisabledContext,
59
68
  customQueries
60
69
  });
61
70
  function usePermission(table, objOrId, enabled = typeof objOrId < "u", debug = !1) {
62
- const disabled = use(DisabledContext), authData = useAuthData(), permission = getMutationsPermissions(table), query = (() => {
63
- let baseQuery = zero.query[table].one();
64
- return disabled || !enabled || !permission ? baseQuery : baseQuery.where((eb) => permissionsHelpers.buildPermissionQuery(
65
- authData,
66
- eb,
67
- permission,
68
- objOrId
69
- ));
70
- })(), [data, status] = zeroUseQuery(query, {
71
- enabled: !!(enabled && permission && authData && objOrId)
72
- });
73
- debug && console.info(
74
- "usePermission()",
75
- { data, status, authData, permission },
76
- prettyFormatZeroQuery(query)
71
+ const disabled = use(DisabledContext), [data, status] = useQuery(
72
+ permissionCheckFn,
73
+ { table, objOrId },
74
+ { enabled: !!(!disabled && enabled && objOrId) }
77
75
  );
78
- const allowed = !!data;
79
- return objOrId ? allowed : !1;
76
+ return debug && console.info("usePermission()", { table, objOrId, data, status }), objOrId ? status.type === "unknown" ? null : !!data : !1;
80
77
  }
81
78
  const ProvideZero = ({
82
79
  children,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createZeroClient.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["zeroEvents"]
6
6
  }
@@ -1,17 +1,18 @@
1
1
  import { defineQueries, defineQuery } from "@rocicorp/zero";
2
- import { useConnectionState, useZero, ZeroProvider, useQuery as zeroUseQuery } from "@rocicorp/zero/react";
2
+ import { useConnectionState, useZero, ZeroProvider } from "@rocicorp/zero/react";
3
3
  import { createEmitter } from "@take-out/helpers";
4
4
  import { createContext, memo, use, useEffect, useMemo, useRef } from "react";
5
5
  import { createPermissions } from "./createPermissions.mjs";
6
6
  import { createUseQuery } from "./createUseQuery.mjs";
7
7
  import { createMutators } from "./helpers/createMutators.mjs";
8
- import { prettyFormatZeroQuery } from "./helpers/prettyFormatZeroQuery.mjs";
8
+ import { getQueryOrMutatorAuthData } from "./helpers/getQueryOrMutatorAuthData.mjs";
9
9
  import { getMutationsPermissions } from "./modelRegistry.mjs";
10
10
  import { registerQuery } from "./queryRegistry.mjs";
11
11
  import { resolveQuery } from "./resolveQuery.mjs";
12
12
  import { setCustomQueries } from "./run.mjs";
13
13
  import { setAuthData, setSchema } from "./state.mjs";
14
14
  import { setRunner } from "./zeroRunner.mjs";
15
+ import { zql } from "./zql.mjs";
15
16
  import { jsx, jsxs } from "react/jsx-runtime";
16
17
  function createZeroClient({
17
18
  schema,
@@ -19,13 +20,27 @@ function createZeroClient({
19
20
  groupedQueries
20
21
  }) {
21
22
  setSchema(schema);
22
- const wrappedNamespaces = {};
23
+ const permissionsHelpers = createPermissions({
24
+ schema,
25
+ environment: "client"
26
+ }),
27
+ wrappedNamespaces = {};
23
28
  for (const [namespace, queries] of Object.entries(groupedQueries)) {
24
29
  wrappedNamespaces[namespace] = {};
25
30
  for (const [name, fn] of Object.entries(queries)) registerQuery(fn, `${namespace}.${name}`), wrappedNamespaces[namespace][name] = defineQuery(({
26
31
  args
27
32
  }) => fn(args));
28
33
  }
34
+ const permissionCheckFn = args => {
35
+ const perm = getMutationsPermissions(args.table),
36
+ base = zql[args.table];
37
+ return args.objOrId ? base.where(eb => permissionsHelpers.buildPermissionQuery(getQueryOrMutatorAuthData(), eb, perm || (e => e.and()), args.objOrId, args.table)).one() : base.where(eb => eb.cmpLit(!0, "=", !1)).one();
38
+ };
39
+ registerQuery(permissionCheckFn, "permission.check"), wrappedNamespaces.permission = {
40
+ check: defineQuery(({
41
+ args
42
+ }) => permissionCheckFn(args))
43
+ };
29
44
  const customQueries = defineQueries(wrappedNamespaces);
30
45
  setCustomQueries(customQueries);
31
46
  const DisabledContext = createContext(!1);
@@ -36,36 +51,26 @@ function createZeroClient({
36
51
  return Reflect.get(latestZeroInstance, key, latestZeroInstance);
37
52
  }
38
53
  }),
39
- permissionsHelpers = createPermissions({
40
- schema,
41
- environment: "client"
42
- }),
43
54
  zeroEvents = createEmitter("zero", null),
44
55
  AuthDataContext = createContext({}),
45
- useAuthData = () => use(AuthDataContext),
46
56
  useQuery = createUseQuery({
47
57
  DisabledContext,
48
58
  customQueries
49
59
  });
50
60
  function usePermission(table, objOrId, enabled = typeof objOrId < "u", debug = !1) {
51
61
  const disabled = use(DisabledContext),
52
- authData = useAuthData(),
53
- permission = getMutationsPermissions(table),
54
- query = (() => {
55
- let baseQuery = zero.query[table].one();
56
- return disabled || !enabled || !permission ? baseQuery : baseQuery.where(eb => permissionsHelpers.buildPermissionQuery(authData, eb, permission, objOrId));
57
- })(),
58
- [data, status] = zeroUseQuery(query, {
59
- enabled: !!(enabled && permission && authData && objOrId)
62
+ [data, status] = useQuery(permissionCheckFn, {
63
+ table,
64
+ objOrId
65
+ }, {
66
+ enabled: !!(!disabled && enabled && objOrId)
60
67
  });
61
- debug && console.info("usePermission()", {
68
+ return debug && console.info("usePermission()", {
69
+ table,
70
+ objOrId,
62
71
  data,
63
- status,
64
- authData,
65
- permission
66
- }, prettyFormatZeroQuery(query));
67
- const allowed = !!data;
68
- return objOrId ? allowed : !1;
72
+ status
73
+ }), objOrId ? status.type === "unknown" ? null : !!data : !1;
69
74
  }
70
75
  const ProvideZero = ({
71
76
  children,
@@ -1 +1 @@
1
- {"version":3,"names":["defineQueries","defineQuery","useConnectionState","useZero","ZeroProvider","useQuery","zeroUseQuery","createEmitter","createContext","memo","use","useEffect","useMemo","useRef","createPermissions","createUseQuery","createMutators","prettyFormatZeroQuery","getMutationsPermissions","registerQuery","resolveQuery","setCustomQueries","setAuthData","setSchema","setRunner","jsx","jsxs","createZeroClient","schema","models","groupedQueries","wrappedNamespaces","namespace","queries","Object","entries","name","fn","args","customQueries","DisabledContext","latestZeroInstance","zero","Proxy","get","_","key","Error","Reflect","permissionsHelpers","environment","zeroEvents","AuthDataContext","useAuthData","usePermission","table","objOrId","enabled","debug","disabled","authData","permission","query","baseQuery","one","where","eb","buildPermissionQuery","data","status","console","info","allowed","ProvideZero","children","authDataIn","disable","props","mutators","can","Provider","value","kvStore","SetZeroInstance","ConnectionMonitor","zeroInstance","options","run","zeroEvents2","state","prevState","current","reason","message","emit","type","preload","fnArg","paramsOrOptions","optionsArg","hasParams","params","queryRequest"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["defineQueries","defineQuery","useConnectionState","useZero","ZeroProvider","createEmitter","createContext","memo","use","useEffect","useMemo","useRef","createPermissions","createUseQuery","createMutators","getQueryOrMutatorAuthData","getMutationsPermissions","registerQuery","resolveQuery","setCustomQueries","setAuthData","setSchema","setRunner","zql","jsx","jsxs","createZeroClient","schema","models","groupedQueries","permissionsHelpers","environment","wrappedNamespaces","namespace","queries","Object","entries","name","fn","args","permissionCheckFn","perm","table","base","objOrId","where","eb","buildPermissionQuery","e","and","one","cmpLit","permission","check","customQueries","DisabledContext","latestZeroInstance","zero","Proxy","get","_","key","Error","Reflect","zeroEvents","AuthDataContext","useQuery","usePermission","enabled","debug","disabled","data","status","console","info","type","ProvideZero","children","authData","authDataIn","disable","props","mutators","can","Provider","value","kvStore","SetZeroInstance","ConnectionMonitor","zeroInstance","query","options","run","zeroEvents2","state","prevState","current","reason","message","emit","preload","fnArg","paramsOrOptions","optionsArg","hasParams","params","queryRequest"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,18 +1,19 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { defineQueries, defineQuery } from "@rocicorp/zero";
3
- import { useConnectionState, useZero, ZeroProvider, useQuery as zeroUseQuery } from "@rocicorp/zero/react";
3
+ import { useConnectionState, useZero, ZeroProvider } from "@rocicorp/zero/react";
4
4
  import { createEmitter } from "@take-out/helpers";
5
5
  import { createContext, memo, use, useEffect, useMemo, useRef } from "react";
6
6
  import { createPermissions } from "./createPermissions.native.js";
7
7
  import { createUseQuery } from "./createUseQuery.native.js";
8
8
  import { createMutators } from "./helpers/createMutators.native.js";
9
- import { prettyFormatZeroQuery } from "./helpers/prettyFormatZeroQuery.native.js";
9
+ import { getQueryOrMutatorAuthData } from "./helpers/getQueryOrMutatorAuthData.native.js";
10
10
  import { getMutationsPermissions } from "./modelRegistry.native.js";
11
11
  import { registerQuery } from "./queryRegistry.native.js";
12
12
  import { resolveQuery } from "./resolveQuery.native.js";
13
13
  import { setCustomQueries } from "./run.native.js";
14
14
  import { setAuthData, setSchema } from "./state.native.js";
15
15
  import { setRunner } from "./zeroRunner.native.js";
16
+ import { zql } from "./zql.native.js";
16
17
  function createZeroClient(param) {
17
18
  var {
18
19
  schema,
@@ -20,7 +21,11 @@ function createZeroClient(param) {
20
21
  groupedQueries
21
22
  } = param;
22
23
  setSchema(schema);
23
- var wrappedNamespaces = {},
24
+ var permissionsHelpers = createPermissions({
25
+ schema,
26
+ environment: "client"
27
+ }),
28
+ wrappedNamespaces = {},
24
29
  _iteratorNormalCompletion = !0,
25
30
  _didIteratorError = !1,
26
31
  _iteratorError = void 0;
@@ -60,6 +65,25 @@ function createZeroClient(param) {
60
65
  if (_didIteratorError) throw _iteratorError;
61
66
  }
62
67
  }
68
+ var permissionCheckFn = function (args) {
69
+ var perm = getMutationsPermissions(args.table),
70
+ base = zql[args.table];
71
+ return args.objOrId ? base.where(function (eb) {
72
+ return permissionsHelpers.buildPermissionQuery(getQueryOrMutatorAuthData(), eb, perm || function (e) {
73
+ return e.and();
74
+ }, args.objOrId, args.table);
75
+ }).one() : base.where(function (eb) {
76
+ return eb.cmpLit(!0, "=", !1);
77
+ }).one();
78
+ };
79
+ registerQuery(permissionCheckFn, "permission.check"), wrappedNamespaces.permission = {
80
+ check: defineQuery(function (param2) {
81
+ var {
82
+ args
83
+ } = param2;
84
+ return permissionCheckFn(args);
85
+ })
86
+ };
63
87
  var customQueries = defineQueries(wrappedNamespaces);
64
88
  setCustomQueries(customQueries);
65
89
  var DisabledContext = /* @__PURE__ */createContext(!1),
@@ -70,15 +94,8 @@ function createZeroClient(param) {
70
94
  return Reflect.get(latestZeroInstance, key, latestZeroInstance);
71
95
  }
72
96
  }),
73
- permissionsHelpers = createPermissions({
74
- schema,
75
- environment: "client"
76
- }),
77
97
  zeroEvents = createEmitter("zero", null),
78
98
  AuthDataContext = /* @__PURE__ */createContext({}),
79
- useAuthData = function () {
80
- return use(AuthDataContext);
81
- },
82
99
  useQuery = createUseQuery({
83
100
  DisabledContext,
84
101
  customQueries
@@ -87,26 +104,18 @@ function createZeroClient(param) {
87
104
  var enabled = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : typeof objOrId < "u",
88
105
  debug = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !1,
89
106
  disabled = use(DisabledContext),
90
- authData = useAuthData(),
91
- permission = getMutationsPermissions(table),
92
- query = function () {
93
- var baseQuery = zero.query[table].one();
94
- return disabled || !enabled || !permission ? baseQuery : baseQuery.where(function (eb) {
95
- return permissionsHelpers.buildPermissionQuery(authData, eb, permission, objOrId);
96
- });
97
- }(),
98
- [data, status] = zeroUseQuery(query, {
99
- enabled: !!(enabled && permission && authData && objOrId)
107
+ [data, status] = useQuery(permissionCheckFn, {
108
+ table,
109
+ objOrId
110
+ }, {
111
+ enabled: !!(!disabled && enabled && objOrId)
100
112
  });
101
- debug && console.info("usePermission()", {
113
+ return debug && console.info("usePermission()", {
114
+ table,
115
+ objOrId,
102
116
  data,
103
- status,
104
- authData,
105
- permission
106
- }, prettyFormatZeroQuery(query));
107
- var result = data,
108
- allowed = !!result;
109
- return objOrId ? allowed : !1;
117
+ status
118
+ }), objOrId ? status.type === "unknown" ? null : !!data : !1;
110
119
  }
111
120
  var ProvideZero = function (param2) {
112
121
  var {
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","defineQueries","defineQuery","useConnectionState","useZero","ZeroProvider","useQuery","zeroUseQuery","createEmitter","createContext","memo","use","useEffect","useMemo","useRef","createPermissions","createUseQuery","createMutators","prettyFormatZeroQuery","getMutationsPermissions","registerQuery","resolveQuery","setCustomQueries","setAuthData","setSchema","setRunner","createZeroClient","param","schema","models","groupedQueries","wrappedNamespaces","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","Symbol","iterator","_step","next","done","namespace","queries","value","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop","name","fn","_step1","param2","args","_iterator1","err","return","customQueries","DisabledContext","latestZeroInstance","zero","Proxy","get","_","key","Error","Reflect","permissionsHelpers","environment","zeroEvents","AuthDataContext","useAuthData","usePermission","table","objOrId","enabled","arguments","length","debug","disabled","authData","permission","query","baseQuery","one","where","eb","buildPermissionQuery","data","status","console","info","result","allowed","ProvideZero","children","authDataIn","disable","props","mutators","can","Provider","kvStore","SetZeroInstance","ConnectionMonitor","zeroInstance","options","run","zeroEvents2","state","prevState","current","reason","message","emit","type"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","defineQueries","defineQuery","useConnectionState","useZero","ZeroProvider","createEmitter","createContext","memo","use","useEffect","useMemo","useRef","createPermissions","createUseQuery","createMutators","getQueryOrMutatorAuthData","getMutationsPermissions","registerQuery","resolveQuery","setCustomQueries","setAuthData","setSchema","setRunner","zql","createZeroClient","param","schema","models","groupedQueries","permissionsHelpers","environment","wrappedNamespaces","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","Symbol","iterator","_step","next","done","namespace","queries","value","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop","name","fn","_step1","param2","args","_iterator1","err","return","permissionCheckFn","perm","table","base","objOrId","where","eb","buildPermissionQuery","e","and","one","cmpLit","permission","check","customQueries","DisabledContext","latestZeroInstance","zero","Proxy","get","_","key","Error","Reflect","zeroEvents","AuthDataContext","useQuery","usePermission","enabled","arguments","length","debug","disabled","data","status","console","info","type","ProvideZero","children","authData","authDataIn","disable","props","mutators","can","Provider","kvStore","SetZeroInstance","ConnectionMonitor","zeroInstance","query","options","run","zeroEvents2","state","prevState"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -7,8 +7,9 @@ import { Pool } from "pg";
7
7
  import { createPermissions } from "./createPermissions";
8
8
  import { createMutators } from "./helpers/createMutators";
9
9
  import { isInZeroMutation, mutatorContext } from "./helpers/mutatorContext";
10
+ import { getMutationsPermissions } from "./modelRegistry";
10
11
  import { setCustomQueries } from "./run";
11
- import { setAuthData, setSchema } from "./state";
12
+ import { getZQL, setAuthData, setSchema } from "./state";
12
13
  import { setRunner } from "./zeroRunner";
13
14
  function createZeroServer({
14
15
  createServerActions,
@@ -63,7 +64,15 @@ function createZeroServer({
63
64
  );
64
65
  return setAuthData(authData || {}), {
65
66
  response: await zeroHandleQueryRequest(
66
- (name, args) => mustGetQuery(queries, name).fn({ args, ctx: authData }),
67
+ (name, args) => {
68
+ if (name === "permission.check") {
69
+ const { table, objOrId } = args, perm = getMutationsPermissions(table);
70
+ if (!perm)
71
+ throw new Error(`[permission] no permission defined for table: ${table}`);
72
+ return getZQL()[table].where((eb) => permissions.buildPermissionQuery(authData, eb, perm, objOrId, table)).one();
73
+ }
74
+ return mustGetQuery(queries, name).fn({ args, ctx: authData });
75
+ },
67
76
  schema,
68
77
  request
69
78
  )
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createZeroServer.ts"],
4
- "mappings": "AAAA,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB,8BAA8B;AAC7D,SAAS,kBAAkB;AAC3B,SAAS,cAAc,gBAAgB;AACvC,SAAS,YAAY;AAErB,SAAS,yBAAyB;AAClC,SAAS,sBAAsB;AAC/B,SAAS,kBAAkB,sBAAsB;AACjD,SAAS,wBAAwB;AACjC,SAAS,aAAa,iBAAiB;AACvC,SAAS,iBAAiB;AAiBnB,SAAS,iBAId;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GASG;AACD,YAAU,MAAM;AAEhB,QAAM,WAAW,aAAa,UAAU,6BAA6B,GAE/D,SAAS;AAAA,IACb;AAAA,IACA,IAAI,KAAK;AAAA,MACP,kBAAkB;AAAA;AAAA,MAElB,KAAK,SAAS,SAAS,iBAAiB,IACpC,EAAE,oBAAoB,GAAM,IAC5B;AAAA,IACN,CAAC;AAAA,EACH,GAEM,cAAc,kBAA0B;AAAA,IAC5C,aAAa;AAAA,IACb;AAAA,EACF,CAAC,GAEK,YAAY,IAAI,cAAc,MAAM,GAEpC,wBAAwB,OAAO;AAAA,IACnC;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAIM;AAEJ,UAAM,aAA4B,CAAC,GAE7B,WAAW,eAAe;AAAA,MAC9B;AAAA,MACA,KAAK,YAAY;AAAA,MACjB;AAAA,MACA,aAAa;AAAA,MACb;AAAA,MACA;AAAA,IACF,CAAC,GAGK,WAAW,MAAM,UAAU,QAAQ,UAAU,OAAO;AAG1D,QAAI,CAAC,kBAAkB,WAAW,QAAQ;AACxC,YAAM,KAAK,SAAS;AACpB,cAAQ,KAAK,wCAAwC,WAAW,MAAM,OAAO,EAAE,EAAE,GACjF,QAAQ,IAAI,WAAW,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC,EACzC,KAAK,MAAM;AACV,gBAAQ,KAAK,+BAA+B,EAAE,EAAE;AAAA,MAClD,CAAC,EACA,MAAM,CAAC,QAAQ;AACd,gBAAQ,MAAM,8CAAuC,GAAG;AAAA,MAC1D,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF,GAEM,qBAAqB,OAAO;AAAA,IAChC;AAAA,IACA;AAAA,EACF,MAGM;AACJ,QAAI,CAAC;AACH,YAAM,IAAI;AAAA,QACR;AAAA,MAEF;AAIF,uBAAY,YAAa,CAAC,CAAc,GAWjC;AAAA,MACL,UAVe,MAAM;AAAA,QACrB,CAAC,MAAM,SACU,aAAqB,SAAS,IAAI,EACpC,GAAG,EAAE,MAAM,KAAK,SAAS,CAAC;AAAA,QAEzC;AAAA,QACA;AAAA,MACF;AAAA,IAIA;AAAA,EACF,GAEM,SAAS,OACb,KACA,aACG;AACH,UAAM,aAAyC,CAAC,GAE1C,WAAW,eAAe;AAAA,MAC9B;AAAA,MACA,aAAa;AAAA,MACb;AAAA,MACA,UAAU;AAAA,QACR,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,MAAM;AAAA,QACN,GAAG;AAAA,MACL;AAAA,MACA;AAAA,MACA,KAAK,YAAY;AAAA,IACnB,CAAC;AAED,UAAM,YAAY,OAAO,OAAO;AAC9B,YAAM,IAAI,IAAI,QAAQ;AAAA,IACxB,CAAC,GAED,MAAM,QAAQ,IAAI,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAAA,EAC9C;AAEA,iBAAe,YAGbA,QAA6B;AAC7B,QAAI;AACF,UAAI,iBAAiB,GAAG;AACtB,cAAM,EAAE,GAAG,IAAI,eAAe;AAC9B,eAAO,MAAMA,OAAM,EAAE;AAAA,MACvB;AAGA,aADe,MAAM,OAAO,YAAYA,QAAO,qBAAqB;AAAA,IAEtE,SAAS,KAAK;AACZ,oBAAQ,MAAM,gCAAgC,GAAG,EAAE,GAC7C;AAAA,IACR;AAAA,EACF;AAEA,WAAS,MACP,IAC2B;AAC3B,WAAO,YAAY,OAAO,OACjB,GAAG,GAAG,KAAK,CACnB;AAAA,EACH;AAGA,EAAI,WACF,iBAAiB,OAAO,GAI1B,UAAU,CAAC,aACF,YAAY,OAAO,OACjB,GAAG,IAAI,QAAQ,CACvB,CACF;AAGD,QAAM,wBAAkD;AAAA,IACtD,eAAe;AAAA,IACf,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,gBAAgB;AAAA,EAClB;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
4
+ "mappings": "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",
5
5
  "names": ["query"]
6
6
  }
@@ -7,8 +7,9 @@ import { Pool } from "pg";
7
7
  import { createPermissions } from "./createPermissions.mjs";
8
8
  import { createMutators } from "./helpers/createMutators.mjs";
9
9
  import { isInZeroMutation, mutatorContext } from "./helpers/mutatorContext.mjs";
10
+ import { getMutationsPermissions } from "./modelRegistry.mjs";
10
11
  import { setCustomQueries } from "./run.mjs";
11
- import { setAuthData, setSchema } from "./state.mjs";
12
+ import { getZQL, setAuthData, setSchema } from "./state.mjs";
12
13
  import { setRunner } from "./zeroRunner.mjs";
13
14
  function createZeroServer({
14
15
  createServerActions,
@@ -65,10 +66,21 @@ function createZeroServer({
65
66
  }) => {
66
67
  if (!queries) throw new Error("No queries registered with createZeroServer. Pass the syncedQueries registry to createZeroServer via the queries option.");
67
68
  return setAuthData(authData || {}), {
68
- response: await zeroHandleQueryRequest((name, args) => mustGetQuery(queries, name).fn({
69
- args,
70
- ctx: authData
71
- }), schema, request)
69
+ response: await zeroHandleQueryRequest((name, args) => {
70
+ if (name === "permission.check") {
71
+ const {
72
+ table,
73
+ objOrId
74
+ } = args,
75
+ perm = getMutationsPermissions(table);
76
+ if (!perm) throw new Error(`[permission] no permission defined for table: ${table}`);
77
+ return getZQL()[table].where(eb => permissions.buildPermissionQuery(authData, eb, perm, objOrId, table)).one();
78
+ }
79
+ return mustGetQuery(queries, name).fn({
80
+ args,
81
+ ctx: authData
82
+ });
83
+ }, schema, request)
72
84
  };
73
85
  },
74
86
  mutate = async (run, authData) => {
@@ -1 +1 @@
1
- {"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","randomId","Pool","createPermissions","createMutators","isInZeroMutation","mutatorContext","setCustomQueries","setAuthData","setSchema","setRunner","createZeroServer","createServerActions","database","schema","models","queries","dbString","zeroDb","connectionString","ssl","includes","rejectUnauthorized","permissions","environment","processor","handleMutationRequest","authData","request","skipAsyncTasks","asyncTasks","mutators","can","response","process","length","id","console","info","Promise","all","map","task","then","catch","err","error","Error","name","args","fn","ctx","mutate","run","email","role","transaction","tx","t","query2","dummyTransactionInput","query","cb","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,YAAA,QAAoB;AAC7B,SAASC,aAAA,QAAqB;AAC9B,SAASC,kBAAA,IAAsBC,sBAAA,QAA8B;AAC7D,SAASC,UAAA,QAAkB;AAC3B,SAASC,YAAA,EAAcC,QAAA,QAAgB;AACvC,SAASC,IAAA,QAAY;AAErB,SAASC,iBAAA,QAAyB;AAClC,SAASC,cAAA,QAAsB;AAC/B,SAASC,gBAAA,EAAkBC,cAAA,QAAsB;AACjD,SAASC,gBAAA,QAAwB;AACjC,SAASC,WAAA,EAAaC,SAAA,QAAiB;AACvC,SAASC,SAAA,QAAiB;AAiBnB,SAASC,iBAId;EACAC,mBAAA;EACAC,QAAA;EACAC,MAAA;EACAC,MAAA;EACAC;AACF,GASG;EACDP,SAAA,CAAUK,MAAM;EAEhB,MAAMG,QAAA,GAAWjB,YAAA,CAAaa,QAAA,EAAU,6BAA6B;IAE/DK,MAAA,GAASnB,UAAA,CACbe,MAAA,EACA,IAAIZ,IAAA,CAAK;MACPiB,gBAAA,EAAkBF,QAAA;MAAA;MAElBG,GAAA,EAAKH,QAAA,CAASI,QAAA,CAAS,iBAAiB,IACpC;QAAEC,kBAAA,EAAoB;MAAM,IAC5B;IACN,CAAC,CACH;IAEMC,WAAA,GAAcpB,iBAAA,CAA0B;MAC5CqB,WAAA,EAAa;MACbV;IACF,CAAC;IAEKW,SAAA,GAAY,IAAI7B,aAAA,CAAcsB,MAAM;IAEpCQ,qBAAA,GAAwB,MAAAA,CAAO;MACnCC,QAAA;MACAC,OAAA;MACAC;IACF,MAIM;MAEJ,MAAMC,UAAA,GAA4B,EAAC;QAE7BC,QAAA,GAAW3B,cAAA,CAAe;UAC9B0B,UAAA;UACAE,GAAA,EAAKT,WAAA,CAAYS,GAAA;UACjBpB,mBAAA;UACAY,WAAA,EAAa;UACbT,MAAA;UACAY;QACF,CAAC;QAGKM,QAAA,GAAW,MAAMR,SAAA,CAAUS,OAAA,CAAQH,QAAA,EAAUH,OAAO;MAG1D,IAAI,CAACC,cAAA,IAAkBC,UAAA,CAAWK,MAAA,EAAQ;QACxC,MAAMC,EAAA,GAAKnC,QAAA,CAAS;QACpBoC,OAAA,CAAQC,IAAA,CAAK,wCAAwCR,UAAA,CAAWK,MAAM,OAAOC,EAAE,EAAE,GACjFG,OAAA,CAAQC,GAAA,CAAIV,UAAA,CAAWW,GAAA,CAAKC,IAAA,IAASA,IAAA,CAAK,CAAC,CAAC,EACzCC,IAAA,CAAK,MAAM;UACVN,OAAA,CAAQC,IAAA,CAAK,+BAA+BF,EAAE,EAAE;QAClD,CAAC,EACAQ,KAAA,CAAOC,GAAA,IAAQ;UACdR,OAAA,CAAQS,KAAA,CAAM,8CAAuCD,GAAG;QAC1D,CAAC;MACL;MAEA,OAAO;QACLZ,QAAA;QACAH;MACF;IACF;IAEMjC,kBAAA,GAAqB,MAAAA,CAAO;MAChC8B,QAAA;MACAC;IACF,MAGM;MACJ,IAAI,CAACZ,OAAA,EACH,MAAM,IAAI+B,KAAA,CACR,0HAEF;MAIF,OAAAvC,WAAA,CAAYmB,QAAA,IAAa,CAAC,CAAc,GAWjC;QACLM,QAAA,EAVe,MAAMnC,sBAAA,CACrB,CAACkD,IAAA,EAAMC,IAAA,KACUtD,YAAA,CAAqBqB,OAAA,EAASgC,IAAI,EACpCE,EAAA,CAAG;UAAED,IAAA;UAAME,GAAA,EAAKxB;QAAS,CAAC,GAEzCb,MAAA,EACAc,OACF;MAIA;IACF;IAEMwB,MAAA,GAAS,MAAAA,CACbC,GAAA,EACA1B,QAAA,KACG;MACH,MAAMG,UAAA,GAAyC,EAAC;QAE1CC,QAAA,GAAW3B,cAAA,CAAe;UAC9BW,MAAA;UACAS,WAAA,EAAa;UACbM,UAAA;UACAH,QAAA,EAAU;YACRS,EAAA,EAAI;YACJkB,KAAA,EAAO;YACPC,IAAA,EAAM;YACN,GAAG5B;UACL;UACAf,mBAAA;UACAoB,GAAA,EAAKT,WAAA,CAAYS;QACnB,CAAC;MAED,MAAMwB,WAAA,CAAY,MAAOC,EAAA,IAAO;QAC9B,MAAMJ,GAAA,CAAII,EAAA,EAAI1B,QAAQ;MACxB,CAAC,GAED,MAAMQ,OAAA,CAAQC,GAAA,CAAIV,UAAA,CAAWW,GAAA,CAAKiB,CAAA,IAAMA,CAAA,CAAE,CAAC,CAAC;IAC9C;EAEA,eAAeF,YAGbG,MAAA,EAA6B;IAC7B,IAAI;MACF,IAAItD,gBAAA,CAAiB,GAAG;QACtB,MAAM;UAAEoD;QAAG,IAAInD,cAAA,CAAe;QAC9B,OAAO,MAAMqD,MAAA,CAAMF,EAAE;MACvB;MAGA,OADe,MAAMvC,MAAA,CAAOsC,WAAA,CAAYG,MAAA,EAAOC,qBAAqB;IAEtE,SAASf,GAAA,EAAK;MACZ,MAAAR,OAAA,CAAQS,KAAA,CAAM,gCAAgCD,GAAG,EAAE,GAC7CA,GAAA;IACR;EACF;EAEA,SAASgB,MACPC,EAAA,EAC2B;IAC3B,OAAON,WAAA,CAAY,MAAOC,EAAA,IACjBK,EAAA,CAAGL,EAAA,CAAGI,KAAK,CACnB;EACH;EAGI7C,OAAA,IACFT,gBAAA,CAAiBS,OAAO,GAI1BN,SAAA,CAAWqD,QAAA,IACFP,WAAA,CAAY,MAAOC,EAAA,IACjBA,EAAA,CAAGJ,GAAA,CAAIU,QAAQ,CACvB,CACF;EAGD,MAAMH,qBAAA,GAAkD;IACtDI,aAAA,EAAe;IACfC,QAAA,EAAU;IACVC,UAAA,EAAY;IACZC,cAAA,EAAgB;EAClB;EAEA,OAAO;IACLzC,qBAAA;IACA7B,kBAAA;IACA2D,WAAA;IACAJ,MAAA;IACAS;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","randomId","Pool","createPermissions","createMutators","isInZeroMutation","mutatorContext","getMutationsPermissions","setCustomQueries","getZQL","setAuthData","setSchema","setRunner","createZeroServer","createServerActions","database","schema","models","queries","dbString","zeroDb","connectionString","ssl","includes","rejectUnauthorized","permissions","environment","processor","handleMutationRequest","authData","request","skipAsyncTasks","asyncTasks","mutators","can","response","process","length","id","console","info","Promise","all","map","task","then","catch","err","error","Error","name","args","table","objOrId","perm","where","eb","buildPermissionQuery","one","fn","ctx","mutate","run","email","role","transaction","tx","t","query2","dummyTransactionInput","query","cb","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}