on-zero 0.0.87 → 0.0.89

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 (55) hide show
  1. package/dist/cjs/createZeroClient.cjs +32 -15
  2. package/dist/cjs/createZeroClient.js +42 -20
  3. package/dist/cjs/createZeroClient.js.map +1 -1
  4. package/dist/cjs/createZeroClient.native.js +61 -25
  5. package/dist/cjs/createZeroClient.native.js.map +1 -1
  6. package/dist/cjs/createZeroServer.cjs +3 -3
  7. package/dist/cjs/createZeroServer.js +2 -2
  8. package/dist/cjs/createZeroServer.js.map +1 -1
  9. package/dist/cjs/createZeroServer.native.js +3 -3
  10. package/dist/cjs/createZeroServer.native.js.map +1 -1
  11. package/dist/cjs/modelRegistry.cjs +4 -0
  12. package/dist/cjs/modelRegistry.js +4 -0
  13. package/dist/cjs/modelRegistry.js.map +1 -1
  14. package/dist/cjs/modelRegistry.native.js +4 -0
  15. package/dist/cjs/modelRegistry.native.js.map +1 -1
  16. package/dist/cjs/where.cjs +6 -1
  17. package/dist/cjs/where.js +6 -1
  18. package/dist/cjs/where.js.map +1 -1
  19. package/dist/cjs/where.native.js +7 -2
  20. package/dist/cjs/where.native.js.map +1 -1
  21. package/dist/esm/createZeroClient.js +44 -22
  22. package/dist/esm/createZeroClient.js.map +1 -1
  23. package/dist/esm/createZeroClient.mjs +34 -17
  24. package/dist/esm/createZeroClient.mjs.map +1 -1
  25. package/dist/esm/createZeroClient.native.js +63 -27
  26. package/dist/esm/createZeroClient.native.js.map +1 -1
  27. package/dist/esm/createZeroServer.js +2 -2
  28. package/dist/esm/createZeroServer.js.map +1 -1
  29. package/dist/esm/createZeroServer.mjs +3 -3
  30. package/dist/esm/createZeroServer.mjs.map +1 -1
  31. package/dist/esm/createZeroServer.native.js +3 -3
  32. package/dist/esm/createZeroServer.native.js.map +1 -1
  33. package/dist/esm/modelRegistry.js +4 -0
  34. package/dist/esm/modelRegistry.js.map +1 -1
  35. package/dist/esm/modelRegistry.mjs +4 -1
  36. package/dist/esm/modelRegistry.mjs.map +1 -1
  37. package/dist/esm/modelRegistry.native.js +4 -1
  38. package/dist/esm/modelRegistry.native.js.map +1 -1
  39. package/dist/esm/where.js +6 -1
  40. package/dist/esm/where.js.map +1 -1
  41. package/dist/esm/where.mjs +6 -2
  42. package/dist/esm/where.mjs.map +1 -1
  43. package/dist/esm/where.native.js +6 -2
  44. package/dist/esm/where.native.js.map +1 -1
  45. package/package.json +1 -1
  46. package/src/createZeroClient.tsx +80 -37
  47. package/src/createZeroServer.ts +4 -4
  48. package/src/modelRegistry.ts +4 -0
  49. package/src/where.ts +9 -1
  50. package/types/createZeroClient.d.ts +3 -1
  51. package/types/createZeroClient.d.ts.map +1 -1
  52. package/types/modelRegistry.d.ts +1 -0
  53. package/types/modelRegistry.d.ts.map +1 -1
  54. package/types/where.d.ts +1 -0
  55. package/types/where.d.ts.map +1 -1
