on-zero 0.1.31 → 0.1.33

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 (52) hide show
  1. package/dist/cjs/createZeroClient.js.map +1 -1
  2. package/dist/cjs/createZeroClient.native.js.map +1 -1
  3. package/dist/cjs/createZeroServer.cjs +11 -5
  4. package/dist/cjs/createZeroServer.js +26 -16
  5. package/dist/cjs/createZeroServer.js.map +1 -1
  6. package/dist/cjs/createZeroServer.native.js +37 -28
  7. package/dist/cjs/createZeroServer.native.js.map +1 -1
  8. package/dist/cjs/helpers/getQueryOrMutatorAuthData.cjs +3 -2
  9. package/dist/cjs/helpers/getQueryOrMutatorAuthData.js +2 -2
  10. package/dist/cjs/helpers/getQueryOrMutatorAuthData.js.map +1 -1
  11. package/dist/cjs/helpers/getQueryOrMutatorAuthData.native.js +3 -2
  12. package/dist/cjs/helpers/getQueryOrMutatorAuthData.native.js.map +1 -1
  13. package/dist/cjs/helpers/queryContext.cjs +38 -0
  14. package/dist/cjs/helpers/queryContext.js +33 -0
  15. package/dist/cjs/helpers/queryContext.js.map +6 -0
  16. package/dist/cjs/helpers/queryContext.native.js +42 -0
  17. package/dist/cjs/helpers/queryContext.native.js.map +1 -0
  18. package/dist/esm/createZeroClient.js.map +1 -1
  19. package/dist/esm/createZeroClient.mjs.map +1 -1
  20. package/dist/esm/createZeroClient.native.js.map +1 -1
  21. package/dist/esm/createZeroServer.js +27 -16
  22. package/dist/esm/createZeroServer.js.map +1 -1
  23. package/dist/esm/createZeroServer.mjs +12 -6
  24. package/dist/esm/createZeroServer.mjs.map +1 -1
  25. package/dist/esm/createZeroServer.native.js +38 -29
  26. package/dist/esm/createZeroServer.native.js.map +1 -1
  27. package/dist/esm/helpers/getQueryOrMutatorAuthData.js +2 -1
  28. package/dist/esm/helpers/getQueryOrMutatorAuthData.js.map +1 -1
  29. package/dist/esm/helpers/getQueryOrMutatorAuthData.mjs +2 -1
  30. package/dist/esm/helpers/getQueryOrMutatorAuthData.mjs.map +1 -1
  31. package/dist/esm/helpers/getQueryOrMutatorAuthData.native.js +2 -1
  32. package/dist/esm/helpers/getQueryOrMutatorAuthData.native.js.map +1 -1
  33. package/dist/esm/helpers/queryContext.js +17 -0
  34. package/dist/esm/helpers/queryContext.js.map +6 -0
  35. package/dist/esm/helpers/queryContext.mjs +13 -0
  36. package/dist/esm/helpers/queryContext.mjs.map +1 -0
  37. package/dist/esm/helpers/queryContext.native.js +14 -0
  38. package/dist/esm/helpers/queryContext.native.js.map +1 -0
  39. package/package.json +2 -2
  40. package/src/createZeroClient.tsx +1 -3
  41. package/src/createZeroServer.ts +50 -35
  42. package/src/helpers/getQueryOrMutatorAuthData.ts +5 -1
  43. package/src/helpers/queryContext.ts +20 -0
  44. package/types/createZeroClient.d.ts +1 -1
  45. package/types/createZeroClient.d.ts.map +1 -1
  46. package/types/createZeroServer.d.ts +1 -1
  47. package/types/createZeroServer.d.ts.map +1 -1
  48. package/types/helpers/getQueryOrMutatorAuthData.d.ts.map +1 -1
  49. package/types/helpers/queryContext.d.ts +7 -0
  50. package/types/helpers/queryContext.d.ts.map +1 -0
  51. package/types/helpers/queryContext.test.d.ts +2 -0
  52. package/types/helpers/queryContext.test.d.ts.map +1 -0
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","defineQueries","defineQuery","useConnectionState","useZero","ZeroProvider","createEmitter","createContext","memo","use","useEffect","useMemo","useRef","createPermissions","createUseQuery","createMutators","getQueryOrMutatorAuthData","getAllMutationsPermissions","getMutationsPermissions","registerQuery","resolveQuery","setCustomQueries","setAuthData","setSchema","getRawWhere","setEvaluatingPermission","setRunner","zql","createZeroClient","param","schema","models","groupedQueries","permissionStrategy","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","permissionCheckFns","createPermissionCheckFn","table","perm","base","objOrId","where","eb","cmpLit","one","rawPerm","buildPermissionQuery","e","and","permission","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop1","_step2","_iterator2","customQueries","DisabledContext","latestZeroInstance","zero","Proxy","get","_","key","Error","Reflect","zeroEvents","AuthDataContext","useQuery","usePermission","enabled","arguments","length","debug","disabled","tableStr","checkFn","data","status","console","info","type","ProvideZero","children","authData","authDataIn","disable","props","mutators","can","Provider","kvStore","SetZeroInstance","ConnectionMonitor"],"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","getAllMutationsPermissions","getMutationsPermissions","registerQuery","resolveQuery","setCustomQueries","setAuthData","setSchema","getRawWhere","setEvaluatingPermission","setRunner","zql","createZeroClient","param","schema","models","groupedQueries","permissionStrategy","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","permissionCheckFns","createPermissionCheckFn","table","perm","base","objOrId","where","eb","cmpLit","one","rawPerm","buildPermissionQuery","e","and","permission","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop1","_step2","_iterator2","customQueries","DisabledContext","latestZeroInstance","zero","Proxy","get","_","key","Error","Reflect","zeroEvents","AuthDataContext","useQuery","usePermission","enabled","arguments","length","debug","disabled","tableStr","checkFn","data","status","console","info","type","ProvideZero","children","authData","authDataIn","disable","props","mutators","can","Provider","kvStore","SetZeroInstance","ConnectionMonitor"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAA,IAAAC,IAAA,EAAAC,IAAe,IAAAC,KAAA,QAAmB;AAC3C,SAASC,aAAA,EAAAC,WAAoB,QAAS,gBAAoB;AAC1D,SAASC,kBAAA,EAAAC,OAAqB,EAAAC,YAAA;AAC9B,SAAAC,aAAA;AAAA,SACEC,aAAA,EAAAC,IAAA,EAAAC,GAAA,EAAAC,SAAA,EAAAC,OAAA,EAAAC,MAAA;AAAA,SACAC,iBAAA;AAAA,SACAC,cAAA;AAAA,SACAC,cAAA;AAAA,SACAC,yBAAA;AAAA,SACAC,0BAAA,EAAAC,uBAAA;AAAA,SAEKC,aAAA;AAEP,SAASC,YAAA,kCAAyB;AAClC,SAASC,gBAAA,QAAsB;AAC/B,SAASC,WAAA,EAAAC,SAAsB;AAC/B,SAASC,WAAA,EAAAC,uBAAiC;AAC1C,SAASC,SAAA,gCAA4B;AACrC,SAASC,GAAA;AACT,SAASC,iBAAAC,KAAuC;EAChD;IAAAC,MAAS;IAAAC,MAAA;IAAAC,cAAwB;IAAAC,kBAAA;EAAA,IAAAJ,KAAA;EACjCN,SAAS,CAAAO,MAAA;EACT,IAAAI,kBAAsB,GAAArB,iBAAA;MACtBiB,MAAS;MACTK,WAAS;IAiOD;IAAAC,iBAAA;IAAAC,yBAAA;IAAAC,iBAAA;IAAAC,cAAA;EAlND;IAIL,SAAAC,SAAA,GAAAC,MAAA,CAAAC,OAAA,CAAAV,cAAA,EAAAW,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAR,yBAAA,IAAAQ,KAAA,GAAAL,SAAA,CAAAM,IAAA,IAAAC,IAAA,GAAAV,yBAAA;MACA,KAAAW,SAAA,EAAAC,OAAA,IAAAJ,KAAA,CAAAK,KAAA;MACAd,iBAAA,CAAAY,SAAA;MACA,IAAAG,0BAAqB;QAAAC,kBAAA;QAAAC,eAAA;MAMpB;QAKD,KAAU,IAAAC,KAAM,YAAAA,CAAA;YAEV,KAAAC,IAAA,EAAAC,EAAA,IAAAC,MAAqB,CAAAP,KAAA;YACzB/B,aAAA,CAAAqC,EAAA,KAAAR,SAAA,IAAAO,IAAA,KAAAnB,iBAAA,CAAAY,SAAA,EAAAO,IAAA,IAAArD,WAAA,WAAAwD,MAAA;cACA;gBAAaC;cAAA,IAAAD,MAAA;cAKT,OAAAF,EAAA,CAAAG,IAGF,CAAC;YAEL;UACE,GAAAC,UAAA,GAAkBnB,MAAA,CAASC,OAAK,CAAAO,OAAA,EAAAN,MAAA,CAAAC,QAAA,KAAAa,MAAA,IAAAN,0BAAA,IAAAM,MAAA,GAAAG,UAAA,CAAAd,IAAA,IAAAC,IAAA,GAAAI,0BAAA,OAAAG,KAAA;MAChC,SAAWO,GAAC;QACVT,kBAAkB,GAAG,IAAAC,eAAmB,GAExCQ,GAAA;MAAqC,UAAoB;QAEzD;UAEJ,CAAAV,0BAAA,IAAAS,UAAA,CAAAE,MAAA,YAAAF,UAAA,CAAAE,MAAA;QAKM;UAME,IAAAV,kBAA0D,EACxD,MAAAC,eAAO;QAGb;MACE;IAGF;EAGE,SAAAQ,GAAM;IACNvB,iBACG,KAAM,EAACC,cAAY,GAAAsB,GAAA;EAClB;IACA;MACE,CAAAxB,yBAAO,IAAAG,SAAmB,CAAAsB,MAAA,YAAAtB,SAAA,CAAAsB,MAAA;IAAA,UACxB;MAA0B,IAAAxB,iBAC1B,QACAC,cAAa;IAAiB;EACzB;EACL,IAAAwB,kBACF;IAAAC,uBAAA,YAAAA,CAAAC,KAAA;MAAA,IAAAT,EACF,YAAAA,CAAEG,IAAA;QACA,IAAAO,IAAA,GAAAhD,uBAA6B,CAAA+C,KAAA;UAAAE,IAAA,GAAAxC,GAAA,CAAAsC,KAAA;QAAA,IAC/B,CAAAN,IAAA,CAAAS,OAAA,EACF,OACKD,IAAA,CAAAE,KAAA,WAAAC,EAAA;UACT,OAAAA,EAAA,CAAAC,MAAA;QAEA,GAAAC,GAAI;QAU0B,IACxBvC,kBAAA,iBAA0B;UAC1B,IAAAwC,OAAA,GAAAP,IAAA,KAAA1C,WAAA,CAAA0C,IAAA,KAAAA,IAAA;UACA,OAAAC,IAAU,CAAAE,KAAW,CAAE,UAAIC,EAAA;YAC3B7C,uBAAK;YACL;cAGH,OAAIS,kBAAA,CAAAwC,oBAAA,CAAA1D,yBAAA,IAAAsD,EAAA,EAAAG,OAAA,cAAAE,CAAA;gBACT,OAAAA,CAAA,CAAAC,GAAA;cACA,GAAAjB,IAAA,CAAAS,OAAA,EAAAH,KAAmB,CAAK;YAG1B;cAEAxC,uBAAmC;YACnC;UACE,EAAM,CAAA+C,GAAA,CAAK;QACX;QACF,OAAAvC,kBAAA,yBAAAkC,IAAA,CAAAE,KAAA,WAAAC,EAAA;UAGM,OAAAA,EAAA,CAAAC,MAAgB;QAGtB,GAAAC,GAAA,KAAAL,IAAiB,CAAAE,KAAA,WAAaC,EAAA;UAExB,OAAApC,kBAAkB,CAAAwC,oBAAmB,CAAA1D,yBAAA,IAAAsD,EAAA,EAAAJ,IAAA,cAAAS,CAAA;YAEvC,OAAAA,CAAA,CAAAC,GAAA;UAIE,GAAAjB,IAAqB,CAAAS,OAAI,EAAMH,KAAa;QAChD,EAAI,CAAAO,GAAG;MACL;MACE,OAAAT,kBAAU,CAAAE,KAAA,IAAAT,EAAA,EAAArC,aAAA,CAAAqC,EAAA,gBAAAS,KAAA,KAAAT,EAAA;IAAA;EACRpB,iBACF,CAAAyC,UAAA;EAEF,IAAAC,0BAAmB;IAAAC,kBAAyB;IAAAC,eAAkB;EAAA,IAChE;IACD,KAEK,IAAAC,MAAa,YAAAA,CAAA,EAAgC;QAKjD,KAAAhB,KAAA,IAAAiB,MAAA,CAAAhC,KAAA;UAAAM,EAAA,GAAAQ,uBAAA,CAAAC,KAAA;QACA7B,iBAAA,CAAAyC,UAAA,CAAAZ,KAAA,IAAA/D,WAAA,WAAAwD,MAAA;UACD;YAAAC;UAAA,IAAAD,MAAA;UAID,OAASF,EAAA,CAAAG,IAAA;QAMP;MAIuB,GACrBwB,UAAA,GAAAlE,0BAAA,GAAA0B,MAAA,CAAAC,QAAA,KAAAsC,MAAA,IAAAJ,0BAAA,IAAAI,MAAA,GAAAC,UAAA,CAAArC,IAAA,IAAAC,IAAA,GAAA+B,0BAAA,OAAAG,MAAA;EAAA,SACEpB,GAAA,EAAwB;IAAAkB,kBACN,OAAAC,eAAuB,GAAAnB,GAAA;EAAoB,UACjE;IAMA;MAMF,CAAAiB,0BAAA,IAAAK,UAAA,CAAArB,MAAA,YAAAqB,UAAA,CAAArB,MAAA;IAEA,UAAM;MACJ,IAAAiB,kBAAA,EACA,MAAUC,eAAA;IACV;EAAA;EAEF,IAAAI,aAIM,GAAAnF,aAAA,CAAAmC,iBAAA;EACJf,gBAAM,CAAA+D,aAAY;EAIlB,IAAAC,eAAY,GAAQ,eAAA9E,aAAA;IAAA+E,kBAAA;IAAAC,IAAA,OAAAC,KAAA;MAIpBC,IAAAC,CAAA,EAAMC,GAAA;QAEF,IAAAL,kBAAA,WACA,UAAAM,KAAa;QACb,OAAAC,OAAA,CAAAJ,GAAA,CAAAH,kBAAA,EAAAK,GAAA,EAAAL,kBAAA;MAAA;IACwB,EAC1B;IAACQ,UAEC,GAASxF,aAAA;IAAAyF,eAAA,kBAAAxF,aAAA;IAAAyF,QAAA,GAAAlF,cAAA;MAGbuE,eAAI;MAMAD;IAAC;EAAA,SACCa,cAAAhC,KAAA,EAAAG,OAAA;IAAA,IACA8B,OAAA,GAAQC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA,aAAA/B,OAAA;MAAAiC,KAAA,GAAAF,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;MAAAG,QAAA,GAAA7F,GAAA,CAAA4E,eAAA;MAAAkB,QAAA,GAAAtC,KAAA;MAAAuC,OAAA,GAAAzC,kBAAA,CAAAwC,QAAA;MAAA,CAAAE,IAAA,EAAAC,MAAA,IAAAV,QAAA,CAAAQ,OAAA;QAAApC;MAER;QACI8B,OAEJ,MAAAI,QAAA,IAAAJ,OAAA,IAAA9B,OAAA,IAAAoC,OAAA;MAAA;IAAiB,OACjBH,KAAA,IAAAM,OAAA,CAAAC,IAAC,oBAAkB;MAAwB3C,KAC1C;MAAAG,OAAA;MAAAqC,IAAA;MACHC;IAGN,CAEM,GAAAtC,OAAA,GAAAsC,MAAkB,CAAAG,IAAM,0BAAAJ,IAAA;EAC5B;EAQA,IAAAK,WAAI,YAAAA,CAAiBpD,MAAA;MAOvB,IAGM;UAAAqD,QAAA;UAAAC,QAAoB,EAAAC,UAAA;UAAAC,OAAA;UAAA,GAAAC;QAAA,IAAAzD,MAAA;QAAAsD,QAAA,GAAAC,UAAA;MACxB3F,WAAC,CAAA0F,QAAA;MAAA,IACCI,QAAA,GAAAzG,OAAA,CACF,YAEM;QACJ,OAAMI,cAAQ;UAGdgB,MAAA;UACEI,WAAU,UAAS;UACjB6E,QAAM;UAGNK,GAAA,EAFAnF,kBAAU,CAAUmF;QAGlB;MACA;MAAgB;MACR,CACNL,QACD,CACH;MACF,OACEE,OAAO,GAAAH,QAAW,GAEf,eAAAjH,IAAA,CAAAiG,eAAA,CAAAuB,QAAA;QACTpE,KAAA,EAAA8D,QAAA;QACFD,QAAA,iBAAA/G,KAAA,CAAAK,YAAA;UAaAyB,MAAS;UAKPyF,OAAM,OACJ;UAKF;UACFH,QAAA;UAEA,GAAOD,KAAA;UACLJ,QAAA,GACA,eAAAjH,IAAA,CAAA0H,eAAA,OACA,eAAA1H,IAAA,CAAA2H,iBAAA;YACA3B;UACA,IACAiB,QAAA;QAEJ","ignoreList":[]}
@@ -7,9 +7,10 @@ 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 { runWithQueryContext } from "./helpers/queryContext";
10
11
  import { getMutationsPermissions } from "./modelRegistry";
