over-zero 0.0.5 → 0.0.7

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 (98) hide show
  1. package/dist/cjs/createPermissions.cjs +5 -4
  2. package/dist/cjs/createPermissions.js +5 -5
  3. package/dist/cjs/createPermissions.js.map +1 -1
  4. package/dist/cjs/createPermissions.native.js +8 -5
  5. package/dist/cjs/createPermissions.native.js.map +1 -1
  6. package/dist/cjs/createZeroClient.cjs +3 -8
  7. package/dist/cjs/createZeroClient.js +4 -6
  8. package/dist/cjs/createZeroClient.js.map +1 -1
  9. package/dist/cjs/createZeroClient.native.js +4 -6
  10. package/dist/cjs/createZeroClient.native.js.map +1 -1
  11. package/dist/cjs/createZeroServer.cjs +24 -18
  12. package/dist/cjs/createZeroServer.js +24 -16
  13. package/dist/cjs/createZeroServer.js.map +2 -2
  14. package/dist/cjs/createZeroServer.native.js +24 -15
  15. package/dist/cjs/createZeroServer.native.js.map +2 -2
  16. package/dist/cjs/helpers/createMutators.cjs +4 -2
  17. package/dist/cjs/helpers/createMutators.js +4 -2
  18. package/dist/cjs/helpers/createMutators.js.map +1 -1
  19. package/dist/cjs/helpers/createMutators.native.js +4 -2
  20. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  21. package/dist/cjs/helpers/didRunPermissionCheck.cjs +29 -0
  22. package/dist/cjs/helpers/didRunPermissionCheck.js +22 -0
  23. package/dist/cjs/helpers/didRunPermissionCheck.js.map +6 -0
  24. package/dist/cjs/helpers/didRunPermissionCheck.native.js +32 -0
  25. package/dist/cjs/helpers/didRunPermissionCheck.native.js.map +6 -0
  26. package/dist/cjs/helpers/getDidRunPermissionCheck.cjs +27 -0
  27. package/dist/cjs/helpers/getDidRunPermissionCheck.js +21 -0
  28. package/dist/cjs/helpers/getDidRunPermissionCheck.js.map +6 -0
  29. package/dist/cjs/helpers/getDidRunPermissionCheck.native.js +28 -0
  30. package/dist/cjs/helpers/getDidRunPermissionCheck.native.js.map +6 -0
  31. package/dist/cjs/mutations.cjs +2 -1
  32. package/dist/cjs/mutations.js +2 -1
  33. package/dist/cjs/mutations.js.map +1 -1
  34. package/dist/cjs/mutations.native.js +2 -1
  35. package/dist/cjs/mutations.native.js.map +1 -1
  36. package/dist/esm/createPermissions.js +5 -4
  37. package/dist/esm/createPermissions.js.map +1 -1
  38. package/dist/esm/createPermissions.mjs +5 -4
  39. package/dist/esm/createPermissions.mjs.map +1 -1
  40. package/dist/esm/createPermissions.native.js +8 -4
  41. package/dist/esm/createPermissions.native.js.map +1 -1
  42. package/dist/esm/createZeroClient.js +5 -7
  43. package/dist/esm/createZeroClient.js.map +1 -1
  44. package/dist/esm/createZeroClient.mjs +4 -9
  45. package/dist/esm/createZeroClient.mjs.map +1 -1
  46. package/dist/esm/createZeroClient.native.js +4 -9
  47. package/dist/esm/createZeroClient.native.js.map +1 -1
  48. package/dist/esm/createZeroServer.js +24 -16
  49. package/dist/esm/createZeroServer.js.map +2 -2
  50. package/dist/esm/createZeroServer.mjs +24 -18
  51. package/dist/esm/createZeroServer.mjs.map +1 -1
  52. package/dist/esm/createZeroServer.native.js +26 -18
  53. package/dist/esm/createZeroServer.native.js.map +1 -1
  54. package/dist/esm/helpers/createMutators.js +4 -2
  55. package/dist/esm/helpers/createMutators.js.map +1 -1
  56. package/dist/esm/helpers/createMutators.mjs +4 -2
  57. package/dist/esm/helpers/createMutators.mjs.map +1 -1
  58. package/dist/esm/helpers/createMutators.native.js +4 -2
  59. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  60. package/dist/esm/helpers/didRunPermissionCheck.js +6 -0
  61. package/dist/esm/helpers/didRunPermissionCheck.js.map +6 -0
  62. package/dist/esm/helpers/didRunPermissionCheck.mjs +5 -0
  63. package/dist/esm/helpers/didRunPermissionCheck.mjs.map +1 -0
  64. package/dist/esm/helpers/didRunPermissionCheck.native.js +9 -0
  65. package/dist/esm/helpers/didRunPermissionCheck.native.js.map +1 -0
  66. package/dist/esm/helpers/getDidRunPermissionCheck.js +5 -0
  67. package/dist/esm/helpers/getDidRunPermissionCheck.js.map +6 -0
  68. package/dist/esm/helpers/getDidRunPermissionCheck.mjs +4 -0
  69. package/dist/esm/helpers/getDidRunPermissionCheck.mjs.map +1 -0
  70. package/dist/esm/helpers/getDidRunPermissionCheck.native.js +6 -0
  71. package/dist/esm/helpers/getDidRunPermissionCheck.native.js.map +1 -0
  72. package/dist/esm/mutations.js +2 -1
  73. package/dist/esm/mutations.js.map +1 -1
  74. package/dist/esm/mutations.mjs +2 -1
  75. package/dist/esm/mutations.mjs.map +1 -1
  76. package/dist/esm/mutations.native.js +2 -1
  77. package/dist/esm/mutations.native.js.map +1 -1
  78. package/package.json +3 -2
  79. package/readme.md +15 -11
  80. package/src/createPermissions.ts +48 -40
  81. package/src/createZeroClient.tsx +7 -7
  82. package/src/createZeroServer.ts +39 -22
  83. package/src/helpers/createMutators.ts +11 -5
  84. package/src/helpers/didRunPermissionCheck.ts +11 -0
  85. package/src/mutations.ts +5 -7
  86. package/src/types.ts +28 -15
  87. package/types/createPermissions.d.ts +2 -2
  88. package/types/createPermissions.d.ts.map +1 -1
  89. package/types/createZeroServer.d.ts +6 -2
  90. package/types/createZeroServer.d.ts.map +1 -1
  91. package/types/helpers/createMutators.d.ts +2 -2
  92. package/types/helpers/createMutators.d.ts.map +1 -1
  93. package/types/helpers/didRunPermissionCheck.d.ts +4 -0
  94. package/types/helpers/didRunPermissionCheck.d.ts.map +1 -0
  95. package/types/mutations.d.ts +1 -1
  96. package/types/mutations.d.ts.map +1 -1
  97. package/types/types.d.ts +15 -11
  98. package/types/types.d.ts.map +1 -1
@@ -26,6 +26,7 @@ module.exports = __toCommonJS(createPermissions_exports);
26
26
  var import_zero = require("@rocicorp/zero"),
27
27
  import_helpers = require("@vxrn/helpers"),
28
28
  import_context = require("./helpers/context.cjs"),
29
+ import_didRunPermissionCheck = require("./helpers/didRunPermissionCheck.cjs"),
29
30
  import_prettyFormatZeroQuery = require("./helpers/prettyFormatZeroQuery.cjs"),
30
31
  import_where = require("./where.cjs");