@@ -43,7 +43,8 @@ var import_zero = require("@rocicorp/zero"),
43
43
  function createZeroClient({
44
44
  schema,
45
45
  models,
46
- groupedQueries
46
+ groupedQueries,
47
+ permissionStrategy = "optimistic"
47
48
  }) {
48
49
  (0, import_state.setSchema)(schema);
49
50
  const permissionsHelpers = (0, import_createPermissions.createPermissions)({
@@ -57,18 +58,34 @@ function createZeroClient({
57
58
  args
58
59
  }) => fn(args));
59
60
  }
60
- const permissionCheckFn = args => {
61
- const perm = (0, import_modelRegistry.getMutationsPermissions)(args.table),
62
- base = import_zql.zql[args.table];
63
- if (!args.objOrId) return base.where(eb => eb.cmpLit(!0, "=", !1)).one();
64
- const rawPerm = perm && ((0, import_where.getRawWhere)(perm) || perm);
65
- return base.where(eb => permissionsHelpers.buildPermissionQuery((0, import_getQueryOrMutatorAuthData.getQueryOrMutatorAuthData)(), eb, rawPerm || (e => e.and()), args.objOrId, args.table)).one();
66
- };
67
- (0, import_queryRegistry.registerQuery)(permissionCheckFn, "permission.check"), wrappedNamespaces.permission = {
68
- check: (0, import_zero.defineQuery)(({
61
+ const permissionCheckFns = {},
62
+ createPermissionCheckFn = table => {
63
+ const fn = args => {
64
+ const perm = (0, import_modelRegistry.getMutationsPermissions)(table),
65
+ base = import_zql.zql[table];
66
+ if (!args.objOrId) return base.where(eb => eb.cmpLit(!0, "=", !1)).one();
67
+ if (permissionStrategy === "optimistic") {
68
+ const rawPerm = perm && ((0, import_where.getRawWhere)(perm) || perm);
69
+ return base.where(eb => {
70
+ (0, import_where.setEvaluatingPermission)(!0);
71
+ try {
72
+ return permissionsHelpers.buildPermissionQuery((0, import_getQueryOrMutatorAuthData.getQueryOrMutatorAuthData)(), eb, rawPerm || (e => e.and()), args.objOrId, table);
73
+ } finally {
74
+ (0, import_where.setEvaluatingPermission)(!1);
75
+ }
76
+ }).one();
77
+ }
78
+ return permissionStrategy === "optimistic-deny" ? base.where(eb => eb.cmpLit(!0, "=", !1)).one() : base.where(eb => permissionsHelpers.buildPermissionQuery((0, import_getQueryOrMutatorAuthData.getQueryOrMutatorAuthData)(), eb, perm || (e => e.and()), args.objOrId, table)).one();
79
+ };
80
+ return permissionCheckFns[table] = fn, (0, import_queryRegistry.registerQuery)(fn, `permission.${table}`), fn;
81
+ };
82
+ wrappedNamespaces.permission = {};
83
+ for (const [table] of (0, import_modelRegistry.getAllMutationsPermissions)()) {
84
+ const fn = createPermissionCheckFn(table);
85
+ wrappedNamespaces.permission[table] = (0, import_zero.defineQuery)(({
69
86
  args
70
- }) => permissionCheckFn(args))
71
- };
87
+ }) => fn(args));
88
+ }
72
89
  const customQueries = (0, import_zero.defineQueries)(wrappedNamespaces);
73
90
  (0, import_run.setCustomQueries)(customQueries);
74
91
  const DisabledContext = (0, import_react2.createContext)(!1);
@@ -87,11 +104,11 @@ function createZeroClient({
87
104
  });
88
105
  function usePermission(table, objOrId, enabled = typeof objOrId < "u", debug = !1) {
89
106
  const disabled = (0, import_react2.use)(DisabledContext),
90
- [data, status] = useQuery(permissionCheckFn, {
91
- table,
107
+ checkFn = permissionCheckFns[table],
108
+ [data, status] = useQuery(checkFn, {
92
109
  objOrId
93
110
  }, {
94
- enabled: !!(!disabled && enabled && objOrId)
111
+ enabled: !!(!disabled && enabled && objOrId && checkFn)
95
112
  });
96
113
  return debug && console.info("usePermission()", {
97
114
  table,
@@ -21,7 +21,8 @@ var import_zero = require("@rocicorp/zero"), import_react = require("@rocicorp/z
21
21
  function createZeroClient({
22
22
  schema,
23
23
  models,
24
- groupedQueries
24
+ groupedQueries,
25
+ permissionStrategy = "optimistic"
25
26
  }) {
26
27
  (0, import_state.setSchema)(schema);
27
28
  const permissionsHelpers = (0, import_createPermissions.createPermissions)({
@@ -35,22 +36,43 @@ function createZeroClient({
35
36
  ({ args }) => fn(args)
36
37
  );
37
38
  }
38
- const permissionCheckFn = (args) => {
39
- const perm = (0, import_modelRegistry.getMutationsPermissions)(args.table), base = import_zql.zql[args.table];
40
- if (!args.objOrId)
41
- return base.where((eb) => eb.cmpLit(!0, "=", !1)).one();
42
- const rawPerm = perm && ((0, import_where.getRawWhere)(perm) || perm);
43
- return base.where((eb) => permissionsHelpers.buildPermissionQuery(
44
- (0, import_getQueryOrMutatorAuthData.getQueryOrMutatorAuthData)(),
45
- eb,
46
- rawPerm || ((e) => e.and()),
47
- args.objOrId,
48
- args.table
49
- )).one();
50
- };
51
- (0, import_queryRegistry.registerQuery)(permissionCheckFn, "permission.check"), wrappedNamespaces.permission = {
52
- check: (0, import_zero.defineQuery)(({ args }) => permissionCheckFn(args))
39
+ const permissionCheckFns = {}, createPermissionCheckFn = (table) => {
40
+ const fn = (args) => {
41
+ const perm = (0, import_modelRegistry.getMutationsPermissions)(table), base = import_zql.zql[table];
42
+ if (!args.objOrId)
43
+ return base.where((eb) => eb.cmpLit(!0, "=", !1)).one();
44
+ if (permissionStrategy === "optimistic") {
45
+ const rawPerm = perm && ((0, import_where.getRawWhere)(perm) || perm);
46
+ return base.where((eb) => {
47
+ (0, import_where.setEvaluatingPermission)(!0);
48
+ try {
49
+ return permissionsHelpers.buildPermissionQuery(
50
+ (0, import_getQueryOrMutatorAuthData.getQueryOrMutatorAuthData)(),
51
+ eb,
52
+ rawPerm || ((e) => e.and()),
53
+ args.objOrId,
54
+ table
55
+ );
56
+ } finally {
57
+ (0, import_where.setEvaluatingPermission)(!1);
58
+ }
59
+ }).one();
60
+ }
61
+ return permissionStrategy === "optimistic-deny" ? base.where((eb) => eb.cmpLit(!0, "=", !1)).one() : base.where((eb) => permissionsHelpers.buildPermissionQuery(
62
+ (0, import_getQueryOrMutatorAuthData.getQueryOrMutatorAuthData)(),
63
+ eb,
64
+ perm || ((e) => e.and()),
65
+ args.objOrId,
66
+ table
67
+ )).one();
68
+ };
69
+ return permissionCheckFns[table] = fn, (0, import_queryRegistry.registerQuery)(fn, `permission.${table}`), fn;
53
70
  };
71
+ wrappedNamespaces.permission = {};
72
+ for (const [table] of (0, import_modelRegistry.getAllMutationsPermissions)()) {
73
+ const fn = createPermissionCheckFn(table);
74
+ wrappedNamespaces.permission[table] = (0, import_zero.defineQuery)(({ args }) => fn(args));
75
+ }
54
76
  const customQueries = (0, import_zero.defineQueries)(wrappedNamespaces);
55
77
  (0, import_run.setCustomQueries)(customQueries);
56
78
  const DisabledContext = (0, import_react2.createContext)(!1);
@@ -68,10 +90,10 @@ function createZeroClient({
68
90
  customQueries
69
91
  });
70
92
  function usePermission(table, objOrId, enabled = typeof objOrId < "u", debug = !1) {
71
- const disabled = (0, import_react2.use)(DisabledContext), [data, status] = useQuery(
72
- permissionCheckFn,
73
- { table, objOrId },
74
- { enabled: !!(!disabled && enabled && objOrId) }
93
+ const disabled = (0, import_react2.use)(DisabledContext), checkFn = permissionCheckFns[table], [data, status] = useQuery(
94
+ checkFn,
95
+ { objOrId },
96
+ { enabled: !!(!disabled && enabled && objOrId && checkFn) }
75
97
  );
76
98
  return debug && console.info("usePermission()", { table, objOrId, data, status }), objOrId ? status.type === "unknown" ? null : !!data : !1;
77
99
  }
@@ -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": ["import_react", "zeroEvents"]
6
6
  }
@@ -46,7 +46,8 @@ function createZeroClient(param) {
46
46
  var {
47
47
  schema,
48
48
  models,
49
- groupedQueries
49
+ groupedQueries,
50
+ permissionStrategy = "optimistic"
50
51
  } = param;
51
52
  (0, import_state.setSchema)(schema);
52
53
  var permissionsHelpers = (0, import_createPermissions.createPermissions)({
@@ -93,27 +94,61 @@ function createZeroClient(param) {
93
94
  if (_didIteratorError) throw _iteratorError;
94
95
  }
95
96
  }
96
- var permissionCheckFn = function (args) {
97
- var perm = (0, import_modelRegistry.getMutationsPermissions)(args.table),
98
- base = import_zql.zql[args.table];
99
- if (!args.objOrId) return base.where(function (eb) {
100
- return eb.cmpLit(!0, "=", !1);
101
- }).one();
102
- var rawPerm = perm && ((0, import_where.getRawWhere)(perm) || perm);
103
- return base.where(function (eb) {
104
- return permissionsHelpers.buildPermissionQuery((0, import_getQueryOrMutatorAuthData.getQueryOrMutatorAuthData)(), eb, rawPerm || function (e) {
105
- return e.and();
106
- }, args.objOrId, args.table);
107
- }).one();
108
- };
109
- (0, import_queryRegistry.registerQuery)(permissionCheckFn, "permission.check"), wrappedNamespaces.permission = {
110
- check: (0, import_zero.defineQuery)(function (param2) {
111
- var {
112
- args
113
- } = param2;
114
- return permissionCheckFn(args);
115
- })
116
- };
97
+ var permissionCheckFns = {},
98
+ createPermissionCheckFn = function (table) {
99
+ var fn = function (args) {
100
+ var perm = (0, import_modelRegistry.getMutationsPermissions)(table),
101
+ base = import_zql.zql[table];
102
+ if (!args.objOrId) return base.where(function (eb) {
103
+ return eb.cmpLit(!0, "=", !1);
104
+ }).one();
105
+ if (permissionStrategy === "optimistic") {
106
+ var rawPerm = perm && ((0, import_where.getRawWhere)(perm) || perm);
107
+ return base.where(function (eb) {
108
+ (0, import_where.setEvaluatingPermission)(!0);
109
+ try {
110
+ return permissionsHelpers.buildPermissionQuery((0, import_getQueryOrMutatorAuthData.getQueryOrMutatorAuthData)(), eb, rawPerm || function (e) {
111
+ return e.and();
112
+ }, args.objOrId, table);
113
+ } finally {
114
+ (0, import_where.setEvaluatingPermission)(!1);
115
+ }
116
+ }).one();
117
+ }
118
+ return permissionStrategy === "optimistic-deny" ? base.where(function (eb) {
119
+ return eb.cmpLit(!0, "=", !1);
120
+ }).one() : base.where(function (eb) {
121
+ return permissionsHelpers.buildPermissionQuery((0, import_getQueryOrMutatorAuthData.getQueryOrMutatorAuthData)(), eb, perm || function (e) {
122
+ return e.and();
123
+ }, args.objOrId, table);
124
+ }).one();
125
+ };
126
+ return permissionCheckFns[table] = fn, (0, import_queryRegistry.registerQuery)(fn, `permission.${table}`), fn;
127
+ };
128
+ wrappedNamespaces.permission = {};
129
+ var _iteratorNormalCompletion2 = !0,
130
+ _didIteratorError2 = !1,
131
+ _iteratorError2 = void 0;
132
+ try {
133
+ for (var _loop1 = function () {
134
+ var [table] = _step2.value,
135
+ fn = createPermissionCheckFn(table);
136
+ wrappedNamespaces.permission[table] = (0, import_zero.defineQuery)(function (param2) {
137
+ var {
138
+ args
139
+ } = param2;
140
+ return fn(args);
141
+ });
142
+ }, _iterator2 = (0, import_modelRegistry.getAllMutationsPermissions)()[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = !0) _loop1();
143
+ } catch (err) {
144
+ _didIteratorError2 = !0, _iteratorError2 = err;
145
+ } finally {
146
+ try {
147
+ !_iteratorNormalCompletion2 && _iterator2.return != null && _iterator2.return();
148
+ } finally {
149
+ if (_didIteratorError2) throw _iteratorError2;
150
+ }
151
+ }
117
152
  var customQueries = (0, import_zero.defineQueries)(wrappedNamespaces);
118
153
  (0, import_run.setCustomQueries)(customQueries);
119
154
  var DisabledContext = /* @__PURE__ */(0, import_react2.createContext)(!1),
@@ -134,11 +169,12 @@ function createZeroClient(param) {
134
169
  var enabled = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : typeof objOrId < "u",
135
170
  debug = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !1,
136
171
  disabled = (0, import_react2.use)(DisabledContext),
137
- [data, status] = useQuery(permissionCheckFn, {
138
- table,
172
+ tableStr = table,
173
+ checkFn = permissionCheckFns[tableStr],
174
+ [data, status] = useQuery(checkFn, {
139
175
  objOrId
140
176
  }, {
141
- enabled: !!(!disabled && enabled && objOrId)
177
+ enabled: !!(!disabled && enabled && objOrId && checkFn)
142
178
  });
143
179
  return debug && console.info("usePermission()", {
144
180
  table,
@@ -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","import_getQueryOrMutatorAuthData","import_modelRegistry","import_queryRegistry","import_resolveQuery","import_run","import_state","import_where","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","cmpLit","one","rawPerm","getRawWhere","buildPermissionQuery","getQueryOrMutatorAuthData","e","and","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":[]}
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_where","import_zeroRunner","import_zql","param","schema","models","groupedQueries","permissionStrategy","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","permissionCheckFns","createPermissionCheckFn","table","perm","getMutationsPermissions","base","zql","objOrId","where","eb","cmpLit","one","rawPerm","getRawWhere","setEvaluatingPermission","buildPermissionQuery","getQueryOrMutatorAuthData","e","and","permission","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop1","_step2","_iterator2","getAllMutationsPermissions","customQueries","defineQueries","setCustomQueries","DisabledContext","createContext","latestZeroInstance","zero","Proxy","get","_","key","Error","Reflect","zeroEvents","createEmitter","AuthDataContext","useQuery","createUseQuery","usePermission","enabled","arguments","length","debug","disabled","use","tableStr","checkFn","data","status","console","info","type","ProvideZero","children","authData","authDataIn","disable","props","setAuthData","mutators","useMemo","createMutators","can","jsx","Provider","jsxs","ZeroProvider","kvStore"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -92,9 +92,9 @@ function createZeroServer({
92
92
  if (!queries) throw new Error("No queries registered with createZeroServer. Pass the syncedQueries registry to createZeroServer via the queries option.");
93
93
  return (0, import_state.setAuthData)(authData || {}), {
94
94
  response: await (0, import_server.handleQueryRequest)((name, args) => {
95
- if (name === "permission.check") {
96
- const {
97
- table,
95
+ if (name.startsWith("permission.")) {
96
+ const table = name.slice(11),
97
+ {
98
98
  objOrId
99
99
  } = args,
100
100
  perm = (0, import_modelRegistry.getMutationsPermissions)(table);
@@ -72,8 +72,8 @@ function createZeroServer({
72
72
  return (0, import_state.setAuthData)(authData || {}), {
73
73
  response: await (0, import_server.handleQueryRequest)(
74
74
  (name, args) => {
75
- if (name === "permission.check") {
76
- const { table, objOrId } = args, perm = (0, import_modelRegistry.getMutationsPermissions)(table);
75
+ if (name.startsWith("permission.")) {
76
+ const table = name.slice(11), { objOrId } = args, perm = (0, import_modelRegistry.getMutationsPermissions)(table);
77
77
  if (!perm)
78
78
  throw new Error(`[permission] no permission defined for table: ${table}`);
79
79
  return (0, import_state.getZQL)()[table].where((eb) => permissions.buildPermissionQuery(authData, eb, perm, objOrId, table)).one();
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createZeroServer.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["import_pg", "zeroHandleQueryRequest", "query"]
6
6
  }
@@ -99,9 +99,9 @@ function createZeroServer(param) {
99
99
  if (!queries) throw new Error("No queries registered with createZeroServer. Pass the syncedQueries registry to createZeroServer via the queries option.");
100
100
  (0, import_state.setAuthData)(authData || {});
101
101
  var response = await (0, import_server.handleQueryRequest)(function (name, args) {
102
- if (name === "permission.check") {
103
- var {
104
- table,
102
+ if (name.startsWith("permission.")) {
103
+ var table = name.slice(11),
104
+ {
105
105
  objOrId
106
106
  } = args,
107
107
  perm = (0, import_modelRegistry.getMutationsPermissions)(table);
@@ -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_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":";;;;;;;;;;;;;;;;;;;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;AA6BO,IAAAK,WAAS,GAAAC,OAAA,CAId;EAAAC,SAAA,GAAAD,OAAA;EAAAE,aAAA,GAAAF,OAAA;EAAAG,UAAA,GAAAH,OAAA;EAAAI,cAAA,GAAAJ,OAAA;EAAAK,UAAA,GAAAL,OAAA;EAAAM,wBAAA,GAAAN,OAAA;EAAAO,qBAAA,GAAAP,OAAA;EAAAQ,qBAAA,GAAAR,OAAA;EAAAS,oBAAA,GAAAT,OAAA;EAAAU,UAAA,GAAAV,OAAA;EAAAW,YAAA,GAAAX,OAAA;EAAAY,iBAAA,GAAAZ,OAAA;AAAA,SACAJ,iBAAAiB,KAAA;EACA;IAAAC,mBAAA;IAAAC,QAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC;EAAA,IAAAL,KAAA;EACA,IAAAF,YAAA,CAAAQ,SAAA,EAAAH,MAAA;EACA,IAAAI,QAAA,OAAAhB,cAAA,CAAAiB,YAAA,EAAAN,QAAA;IAAAO,MAAA,OAAAnB,UAAA,CAAAoB,UAAA,EAAAP,MAAA,MAAAX,UAAA,CAAAmB,IAAA;MACAC,gBAAA,EAAAL,QAAA;MAUC;MACDM,GAAA,EAAAN,QAAA,CAAAO,QAAA,kBAAgB;QAEhBC,kBAAiB;MAGf;IAAA,EACA;IAAAC,WAAI,OAAKvB,wBAAA,CAAAwB,iBAAA;MAAAC,WACP,UAAkB;MAAAf;IAAA;IAElBgB,SAAK,OAAS/B,SAAS,CAAAgC,aAAA,CAAiBX,MAClC;IAAAY,qBAA0B,GAC5B,eAAAA,CAAAC,MAAA;MACN,IAAC;UAAAC,QAAA;UAAAC,OAAA;UAAAC;QAAA,IAAAH,MAAA;QAAAI,UAAA;QAAAC,QAAA,OAAAjC,qBAAA,CAAAkC,cAAA;UAGGF,UAAA;UACJG,GAAA,EAAAb,WAAa,CAAAa,GAAA;UACb5B,mBAAA;UAGIiB,WAAA,EAAY,QAAI;UAGpBd,MAAA;UACAmB;QACA;QAAAO,QAAA,SAAAX,SAAA,CAAAY,OAAA,CAAAJ,QAAA,EAAAH,OAAA;MACF,IAIM,CAAAC,cAAA,IAAAC,UAAA,CAAAM,MAAA;QAEJ,IAAMC,EAAA,OAAA1C,cAEA,CAAA2C,QAAW;QACfC,OAAA,CAAAC,IAAA,yCAAAV,UAAA,CAAAM,MAAA,OAAAC,EAAA,KAAAI,OAAA,CAAAC,GAAA,CAAAZ,UAAA,CAAAa,GAAA,WAAAC,IAAA;UACA,OAAKA,IAAA;QACL,IAAAC,IAAA;UACAN,OAAA,CAAAC,IAAa,gCAAAH,EAAA;QACb,GAAAS,KAAA,WAAAC,GAAA;UACAR,OAAA,CAAAS,KAAA,+CAAAD,GAAA;QACD,EAGK;MAGN;MACE;QACAb,QAAQ;QAGJJ;MAAgD;IAGhD;IAAAmB,kBAAc,kBAAAA,CAAAvB,MAAA;MAA0C,IACzD;QAAAC,QAAA;QAAAC;MAAA,IAAAF,MAAA;MACL,KAAAjB,OAAA,EAEA,MAAO,IAAAyC,KAAA;MAAA,EACL,EAAAhD,YAAA,CAAAiD,WAAA,EAAAxB,QAAA;MAAA,IACAO,QAAA,aAAAzC,aAAA,CAAAwD,kBAAA,YAAAG,IAAA,EAAAC,IAAA;QACF,IAAAD,IAAA;UAGI;cAAAE,KAAA;cAAAC;YAAqB,IAAOF,IAAA;YAAAG,IAAA,OAAAxD,oBAAA,CAAAyD,uBAAA,EAAAH,KAAA;UAChC,KAAAE,IAAA,EACA,UAAAN,KAAA,kDAAAI,KAAA;UAII,WAAApD,YAAA,CAAAwD,MAAA,IAAAJ,KAAA,EAAAK,KAAA,WAAAC,EAAA;YACC,OAAAxC,WAAA,CAAAyC,oBAAA,CAAAlC,QAAA,EAAAiC,EAAA,EAAAJ,IAAA,EAAAD,OAAA,EAAAD,KAAA;UACH,GAAAQ,GAAM,EAAI;QAAA;QAGV,IAAAC,OAAA,OAAAzE,WAAA,CAAA0E,YAAA,EAAAvD,OAAA,EAAA2C,IAAA;QAIF,OAAAW,OAAA,CAAAE,EAAA;UA6BEZ,IAAA;UA1BAa,GAAC,EAAAvC;QAEC;MACE,GAAApB,MAAA,EAAAqB,OAAQ;MAKR;QACEM;MAEF;IAIO;IAAAiC,MACT,kBAAAA,CAAAC,GAAA,EAAAzC,QAAA;MAGA,IAAAG,UAAA,GADe;QAAAC,QAAA,OAAAjC,qBAAkC,CACpCkC,cAAW,EAAK;UAAUxB,MACzC;UAAAc,WACA;UAAAQ,UACA;UACFH,QAAA;YAIAU,EAAA;YAGIgC,KAAA,EAAS,kBAEb;YAEAC,IAAM;YAGJ,GAAA3C;UACA;UACAtB,mBAAA;UACA4B,GAAA,EAAAb,WAAU,CAAAa;QAAA;MACJ,MACJsC,WAAO,iBAAAC,EAAA;QAAA,MACPJ,GAAM,CAAAI,EAAA,EAAAzC,QAAA;MAAA,IACN,MAAGU,OAAA,CAAAC,GAAA,CAAAZ,UAAA,CAAAa,GAAA,WAAA8B,CAAA;QACL,OAAAA,CAAA;MAAA,EACA;IAAA;EACiB,eAClBF,YAAAG,MAAA;IAED;MACE,MAAM,EAAA3E,qBAAgB,CAAA4E,gBAAA;QAGxB;UAAMH;QAAA,KAAQ,GAAAzE,qBAAoB,CAAA6E,cAAU;QAC9C,aAAAF,MAAA,CAAAF,EAAA;MAEA;MAIE,IAAIK,MAAA,SAAAhE,MAAA,CAAA0D,WAAA,CAAAG,MAAA,EAAAI,qBAAA;MACF,OAAAD,MAAI;IACF,SAAA9B,GAAQ;MACR,MAAAR,OAAO,CAAAS,KAAM,iCAAQD,GAAA,KAAAA,GAAA;IAAA;EAIvB;EADoE,SAEtEgC,KAASA,CAAAC,EAAK;IACZ,OAAAT,WAAQ,iBAAMC,EAAA;MAEhB,OAAAA,EAAA,CAAAJ,GAAA,CAAAY,EAAA,CAAAR,EAAA,CAAAO,KAAA;IACF;EAEA;EAGEtE,OAAA,IAAO,IAAAR,UAAY,CAAAgF,gBACH,EAAAxE,OAAM,GAAM,CAC3B,GAAAN,iBAAA,CAAA+E,SAAA,YAAAC,QAAA;IACH,OAAAZ,WAAA,iBAAAC,EAAA;MAGI,OAAAA,EAAA,CAAAJ,GACF,CAAAe,QAAA;IAWF;EAAwD,EACtD;EAAe,IACfL,qBAAU;IACVM,aAAY;IACZC,QAAA,UAAgB;IAClBC,UAAA;IAEAC,cAAO;EAAA;EACL,OACA;IACA9D,qBAAA;IACAwB,kBAAA;IACAsB,WAAA;IACFJ,MAAA;IACFY","ignoreList":[]}
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","startsWith","table","slice","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":";;;;;;;;;;;;;;;;;;;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;AA6BO,IAAAK,WAAS,GAAAC,OAAA,CAId;EAAAC,SAAA,GAAAD,OAAA;EAAAE,aAAA,GAAAF,OAAA;EAAAG,UAAA,GAAAH,OAAA;EAAAI,cAAA,GAAAJ,OAAA;EAAAK,UAAA,GAAAL,OAAA;EAAAM,wBAAA,GAAAN,OAAA;EAAAO,qBAAA,GAAAP,OAAA;EAAAQ,qBAAA,GAAAR,OAAA;EAAAS,oBAAA,GAAAT,OAAA;EAAAU,UAAA,GAAAV,OAAA;EAAAW,YAAA,GAAAX,OAAA;EAAAY,iBAAA,GAAAZ,OAAA;AAAA,SACAJ,iBAAAiB,KAAA;EACA;IAAAC,mBAAA;IAAAC,QAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC;EAAA,IAAAL,KAAA;EACA,IAAAF,YAAA,CAAAQ,SAAA,EAAAH,MAAA;EACA,IAAAI,QAAA,OAAAhB,cAAA,CAAAiB,YAAA,EAAAN,QAAA;IAAAO,MAAA,OAAAnB,UAAA,CAAAoB,UAAA,EAAAP,MAAA,MAAAX,UAAA,CAAAmB,IAAA;MACAC,gBAAA,EAAAL,QAAA;MAUC;MACDM,GAAA,EAAAN,QAAA,CAAAO,QAAA,kBAAgB;QAEhBC,kBAAiB;MAGf;IAAA,EACA;IAAAC,WAAI,OAAKvB,wBAAA,CAAAwB,iBAAA;MAAAC,WACP,UAAkB;MAAAf;IAAA;IAElBgB,SAAK,OAAS/B,SAAS,CAAAgC,aAAA,CAAiBX,MAClC;IAAAY,qBAA0B,GAC5B,eAAAA,CAAAC,MAAA;MACN,IAAC;UAAAC,QAAA;UAAAC,OAAA;UAAAC;QAAA,IAAAH,MAAA;QAAAI,UAAA;QAAAC,QAAA,OAAAjC,qBAAA,CAAAkC,cAAA;UAGGF,UAAA;UACJG,GAAA,EAAAb,WAAa,CAAAa,GAAA;UACb5B,mBAAA;UAGIiB,WAAA,EAAY,QAAI;UAGpBd,MAAA;UACAmB;QACA;QAAAO,QAAA,SAAAX,SAAA,CAAAY,OAAA,CAAAJ,QAAA,EAAAH,OAAA;MACF,IAIM,CAAAC,cAAA,IAAAC,UAAA,CAAAM,MAAA;QAEJ,IAAMC,EAAA,OAAA1C,cAEA,CAAA2C,QAAW;QACfC,OAAA,CAAAC,IAAA,yCAAAV,UAAA,CAAAM,MAAA,OAAAC,EAAA,KAAAI,OAAA,CAAAC,GAAA,CAAAZ,UAAA,CAAAa,GAAA,WAAAC,IAAA;UACA,OAAKA,IAAA;QACL,IAAAC,IAAA;UACAN,OAAA,CAAAC,IAAa,gCAAAH,EAAA;QACb,GAAAS,KAAA,WAAAC,GAAA;UACAR,OAAA,CAAAS,KAAA,+CAAAD,GAAA;QACD,EAGK;MAGN;MACE;QACAb,QAAQ;QAGJJ;MAAgD;IAGhD;IAAAmB,kBAAc,kBAAAA,CAAAvB,MAAA;MAA0C,IACzD;QAAAC,QAAA;QAAAC;MAAA,IAAAF,MAAA;MACL,KAAAjB,OAAA,EAEA,MAAO,IAAAyC,KAAA;MAAA,EACL,EAAAhD,YAAA,CAAAiD,WAAA,EAAAxB,QAAA;MAAA,IACAO,QAAA,aAAAzC,aAAA,CAAAwD,kBAAA,YAAAG,IAAA,EAAAC,IAAA;QACF,IAAAD,IAAA,CAAAE,UAAA;UAGI,IAAAC,KAAA,GAAAH,IAAA,CAAAI,KAAqB,GAAO;YAAA;cAAAC;YAAA,IAAAJ,IAAA;YAAAK,IAAA,OAAA1D,oBAAA,CAAA2D,uBAAA,EAAAJ,KAAA;UAChC,KAAAG,IAAA,EACA,UAAAR,KAAA,kDAAAK,KAAA;UAII,WAAArD,YAAA,CAAA0D,MAAA,IAAAL,KAAA,EAAAM,KAAA,WAAAC,EAAA;YACC,OAAA1C,WAAA,CAAA2C,oBAAA,CAAApC,QAAA,EAAAmC,EAAA,EAAAJ,IAAA,EAAAD,OAAA,EAAAF,KAAA;UACH,GAAAS,GAAM,EAAI;QAAA;QAGV,IAAAC,OAAA,OAAA3E,WAAA,CAAA4E,YAAA,EAAAzD,OAAA,EAAA2C,IAAA;QAIF,OAAAa,OAAA,CAAAE,EAAA;UA6BEd,IAAA;UA1BAe,GAAC,EAAAzC;QAEC;MACE,GAAApB,MAAA,EAAAqB,OAAM;MAKN;QACEM;MAEF;IAIO;IAAAmC,MACT,kBAAAA,CAAAC,GAAA,EAAA3C,QAAA;MAGA,IAAAG,UAAA,GADe;QAAAC,QAAA,OAAAjC,qBAAkC,CACpCkC,cAAW,EAAK;UAAUxB,MACzC;UAAAc,WACA;UAAAQ,UACA;UACFH,QAAA;YAIAU,EAAA;YAGIkC,KAAA,EAAS,kBAEb;YAEAC,IAAM;YAGJ,GAAA7C;UACA;UACAtB,mBAAA;UACA4B,GAAA,EAAAb,WAAU,CAAAa;QAAA;MACJ,MACJwC,WAAO,iBAAAC,EAAA;QAAA,MACPJ,GAAM,CAAAI,EAAA,EAAA3C,QAAA;MAAA,IACN,MAAGU,OAAA,CAAAC,GAAA,CAAAZ,UAAA,CAAAa,GAAA,WAAAgC,CAAA;QACL,OAAAA,CAAA;MAAA,EACA;IAAA;EACiB,eAClBF,YAAAG,MAAA;IAED;MACE,MAAM,EAAA7E,qBAAgB,CAAA8E,gBAAA;QAGxB;UAAMH;QAAA,KAAQ,GAAA3E,qBAAoB,CAAA+E,cAAU;QAC9C,aAAAF,MAAA,CAAAF,EAAA;MAEA;MAIE,IAAIK,MAAA,SAAAlE,MAAA,CAAA4D,WAAA,CAAAG,MAAA,EAAAI,qBAAA;MACF,OAAAD,MAAI;IACF,SAAAhC,GAAQ;MACR,MAAAR,OAAO,CAAAS,KAAM,iCAAQD,GAAA,KAAAA,GAAA;IAAA;EAIvB;EADoE,SAEtEkC,KAASA,CAAAC,EAAK;IACZ,OAAAT,WAAQ,iBAAMC,EAAA;MAEhB,OAAAA,EAAA,CAAAJ,GAAA,CAAAY,EAAA,CAAAR,EAAA,CAAAO,KAAA;IACF;EAEA;EAGExE,OAAA,IAAO,IAAAR,UAAY,CAAAkF,gBACH,EAAA1E,OAAM,GAAM,CAC3B,GAAAN,iBAAA,CAAAiF,SAAA,YAAAC,QAAA;IACH,OAAAZ,WAAA,iBAAAC,EAAA;MAGI,OAAAA,EAAA,CAAAJ,GACF,CAAAe,QAAA;IAWF;EAAwD,EACtD;EAAe,IACfL,qBAAU;IACVM,aAAY;IACZC,QAAA,UAAgB;IAClBC,UAAA;IAEAC,cAAO;EAAA;EACL,OACA;IACAhE,qBAAA;IACAwB,kBAAA;IACAwB,WAAA;IACFJ,MAAA;IACFY","ignoreList":[]}
@@ -20,6 +20,7 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
20
20
  }), mod);
21
21
  var modelRegistry_exports = {};
22
22
  __export(modelRegistry_exports, {
23
+ getAllMutationsPermissions: () => getAllMutationsPermissions,
23
24
  getMutationsPermissions: () => getMutationsPermissions,
24
25
  setMutationsPermissions: () => setMutationsPermissions
25
26
  });
@@ -30,4 +31,7 @@ function setMutationsPermissions(tableName, permissions) {
30
31
  }
31
32
  function getMutationsPermissions(tableName) {
32
33
  return mutationsToPermissionsRegistry.get(tableName);
34
+ }
35
+ function getAllMutationsPermissions() {
36
+ return mutationsToPermissionsRegistry;
33
37
  }
@@ -14,6 +14,7 @@ var __export = (target, all) => {
14
14
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
15
  var modelRegistry_exports = {};
16
16
  __export(modelRegistry_exports, {
17
+ getAllMutationsPermissions: () => getAllMutationsPermissions,
17
18
  getMutationsPermissions: () => getMutationsPermissions,
18
19
  setMutationsPermissions: () => setMutationsPermissions
19
20
  });
@@ -25,4 +26,7 @@ function setMutationsPermissions(tableName, permissions) {
25
26
  function getMutationsPermissions(tableName) {
26
27
  return mutationsToPermissionsRegistry.get(tableName);
27
28
  }
29
+ function getAllMutationsPermissions() {
30
+ return mutationsToPermissionsRegistry;
31
+ }
28
32
  //# sourceMappingURL=modelRegistry.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/modelRegistry.ts"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,MAAM,iCAAiC,oBAAI,IAAmB;AAEvD,SAAS,wBAAwB,WAAmB,aAAoB;AAC7E,iCAA+B,IAAI,WAAW,WAAW;AAC3D;AAEO,SAAS,wBAAwB,WAAsC;AAC5E,SAAO,+BAA+B,IAAI,SAAS;AACrD;",
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,MAAM,iCAAiC,oBAAI,IAAmB;AAEvD,SAAS,wBAAwB,WAAmB,aAAoB;AAC7E,iCAA+B,IAAI,WAAW,WAAW;AAC3D;AAEO,SAAS,wBAAwB,WAAsC;AAC5E,SAAO,+BAA+B,IAAI,SAAS;AACrD;AAEO,SAAS,6BAAiD;AAC/D,SAAO;AACT;",
5
5
  "names": []
6
6
  }
@@ -22,6 +22,7 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
22
22
  }), mod);
23
23
  var modelRegistry_exports = {};
24
24
  __export(modelRegistry_exports, {
25
+ getAllMutationsPermissions: () => getAllMutationsPermissions,
25
26
  getMutationsPermissions: () => getMutationsPermissions,
26
27
  setMutationsPermissions: () => setMutationsPermissions
27
28
  });
@@ -33,4 +34,7 @@ function setMutationsPermissions(tableName, permissions) {
33
34
  function getMutationsPermissions(tableName) {
34
35
  return mutationsToPermissionsRegistry.get(tableName);
35
36
  }
37
+ function getAllMutationsPermissions() {
38
+ return mutationsToPermissionsRegistry;
39
+ }
36
40
  //# sourceMappingURL=modelRegistry.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","modelRegistry_exports","__export","getMutationsPermissions","setMutationsPermissions","module","exports","mutationsToPermissionsRegistry","Map","tableName","permissions","set","get"],"sources":["../../src/modelRegistry.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,qBAAA;AAAAC,QAAA,CAAAD,qBAAA;EAAAE,uBAAA,EAAAA,CAAA,KAAAA,uBAAA;EAAAC,uBAAA,EAAAA,CAAA,KAAAA;AAAA;AAEAC,MAAM,CAAAC,OAAA,GAAAV,YAAA,CAAAK,qBAAiC;AAEhC,IAAAM,8BAAiC,kBAAmB,IAAoBC,GAAA;AAC7E,SAAAJ,wBAA+BK,SAAI,EAAAC,WAAW;EAChDH,8BAAA,CAAAI,GAAA,CAAAF,SAAA,EAAAC,WAAA;AAEO;AACL,SAAOP,wBAAAM,SAA+B,EAAI;EAC5C,OAAAF,8BAAA,CAAAK,GAAA,CAAAH,SAAA","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","modelRegistry_exports","__export","getAllMutationsPermissions","getMutationsPermissions","setMutationsPermissions","module","exports","mutationsToPermissionsRegistry","Map","tableName","permissions","set","get"],"sources":["../../src/modelRegistry.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,qBAAA;AAAAC,QAAA,CAAAD,qBAAA;EAAAE,0BAAA,EAAAA,CAAA,KAAAA,0BAAA;EAAAC,uBAAA,EAAAA,CAAA,KAAAA,uBAAA;EAAAC,uBAAA,EAAAA,CAAA,KAAAA;AAAA;AAEAC,MAAM,CAAAC,OAAA,GAAAX,YAAA,CAAAK,qBAAiC;AAEhC,IAAAO,8BAAiC,kBAAmB,IAAoBC,GAAA;AAC7E,SAAAJ,wBAA+BK,SAAI,EAAAC,WAAW;EAChDH,8BAAA,CAAAI,GAAA,CAAAF,SAAA,EAAAC,WAAA;AAEO;AACL,SAAOP,wBAAAM,SAA+B,EAAI;EAC5C,OAAAF,8BAAA,CAAAK,GAAA,CAAAH,SAAA;AAEO;AACL,SAAOP,2BAAA;EACT,OAAAK,8BAAA","ignoreList":[]}
@@ -22,15 +22,20 @@ var where_exports = {};
22
22
  __export(where_exports, {
23
23
  getRawWhere: () => getRawWhere,
24
24
  getWhereTableName: () => getWhereTableName,
25
+ setEvaluatingPermission: () => setEvaluatingPermission,
25
26
  where: () => where
26
27
  });
27
28
  module.exports = __toCommonJS(where_exports);
28
29
  var import_constants = require("./constants.cjs"),
29
30
  import_getQueryOrMutatorAuthData = require("./helpers/getQueryOrMutatorAuthData.cjs");
31
+ let _evaluatingPermission = !1;
32
+ function setEvaluatingPermission(value) {
33
+ _evaluatingPermission = value;
34
+ }
30
35
  function where(a, b, isServerOnly = !1) {
31
36
  const whereFn = b || a,
32
37
  wrappedWhereFn = (a2, b2 = (0, import_getQueryOrMutatorAuthData.getQueryOrMutatorAuthData)()) => {
33
- if (!import_constants.isServer && isServerOnly) return a2.and();
38
+ if (!import_constants.isServer && isServerOnly && !_evaluatingPermission) return a2.and();
34
39
  const result = whereFn(a2, b2);
35
40
  return typeof result == "boolean" ? result ? a2.cmpLit(0, "=", 0) : a2.cmpLit(1, "=", 0) : result;
36
41
  };
package/dist/cjs/where.js CHANGED
@@ -16,13 +16,18 @@ var where_exports = {};
16
16
  __export(where_exports, {
17
17
  getRawWhere: () => getRawWhere,
18
18
  getWhereTableName: () => getWhereTableName,
19
+ setEvaluatingPermission: () => setEvaluatingPermission,
19
20
  where: () => where
20
21
  });
21
22
  module.exports = __toCommonJS(where_exports);
22
23
  var import_constants = require("./constants"), import_getQueryOrMutatorAuthData = require("./helpers/getQueryOrMutatorAuthData");
24
+ let _evaluatingPermission = !1;
25
+ function setEvaluatingPermission(value) {
26
+ _evaluatingPermission = value;
27
+ }
23
28
  function where(a, b, isServerOnly = !1) {
24
29
  const whereFn = b || a, wrappedWhereFn = ((a2, b2 = (0, import_getQueryOrMutatorAuthData.getQueryOrMutatorAuthData)()) => {
25
- if (!import_constants.isServer && isServerOnly)
30
+ if (!import_constants.isServer && isServerOnly && !_evaluatingPermission)
26
31
  return a2.and();
27
32
  const result = whereFn(a2, b2);
28
33
  return typeof result == "boolean" ? result ? a2.cmpLit(0, "=", 0) : a2.cmpLit(1, "=", 0) : result;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/where.ts"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAyB,wBACzB,mCAA0C;AAenC,SAAS,MACd,GACA,GACA,eAAe,IACc;AAC7B,QAAM,UAAW,KAAK,GAEhB,kBAAkB,CACtBA,IACAC,SAAI,4DAA0B,MAC3B;AACH,QAAI,CAAC,6BAAY;AAEf,aAAOD,GAAE,IAAI;AAGf,UAAM,SAAS,QAAQA,IAAGC,EAAC;AAC3B,WAAI,OAAO,UAAW,YAChB,SACKD,GAAE,OAAO,GAAG,KAAK,CAAC,IAElBA,GAAE,OAAO,GAAG,KAAK,CAAC,IAGtB;AAAA,EACT;AAGA,4BAAmB,IAAI,gBAAgB,OAAO,GAE1C,KACF,kBAAkB,IAAI,gBAAgB,CAAU,GAG3C;AACT;AAIA,MAAM,oBAAoB,oBAAI,QAA0B,GAClD,qBAAqB,oBAAI,QAAsB;AAE9C,SAAS,kBAAkBE,QAAc;AAC9C,SAAO,kBAAkB,IAAIA,MAAK;AACpC;AAGO,SAAS,YAAYA,QAAiC;AAC3D,SAAO,mBAAmB,IAAIA,MAAK;AACrC;",
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAyB,wBACzB,mCAA0C;AAO1C,IAAI,wBAAwB;AAErB,SAAS,wBAAwB,OAAgB;AACtD,0BAAwB;AAC1B;AAYO,SAAS,MACd,GACA,GACA,eAAe,IACc;AAC7B,QAAM,UAAW,KAAK,GAEhB,kBAAkB,CACtBA,IACAC,SAAI,4DAA0B,MAC3B;AACH,QAAI,CAAC,6BAAY,gBAAgB,CAAC;AAEhC,aAAOD,GAAE,IAAI;AAGf,UAAM,SAAS,QAAQA,IAAGC,EAAC;AAC3B,WAAI,OAAO,UAAW,YAChB,SACKD,GAAE,OAAO,GAAG,KAAK,CAAC,IAElBA,GAAE,OAAO,GAAG,KAAK,CAAC,IAGtB;AAAA,EACT;AAGA,4BAAmB,IAAI,gBAAgB,OAAO,GAE1C,KACF,kBAAkB,IAAI,gBAAgB,CAAU,GAG3C;AACT;AAIA,MAAM,oBAAoB,oBAAI,QAA0B,GAClD,qBAAqB,oBAAI,QAAsB;AAE9C,SAAS,kBAAkBE,QAAc;AAC9C,SAAO,kBAAkB,IAAIA,MAAK;AACpC;AAGO,SAAS,YAAYA,QAAiC;AAC3D,SAAO,mBAAmB,IAAIA,MAAK;AACrC;",
5
5
  "names": ["a", "b", "where"]
6
6
  }
@@ -24,17 +24,22 @@ var where_exports = {};
24
24
  __export(where_exports, {
25
25
  getRawWhere: () => getRawWhere,
26
26
  getWhereTableName: () => getWhereTableName,
27
+ setEvaluatingPermission: () => setEvaluatingPermission,
27
28
  where: () => where
28
29
  });
29
30
  module.exports = __toCommonJS(where_exports);
30
31
  var import_constants = require("./constants.native.js"),
31
- import_getQueryOrMutatorAuthData = require("./helpers/getQueryOrMutatorAuthData.native.js");
32
+ import_getQueryOrMutatorAuthData = require("./helpers/getQueryOrMutatorAuthData.native.js"),
33
+ _evaluatingPermission = !1;
34
+ function setEvaluatingPermission(value) {
35
+ _evaluatingPermission = value;
36
+ }
32
37
  function where(a, b) {
33
38
  var isServerOnly = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1,
34
39
  whereFn = b || a,
35
40
  wrappedWhereFn = function (a2) {
36
41
  var _$b = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : (0, import_getQueryOrMutatorAuthData.getQueryOrMutatorAuthData)();
37
- if (!import_constants.isServer && isServerOnly) return a2.and();
42
+ if (!import_constants.isServer && isServerOnly && !_evaluatingPermission) return a2.and();
38
43
  var result = whereFn(a2, _$b);
39
44
  return typeof result == "boolean" ? result ? a2.cmpLit(0, "=", 0) : a2.cmpLit(1, "=", 0) : result;
40
45
  };
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","where_exports","__export","getRawWhere","getWhereTableName","where","module","exports","import_constants","require","import_getQueryOrMutatorAuthData","a","b","isServerOnly","arguments","length","whereFn","wrappedWhereFn","a2","_$b","getQueryOrMutatorAuthData","isServer","and","result","cmpLit","WhereRawBuilderMap","set","WhereTableNameMap","WeakMap","where2","get"],"sources":["../../src/where.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,QAAA,CAAAD,aAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,iBAAA,EAAAA,CAAA,KAAAA,iBAAA;EAAAC,KAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAX,YAAyB,CAAAK,aAAA;AAgBlB,IAAAO,gBAEL,GACAC,OAAA,wBAC6B;EAAAC,gCAAA,GAAAD,OAAA;AAC7B,SAAMJ,MAAAM,CAAA,EAAWC,CAAA;EAMf,IAAAC,YAAK,GAAAC,SAAA,CAAAC,MAAA,GAAY,KAAAD,SAAA,iBAAAA,SAAA;IAAAE,OAAA,GAAAJ,CAAA,IAAAD,CAAA;IAAAM,cAAA,YAAAA,CAAAC,EAAA;MAEf,IAAAC,GAAA,GAAOL,SAAM,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA,UAAAJ,gCAAA,CAAAU,yBAAA;MAGf,KAAAZ,gBAAe,CAAAa,QAAY,IAAAR,YAAA,EAC3B,OAAIK,EAAA,CAAAI,GAAO;MAQb,IAAAC,MAAA,GAAAP,OAAA,CAAAE,EAAA,EAAAC,GAAA;MAGA,cAAAI,MAAA,IAAmB,SAAI,GAAAA,MAAA,GAAgBL,EAAA,CAAAM,MAEnC,OACF,OAAAN,EAAA,CAAAM,MAAkB,IAAI,UAAAD,MAAgB;IAI1C;EAIA,OAAME,kBAAoB,CAAAC,GAAA,CAAAT,cAAI,EAAAD,OAA0B,GAClDJ,CAAA,IAAAe,iBAAqB,CAAAD,GAAA,CAAAT,cAAI,EAAAN,CAAA,GAAAM,cAAsB;AAE9C;AACL,IAAAU,iBAAO,kBAA2B,IAAAC,OAAA;EAAAH,kBAAA,sBAAAG,OAAA;AACpC,SAAAxB,kBAAAyB,MAAA;EAGO,OAASF,iBAAY,CAAAG,GAAiC,CAAAD,MAAA;AAC3D;AACF,SAAA1B,YAAA0B,MAAA","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","where_exports","__export","getRawWhere","getWhereTableName","setEvaluatingPermission","where","module","exports","import_constants","require","import_getQueryOrMutatorAuthData","_evaluatingPermission","a","b","isServerOnly","arguments","length","whereFn","wrappedWhereFn","a2","_$b","getQueryOrMutatorAuthData","isServer","and","result","cmpLit","WhereRawBuilderMap","set","WhereTableNameMap","WeakMap","where2","get"],"sources":["../../src/where.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,QAAA,CAAAD,aAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,iBAAA,EAAAA,CAAA,KAAAA,iBAAA;EAAAC,uBAAA,EAAAA,CAAA,KAAAA,uBAAA;EAAAC,KAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAZ,YAAyB,CAAAK,aAAA;AAQzB,IAAIQ,gBAAA,GAAAC,OAAwB;EAAAC,gCAAA,GAAAD,OAAA;EAAAE,qBAAA;AAErB,SAASP,wBAAwBL,KAAA,EAAgB;EACtDY,qBAAA,GAAwBZ,KAAA;AAC1B;AAYO,SAASM,MACdO,CAAA,EACAC,CAAA,EACA;EAEA,IAAAC,YAAiB,GAAAC,SAEX,CAAAC,MAAA,QACJD,SACA,QAAI,SAAAA,SAAA;IAAAE,OAAA,GAAAJ,CAAA,IAAAD,CAAA;IAAAM,cAA0B,GAC3B,SAAAA,CAAAC,EAAA;MACH,IAAIC,GAAC,GAAAL,SAAA,CAAAC,MAAA,QAAYD,SAAA,QAAiB,SAAAA,SAAA,UAAAL,gCAAA,CAAAW,yBAAA;MAEhC,KAAAb,gBAAa,CAAAc,QAAA,IAAAR,YAAA,KAAAH,qBAAA,EAGf,OAAMQ,EAAA,CAAAI,GAAS;MACf,IAAAC,MAAI,GAAAP,OAAO,CAAAE,EAAA,EAAWC,GAAA;MAQxB,cAAAI,MAAA,gBAAAA,MAAA,GAAAL,EAAA,CAAAM,MAAA,cAAAN,EAAA,CAAAM,MAAA,cAAAD,MAAA;IAGA;EAOF,OAAAE,kBAAA,CAAAC,GAAA,CAAAT,cAAA,EAAAD,OAAA,GAAAJ,CAAA,IAAAe,iBAAA,CAAAD,GAAA,CAAAT,cAAA,EAAAN,CAAA,GAAAM,cAAA;AAIA;AAGO,IAAAU,iBAAS,kBAAgC,IAAAC,OAAA;EAAAH,kBAAA,sBAAAG,OAAA;AAC9C,SAAO1B,kBAAkB2B,MAAI;EAC/B,OAAAF,iBAAA,CAAAG,GAAA,CAAAD,MAAA;AAGO;AACL,SAAO5B,YAAA4B,MAAA,EAAmB;EAC5B,OAAAJ,kBAAA,CAAAK,GAAA,CAAAD,MAAA","ignoreList":[]}