11
12
  import { setCustomQueries } from "./run";
12
- import { getZQL, setAuthData, setSchema } from "./state";
13
+ import { getZQL, setSchema } from "./state";
13
14
  import { setRunner } from "./zeroRunner";
14
15
  function createZeroServer({
15
16
  createServerActions,
@@ -67,19 +68,28 @@ function createZeroServer({
67
68
  throw new Error(
68
69
  "No queries registered with createZeroServer. Pass the syncedQueries registry to createZeroServer via the queries option."
69
70
  );
70
- return setAuthData(authData || {}), {
71
- response: await zeroHandleQueryRequest(
72
- (name, args) => {
73
- if (name.startsWith("permission.")) {
74
- const table = name.slice(11), { objOrId } = args, perm = getMutationsPermissions(table);
75
- if (!perm)
76
- 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 validateQuery && validateQuery({ authData, queryName: name, params: args }), mustGetQuery(queries, name).fn({ args, ctx: authData });
80
- },
81
- schema,
82
- request
71
+ return {
72
+ response: await runWithQueryContext(
73
+ { authData: authData || {} },
74
+ () => zeroHandleQueryRequest(
75
+ (name, args) => {
76
+ if (name.startsWith("permission.")) {
77
+ const table = name.slice(11), { objOrId } = args, perm = getMutationsPermissions(table);
78
+ if (!perm)
79
+ throw new Error(`[permission] no permission defined for table: ${table}`);
80
+ return getZQL()[table].where((eb) => permissions.buildPermissionQuery(
81
+ authData,
82
+ eb,
83
+ perm,
84
+ objOrId,
85
+ table
86
+ )).one();
87
+ }
88
+ return validateQuery && validateQuery({ authData, queryName: name, params: args }), mustGetQuery(queries, name).fn({ args, ctx: authData });
89
+ },
90
+ schema,
91
+ request
92
+ )
83
93
  )
84
94
  };
85
95
  }, mutate = async (run, authData, options) => {
@@ -122,8 +132,9 @@ function createZeroServer({
122
132
  throw console.error(`Error running transaction(): ${err}`), err;
123
133
  }
124
134
  }
125
- function query(cb) {
126
- return transaction(async (tx) => tx.run(cb(getZQL())));
135
+ function query(cb, authData) {
136
+ const run = () => transaction(async (tx) => tx.run(cb(getZQL())));
137
+ return authData !== void 0 ? runWithQueryContext({ authData }, run) : run();
127
138
  }
128
139
  queries && setCustomQueries(queries), setRunner((queryObj) => transaction(async (tx) => tx.run(queryObj)));
129
140
  const dummyTransactionInput = {
@@ -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": ["query"]
6
6
  }
@@ -7,9 +7,10 @@ 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 { runWithQueryContext } from "./helpers/queryContext.mjs";
10
11
  import { getMutationsPermissions } from "./modelRegistry.mjs";
11
12
  import { setCustomQueries } from "./run.mjs";
12
- import { getZQL, setAuthData, setSchema } from "./state.mjs";
13
+ import { getZQL, setSchema } from "./state.mjs";
13
14
  import { setRunner } from "./zeroRunner.mjs";
14
15
  function createZeroServer({
15
16
  createServerActions,
@@ -70,8 +71,10 @@ function createZeroServer({
70
71
  request
71
72
  }) => {
72
73
  if (!queries) throw new Error("No queries registered with createZeroServer. Pass the syncedQueries registry to createZeroServer via the queries option.");
73
- return setAuthData(authData || {}), {
74
- response: await zeroHandleQueryRequest((name, args) => {
74
+ return {
75
+ response: await runWithQueryContext({
76
+ authData: authData || {}
77
+ }, () => zeroHandleQueryRequest((name, args) => {
75
78
  if (name.startsWith("permission.")) {
76
79
  const table = name.slice(11),
77
80
  {
@@ -89,7 +92,7 @@ function createZeroServer({
89
92
  args,
90
93
  ctx: authData
91
94
  });
92
- }, schema, request)
95
+ }, schema, request))
93
96
  };
94
97
  },
95
98
  mutate = async (run, authData, options) => {
@@ -132,8 +135,11 @@ function createZeroServer({
132
135
  throw console.error(`Error running transaction(): ${err}`), err;
133
136
  }
134
137
  }
135
- function query(cb) {
136
- return transaction(async tx => tx.run(cb(getZQL())));
138
+ function query(cb, authData) {
139
+ const run = () => transaction(async tx => tx.run(cb(getZQL())));
140
+ return authData !== void 0 ? runWithQueryContext({
141
+ authData
142
+ }, run) : run();
137
143
  }
138
144
  queries && setCustomQueries(queries), setRunner(queryObj => transaction(async tx => tx.run(queryObj)));
139
145
  const dummyTransactionInput = {
@@ -1 +1 @@
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","validateQuery","validateMutation","defaultAllowAdminRole","dbString","zeroDb","connectionString","ssl","includes","rejectUnauthorized","permissions","environment","adminRoleMode","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","startsWith","table","slice","objOrId","perm","where","eb","buildPermissionQuery","one","queryName","params","fn","ctx","mutate","run","options","email","role","transaction","tx","awaitAsyncTasks","t","query2","dummyTransactionInput","query","cb","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","randomId","Pool","createPermissions","createMutators","isInZeroMutation","mutatorContext","runWithQueryContext","getMutationsPermissions","setCustomQueries","getZQL","setSchema","setRunner","createZeroServer","createServerActions","database","schema","models","queries","validateQuery","validateMutation","defaultAllowAdminRole","dbString","zeroDb","connectionString","ssl","includes","rejectUnauthorized","permissions","environment","adminRoleMode","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","startsWith","table","slice","objOrId","perm","where","eb","buildPermissionQuery","one","queryName","params","fn","ctx","mutate","run","options","email","role","transaction","tx","awaitAsyncTasks","t","query2","dummyTransactionInput","query","cb","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -7,9 +7,10 @@ import { Pool } from "pg";
7
7
  import { createPermissions } from "./createPermissions.native.js";
8
8
  import { createMutators } from "./helpers/createMutators.native.js";
9
9
  import { isInZeroMutation, mutatorContext } from "./helpers/mutatorContext.native.js";
10
+ import { runWithQueryContext } from "./helpers/queryContext.native.js";
10
11
  import { getMutationsPermissions } from "./modelRegistry.native.js";
11
12
  import { setCustomQueries } from "./run.native.js";
12
- import { getZQL, setAuthData, setSchema } from "./state.native.js";
13
+ import { getZQL, setSchema } from "./state.native.js";
13
14
  import { setRunner } from "./zeroRunner.native.js";
14
15
  function createZeroServer(param) {
15
16
  var {
@@ -75,30 +76,33 @@ function createZeroServer(param) {
75
76
  request
76
77
  } = param2;
77
78
  if (!queries) throw new Error("No queries registered with createZeroServer. Pass the syncedQueries registry to createZeroServer via the queries option.");
78
- setAuthData(authData || {});
79
- var response = await zeroHandleQueryRequest(function (name, args) {
80
- if (name.startsWith("permission.")) {
81
- var table = name.slice(11),
82
- {
83
- objOrId
84
- } = args,
85
- perm = getMutationsPermissions(table);
86
- if (!perm) throw new Error(`[permission] no permission defined for table: ${table}`);
87
- return getZQL()[table].where(function (eb) {
88
- return permissions.buildPermissionQuery(authData, eb, perm, objOrId, table);
89
- }).one();
90
- }
91
- validateQuery && validateQuery({
92
- authData,
93
- queryName: name,
94
- params: args
95
- });
96
- var _$query = mustGetQuery(queries, name);
97
- return _$query.fn({
98
- args,
99
- ctx: authData
100
- });
101
- }, schema, request);
79
+ var response = await runWithQueryContext({
80
+ authData: authData || {}
81
+ }, function () {
82
+ return zeroHandleQueryRequest(function (name, args) {
83
+ if (name.startsWith("permission.")) {
84
+ var table = name.slice(11),
85
+ {
86
+ objOrId
87
+ } = args,
88
+ perm = getMutationsPermissions(table);
89
+ if (!perm) throw new Error(`[permission] no permission defined for table: ${table}`);
90
+ return getZQL()[table].where(function (eb) {
91
+ return permissions.buildPermissionQuery(authData, eb, perm, objOrId, table);
92
+ }).one();
93
+ }
94
+ validateQuery && validateQuery({
95
+ authData,
96
+ queryName: name,
97
+ params: args
98
+ });
99
+ var _$query = mustGetQuery(queries, name);
100
+ return _$query.fn({
101
+ args,
102
+ ctx: authData
103
+ });
104
+ }, schema, request);
105
+ });
102
106
  return {
103
107
  response
104
108
  };
@@ -148,10 +152,15 @@ function createZeroServer(param) {
148
152
  throw console.error(`Error running transaction(): ${err}`), err;
149
153
  }
150
154
  }
151
- function query(cb) {
152
- return transaction(async function (tx) {
153
- return tx.run(cb(getZQL()));
154
- });
155
+ function query(cb, authData) {
156
+ var run = function () {
157
+ return transaction(async function (tx) {
158
+ return tx.run(cb(getZQL()));
159
+ });
160
+ };
161
+ return authData !== void 0 ? runWithQueryContext({
162
+ authData
163
+ }, run) : run();
155
164
  }
156
165
  queries && setCustomQueries(queries), setRunner(function (queryObj) {
157
166
  return transaction(async function (tx) {
@@ -1 +1 @@
1
- {"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","randomId","Pool","createPermissions","createMutators","isInZeroMutation","mutatorContext","getMutationsPermissions","setCustomQueries","getZQL","setAuthData","setSchema","setRunner","createZeroServer","param","createServerActions","database","schema","models","queries","validateQuery","validateMutation","defaultAllowAdminRole","dbString","zeroDb","connectionString","ssl","includes","rejectUnauthorized","permissions","environment","adminRoleMode","processor","handleMutationRequest","param2","authData","request","skipAsyncTasks","asyncTasks","mutators","can","response","process","length","id","console","info","Promise","all","map","task","then","catch","err","error","Error","name","args","startsWith","table","slice","objOrId","perm","where","eb","buildPermissionQuery","one","queryName","params","_$query","fn","ctx","mutate","run","options","email","role","transaction","tx","awaitAsyncTasks","t","query2","output","dummyTransactionInput","query","cb","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","randomId","Pool","createPermissions","createMutators","isInZeroMutation","mutatorContext","runWithQueryContext","getMutationsPermissions","setCustomQueries","getZQL","setSchema","setRunner","createZeroServer","param","createServerActions","database","schema","models","queries","validateQuery","validateMutation","defaultAllowAdminRole","dbString","zeroDb","connectionString","ssl","includes","rejectUnauthorized","permissions","environment","adminRoleMode","processor","handleMutationRequest","param2","authData","request","skipAsyncTasks","asyncTasks","mutators","can","response","process","length","id","console","info","Promise","all","map","task","then","catch","err","error","Error","name","args","startsWith","table","slice","objOrId","perm","where","eb","buildPermissionQuery","one","queryName","params","_$query","fn","ctx","mutate","run","options","email","role","transaction","tx","awaitAsyncTasks","t","query2","output","dummyTransactionInput","query","cb","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,8 @@
1
1
  import { getAuthData } from "../state";
2
2
  import { isInZeroMutation, mutatorContext } from "./mutatorContext";
3
+ import { isInQueryContext, queryAuthData } from "./queryContext";
3
4
  function getQueryOrMutatorAuthData() {
4
- return isInZeroMutation() ? mutatorContext().authData : getAuthData();
5
+ return isInZeroMutation() ? mutatorContext().authData : isInQueryContext() ? queryAuthData() : getAuthData();
5
6
  }
6
7
  export {
7
8
  getQueryOrMutatorAuthData
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/getQueryOrMutatorAuthData.ts"],
4
- "mappings": "AAAA,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB,sBAAsB;AAI1C,SAAS,4BAA6C;AAC3D,SAAI,iBAAiB,IACZ,eAAe,EAAE,WAGnB,YAAY;AACrB;",
4
+ "mappings": "AAAA,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB,sBAAsB;AACjD,SAAS,kBAAkB,qBAAqB;AAIzC,SAAS,4BAA6C;AAC3D,SAAI,iBAAiB,IACZ,eAAe,EAAE,WAEtB,iBAAiB,IACZ,cAAc,IAGhB,YAAY;AACrB;",
5
5
  "names": []
6
6
  }
@@ -1,7 +1,8 @@
1
1
  import { getAuthData } from "../state.mjs";
2
2
  import { isInZeroMutation, mutatorContext } from "./mutatorContext.mjs";
3
+ import { isInQueryContext, queryAuthData } from "./queryContext.mjs";
3
4
  function getQueryOrMutatorAuthData() {
4
- return isInZeroMutation() ? mutatorContext().authData : getAuthData();
5
+ return isInZeroMutation() ? mutatorContext().authData : isInQueryContext() ? queryAuthData() : getAuthData();
5
6
  }
6
7
  export { getQueryOrMutatorAuthData };
7
8
  //# sourceMappingURL=getQueryOrMutatorAuthData.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["getAuthData","isInZeroMutation","mutatorContext","getQueryOrMutatorAuthData","authData"],"sources":["../../../src/helpers/getQueryOrMutatorAuthData.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAmB;AAC5B,SAASC,gBAAA,EAAkBC,cAAA,QAAsB;AAI1C,SAASC,0BAAA,EAA6C;EAC3D,OAAIF,gBAAA,CAAiB,IACZC,cAAA,CAAe,EAAEE,QAAA,GAGnBJ,WAAA,CAAY;AACrB","ignoreList":[]}
1
+ {"version":3,"names":["getAuthData","isInZeroMutation","mutatorContext","isInQueryContext","queryAuthData","getQueryOrMutatorAuthData","authData"],"sources":["../../../src/helpers/getQueryOrMutatorAuthData.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAmB;AAC5B,SAASC,gBAAA,EAAkBC,cAAA,QAAsB;AACjD,SAASC,gBAAA,EAAkBC,aAAA,QAAqB;AAIzC,SAASC,0BAAA,EAA6C;EAC3D,OAAIJ,gBAAA,CAAiB,IACZC,cAAA,CAAe,EAAEI,QAAA,GAEtBH,gBAAA,CAAiB,IACZC,aAAA,CAAc,IAGhBJ,WAAA,CAAY;AACrB","ignoreList":[]}
@@ -1,7 +1,8 @@
1
1
  import { getAuthData } from "../state.native.js";
2
2
  import { isInZeroMutation, mutatorContext } from "./mutatorContext.native.js";
3
+ import { isInQueryContext, queryAuthData } from "./queryContext.native.js";
3
4
  function getQueryOrMutatorAuthData() {
4
- return isInZeroMutation() ? mutatorContext().authData : getAuthData();
5
+ return isInZeroMutation() ? mutatorContext().authData : isInQueryContext() ? queryAuthData() : getAuthData();
5
6
  }
6
7
  export { getQueryOrMutatorAuthData };
7
8
  //# sourceMappingURL=getQueryOrMutatorAuthData.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getAuthData","isInZeroMutation","mutatorContext","getQueryOrMutatorAuthData","authData"],"sources":["../../../src/helpers/getQueryOrMutatorAuthData.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAmB;AAC5B,SAASC,gBAAA,EAAkBC,cAAA,QAAsB;AAI1C,SAASC,0BAAA,EAA6C;EAC3D,OAAIF,gBAAA,CAAiB,IACZC,cAAA,CAAe,EAAEE,QAAA,GAGnBJ,WAAA,CAAY;AACrB","ignoreList":[]}
1
+ {"version":3,"names":["getAuthData","isInZeroMutation","mutatorContext","isInQueryContext","queryAuthData","getQueryOrMutatorAuthData","authData"],"sources":["../../../src/helpers/getQueryOrMutatorAuthData.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAmB;AAC5B,SAASC,gBAAA,EAAkBC,cAAA,QAAsB;AACjD,SAASC,gBAAA,EAAkBC,aAAA,QAAqB;AAIzC,SAASC,0BAAA,EAA6C;EAC3D,OAAIJ,gBAAA,CAAiB,IACZC,cAAA,CAAe,EAAEI,QAAA,GAEtBH,gBAAA,CAAiB,IACZC,aAAA,CAAc,IAGhBJ,WAAA,CAAY;AACrB","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ import { createAsyncContext } from "@take-out/helpers";
2
+ const asyncContext = createAsyncContext();
3
+ function queryAuthData() {
4
+ return asyncContext.get()?.authData ?? null;
5
+ }
6
+ function isInQueryContext() {
7
+ return !!asyncContext.get();
8
+ }
9
+ function runWithQueryContext(context, fn) {
10
+ return asyncContext.run(context, fn);
11
+ }
12
+ export {
13
+ isInQueryContext,
14
+ queryAuthData,
15
+ runWithQueryContext
16
+ };
17
+ //# sourceMappingURL=queryContext.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/queryContext.ts"],
4
+ "mappings": "AAAA,SAAS,0BAA0B;AAInC,MAAM,eAAe,mBAAkD;AAEhE,SAAS,gBAAiC;AAC/C,SAAO,aAAa,IAAI,GAAG,YAAY;AACzC;AAEO,SAAS,mBAAmB;AACjC,SAAO,CAAC,CAAC,aAAa,IAAI;AAC5B;AAEO,SAAS,oBACd,SACA,IACY;AACZ,SAAO,aAAa,IAAI,SAAS,EAAE;AACrC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,13 @@
1
+ import { createAsyncContext } from "@take-out/helpers";
2
+ const asyncContext = createAsyncContext();
3
+ function queryAuthData() {
4
+ return asyncContext.get()?.authData ?? null;
5
+ }
6
+ function isInQueryContext() {
7
+ return !!asyncContext.get();
8
+ }
9
+ function runWithQueryContext(context, fn) {
10
+ return asyncContext.run(context, fn);
11
+ }
12
+ export { isInQueryContext, queryAuthData, runWithQueryContext };
13
+ //# sourceMappingURL=queryContext.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createAsyncContext","asyncContext","queryAuthData","get","authData","isInQueryContext","runWithQueryContext","context","fn","run"],"sources":["../../../src/helpers/queryContext.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,kBAAA,QAA0B;AAInC,MAAMC,YAAA,GAAeD,kBAAA,CAAkD;AAEhE,SAASE,cAAA,EAAiC;EAC/C,OAAOD,YAAA,CAAaE,GAAA,CAAI,GAAGC,QAAA,IAAY;AACzC;AAEO,SAASC,iBAAA,EAAmB;EACjC,OAAO,CAAC,CAACJ,YAAA,CAAaE,GAAA,CAAI;AAC5B;AAEO,SAASG,oBACdC,OAAA,EACAC,EAAA,EACY;EACZ,OAAOP,YAAA,CAAaQ,GAAA,CAAIF,OAAA,EAASC,EAAE;AACrC","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ import { createAsyncContext } from "@take-out/helpers";
2
+ var asyncContext = createAsyncContext();
3
+ function queryAuthData() {
4
+ var _asyncContext_get, _asyncContext_get_authData;
5
+ return (_asyncContext_get_authData = (_asyncContext_get = asyncContext.get()) === null || _asyncContext_get === void 0 ? void 0 : _asyncContext_get.authData) !== null && _asyncContext_get_authData !== void 0 ? _asyncContext_get_authData : null;
6
+ }
7
+ function isInQueryContext() {
8
+ return !!asyncContext.get();
9
+ }
10
+ function runWithQueryContext(context, fn) {
11
+ return asyncContext.run(context, fn);
12
+ }
13
+ export { isInQueryContext, queryAuthData, runWithQueryContext };
14
+ //# sourceMappingURL=queryContext.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createAsyncContext","asyncContext","queryAuthData","_asyncContext_get","_asyncContext_get_authData","get","authData","isInQueryContext","runWithQueryContext","context","fn","run"],"sources":["../../../src/helpers/queryContext.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,kBAAA,QAA0B;AAInC,IAAAC,YAAM,GAAAD,kBAAe;AAEd,SAASE,cAAA,EAAiC;EAC/C,IAAAC,iBAAoB,EAAAC,0BAAmB;EACzC,QAAAA,0BAAA,IAAAD,iBAAA,GAAAF,YAAA,CAAAI,GAAA,gBAAAF,iBAAA,uBAAAA,iBAAA,CAAAG,QAAA,cAAAF,0BAAA,cAAAA,0BAAA;AAEO;AACL,SAAOG,gBAAeA,CAAA,EAAI;EAC5B,SAAAN,YAAA,CAAAI,GAAA;AAEO;AAIL,SAAOG,mBAAiBA,CAAAC,OAAS,EAAEC,EAAA;EACrC,OAAAT,YAAA,CAAAU,GAAA,CAAAF,OAAA,EAAAC,EAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "on-zero",
3
- "version": "0.1.31",
3
+ "version": "0.1.33",
4
4
  "description": "A typed layer over @rocicorp/zero with queries, mutations, and permissions",
5
5
  "sideEffects": false,
6
6
  "source": "src/index.ts",
@@ -71,7 +71,7 @@
71
71
  }
72
72
  },
73
73
  "dependencies": {
74
- "@take-out/helpers": "0.1.31",
74
+ "@take-out/helpers": "0.1.33",
75
75
  "@sinclair/typebox-codegen": "^0.11.1",
76
76
  "chokidar": "^4.0.3",
77
77
  "citty": "^0.1.6",
@@ -53,9 +53,7 @@ export function createZeroClient<
53
53
  }) {
54
54
  type ZeroMutators = GetZeroMutators<Models>
55
55
  type ZeroInstance = Zero<Schema, ZeroMutators>
56
- type TableName = keyof ZeroInstance['query'] extends string
57
- ? keyof ZeroInstance['query']
58
- : never
56
+ type TableName = keyof Schema['tables'] & string
59
57
 
60
58
  setSchema(schema)
61
59
 
@@ -8,9 +8,10 @@ import { Pool } from 'pg'
8
8
  import { createPermissions } from './createPermissions'
9
9
  import { createMutators } from './helpers/createMutators'
10
10
  import { isInZeroMutation, mutatorContext } from './helpers/mutatorContext'
11
+ import { runWithQueryContext } from './helpers/queryContext'
11
12
  import { getMutationsPermissions } from './modelRegistry'
12
13
  import { setCustomQueries } from './run'
13
- import { getZQL, setAuthData, setSchema } from './state'
14
+ import { getZQL, setSchema } from './state'
14
15
  import { setRunner } from './zeroRunner'
15
16
 
16
17
  import type {
@@ -167,38 +168,45 @@ export function createZeroServer<
167
168
  )
168
169
  }
169
170
 
170
- // set authData globally for permission checks in query functions
171
- setAuthData(authData || ({} as AuthData))
171
+ const response = await runWithQueryContext(
172
+ { authData: authData || ({} as AuthData) },
173
+ () =>
174
+ zeroHandleQueryRequest(
175
+ (name, args) => {
176
+ // per-model permission queries registered by on-zero at runtime
177
+ if (name.startsWith('permission.')) {
178
+ const table = name.slice('permission.'.length)
179
+ const { objOrId } = args as {
180
+ objOrId: string | Record<string, any>
181
+ }
182
+ const perm = getMutationsPermissions(table)
183
+ if (!perm) {
184
+ throw new Error(`[permission] no permission defined for table: ${table}`)
185
+ }
186
+ return (getZQL() as any)[table]
187
+ .where((eb: any) => {
188
+ return permissions.buildPermissionQuery(
189
+ authData,
190
+ eb,
191
+ perm,
192
+ objOrId,
193
+ table
194
+ )
195
+ })
196
+ .one()
197
+ }
172
198
 
173
- const response = await zeroHandleQueryRequest(
174
- (name, args) => {
175
- // per-model permission queries registered by on-zero at runtime
176
- if (name.startsWith('permission.')) {
177
- const table = name.slice('permission.'.length)
178
- const { objOrId } = args as {
179
- objOrId: string | Record<string, any>
180
- }
181
- const perm = getMutationsPermissions(table)
182
- if (!perm) {
183
- throw new Error(`[permission] no permission defined for table: ${table}`)
184
- }
185
- return (getZQL() as any)[table]
186
- .where((eb: any) => {
187
- return permissions.buildPermissionQuery(authData, eb, perm, objOrId, table)
188
- })
189
- .one()
190
- }
199
+ // run validation hook if provided (must be sync - throw to reject)
200
+ if (validateQuery) {
201
+ validateQuery({ authData, queryName: name, params: args })
202
+ }
191
203
 
192
- // run validation hook if provided (must be sync - throw to reject)
193
- if (validateQuery) {
194
- validateQuery({ authData, queryName: name, params: args })
195
- }
196
-
197
- const query = (mustGetQuery as any)(queries, name)
198
- return query.fn({ args, ctx: authData })
199
- },
200
- schema,
201
- request
204
+ const query = (mustGetQuery as any)(queries, name)
205
+ return query.fn({ args, ctx: authData })
206
+ },
207
+ schema,
208
+ request
209
+ )
202
210
  )
203
211
 
204
212
  return {
@@ -268,11 +276,18 @@ export function createZeroServer<
268
276
  }
269
277
 
270
278
  function query<R>(
271
- cb: (q: QueryBuilder) => Query<any, Schema, R>
279
+ cb: (q: QueryBuilder) => Query<any, Schema, R>,
280
+ authData?: AuthData | null
272
281
  ): Promise<HumanReadable<R>> {
273
- return transaction(async (tx) => {
274
- return tx.run(cb(getZQL()))
275
- }) as any
282
+ const run = () =>
283
+ transaction(async (tx) => {
284
+ return tx.run(cb(getZQL()))
285
+ }) as any
286
+
287
+ if (authData !== undefined) {
288
+ return runWithQueryContext({ authData }, run)
289
+ }
290
+ return run()
276
291
  }
277
292
 
278
293
  // register for global run() helper
@@ -1,5 +1,6 @@
1
1
  import { getAuthData } from '../state'
2
2
  import { isInZeroMutation, mutatorContext } from './mutatorContext'
3
+ import { isInQueryContext, queryAuthData } from './queryContext'
3
4
 
4
5
  import type { AuthData } from '../types'
5
6
 
@@ -7,6 +8,9 @@ export function getQueryOrMutatorAuthData(): AuthData | null {
7
8
  if (isInZeroMutation()) {
8
9
  return mutatorContext().authData as AuthData
9
10
  }
10
-
11
+ if (isInQueryContext()) {
12
+ return queryAuthData()
13
+ }
14
+ // client-side fallback (browser global is fine, single-threaded)
11
15
  return getAuthData()
12
16
  }