31
32
  function createPermissions({
@@ -60,12 +61,12 @@ function createPermissions({
60
61
  }
61
62
  return eb.and(permissionCondition, ...primaryKeyWheres);
62
63
  }
63
- async function can(where, action, obj) {
64
+ const can = async (where, action, obj) => {
64
65
  const ctx = getContext(),
65
66
  tableName = (0, import_where.getWhereTableName)(where);
66
67
  if (!tableName) throw new Error("Must use where('table') style where to pass to can()");
67
- environment === "server" && (await ensurePermission(ctx.tx, ctx.authData, tableName, where, action, obj), ctx.didCanPermissionsRun = !0);
68
- }
68
+ environment === "server" && (await ensurePermission(ctx.tx, ctx.authData, tableName, where, action, obj), (0, import_didRunPermissionCheck.setDidRunPermissionCheck)(ctx));
69
+ };
69
70
  async function ensurePermission(tx, authData, tableName, where, actionIn, obj) {
70
71
  if (authData?.role === "admin") return;
71
72
  const action = String(actionIn),
@@ -86,7 +87,7 @@ ${err}`);
86
87
  }
87
88
  }
88
89
  const readPermissions = (0, import_zero.definePermissions)(schema, async () => {
89
- const permissionsEntries = await Promise.all((0, import_helpers.objectEntries)(models).map(async ([key, model]) => await (0, import_context.runWithContext)({
90
+ const permissionsEntries = await Promise.all((0, import_helpers.objectEntries)(models).filter(([_, model]) => !!model.permissions).map(async ([key, model]) => await (0, import_context.runWithContext)({
90
91
  authData: {
91
92
  id: "",
92
93
  role: void 0,
@@ -17,7 +17,7 @@ __export(createPermissions_exports, {
17
17
  createPermissions: () => createPermissions
18
18
  });
19
19
  module.exports = __toCommonJS(createPermissions_exports);
20
- var import_zero = require("@rocicorp/zero"), import_helpers = require("@vxrn/helpers"), import_context = require("./helpers/context"), import_prettyFormatZeroQuery = require("./helpers/prettyFormatZeroQuery"), import_where = require("./where");
20
+ var import_zero = require("@rocicorp/zero"), import_helpers = require("@vxrn/helpers"), import_context = require("./helpers/context"), import_didRunPermissionCheck = require("./helpers/didRunPermissionCheck"), import_prettyFormatZeroQuery = require("./helpers/prettyFormatZeroQuery"), import_where = require("./where");
21
21
  function createPermissions({
22
22
  environment,
23
23
  schema,
@@ -52,7 +52,7 @@ function createPermissions({
52
52
  }
53
53
  return eb.and(permissionCondition, ...primaryKeyWheres);
54
54
  }
55
- async function can(where, action, obj) {
55
+ const can = async (where, action, obj) => {
56
56
  const ctx = getContext(), tableName = (0, import_where.getWhereTableName)(where);
57
57
  if (!tableName)
58
58
  throw new Error("Must use where('table') style where to pass to can()");
@@ -63,8 +63,8 @@ function createPermissions({
63
63
  where,
64
64
  action,
65
65
  obj
66
- ), ctx.didCanPermissionsRun = !0);
67
- }
66
+ ), (0, import_didRunPermissionCheck.setDidRunPermissionCheck)(ctx));
67
+ };
68
68
  async function ensurePermission(tx, authData, tableName, where, actionIn, obj) {
69
69
  if (authData?.role === "admin")
70
70
  return;
@@ -85,7 +85,7 @@ ${err}`);
85
85
  }
86
86
  const readPermissions = (0, import_zero.definePermissions)(schema, async () => {
87
87
  const permissionsEntries = await Promise.all(
88
- (0, import_helpers.objectEntries)(models).map(async ([key, model]) => await (0, import_context.runWithContext)(
88
+ (0, import_helpers.objectEntries)(models).filter(([_, model]) => !!model.permissions).map(async ([key, model]) => await (0, import_context.runWithContext)(
89
89
  {
90
90
  authData: { id: "", role: void 0, email: "" }
91
91
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createPermissions.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -18,7 +18,7 @@ __export(createPermissions_exports, {
18
18
  createPermissions: () => createPermissions
19
19
  });
20
20
  module.exports = __toCommonJS(createPermissions_exports);
21
- var import_zero = require("@rocicorp/zero"), import_helpers = require("@vxrn/helpers"), import_context = require("./helpers/context"), import_prettyFormatZeroQuery = require("./helpers/prettyFormatZeroQuery"), import_where = require("./where");
21
+ var import_zero = require("@rocicorp/zero"), import_helpers = require("@vxrn/helpers"), import_context = require("./helpers/context"), import_didRunPermissionCheck = require("./helpers/didRunPermissionCheck"), import_prettyFormatZeroQuery = require("./helpers/prettyFormatZeroQuery"), import_where = require("./where");
22
22
  function createPermissions(param) {
23
23
  var { environment, schema, models, getContext } = param, fallbackActions = {
24
24
  select: "read",
@@ -59,12 +59,12 @@ function createPermissions(param) {
59
59
  }
60
60
  return eb.and(permissionCondition, ...primaryKeyWheres);
61
61
  }
62
- async function can(where, action, obj) {
62
+ var can = async function(where, action, obj) {
63
63
  var ctx = getContext(), tableName = (0, import_where.getWhereTableName)(where);
64
64
  if (!tableName)
65
65
  throw new Error("Must use where('table') style where to pass to can()");
66
- environment === "server" && (await ensurePermission(ctx.tx, ctx.authData, tableName, where, action, obj), ctx.didCanPermissionsRun = !0);
67
- }
66
+ environment === "server" && (await ensurePermission(ctx.tx, ctx.authData, tableName, where, action, obj), (0, import_didRunPermissionCheck.setDidRunPermissionCheck)(ctx));
67
+ };
68
68
  async function ensurePermission(tx, authData, tableName, where, actionIn, obj) {
69
69
  if ((authData == null ? void 0 : authData.role) !== "admin") {
70
70
  var action = String(actionIn), name = `${tableName}.${action}`, queryBase = tx.query[tableName], query = null;
@@ -85,7 +85,10 @@ ${err}`);
85
85
  }
86
86
  }
87
87
  var readPermissions = (0, import_zero.definePermissions)(schema, async function() {
88
- var permissionsEntries = await Promise.all((0, import_helpers.objectEntries)(models).map(async function(param2) {
88
+ var permissionsEntries = await Promise.all((0, import_helpers.objectEntries)(models).filter(function(param2) {
89
+ var [_, model] = param2;
90
+ return !!model.permissions;
91
+ }).map(async function(param2) {
89
92
  var [key, model] = param2;
90
93
  return await (0, import_context.runWithContext)({
91
94
  authData: {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createPermissions.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA8C,2BAC9C,iBAAmD,0BACnD,iBAA+B,8BAC/B,+BAAsC,4CACtC,eAAkC;AAC3B,SAAS,kBAAkB,OAAO;AACrC,MAAI,EAAE,aAAa,QAAQ,QAAQ,WAAW,IAAI,OAC9C,kBAAkB;AAAA,IAClB,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ;AAAA,EACZ;AACA,WAAS,qBAAqB,UAAU,IAAI,iBAAiB,QAC7D,SAAS;AACL,QAAI,gBAAY,gCAAkB,eAAe;AACjD,QAAI,CAAC;AACD,YAAM,IAAI,MAAM,mDAAmD;AAEvE,QAAI,cAAc,OAAO,OAAO,SAAS;AACzC,QAAI,CAAC;AACD,YAAM,IAAI,MAAM,YAAY;AAEhC,QAAI,cAAc,YAAY,YAC1B,yBAAyB,gBAAgB,IAAI,QAAQ,GACrD,iBAAiB,gBAAgB,MAAM,GACvC,sBAAsB,uBAAuB,MAAM,MAAM,iBAAiB,uBAAuB,cAAc,IAAI;AACvH,QAAI,uBAAuB;AACvB,YAAM,IAAI,MAAM,6BAA6B,MAAM,QAAQ,cAAc,GAAG;AAEhF,QAAI,wBAAwB;AACxB,aAAO,GAAG,OAAO,IAAM,KAAK,EAAI;AAEpC,QAAI,wBAAwB;AACxB,aAAO,GAAG,OAAO,IAAM,KAAK,EAAK;AAErC,QAAI,mBAAmB,CAAC,GACpB,4BAA4B,IAAM,oBAAoB,IAAO,iBAAiB;AAClF,QAAI;AACA,eAAQ,YAAY,YAAY,OAAO,QAAQ,EAAE,GAAG,OAAO,EAAE,6BAA6B,QAAQ,UAAU,KAAK,GAAG,OAAO,4BAA4B,IAAK;AACxJ,YAAI,MAAM,MAAM,OACZ,QAAQ,OAAO,WAAY,WAAW,UAAU,QAAQ,GAAG;AAC/D,yBAAiB,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC;AAAA,MAC5C;AAAA,IACJ,SAAS,KAAK;AACV,0BAAoB,IACpB,iBAAiB;AAAA,IACrB,UAAE;AACE,UAAI;AACA,QAAI,CAAC,6BAA6B,UAAU,UAAU,QAClD,UAAU,OAAO;AAAA,MAEzB,UAAE;AACE,YAAI;AACA,gBAAM;AAAA,MAEd;AAAA,IACJ;AACA,WAAO,GAAG,IAAI,qBAAqB,GAAG,gBAAgB;AAAA,EAC1D;AACA,iBAAe,IAAI,OAAO,QAAQ,KAAK;AACnC,QAAI,MAAM,WAAW,GACjB,gBAAY,gCAAkB,KAAK;AACvC,QAAI,CAAC;AACD,YAAM,IAAI,MAAM,sDAAsD;AAG1E,IAAI,gBAAgB,aAChB,MAAM,iBAAiB,IAAI,IAAI,IAAI,UAAU,WAAW,OAAO,QAAQ,GAAG,GAC1E,IAAI,uBAAuB;AAAA,EAEnC;AACA,iBAAe,iBAAiB,IAAI,UAAU,WAAW,OAAO,UAAU,KAC1E;AACI,SAAK,YAAa,OAA8B,SAAS,SAAS,UAAU,SAI5E;AAAA,UAAI,SAAS,OAAO,QAAQ,GACxB,OAAO,GAAG,SAAS,IAAI,MAAM,IAE7B,YAAY,GAAG,MAAM,SAAS,GAC9B,QAAQ;AACZ,UAAI;AACA,gBAAQ,UAAU,MAAM,SAAS,IAAI;AACjC,iBAAO,qBAAqB,UAAU,IAAI,OAAO,QAAQ,GAAG;AAAA,QAChE,CAAC,EAAE,IAAI,OACP,uBAAO,MAAM,KAAK;AAAA,MACtB,SAAS,KAAK;AACV,YAAI,aAAa,GAAG,IAAI,kBAAkB,YAAa,OAA8B,SAAS,SAAS,EAAE;AACzG,YAAI,eAAe,4BAAa;AAC5B,cAAI,MAAM,uCAAgC,UAAU;AACpD,gBAAI,QAAQ,IAAI,aAAa,iBAAiB,UAC1C,OAAO;AAAA,OAAM,oDAAsB,KAAK,CAAC,KAEvC,IAAI,MAAM,GAAG;AAAA,QACvB;AACA,cAAM,IAAI,MAAM,4BAA4B,UAAU;AAAA,EAAK,GAAG,EAAE;AAAA,MACpE;AAAA;AAAA,EACJ;AACA,MAAI,sBAAkB,+BAAkB,QAAQ,iBAAiB;AAC7D,QAAI,qBAAqB,MAAM,QAAQ,QAAI,8BAAc,MAAM,EAAE,IAAI,eAAeA,QAAO;AACvF,UAAI,CAAC,KAAK,KAAK,IAAIA;AACnB,aAAO,UAAM,+BAAe;AAAA,QACxB,UAAU;AAAA,UACN,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,OAAO;AAAA,QACX;AAAA,MACJ,GAAG,WAAW;AACV,eAAO;AAAA,UACH;AAAA,UACA;AAAA,YACI,KAAK;AAAA,cACD,QAAQ;AAAA,gBACJ,SAAS,UAAU,IAAI;AACnB,sBAAI,MAAM,MAAM,YAAY,IAAI,QAAQ,EAAE;AAC1C,yBAAI,QAAQ,KACD,GAAG,IAAI,IAEd,QAAQ,KACD,GAAG,OAAO,IAAM,KAAK,EAAK,IAE9B;AAAA,gBACX;AAAA,cACJ;AAAA;AAAA,cAEA,QAAQ;AAAA,cACR,QAAQ;AAAA,cACR,QAAQ;AAAA,YACZ;AAAA,UACJ;AAAA,QACJ;AAAA,MACJ,CAAC;AAAA,IACL,CAAC,CAAC,GACE,cAAc,OAAO,YAAY,kBAAkB;AACvD,WAAO;AAAA,EACX,CAAC;AACD,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AACJ;",
4
+ "mappings": "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",
5
5
  "names": ["param"]
6
6
  }
@@ -50,24 +50,19 @@ function createZeroClient({
50
50
  getContext: import_context.context,
51
51
  environment: "client"
52
52
  }),
53
- permissionCache = (0, import_helpers.createLocalStorage)("permissions-cache", {
54
- storageLimit: 24
55
- }),
56
53
  zeroEvents = (0, import_helpers.createEmitter)("zero", null),
57
54
  AuthDataContext = (0, import_react2.createContext)({}),
58
55
  useAuthData = () => (0, import_react2.use)(AuthDataContext);
59
56
  function usePermission(table, action, objOrId, enabled = typeof objOrId < "u", debug = !1) {
60
- const keyBase = `${String(table)}${action}`,
61
- key = `${keyBase}${typeof objOrId == "string" ? objOrId : JSON.stringify(objOrId)}`,
62
- cacheVal = permissionCache.get(key) ?? permissionCache.get(keyBase),
57
+ const key = `${`${String(table)}${action}`}${typeof objOrId == "string" ? objOrId : JSON.stringify(objOrId)}`,
63
58
  authData = useAuthData(),
64
59
  permission = modelPermissions[table],
65
60
  query = (() => {
66
61
  let baseQuery = zero.query[table].one();
67
- return enabled ? baseQuery.where(eb => permissionsHelpers.buildPermissionQuery(authData, eb, permission, action, objOrId)) : baseQuery;
62
+ return !enabled || !permission ? baseQuery : baseQuery.where(eb => permissionsHelpers.buildPermissionQuery(authData, eb, permission, action, objOrId));
68
63
  })(),
69
64
  [data, status] = useQuery(query, {
70
- enabled: !!(enabled && authData && objOrId)
65
+ enabled: !!(enabled && permission && authData && objOrId)
71
66
  });
72
67
  debug && console.info("usePermission()", {
73
68
  data,
@@ -30,21 +30,19 @@ function createZeroClient({ schema, models, disable }) {
30
30
  models,
31
31
  getContext: import_context.context,
32
32
  environment: "client"
33
- }), permissionCache = (0, import_helpers.createLocalStorage)("permissions-cache", {
34
- storageLimit: 24
35
33
  }), zeroEvents = (0, import_helpers.createEmitter)("zero", null), AuthDataContext = (0, import_react2.createContext)({}), useAuthData = () => (0, import_react2.use)(AuthDataContext);
36
34
  function usePermission(table, action, objOrId, enabled = typeof objOrId < "u", debug = !1) {
37
- const keyBase = `${String(table)}${action}`, key = `${keyBase}${typeof objOrId == "string" ? objOrId : JSON.stringify(objOrId)}`, cacheVal = permissionCache.get(key) ?? permissionCache.get(keyBase), authData = useAuthData(), permission = modelPermissions[table], query = (() => {
35
+ const key = `${`${String(table)}${action}`}${typeof objOrId == "string" ? objOrId : JSON.stringify(objOrId)}`, authData = useAuthData(), permission = modelPermissions[table], query = (() => {
38
36
  let baseQuery = zero.query[table].one();
39
- return enabled ? baseQuery.where((eb) => permissionsHelpers.buildPermissionQuery(
37
+ return !enabled || !permission ? baseQuery : baseQuery.where((eb) => permissionsHelpers.buildPermissionQuery(
40
38
  authData,
41
39
  eb,
42
40
  permission,
43
41
  action,
44
42
  objOrId
45
- )) : baseQuery;
43
+ ));
46
44
  })(), [data, status] = useQuery(query, {
47
- enabled: !!(enabled && authData && objOrId)
45
+ enabled: !!(enabled && permission && authData && objOrId)
48
46
  });
49
47
  debug && console.info(
50
48
  "usePermission()",
@@ -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", "zeroUseQuery", "zero"]
6
6
  }
@@ -31,19 +31,17 @@ function createZeroClient(param) {
31
31
  models,
32
32
  getContext: import_context.context,
33
33
  environment: "client"
34
- }), permissionCache = (0, import_helpers.createLocalStorage)("permissions-cache", {
35
- storageLimit: 24
36
34
  }), zeroEvents = (0, import_helpers.createEmitter)("zero", null), AuthDataContext = /* @__PURE__ */ (0, import_react2.createContext)({}), useAuthData = function() {
37
35
  return (0, import_react2.use)(AuthDataContext);
38
36
  };
39
37
  function usePermission(table, action, objOrId) {
40
- var enabled = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : typeof objOrId < "u", debug = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !1, keyBase = `${String(table)}${action}`, key = `${keyBase}${typeof objOrId == "string" ? objOrId : JSON.stringify(objOrId)}`, _permissionCache_get, cacheVal = (_permissionCache_get = permissionCache.get(key)) !== null && _permissionCache_get !== void 0 ? _permissionCache_get : permissionCache.get(keyBase), authData = useAuthData(), permission = modelPermissions[table], query = (function() {
38
+ var enabled = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : typeof objOrId < "u", debug = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !1, keyBase = `${String(table)}${action}`, key = `${keyBase}${typeof objOrId == "string" ? objOrId : JSON.stringify(objOrId)}`, authData = useAuthData(), permission = modelPermissions[table], query = (function() {
41
39
  var baseQuery = zero.query[table].one();
42
- return enabled ? baseQuery.where(function(eb) {
40
+ return !enabled || !permission ? baseQuery : baseQuery.where(function(eb) {
43
41
  return permissionsHelpers.buildPermissionQuery(authData, eb, permission, action, objOrId);
44
- }) : baseQuery;
42
+ });
45
43
  })(), [data, status] = useQuery(query, {
46
- enabled: !!(enabled && authData && objOrId)
44
+ enabled: !!(enabled && permission && authData && objOrId)
47
45
  });
48
46
  debug && console.info("usePermission()", {
49
47
  data,
@@ -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", "zeroUseQuery", "param", "_jsx", "_jsxs", "zero"]
6
6
  }
@@ -43,11 +43,15 @@ var import_pg = require("@rocicorp/zero/pg"),
43
43
  import_createMutators = require("./helpers/createMutators.cjs");
44
44
  function createZeroServer({
45
45
  createServerActions,
46
+ database,
46
47
  schema,
47
48
  models
48
49
  }) {
49
- const dbString = (0, import_helpers.assertString)(process.env.ZERO_UPSTREAM_DB),
50
- zeroServerDatabase = new import_server.ZQLDatabase(new import_pg.PostgresJSConnection((0, import_postgres.default)(dbString)), schema),
50
+ const dbString = (0, import_helpers.assertString)(database, '"database" prop'),
51
+ db = (0, import_postgres.default)(dbString),
52
+ zeroServerDatabase = new import_server.ZQLDatabase(new import_pg.PostgresJSConnection(
53
+ // TODO if you have duplicate postgres due to zero having its own in node_modules TS types break
54
+ db), schema),
51
55
  permissions = (0, import_createPermissions.createPermissions)({
52
56
  environment: "server",
53
57
  schema,
@@ -83,7 +87,7 @@ function createZeroServer({
83
87
  asyncTasks
84
88
  };
85
89
  },
86
- serverMutate = async (run, authData) => {
90
+ mutate = async (run, authData) => {
87
91
  const asyncTasks = [],
88
92
  mutators = (0, import_createMutators.createMutators)({
89
93
  models,
@@ -98,34 +102,36 @@ function createZeroServer({
98
102
  createServerActions,
99
103
  can: permissions.can
100
104
  });
101
- await serverTransaction(async tx => {
105
+ await transaction(async tx => {
102
106
  await run(tx, mutators);
103
107
  }), await Promise.all(asyncTasks.map(t => t()));
104
- },
105
- serverQuery = serverTransaction,
106
- dummyTransactionInput = {
107
- clientGroupID: "unused",
108
- clientID: "unused",
109
- mutationID: 42,
110
- upstreamSchema: "unused"
111
108
  };
112
- async function serverTransaction(query) {
109
+ async function transaction(query2) {
113
110
  try {
114
111
  if ((0, import_context.isInZeroMutation)()) {
115
112
  const {
116
113
  tx
117
114
  } = (0, import_context.context)();
118
- return await query(tx);
115
+ return await query2(tx);
119
116
  }
120
- return await zeroServerDatabase.transaction(query, dummyTransactionInput);
117
+ return await zeroServerDatabase.transaction(query2, dummyTransactionInput);
121
118
  } catch (err) {
122
- throw console.error(`Error running serverTransaction(): ${err}`), err;
119
+ throw console.error(`Error running transaction(): ${err}`), err;
123
120
  }
124
121
  }
122
+ async function query(cb) {
123
+ return await transaction(async tx => await cb(tx.query));
124
+ }
125
+ const dummyTransactionInput = {
126
+ clientGroupID: "unused",
127
+ clientID: "unused",
128
+ mutationID: 42,
129
+ upstreamSchema: "unused"
130
+ };
125
131
  return {
126
132
  handleMutationRequest,
127
- transaction: serverTransaction,
128
- mutate: serverMutate,
129
- query: serverQuery
133
+ transaction,
134
+ mutate,
135
+ query
130
136
  };
131
137
  }
@@ -28,11 +28,15 @@ module.exports = __toCommonJS(createZeroServer_exports);
28
28
  var import_pg = require("@rocicorp/zero/pg"), import_server = require("@rocicorp/zero/server"), import_helpers = require("@vxrn/helpers"), import_postgres = __toESM(require("postgres"), 1), import_createPermissions = require("./createPermissions"), import_context = require("./helpers/context"), import_createMutators = require("./helpers/createMutators");
29
29
  function createZeroServer({
30
30
  createServerActions,
31
+ database,
31
32
  schema,
32
33
  models
33
34
  }) {
34
- const dbString = (0, import_helpers.assertString)(process.env.ZERO_UPSTREAM_DB), zeroServerDatabase = new import_server.ZQLDatabase(
35
- new import_pg.PostgresJSConnection((0, import_postgres.default)(dbString)),
35
+ const dbString = (0, import_helpers.assertString)(database, '"database" prop'), db = (0, import_postgres.default)(dbString), zeroServerDatabase = new import_server.ZQLDatabase(
36
+ new import_pg.PostgresJSConnection(
37
+ // TODO if you have duplicate postgres due to zero having its own in node_modules TS types break
38
+ db
39
+ ),
36
40
  schema
37
41
  ), permissions = (0, import_createPermissions.createPermissions)({
38
42
  environment: "server",
@@ -64,7 +68,7 @@ function createZeroServer({
64
68
  response,
65
69
  asyncTasks
66
70
  };
67
- }, serverMutate = async (run, authData) => {
71
+ }, mutate = async (run, authData) => {
68
72
  const asyncTasks = [], mutators = (0, import_createMutators.createMutators)({
69
73
  models,
70
74
  environment: "server",
@@ -78,31 +82,35 @@ function createZeroServer({
78
82
  createServerActions,
79
83
  can: permissions.can
80
84
  });
81
- await serverTransaction(async (tx) => {
85
+ await transaction(async (tx) => {
82
86
  await run(tx, mutators);
83
87
  }), await Promise.all(asyncTasks.map((t) => t()));
84
- }, serverQuery = serverTransaction, dummyTransactionInput = {
85
- clientGroupID: "unused",
86
- clientID: "unused",
87
- mutationID: 42,
88
- upstreamSchema: "unused"
89
88
  };
90
- async function serverTransaction(query) {
89
+ async function transaction(query2) {
91
90
  try {
92
91
  if ((0, import_context.isInZeroMutation)()) {
93
92
  const { tx } = (0, import_context.context)();
94
- return await query(tx);
93
+ return await query2(tx);
95
94
  }
96
- return await zeroServerDatabase.transaction(query, dummyTransactionInput);
95
+ return await zeroServerDatabase.transaction(query2, dummyTransactionInput);
97
96
  } catch (err) {
98
- throw console.error(`Error running serverTransaction(): ${err}`), err;
97
+ throw console.error(`Error running transaction(): ${err}`), err;
99
98
  }
100
99
  }
100
+ async function query(cb) {
101
+ return await transaction(async (tx) => await cb(tx.query));
102
+ }
103
+ const dummyTransactionInput = {
104
+ clientGroupID: "unused",
105
+ clientID: "unused",
106
+ mutationID: 42,
107
+ upstreamSchema: "unused"
108
+ };
101
109
  return {
102
110
  handleMutationRequest,
103
- transaction: serverTransaction,
104
- mutate: serverMutate,
105
- query: serverQuery
111
+ transaction,
112
+ mutate,
113
+ query
106
114
  };
107
115
  }
108
116
  //# sourceMappingURL=createZeroServer.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createZeroServer.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,gBAAoD,8BACpD,gBAA4B,kCAC5B,iBAAuC,0BACvC,kBAAqB,iCACrB,2BAAkC,gCAClC,iBAA0C,8BAC1C,wBAA+B;AASxB,SAAS,iBAId;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAIG;AACD,QAAM,eAAW,6BAAa,QAAQ,IAAI,gBAAgB,GAEpD,qBAAqB,IAAI;AAAA,IAC7B,IAAI,mCAAqB,gBAAAA,SAAS,QAAQ,CAAC;AAAA,IAC3C;AAAA,EACF,GAEM,kBAAc,4CAA0B;AAAA,IAC5C,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA,YAAY;AAAA,EACd,CAAC,GAEK,YAAY,IAAI,wBAAc,kBAAkB,GAEhD,wBAAwB,OAAO;AAAA,IACnC;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAIM;AAEJ,UAAM,aAA4B,CAAC,GAE7B,eAAW,sCAAe;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,SAAK,yBAAS;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,eAAe,OACnB,KACA,aACG;AACH,UAAM,aAAyC,CAAC,GAE1C,eAAW,sCAAe;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,kBAAkB,OAAO,OAAO;AACpC,YAAM,IAAI,IAAI,QAAQ;AAAA,IACxB,CAAC,GAED,MAAM,QAAQ,IAAI,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAAA,EAC9C,GAIM,cAAc,mBAGd,wBAAkD;AAAA,IACtD,eAAe;AAAA,IACf,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,gBAAgB;AAAA,EAClB;AAEA,iBAAe,kBAGb,OAA6B;AAC7B,QAAI;AACF,cAAI,iCAAiB,GAAG;AACtB,cAAM,EAAE,GAAG,QAAI,wBAAQ;AACvB,eAAO,MAAM,MAAM,EAAE;AAAA,MACvB;AAGA,aADe,MAAM,mBAAmB,YAAY,OAAO,qBAAqB;AAAA,IAElF,SAAS,KAAK;AACZ,oBAAQ,MAAM,sCAAsC,GAAG,EAAE,GACnD;AAAA,IACR;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,IACA,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,OAAO;AAAA,EACT;AACF;",
5
- "names": ["postgres"]
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,gBAAoD,8BACpD,gBAA4B,kCAC5B,iBAAuC,0BACvC,kBAAqB,iCACrB,2BAAkC,gCAClC,iBAA0C,8BAC1C,wBAA+B;AASxB,SAAS,iBAId;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAQG;AACD,QAAM,eAAW,6BAAa,UAAU,iBAAiB,GACnD,SAAK,gBAAAA,SAAS,QAAQ,GAEtB,qBAAqB,IAAI;AAAA,IAC7B,IAAI;AAAA;AAAA,MAEF;AAAA,IACF;AAAA,IACA;AAAA,EACF,GAEM,kBAAc,4CAA0B;AAAA,IAC5C,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA,YAAY;AAAA,EACd,CAAC,GAEK,YAAY,IAAI,wBAAc,kBAAkB,GAEhD,wBAAwB,OAAO;AAAA,IACnC;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAIM;AAEJ,UAAM,aAA4B,CAAC,GAE7B,eAAW,sCAAe;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,SAAK,yBAAS;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,SAAS,OACb,KACA,aACG;AACH,UAAM,aAAyC,CAAC,GAE1C,eAAW,sCAAe;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,YAGbC,QAA6B;AAC7B,QAAI;AACF,cAAI,iCAAiB,GAAG;AACtB,cAAM,EAAE,GAAG,QAAI,wBAAQ;AACvB,eAAO,MAAMA,OAAM,EAAE;AAAA,MACvB;AAGA,aADe,MAAM,mBAAmB,YAAYA,QAAO,qBAAqB;AAAA,IAElF,SAAS,KAAK;AACZ,oBAAQ,MAAM,gCAAgC,GAAG,EAAE,GAC7C;AAAA,IACR;AAAA,EACF;AAMA,iBAAe,MACb,IAC+B;AAC/B,WAAO,MAAM,YAAY,OAAO,OACvB,MAAM,GAAG,GAAG,KAAK,CACzB;AAAA,EACH;AAGA,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,EACF;AACF;",
5
+ "names": ["postgres", "query"]
6
6
  }
@@ -28,7 +28,10 @@ __export(createZeroServer_exports, {
28
28
  module.exports = __toCommonJS(createZeroServer_exports);
29
29
  var import_pg = require("@rocicorp/zero/pg"), import_server = require("@rocicorp/zero/server"), import_helpers = require("@vxrn/helpers"), import_postgres = __toESM(require("postgres"), 1), import_createPermissions = require("./createPermissions"), import_context = require("./helpers/context"), import_createMutators = require("./helpers/createMutators");
30
30
  function createZeroServer(param) {
31
- var { createServerActions, schema, models } = param, dbString = (0, import_helpers.assertString)(process.env.ZERO_UPSTREAM_DB), zeroServerDatabase = new import_server.ZQLDatabase(new import_pg.PostgresJSConnection((0, import_postgres.default)(dbString)), schema), permissions = (0, import_createPermissions.createPermissions)({
31
+ var { createServerActions, database, schema, models } = param, dbString = (0, import_helpers.assertString)(database, '"database" prop'), db = (0, import_postgres.default)(dbString), zeroServerDatabase = new import_server.ZQLDatabase(new import_pg.PostgresJSConnection(
32
+ // TODO if you have duplicate postgres due to zero having its own in node_modules TS types break
33
+ db
34
+ ), schema), permissions = (0, import_createPermissions.createPermissions)({
32
35
  environment: "server",
33
36
  schema,
34
37
  models,
@@ -56,7 +59,7 @@ function createZeroServer(param) {
56
59
  response,
57
60
  asyncTasks
58
61
  };
59
- }, serverMutate = async function(run, authData) {
62
+ }, mutate = async function(run, authData) {
60
63
  var asyncTasks = [], mutators = (0, import_createMutators.createMutators)({
61
64
  models,
62
65
  environment: "server",
@@ -70,34 +73,40 @@ function createZeroServer(param) {
70
73
  createServerActions,
71
74
  can: permissions.can
72
75
  });
73
- await serverTransaction(async function(tx) {
76
+ await transaction(async function(tx) {
74
77
  await run(tx, mutators);
75
78
  }), await Promise.all(asyncTasks.map(function(t) {
76
79
  return t();
77
80
  }));
78
- }, serverQuery = serverTransaction, dummyTransactionInput = {
79
- clientGroupID: "unused",
80
- clientID: "unused",
81
- mutationID: 42,
82
- upstreamSchema: "unused"
83
81
  };
84
- async function serverTransaction(query) {
82
+ async function transaction(query2) {
85
83
  try {
86
84
  if ((0, import_context.isInZeroMutation)()) {
87
85
  var { tx } = (0, import_context.context)();
88
- return await query(tx);
86
+ return await query2(tx);
89
87
  }
90
- var output = await zeroServerDatabase.transaction(query, dummyTransactionInput);
88
+ var output = await zeroServerDatabase.transaction(query2, dummyTransactionInput);
91
89
  return output;
92
90
  } catch (err) {
93
- throw console.error(`Error running serverTransaction(): ${err}`), err;
91
+ throw console.error(`Error running transaction(): ${err}`), err;
94
92
  }
95
93
  }
94
+ async function query(cb) {
95
+ return await transaction(async function(tx) {
96
+ return await cb(tx.query);
97
+ });
98
+ }
99
+ var dummyTransactionInput = {
100
+ clientGroupID: "unused",
101
+ clientID: "unused",
102
+ mutationID: 42,
103
+ upstreamSchema: "unused"
104
+ };
96
105
  return {
97
106
  handleMutationRequest,
98
- transaction: serverTransaction,
99
- mutate: serverMutate,
100
- query: serverQuery
107
+ transaction,
108
+ mutate,
109
+ query
101
110
  };
102
111
  }
103
112
  // Annotate the CommonJS export names for ESM import in node:
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createZeroServer.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAoD,8BACpD,gBAA4B,kCAC5B,iBAAuC,0BACvC,kBAAqB,iCACrB,2BAAkC,gCAClC,iBAA0C,8BAC1C,wBAA+B;AACxB,SAAS,iBAAiB,OAAO;AACpC,MAAI,EAAE,qBAAqB,QAAQ,OAAO,IAAI,OAC1C,eAAW,6BAAa,QAAQ,IAAI,gBAAgB,GACpD,qBAAqB,IAAI,0BAAY,IAAI,mCAAqB,gBAAAA,SAAS,QAAQ,CAAC,GAAG,MAAM,GACzF,kBAAc,4CAAkB;AAAA,IAChC,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA,YAAY;AAAA,EAChB,CAAC,GACG,YAAY,IAAI,wBAAc,kBAAkB,GAChD,wBAAwB,eAAeC,QAAO;AAC9C,QAAI,EAAE,UAAU,SAAS,eAAe,IAAIA,QAExC,aAAa,CAAC,GACd,eAAW,sCAAe;AAAA,MAC1B;AAAA,MACA,KAAK,YAAY;AAAA,MACjB;AAAA,MACA,aAAa;AAAA,MACb;AAAA,MACA;AAAA,IACJ,CAAC,GAEG,WAAW,MAAM,UAAU,QAAQ,UAAU,OAAO;AAExD,QAAI,CAAC,kBAAkB,WAAW,QAAQ;AACtC,UAAI,SAAK,yBAAS;AAClB,cAAQ,KAAK,wCAAwC,WAAW,MAAM,OAAO,EAAE,EAAE,GACjF,QAAQ,IAAI,WAAW,IAAI,SAAS,MAAM;AACtC,eAAO,KAAK;AAAA,MAChB,CAAC,CAAC,EAAE,KAAK,WAAW;AAChB,gBAAQ,KAAK,+BAA+B,EAAE,EAAE;AAAA,MACpD,CAAC,EAAE,MAAM,SAAS,KAAK;AACnB,gBAAQ,MAAM,8CAAuC,GAAG;AAAA,MAC5D,CAAC;AAAA,IACL;AACA,WAAO;AAAA,MACH;AAAA,MACA;AAAA,IACJ;AAAA,EACJ,GACI,eAAe,eAAe,KAAK,UAAU;AAC7C,QAAI,aAAa,CAAC,GACd,eAAW,sCAAe;AAAA,MAC1B;AAAA,MACA,aAAa;AAAA,MACb;AAAA,MACA,UAAU;AAAA,QACN,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,MAAM;AAAA,QACN,GAAG;AAAA,MACP;AAAA,MACA;AAAA,MACA,KAAK,YAAY;AAAA,IACrB,CAAC;AACD,UAAM,kBAAkB,eAAe,IAAI;AACvC,YAAM,IAAI,IAAI,QAAQ;AAAA,IAC1B,CAAC,GACD,MAAM,QAAQ,IAAI,WAAW,IAAI,SAAS,GAAG;AACzC,aAAO,EAAE;AAAA,IACb,CAAC,CAAC;AAAA,EACN,GAGI,cAAc,mBAEd,wBAAwB;AAAA,IACxB,eAAe;AAAA,IACf,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,gBAAgB;AAAA,EACpB;AACA,iBAAe,kBAAkB,OAAO;AACpC,QAAI;AACA,cAAI,iCAAiB,GAAG;AACpB,YAAI,EAAE,GAAG,QAAI,wBAAQ;AACrB,eAAO,MAAM,MAAM,EAAE;AAAA,MACzB;AAEA,UAAI,SAAS,MAAM,mBAAmB,YAAY,OAAO,qBAAqB;AAC9E,aAAO;AAAA,IACX,SAAS,KAAK;AACV,oBAAQ,MAAM,sCAAsC,GAAG,EAAE,GACnD;AAAA,IACV;AAAA,EACJ;AACA,SAAO;AAAA,IACH;AAAA,IACA,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,OAAO;AAAA,EACX;AACJ;",
5
- "names": ["postgres", "param"]
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAoD,8BACpD,gBAA4B,kCAC5B,iBAAuC,0BACvC,kBAAqB,iCACrB,2BAAkC,gCAClC,iBAA0C,8BAC1C,wBAA+B;AACxB,SAAS,iBAAiB,OAE3B;AACF,MAAI,EAAE,qBAAqB,UAAU,QAAQ,OAAO,IAAI,OACpD,eAAW,6BAAa,UAAU,iBAAiB,GACnD,SAAK,gBAAAA,SAAS,QAAQ,GACtB,qBAAqB,IAAI,0BAAY,IAAI;AAAA;AAAA,IAC7C;AAAA,EAAE,GAAG,MAAM,GACP,kBAAc,4CAAkB;AAAA,IAChC,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA,YAAY;AAAA,EAChB,CAAC,GACG,YAAY,IAAI,wBAAc,kBAAkB,GAChD,wBAAwB,eAAeC,QAAO;AAC9C,QAAI,EAAE,UAAU,SAAS,eAAe,IAAIA,QAExC,aAAa,CAAC,GACd,eAAW,sCAAe;AAAA,MAC1B;AAAA,MACA,KAAK,YAAY;AAAA,MACjB;AAAA,MACA,aAAa;AAAA,MACb;AAAA,MACA;AAAA,IACJ,CAAC,GAEG,WAAW,MAAM,UAAU,QAAQ,UAAU,OAAO;AAExD,QAAI,CAAC,kBAAkB,WAAW,QAAQ;AACtC,UAAI,SAAK,yBAAS;AAClB,cAAQ,KAAK,wCAAwC,WAAW,MAAM,OAAO,EAAE,EAAE,GACjF,QAAQ,IAAI,WAAW,IAAI,SAAS,MAAM;AACtC,eAAO,KAAK;AAAA,MAChB,CAAC,CAAC,EAAE,KAAK,WAAW;AAChB,gBAAQ,KAAK,+BAA+B,EAAE,EAAE;AAAA,MACpD,CAAC,EAAE,MAAM,SAAS,KAAK;AACnB,gBAAQ,MAAM,8CAAuC,GAAG;AAAA,MAC5D,CAAC;AAAA,IACL;AACA,WAAO;AAAA,MACH;AAAA,MACA;AAAA,IACJ;AAAA,EACJ,GACI,SAAS,eAAe,KAAK,UAAU;AACvC,QAAI,aAAa,CAAC,GACd,eAAW,sCAAe;AAAA,MAC1B;AAAA,MACA,aAAa;AAAA,MACb;AAAA,MACA,UAAU;AAAA,QACN,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,MAAM;AAAA,QACN,GAAG;AAAA,MACP;AAAA,MACA;AAAA,MACA,KAAK,YAAY;AAAA,IACrB,CAAC;AACD,UAAM,YAAY,eAAe,IAAI;AACjC,YAAM,IAAI,IAAI,QAAQ;AAAA,IAC1B,CAAC,GACD,MAAM,QAAQ,IAAI,WAAW,IAAI,SAAS,GAAG;AACzC,aAAO,EAAE;AAAA,IACb,CAAC,CAAC;AAAA,EACN;AACA,iBAAe,YAAYC,QAAO;AAC9B,QAAI;AACA,cAAI,iCAAiB,GAAG;AACpB,YAAI,EAAE,GAAG,QAAI,wBAAQ;AACrB,eAAO,MAAMA,OAAM,EAAE;AAAA,MACzB;AAEA,UAAI,SAAS,MAAM,mBAAmB,YAAYA,QAAO,qBAAqB;AAC9E,aAAO;AAAA,IACX,SAAS,KAAK;AACV,oBAAQ,MAAM,gCAAgC,GAAG,EAAE,GAC7C;AAAA,IACV;AAAA,EACJ;AACA,iBAAe,MAAM,IAAI;AACrB,WAAO,MAAM,YAAY,eAAe,IAAI;AACxC,aAAO,MAAM,GAAG,GAAG,KAAK;AAAA,IAC5B,CAAC;AAAA,EACL;AAEA,MAAI,wBAAwB;AAAA,IACxB,eAAe;AAAA,IACf,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,gBAAgB;AAAA,EACpB;AACA,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AACJ;",
5
+ "names": ["postgres", "param", "query"]
6
6
  }
@@ -42,8 +42,10 @@ function createMutators({
42
42
  authData,
43
43
  environment,
44
44
  can,
45
- serverActions,
46
- asyncTasks
45
+ server: environment === "server" ? {
46
+ actions: serverActions || {},
47
+ asyncTasks: asyncTasks || {}
48
+ } : void 0
47
49
  };
48
50
  return await (0, import_context.runWithContext)(mutationContext, () => fn(mutationContext, ...args));
49
51
  };
@@ -34,8 +34,10 @@ function createMutators({
34
34
  authData,
35
35
  environment,
36
36
  can,
37
- serverActions,
38
- asyncTasks
37
+ server: environment === "server" ? {
38
+ actions: serverActions || {},
39
+ asyncTasks: asyncTasks || {}
40
+ } : void 0
39
41
  };
40
42
  return await (0, import_context.runWithContext)(mutationContext, () => fn(mutationContext, ...args));
41
43
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/createMutators.ts"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAoD,0BAQpD,iBAA+B;AAExB,SAAS,eAA6C;AAAA,EAC3D;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa,CAAC;AAAA,EACd;AAAA,EACA;AACF,GAO4B;AAC1B,QAAM,gBAAgB,sBAAsB,GAEtC,oBAAgB,0BAAU,QAAQ,CAAC,QAAQ,IAAI,MAAM;AAI3D,WAAS,YAAgC,IAAsC;AAC7E,WAAO,OAAO,OAAoB,SAA8B;AAC9D,YAAM,kBAAkB;AAAA,QACtB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAEA,aAAO,UAAM,+BAAe,iBAAiB,MAGpC,GAAG,iBAAiB,GAAG,IAAI,CACnC;AAAA,IACH;AAAA,EACF;AAEA,WAAS,uBACP,MACA,IACA;AACA,WAAI,QAAQ,IAAI,aAAa,iBAAiB,CAAC,QAAQ,IAAI,aAClD,KAGF,UAAU,SAA8B;AAC7C,YAAM,YAAY,YAAY,IAAI;AAElC,UAAI;AACF,QAAI,2BACF,QAAQ,KAAK,aAAa,IAAI,QAAQ;AAExC,cAAM,SAAS,MAAM,GAAG,GAAG,IAAI,GACzB,YAAY,YAAY,IAAI,IAAI,WAAW,QAAQ,CAAC;AAC1D,eAAI,2BACF,QAAQ,eAAe,aAAa,IAAI,iBAAiB,QAAQ,IAAI,GACrE,QAAQ,KAAK,UAAK,KAAK,CAAC,CAAC,GACzB,QAAQ,KAAK,UAAK,MAAM,GACxB,QAAQ,MAAM,GACd,QAAQ,SAAS,KAGjB,QAAQ,KAAK,aAAa,IAAI,iBAAiB,QAAQ,IAAI,GAEtD;AAAA,MACT,SAAS,OAAO;AACd,cAAM,YAAY,YAAY,IAAI,IAAI,WAAW,QAAQ,CAAC;AAC1D,sBAAQ,eAAe,aAAa,IAAI,iBAAiB,QAAQ,IAAI,GACrE,QAAQ,MAAM,UAAU,KAAK,GAC7B,QAAQ,KAAK,cAAc,KAAK,UAAU,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,GAC3D,QAAQ,KAAK,gBAAgB,IAAI,MAAM,EAAE,KAAK,GAC9C,QAAQ,SAAS,GACX;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,WAAS,iBACP,MACA,IAGA,YAAoB,oBAAK,GAAG,QAAQ,CAAC,GACrC;AACA,WAAO,UAAU,SAA8B;AAC7C,YAAM,iBAAiB,IAAI,QAAe,CAAC,GAAG,WAAW;AACvD,mBAAW,MAAM;AACf,iBAAO,IAAI,MAAM,aAAa,IAAI,kBAAkB,SAAS,IAAI,CAAC;AAAA,QACpE,GAAG,SAAS;AAAA,MACd,CAAC;AAED,aAAO,QAAQ,KAAK,CAAC,GAAG,GAAG,IAAI,GAAG,cAAc,CAAC;AAAA,IACnD;AAAA,EACF;AAEA,WAAS,iBAAgE,SAAY;AACnF,UAAM,SAAc,CAAC;AAErB,eAAW,CAAC,YAAY,aAAa,KAAK,OAAO,QAAQ,OAAO,GAAG;AACjE,aAAO,UAAU,IAAI,CAAC;AACtB,iBAAW,CAAC,MAAM,WAAW,KAAK,OAAO,QAAQ,aAAa;AAC5D,YAAI,OAAO,eAAgB,YAAY;AACrC,gBAAM,WAAW,GAAG,UAAU,IAAI,IAAI;AACtC,iBAAO,UAAU,EAAE,IAAI,IAAI;AAAA,YACzB;AAAA,YACA,iBAAiB,UAAU,YAAY,WAAW,CAAC;AAAA,UACrD;AAAA,QACF;AAAA,IAEJ;AAEA,WAAO;AAAA,EACT;AAEA,SAAO,iBAAiB,aAAa;AACvC;",
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAoD,0BASpD,iBAA+B;AAExB,SAAS,eAA6C;AAAA,EAC3D;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa,CAAC;AAAA,EACd;AAAA,EACA;AACF,GAO4B;AAC1B,QAAM,gBAAgB,sBAAsB,GAEtC,oBAAgB,0BAAU,QAAQ,CAAC,QAAQ,IAAI,MAAM;AAI3D,WAAS,YAAgC,IAAsC;AAC7E,WAAO,OAAO,OAAoB,SAA8B;AAC9D,YAAM,kBAAkC;AAAA,QACtC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,QACE,gBAAgB,WACZ;AAAA,UACE,SAAS,iBAAiB,CAAC;AAAA,UAC3B,YAAY,cAAc,CAAC;AAAA,QAC7B,IACA;AAAA,MACR;AAEA,aAAO,UAAM,+BAAe,iBAAiB,MAGpC,GAAG,iBAAiB,GAAG,IAAI,CACnC;AAAA,IACH;AAAA,EACF;AAEA,WAAS,uBACP,MACA,IACA;AACA,WAAI,QAAQ,IAAI,aAAa,iBAAiB,CAAC,QAAQ,IAAI,aAClD,KAGF,UAAU,SAA8B;AAC7C,YAAM,YAAY,YAAY,IAAI;AAElC,UAAI;AACF,QAAI,2BACF,QAAQ,KAAK,aAAa,IAAI,QAAQ;AAExC,cAAM,SAAS,MAAM,GAAG,GAAG,IAAI,GACzB,YAAY,YAAY,IAAI,IAAI,WAAW,QAAQ,CAAC;AAC1D,eAAI,2BACF,QAAQ,eAAe,aAAa,IAAI,iBAAiB,QAAQ,IAAI,GACrE,QAAQ,KAAK,UAAK,KAAK,CAAC,CAAC,GACzB,QAAQ,KAAK,UAAK,MAAM,GACxB,QAAQ,MAAM,GACd,QAAQ,SAAS,KAGjB,QAAQ,KAAK,aAAa,IAAI,iBAAiB,QAAQ,IAAI,GAEtD;AAAA,MACT,SAAS,OAAO;AACd,cAAM,YAAY,YAAY,IAAI,IAAI,WAAW,QAAQ,CAAC;AAC1D,sBAAQ,eAAe,aAAa,IAAI,iBAAiB,QAAQ,IAAI,GACrE,QAAQ,MAAM,UAAU,KAAK,GAC7B,QAAQ,KAAK,cAAc,KAAK,UAAU,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,GAC3D,QAAQ,KAAK,gBAAgB,IAAI,MAAM,EAAE,KAAK,GAC9C,QAAQ,SAAS,GACX;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,WAAS,iBACP,MACA,IAGA,YAAoB,oBAAK,GAAG,QAAQ,CAAC,GACrC;AACA,WAAO,UAAU,SAA8B;AAC7C,YAAM,iBAAiB,IAAI,QAAe,CAAC,GAAG,WAAW;AACvD,mBAAW,MAAM;AACf,iBAAO,IAAI,MAAM,aAAa,IAAI,kBAAkB,SAAS,IAAI,CAAC;AAAA,QACpE,GAAG,SAAS;AAAA,MACd,CAAC;AAED,aAAO,QAAQ,KAAK,CAAC,GAAG,GAAG,IAAI,GAAG,cAAc,CAAC;AAAA,IACnD;AAAA,EACF;AAEA,WAAS,iBAAgE,SAAY;AACnF,UAAM,SAAc,CAAC;AAErB,eAAW,CAAC,YAAY,aAAa,KAAK,OAAO,QAAQ,OAAO,GAAG;AACjE,aAAO,UAAU,IAAI,CAAC;AACtB,iBAAW,CAAC,MAAM,WAAW,KAAK,OAAO,QAAQ,aAAa;AAC5D,YAAI,OAAO,eAAgB,YAAY;AACrC,gBAAM,WAAW,GAAG,UAAU,IAAI,IAAI;AACtC,iBAAO,UAAU,EAAE,IAAI,IAAI;AAAA,YACzB;AAAA,YACA,iBAAiB,UAAU,YAAY,WAAW,CAAC;AAAA,UACrD;AAAA,QACF;AAAA,IAEJ;AAEA,WAAO;AAAA,EACT;AAEA,SAAO,iBAAiB,aAAa;AACvC;",
5
5
  "names": []
6
6
  }
@@ -32,8 +32,10 @@ function createMutators(param) {
32
32
  authData,
33
33
  environment,
34
34
  can,
35
- serverActions,
36
- asyncTasks
35
+ server: environment === "server" ? {
36
+ actions: serverActions || {},
37
+ asyncTasks: asyncTasks || {}
38
+ } : void 0
37
39
  };
38
40
  return await (0, import_context.runWithContext)(mutationContext, function() {
39
41
  return fn(mutationContext, ...args);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/createMutators.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }