on-zero 0.1.29 → 0.1.31

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.
@@ -117,7 +117,7 @@ function createZeroServer({
117
117
  }, schema, request)
118
118
  };
119
119
  },
120
- mutate = async (run, authData) => {
120
+ mutate = async (run, authData, options) => {
121
121
  const asyncTasks = [],
122
122
  mutators = (0, import_createMutators.createMutators)({
123
123
  models,
@@ -133,9 +133,16 @@ function createZeroServer({
133
133
  can: permissions.can,
134
134
  validateMutation
135
135
  });
136
- await transaction(async tx => {
136
+ if (await transaction(async tx => {
137
137
  await run(tx, mutators);
138
- }), await Promise.all(asyncTasks.map(t => t()));
138
+ }), asyncTasks.length) if (options?.awaitAsyncTasks) await Promise.all(asyncTasks.map(t => t()));else {
139
+ const id = (0, import_helpers.randomId)();
140
+ console.info(`[mutate] running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map(t => t())).then(() => {
141
+ console.info(`[mutate] async tasks complete ${id}`);
142
+ }).catch(err => {
143
+ console.error("[mutate] error: async tasks failed", err);
144
+ });
145
+ }
139
146
  };
140
147
  async function transaction(query2) {
141
148
  try {
@@ -89,7 +89,7 @@ function createZeroServer({
89
89
  request
90
90
  )
91
91
  };
92
- }, mutate = async (run, authData) => {
92
+ }, mutate = async (run, authData, options) => {
93
93
  const asyncTasks = [], mutators = (0, import_createMutators.createMutators)({
94
94
  models,
95
95
  environment: "server",
@@ -104,9 +104,19 @@ function createZeroServer({
104
104
  can: permissions.can,
105
105
  validateMutation
106
106
  });
107
- await transaction(async (tx) => {
107
+ if (await transaction(async (tx) => {
108
108
  await run(tx, mutators);
109
- }), await Promise.all(asyncTasks.map((t) => t()));
109
+ }), asyncTasks.length)
110
+ if (options?.awaitAsyncTasks)
111
+ await Promise.all(asyncTasks.map((t) => t()));
112
+ else {
113
+ const id = (0, import_helpers.randomId)();
114
+ console.info(`[mutate] running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map((t) => t())).then(() => {
115
+ console.info(`[mutate] async tasks complete ${id}`);
116
+ }).catch((err) => {
117
+ console.error("[mutate] error: async tasks failed", err);
118
+ });
119
+ }
110
120
  };
111
121
  async function transaction(query2) {
112
122
  try {
@@ -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
  }
@@ -130,7 +130,7 @@ function createZeroServer(param) {
130
130
  response
131
131
  };
132
132
  },
133
- mutate = async function (run, authData) {
133
+ mutate = async function (run, authData, options) {
134
134
  var asyncTasks = [],
135
135
  mutators = (0, import_createMutators.createMutators)({
136
136
  models,
@@ -146,11 +146,20 @@ function createZeroServer(param) {
146
146
  can: permissions.can,
147
147
  validateMutation
148
148
  });
149
- await transaction(async function (tx) {
149
+ if (await transaction(async function (tx) {
150
150
  await run(tx, mutators);
151
- }), await Promise.all(asyncTasks.map(function (t) {
151
+ }), asyncTasks.length) if (options?.awaitAsyncTasks) await Promise.all(asyncTasks.map(function (t) {
152
152
  return t();
153
- }));
153
+ }));else {
154
+ var id = (0, import_helpers.randomId)();
155
+ console.info(`[mutate] running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map(function (t) {
156
+ return t();
157
+ })).then(function () {
158
+ console.info(`[mutate] async tasks complete ${id}`);
159
+ }).catch(function (err) {
160
+ console.error("[mutate] error: async tasks failed", err);
161
+ });
162
+ }
154
163
  };
155
164
  async function transaction(query2) {
156
165
  try {
@@ -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","validateQuery","validateMutation","defaultAllowAdminRole","setSchema","dbString","assertString","zeroDb","zeroNodePg","Pool","connectionString","ssl","includes","rejectUnauthorized","permissions","createPermissions","environment","adminRoleMode","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","queryName","params","_$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;AA+CO,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,OAAA;IAAAC,aAAA;IAAAC,gBAAA;IAAAC,qBAAA;EAAA,IAAAR,KAAA;EACA,IAAAF,YAAA,CAAAW,SAAA,EAAAN,MAAA;EACA,IAAAO,QAAA,OAAAnB,cAAA,CAAAoB,YAAA,EAAAT,QAAA;IAAAU,MAAA,OAAAtB,UAAA,CAAAuB,UAAA,EAAAV,MAAA,MAAAX,UAAA,CAAAsB,IAAA;MACAC,gBAAA,EAAAL,QAAA;MACA;MACAM,GAAA,EAAAN,QAAA,CAAAO,QAAA;QACAC,kBAAA,EAAwB;MA2BvB;IACD;IAAAC,WAAA,OAAA1B,wBAAgB,CAAA2B,iBAAA;MAEhBC,WAAM,UAAW;MAGflB,MAAA;MACAmB,aAAI,EAAAd;IAAK;IACPe,SAAA,OAAAnC,SAAkB,CAAAoC,aAAA,CAAAZ,MAAA;IAAAa,qBAAA,kBAAAA,CAAAC,MAAA;MAAA;UAAAC,QAAA;UAAAC,OAAA;UAAAC;QAAA,IAAAH,MAAA;QAAAI,UAAA;QAAAC,QAAA,OAAArC,qBAAA,CAAAsC,cAAA;UAElBF,UAAK;UAGNG,GAAA,EAAAd,WAAA,CAAAc,GAAA;UAGGhC,mBAAc;UAClBoB,WAAa;UACbjB,MAAA;UACAuB,QAAA;UAGIpB;QAGJ;QAAA2B,QAAA,SAAAX,SAAA,CAAAY,OAAA,CAAAJ,QAAA,EAAAH,OAAA;MACA,KAAAC,cAAA,IAAAC,UAAA,CAAAM,MAAA;QACA,IAAAC,EAAA,OAAA9C,cAAA,CAAA+C,QAAA;QACFC,OAIM,CAAAC,IAAA,yCAAAV,UAAA,CAAAM,MAAA,OAAAC,EAAA,KAAAI,OAAA,CAAAC,GAAA,CAAAZ,UAAA,CAAAa,GAAA,WAAAC,IAAA;UAEJ,OAAMA,IAAA;QAGJ,IAAAC,IAAA;UACAN,OAAK,CAAAC,IAAA,gCAAYH,EAAA;QACjB,GAAAS,KAAA,WAAAC,GAAA;UACAR,OAAA,CAAAS,KAAa,+CAAAD,GAAA;QACb;MAAA;MACA,OACA;QACDb,QAGK;QAGNJ;MACE;IACA;IAAAmB,kBAAa,kBAAAA,CAAAvB,MAAA;MAGT;QAAAC,QAAQ;QAAAC;MAAK,IAAAF,MAAA;MAAmC,IACjD,CACArB,OAAO,EACN,UAAQ6C,KAAA,CAAM,0HAA0C;MAAA,EAC1D,EAACpD,YAAA,CAAAqD,WAAA,EAAAxB,QAAA;MACL,IAAAO,QAAA,aAAA7C,aAAA,CAAA4D,kBAAA,YAAAG,IAAA,EAAAC,IAAA;QAEA,IAAAD,IAAO,CAAAE,UAAA;UACL,IAAAC,KAAA,GAAAH,IAAA,CAAAI,KAAA;YAAA;cAAAC;YAAA,IAAAJ,IAAA;YAAAK,IAAA,OAAA9D,oBAAA,CAAA+D,uBAAA,EAAAJ,KAAA;UACA,KAAAG,IAAA,EACF,UAAAR,KAAA,kDAAAK,KAAA;UAGI,WAAAzD,YAAqB,CAAA8D,MAAO,IAAAL,KAAA,EAAAM,KAAA,WAAAC,EAAA;YAChC,OAAA3C,WAAA,CAAA4C,oBAAA,CAAApC,QAAA,EAAAmC,EAAA,EAAAJ,IAAA,EAAAD,OAAA,EAAAF,KAAA;UACA,GAAAS,GAAA;QACF;QAIE1D,aAAK,IAAAA,aAAA;UACHqB,QAAU;UACRsC,SAAA,EAAAb,IAAA;UAEFc,MAAA,EAAAb;QAIF;QAkCE,IAAAc,OAhCe,OAAAjF,WAAM,CAAAkF,YAAA,EAAA/D,OAAA,EAAA+C,IAAA;QAAA,OACpBe,OAAM,CAAAE,EAAA,CAAS;UAEdhB,IAAA;UACEiB,GAAA,EAAA3C;QAKA;MACE,GAAAxB,MAAA,EAAAyB,OAAM;MAER;QAIOM;MAIT;IAKuC;IAAAqC,MACzC,kBAAAA,CAAAC,GAAA,EAAA7C,QAAA;MAAA,IACAG,UAAA;QAAAC,QAAA,OAAArC,qBAAA,CAAAsC,cAAA;UAAA5B,MACA;UACFiB,WAAA;UAIAS,UAAA;UAGIH,QAAS;YAIbU,EAAM;YAGJoC,KAAA;YACAC,IAAA,SAAa;YACb,GAAA/C;UACA;UAAU1B,mBACJ;UAAAgC,GACJ,EAAAd,WAAO,CAAAc,GAAA;UAAA1B;QACD;MACH,MACLoE,WAAA,iBAAAC,EAAA;QACA,MAAAJ,GAAA,CAAAI,EAAA,EAAA7C,QAAA;MAAA,EACA,QAAKU,OAAA,CAAAC,GAAY,CAAAZ,UAAA,CAAAa,GAAA,WAAAkC,CAAA;QACjB,OAAAA,CAAA;MACF,CAAC;IAED;EACE,eAAUF,WAAYA,CAAAG,MAAA;IACxB,IAEA;MACF,QAAAnF,qBAAA,CAAAoF,gBAAA;QAEA;UAAAH;QAAe,QAAAjF,qBAGgB,CAAAqF,cAAA;QACzB,aAAAF,MAAA,CAAAF,EAAA;MACF;MACE,IAAAK,MAAQ,GAAG,MAAArE,MAAI,CAAA+D,WAAA,CAAAG,MAAA,EAAAI,qBAAe;MAC9B,OAAAD,MAAO;IAAc,EACvB,OAAAlC,GAAA;MAGA,MAAAR,OADqB,CAAAS,KAAA,CAAO,gCAAmBD,GAAA,KAAAA,GAAqB;IAEtE;EACE;EACM,SACRoC,MAAAC,EAAA;IACF,OAAAT,WAAA,iBAAAC,EAAA;MAEA,OAASA,EAAA,CAAAJ,GACP,CAAAY,EAC2B,KAAAtF,YAAA,CAAA8D,MAAA;IAC3B;EAGF;EAGIvD,OAAA,QACFR,UAAA,CAAAwF,gBAAA,EAAiBhF,OAAO,OAI1BN,iBAAA,CAAAuF,SAAA,EAAU,UAACC,QACF;IAMT,OAAMZ,WAAA,iBAAkDC,EAAA;MACtD,OAAAA,EAAA,CAAAJ,GAAe,CAAAe,QAAA;IACf;EAAU,EACV;EAAY,IACZL,qBAAgB;IAClBM,aAAA;IAEAC,QAAO;IACLC,UAAA;IACAC,cAAA;EAAA;EACA,OACA;IACAlE,qBAAA;IACFwB,kBAAA;IACF0B,WAAA","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","validateQuery","validateMutation","defaultAllowAdminRole","setSchema","dbString","assertString","zeroDb","zeroNodePg","Pool","connectionString","ssl","includes","rejectUnauthorized","permissions","createPermissions","environment","adminRoleMode","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","queryName","params","_$query","mustGetQuery","fn","ctx","mutate","run","options","email","role","transaction","tx","awaitAsyncTasks","t","query2","isInZeroMutation","mutatorContext","output","dummyTransactionInput","query","cb","setCustomQueries","setRunner","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: !0
9
+ });
10
+ },
11
+ __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
13
+ get: () => from[key],
14
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
+ });
16
+ return to;
17
+ };
18
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
+ value: !0
20
+ }), mod);
21
+ var relationWhere_exports = {};
22
+ __export(relationWhere_exports, {
23
+ relationWhere: () => relationWhere
24
+ });
25
+ module.exports = __toCommonJS(relationWhere_exports);
26
+ var import_where = require("./where.cjs");
27
+ function relationWhere(_relationName, builder) {
28
+ return (0, import_where.where)(builder);
29
+ }
@@ -0,0 +1,24 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: !0 });
8
+ }, __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from == "object" || typeof from == "function")
10
+ for (let key of __getOwnPropNames(from))
11
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
+ var relationWhere_exports = {};
16
+ __export(relationWhere_exports, {
17
+ relationWhere: () => relationWhere
18
+ });
19
+ module.exports = __toCommonJS(relationWhere_exports);
20
+ var import_where = require("./where");
21
+ function relationWhere(_relationName, builder) {
22
+ return (0, import_where.where)(builder);
23
+ }
24
+ //# sourceMappingURL=relationWhere.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/relationWhere.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAAsB;AAkBf,SAAS,cACd,eACA,SAI6B;AAG7B,aAAO,oBAAM,OAAc;AAC7B;",
5
+ "names": []
6
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: !0
11
+ });
12
+ },
13
+ __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
15
+ get: () => from[key],
16
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
+ });
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: !0
22
+ }), mod);
23
+ var relationWhere_exports = {};
24
+ __export(relationWhere_exports, {
25
+ relationWhere: () => relationWhere
26
+ });
27
+ module.exports = __toCommonJS(relationWhere_exports);
28
+ var import_where = require("./where.native.js");
29
+ function relationWhere(_relationName, builder) {
30
+ return (0, import_where.where)(builder);
31
+ }
32
+ //# sourceMappingURL=relationWhere.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","relationWhere_exports","__export","relationWhere","module","exports","import_where","require","_relationName","builder","where"],"sources":["../../src/relationWhere.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,aAAA,EAAAA,CAAA,KAAAA;AAAA;AAEAC,MAAA,CAAAC,OAAA,GAAAT,YAAsB,CAAAK,qBAAA;AAkBf,IAAAK,YAAS,GAAAC,OACd;AAQA,SAAAJ,aAAOA,CAAAK,aAAM,EAAAC,OAAc;EAC7B,WAAAH,YAAA,CAAAI,KAAA,EAAAD,OAAA","ignoreList":[]}
@@ -82,7 +82,7 @@ function createZeroServer({
82
82
  request
83
83
  )
84
84
  };
85
- }, mutate = async (run, authData) => {
85
+ }, mutate = async (run, authData, options) => {
86
86
  const asyncTasks = [], mutators = createMutators({
87
87
  models,
88
88
  environment: "server",
@@ -97,9 +97,19 @@ function createZeroServer({
97
97
  can: permissions.can,
98
98
  validateMutation
99
99
  });
100
- await transaction(async (tx) => {
100
+ if (await transaction(async (tx) => {
101
101
  await run(tx, mutators);
102
- }), await Promise.all(asyncTasks.map((t) => t()));
102
+ }), asyncTasks.length)
103
+ if (options?.awaitAsyncTasks)
104
+ await Promise.all(asyncTasks.map((t) => t()));
105
+ else {
106
+ const id = randomId();
107
+ console.info(`[mutate] running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map((t) => t())).then(() => {
108
+ console.info(`[mutate] async tasks complete ${id}`);
109
+ }).catch((err) => {
110
+ console.error("[mutate] error: async tasks failed", err);
111
+ });
112
+ }
103
113
  };
104
114
  async function transaction(query2) {
105
115
  try {
@@ -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
  }
@@ -92,7 +92,7 @@ function createZeroServer({
92
92
  }, schema, request)
93
93
  };
94
94
  },
95
- mutate = async (run, authData) => {
95
+ mutate = async (run, authData, options) => {
96
96
  const asyncTasks = [],
97
97
  mutators = createMutators({
98
98
  models,
@@ -108,9 +108,16 @@ function createZeroServer({
108
108
  can: permissions.can,
109
109
  validateMutation
110
110
  });
111
- await transaction(async tx => {
111
+ if (await transaction(async tx => {
112
112
  await run(tx, mutators);
113
- }), await Promise.all(asyncTasks.map(t => t()));
113
+ }), asyncTasks.length) if (options?.awaitAsyncTasks) await Promise.all(asyncTasks.map(t => t()));else {
114
+ const id = randomId();
115
+ console.info(`[mutate] running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map(t => t())).then(() => {
116
+ console.info(`[mutate] async tasks complete ${id}`);
117
+ }).catch(err => {
118
+ console.error("[mutate] error: async tasks failed", err);
119
+ });
120
+ }
114
121
  };
115
122
  async function transaction(query2) {
116
123
  try {
@@ -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","email","role","transaction","tx","t","query2","dummyTransactionInput","query","cb","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,YAAA,QAAoB;AAC7B,SAASC,aAAA,QAAqB;AAC9B,SAASC,kBAAA,IAAsBC,sBAAA,QAA8B;AAC7D,SAASC,UAAA,QAAkB;AAC3B,SAASC,YAAA,EAAcC,QAAA,QAAgB;AACvC,SAASC,IAAA,QAAY;AAErB,SAASC,iBAAA,QAAyB;AAClC,SAASC,cAAA,QAAsB;AAC/B,SAASC,gBAAA,EAAkBC,cAAA,QAAsB;AACjD,SAASC,uBAAA,QAA+B;AACxC,SAASC,gBAAA,QAAwB;AACjC,SAASC,MAAA,EAAQC,WAAA,EAAaC,SAAA,QAAiB;AAC/C,SAASC,SAAA,QAAiB;AAmCnB,SAASC,iBAId;EACAC,mBAAA;EACAC,QAAA;EACAC,MAAA;EACAC,MAAA;EACAC,OAAA;EACAC,aAAA;EACAC,gBAAA;EACAC,qBAAA,GAAwB;AAC1B,GA0BG;EACDV,SAAA,CAAUK,MAAM;EAEhB,MAAMM,QAAA,GAAWtB,YAAA,CAAae,QAAA,EAAU,6BAA6B;IAE/DQ,MAAA,GAASxB,UAAA,CACbiB,MAAA,EACA,IAAId,IAAA,CAAK;MACPsB,gBAAA,EAAkBF,QAAA;MAAA;MAElBG,GAAA,EAAKH,QAAA,CAASI,QAAA,CAAS,iBAAiB,IACpC;QAAEC,kBAAA,EAAoB;MAAM,IAC5B;IACN,CAAC,CACH;IAEMC,WAAA,GAAczB,iBAAA,CAA0B;MAC5C0B,WAAA,EAAa;MACbb,MAAA;MACAc,aAAA,EAAeT;IACjB,CAAC;IAEKU,SAAA,GAAY,IAAInC,aAAA,CAAc2B,MAAM;IAEpCS,qBAAA,GAAwB,MAAAA,CAAO;MACnCC,QAAA;MACAC,OAAA;MACAC;IACF,MAIM;MAEJ,MAAMC,UAAA,GAA4B,EAAC;QAE7BC,QAAA,GAAWjC,cAAA,CAAe;UAC9BgC,UAAA;UACAE,GAAA,EAAKV,WAAA,CAAYU,GAAA;UACjBxB,mBAAA;UACAe,WAAA,EAAa;UACbZ,MAAA;UACAgB,QAAA;UACAb;QACF,CAAC;QAGKmB,QAAA,GAAW,MAAMR,SAAA,CAAUS,OAAA,CAAQH,QAAA,EAAUH,OAAO;MAG1D,IAAI,CAACC,cAAA,IAAkBC,UAAA,CAAWK,MAAA,EAAQ;QACxC,MAAMC,EAAA,GAAKzC,QAAA,CAAS;QACpB0C,OAAA,CAAQC,IAAA,CAAK,wCAAwCR,UAAA,CAAWK,MAAM,OAAOC,EAAE,EAAE,GACjFG,OAAA,CAAQC,GAAA,CAAIV,UAAA,CAAWW,GAAA,CAAKC,IAAA,IAASA,IAAA,CAAK,CAAC,CAAC,EACzCC,IAAA,CAAK,MAAM;UACVN,OAAA,CAAQC,IAAA,CAAK,+BAA+BF,EAAE,EAAE;QAClD,CAAC,EACAQ,KAAA,CAAOC,GAAA,IAAQ;UACdR,OAAA,CAAQS,KAAA,CAAM,8CAAuCD,GAAG;QAC1D,CAAC;MACL;MAEA,OAAO;QACLZ,QAAA;QACAH;MACF;IACF;IAEMvC,kBAAA,GAAqB,MAAAA,CAAO;MAChCoC,QAAA;MACAC;IACF,MAGM;MACJ,IAAI,CAAChB,OAAA,EACH,MAAM,IAAImC,KAAA,CACR,0HAEF;MAIF,OAAA3C,WAAA,CAAYuB,QAAA,IAAa,CAAC,CAAc,GAiCjC;QACLM,QAAA,EAhCe,MAAMzC,sBAAA,CACrB,CAACwD,IAAA,EAAMC,IAAA,KAAS;UAEd,IAAID,IAAA,CAAKE,UAAA,CAAW,aAAa,GAAG;YAClC,MAAMC,KAAA,GAAQH,IAAA,CAAKI,KAAA,CAAM,EAAoB;cACvC;gBAAEC;cAAQ,IAAIJ,IAAA;cAGdK,IAAA,GAAOrD,uBAAA,CAAwBkD,KAAK;YAC1C,IAAI,CAACG,IAAA,EACH,MAAM,IAAIP,KAAA,CAAM,iDAAiDI,KAAK,EAAE;YAE1E,OAAQhD,MAAA,CAAO,EAAUgD,KAAK,EAC3BI,KAAA,CAAOC,EAAA,IACClC,WAAA,CAAYmC,oBAAA,CAAqB9B,QAAA,EAAU6B,EAAA,EAAIF,IAAA,EAAMD,OAAA,EAASF,KAAK,CAC3E,EACAO,GAAA,CAAI;UACT;UAGA,OAAI7C,aAAA,IACFA,aAAA,CAAc;YAAEc,QAAA;YAAUgC,SAAA,EAAWX,IAAA;YAAMY,MAAA,EAAQX;UAAK,CAAC,GAG5C5D,YAAA,CAAqBuB,OAAA,EAASoC,IAAI,EACpCa,EAAA,CAAG;YAAEZ,IAAA;YAAMa,GAAA,EAAKnC;UAAS,CAAC;QACzC,GACAjB,MAAA,EACAkB,OACF;MAIA;IACF;IAEMmC,MAAA,GAAS,MAAAA,CACbC,GAAA,EACArC,QAAA,KACG;MACH,MAAMG,UAAA,GAAyC,EAAC;QAE1CC,QAAA,GAAWjC,cAAA,CAAe;UAC9Ba,MAAA;UACAY,WAAA,EAAa;UACbO,UAAA;UACAH,QAAA,EAAU;YACRS,EAAA,EAAI;YACJ6B,KAAA,EAAO;YACPC,IAAA,EAAM;YACN,GAAGvC;UACL;UACAnB,mBAAA;UACAwB,GAAA,EAAKV,WAAA,CAAYU,GAAA;UACjBlB;QACF,CAAC;MAED,MAAMqD,WAAA,CAAY,MAAOC,EAAA,IAAO;QAC9B,MAAMJ,GAAA,CAAII,EAAA,EAAIrC,QAAQ;MACxB,CAAC,GAED,MAAMQ,OAAA,CAAQC,GAAA,CAAIV,UAAA,CAAWW,GAAA,CAAK4B,CAAA,IAAMA,CAAA,CAAE,CAAC,CAAC;IAC9C;EAEA,eAAeF,YAGbG,MAAA,EAA6B;IAC7B,IAAI;MACF,IAAIvE,gBAAA,CAAiB,GAAG;QACtB,MAAM;UAAEqE;QAAG,IAAIpE,cAAA,CAAe;QAC9B,OAAO,MAAMsE,MAAA,CAAMF,EAAE;MACvB;MAGA,OADe,MAAMnD,MAAA,CAAOkD,WAAA,CAAYG,MAAA,EAAOC,qBAAqB;IAEtE,SAAS1B,GAAA,EAAK;MACZ,MAAAR,OAAA,CAAQS,KAAA,CAAM,gCAAgCD,GAAG,EAAE,GAC7CA,GAAA;IACR;EACF;EAEA,SAAS2B,MACPC,EAAA,EAC2B;IAC3B,OAAON,WAAA,CAAY,MAAOC,EAAA,IACjBA,EAAA,CAAGJ,GAAA,CAAIS,EAAA,CAAGtE,MAAA,CAAO,CAAC,CAAC,CAC3B;EACH;EAGIS,OAAA,IACFV,gBAAA,CAAiBU,OAAO,GAI1BN,SAAA,CAAWoE,QAAA,IACFP,WAAA,CAAY,MAAOC,EAAA,IACjBA,EAAA,CAAGJ,GAAA,CAAIU,QAAQ,CACvB,CACF;EAGD,MAAMH,qBAAA,GAAkD;IACtDI,aAAA,EAAe;IACfC,QAAA,EAAU;IACVC,UAAA,EAAY;IACZC,cAAA,EAAgB;EAClB;EAEA,OAAO;IACLpD,qBAAA;IACAnC,kBAAA;IACA4E,WAAA;IACAJ,MAAA;IACAS;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","randomId","Pool","createPermissions","createMutators","isInZeroMutation","mutatorContext","getMutationsPermissions","setCustomQueries","getZQL","setAuthData","setSchema","setRunner","createZeroServer","createServerActions","database","schema","models","queries","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":[]}
@@ -103,7 +103,7 @@ function createZeroServer(param) {
103
103
  response
104
104
  };
105
105
  },
106
- mutate = async function (run, authData) {
106
+ mutate = async function (run, authData, options) {
107
107
  var asyncTasks = [],
108
108
  mutators = createMutators({
109
109
  models,
@@ -119,11 +119,20 @@ function createZeroServer(param) {
119
119
  can: permissions.can,
120
120
  validateMutation
121
121
  });
122
- await transaction(async function (tx) {
122
+ if (await transaction(async function (tx) {
123
123
  await run(tx, mutators);
124
- }), await Promise.all(asyncTasks.map(function (t) {
124
+ }), asyncTasks.length) if (options?.awaitAsyncTasks) await Promise.all(asyncTasks.map(function (t) {
125
125
  return t();
126
- }));
126
+ }));else {
127
+ var id = randomId();
128
+ console.info(`[mutate] running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map(function (t) {
129
+ return t();
130
+ })).then(function () {
131
+ console.info(`[mutate] async tasks complete ${id}`);
132
+ }).catch(function (err) {
133
+ console.error("[mutate] error: async tasks failed", err);
134
+ });
135
+ }
127
136
  };
128
137
  async function transaction(query2) {
129
138
  try {
@@ -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","email","role","transaction","tx","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","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":[]}
@@ -0,0 +1,8 @@
1
+ import { where } from "./where";
2
+ function relationWhere(_relationName, builder) {
3
+ return where(builder);
4
+ }
5
+ export {
6
+ relationWhere
7
+ };
8
+ //# sourceMappingURL=relationWhere.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/relationWhere.ts"],
4
+ "mappings": "AAEA,SAAS,aAAa;AAkBf,SAAS,cACd,eACA,SAI6B;AAG7B,SAAO,MAAM,OAAc;AAC7B;",
5
+ "names": []
6
+ }
@@ -0,0 +1,6 @@
1
+ import { where } from "./where.mjs";
2
+ function relationWhere(_relationName, builder) {
3
+ return where(builder);
4
+ }
5
+ export { relationWhere };
6
+ //# sourceMappingURL=relationWhere.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["where","relationWhere","_relationName","builder"],"sources":["../../src/relationWhere.ts"],"sourcesContent":[null],"mappings":"AAEA,SAASA,KAAA,QAAa;AAkBf,SAASC,cACdC,aAAA,EACAC,OAAA,EAI6B;EAG7B,OAAOH,KAAA,CAAMG,OAAc;AAC7B","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ import { where } from "./where.native.js";
2
+ function relationWhere(_relationName, builder) {
3
+ return where(builder);
4
+ }
5
+ export { relationWhere };
6
+ //# sourceMappingURL=relationWhere.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["where","relationWhere","_relationName","builder"],"sources":["../../src/relationWhere.ts"],"sourcesContent":[null],"mappings":"AAEA,SAASA,KAAA,QAAa;AAkBf,SAASC,cACdC,aAAA,EACAC,OAAA,EAI6B;EAG7B,OAAOH,KAAA,CAAMG,OAAc;AAC7B","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "on-zero",
3
- "version": "0.1.29",
3
+ "version": "0.1.31",
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.29",
74
+ "@take-out/helpers": "0.1.31",
75
75
  "@sinclair/typebox-codegen": "^0.11.1",
76
76
  "chokidar": "^4.0.3",
77
77
  "citty": "^0.1.6",
@@ -208,7 +208,8 @@ export function createZeroServer<
208
208
 
209
209
  const mutate = async (
210
210
  run: (tx: Transaction, mutators: GetZeroMutators<Models>) => Promise<void>,
211
- authData?: Pick<AuthData, 'email' | 'id'> & Partial<AuthData>
211
+ authData?: Pick<AuthData, 'email' | 'id'> & Partial<AuthData>,
212
+ options?: { awaitAsyncTasks?: boolean }
212
213
  ) => {
213
214
  const asyncTasks: Array<() => Promise<void>> = []
214
215
 
@@ -231,7 +232,21 @@ export function createZeroServer<
231
232
  await run(tx, mutators)
232
233
  })
233
234
 
234
- await Promise.all(asyncTasks.map((t) => t()))
235
+ if (asyncTasks.length) {
236
+ if (options?.awaitAsyncTasks) {
237
+ await Promise.all(asyncTasks.map((t) => t()))
238
+ } else {
239
+ const id = randomId()
240
+ console.info(`[mutate] running async tasks ${asyncTasks.length} id ${id}`)
241
+ Promise.all(asyncTasks.map((t) => t()))
242
+ .then(() => {
243
+ console.info(`[mutate] async tasks complete ${id}`)
244
+ })
245
+ .catch((err) => {
246
+ console.error(`[mutate] error: async tasks failed`, err)
247
+ })
248
+ }
249
+ }
235
250
  }
236
251
 
237
252
  async function transaction<
@@ -170,7 +170,9 @@ export declare function createZeroServer<Schema extends ZeroSchema, Models exten
170
170
  }];
171
171
  }>;
172
172
  transaction: <CB extends (tx: Transaction) => Promise<any>, Returns extends CB extends (tx: Transaction) => Promise<infer X> ? X : never>(query: CB) => Promise<Returns>;
173
- mutate: (run: (tx: Transaction, mutators: GetZeroMutators<Models>) => Promise<void>, authData?: Pick<AuthData, "email" | "id"> & Partial<AuthData>) => Promise<void>;
173
+ mutate: (run: (tx: Transaction, mutators: GetZeroMutators<Models>) => Promise<void>, authData?: Pick<AuthData, "email" | "id"> & Partial<AuthData>, options?: {
174
+ awaitAsyncTasks?: boolean;
175
+ }) => Promise<void>;
174
176
  query: <R>(cb: (q: QueryBuilder) => Query<any, Schema, R>) => Promise<HumanReadable<R>>;
175
177
  };
176
178
  //# sourceMappingURL=createZeroServer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createZeroServer.d.ts","sourceRoot":"","sources":["../src/createZeroServer.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,QAAQ,EACR,aAAa,EACb,eAAe,EACf,YAAY,EACZ,WAAW,EACZ,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,KAAK,EACL,MAAM,IAAI,UAAU,EACrB,MAAM,gBAAgB,CAAA;AAGvB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,OAAO,CAAA;CACd,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAA;AAC/D,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAErF,wBAAgB,gBAAgB,CAC9B,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7C,EACA,mBAAmB,EACnB,QAAQ,EACR,MAAM,EACN,MAAM,EACN,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,qBAA6B,GAC9B,EAAE;IACD;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,mBAAmB,EAAE,MAAM,aAAa,CAAA;IACxC,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B;;;OAGG;IACH,aAAa,CAAC,EAAE,eAAe,CAAA;IAC/B;;OAEG;IACH,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;IACrC;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,aAAa,CAAA;CACtC;oEA4BI;QACD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;QACzB,OAAO,EAAE,OAAO,CAAA;QAChB,cAAc,CAAC,EAAE,OAAO,CAAA;KACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iDAuCE;QACD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;QACzB,OAAO,EAAE,OAAO,CAAA;KACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA4EC,EAAE,SAAS,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,GAAG,CAAC,EAC5C,OAAO,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,SACrE,EAAE,KAAG,OAAO,CAAC,OAAO,CAAC;kBA9BvB,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,aAC/D,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;YA4ChD,CAAC,MACV,CAAC,CAAC,EAAE,YAAY,KAAK,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,KAC7C,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;EAiC7B"}
1
+ {"version":3,"file":"createZeroServer.d.ts","sourceRoot":"","sources":["../src/createZeroServer.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,QAAQ,EACR,aAAa,EACb,eAAe,EACf,YAAY,EACZ,WAAW,EACZ,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,KAAK,EACL,MAAM,IAAI,UAAU,EACrB,MAAM,gBAAgB,CAAA;AAGvB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,OAAO,CAAA;CACd,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAA;AAC/D,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAErF,wBAAgB,gBAAgB,CAC9B,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7C,EACA,mBAAmB,EACnB,QAAQ,EACR,MAAM,EACN,MAAM,EACN,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,qBAA6B,GAC9B,EAAE;IACD;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,mBAAmB,EAAE,MAAM,aAAa,CAAA;IACxC,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B;;;OAGG;IACH,aAAa,CAAC,EAAE,eAAe,CAAA;IAC/B;;OAEG;IACH,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;IACrC;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,aAAa,CAAA;CACtC;oEA4BI;QACD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;QACzB,OAAO,EAAE,OAAO,CAAA;QAChB,cAAc,CAAC,EAAE,OAAO,CAAA;KACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iDAuCE;QACD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;QACzB,OAAO,EAAE,OAAO,CAAA;KACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA2FC,EAAE,SAAS,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,GAAG,CAAC,EAC5C,OAAO,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,SACrE,EAAE,KAAG,OAAO,CAAC,OAAO,CAAC;kBA7CvB,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,aAC/D,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,YACnD;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE;YA0D1B,CAAC,MACV,CAAC,CAAC,EAAE,YAAY,KAAK,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,KAC7C,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;EAiC7B"}
@@ -0,0 +1,20 @@
1
+ import type { Condition, ExpressionBuilder } from '@rocicorp/zero';
2
+ import type { AuthData, Schema, TableName, Where } from './types';
3
+ /**
4
+ * A permission builder that works for any table with a given relationship.
5
+ * Uses weaker typing than serverWhere to avoid expensive union distribution.
6
+ *
7
+ * Use this when the permission logic only traverses relationships,
8
+ * not table-specific fields.
9
+ *
10
+ * @example
11
+ * // Instead of:
12
+ * const perm = serverWhere<RelatedToServer>((_, auth) =>
13
+ * _.exists('server', q => q.whereExists('role', ...)))
14
+ *
15
+ * // Use:
16
+ * const perm = relationWhere('server', (_, auth) =>
17
+ * _.exists('server', q => q.whereExists('role', ...)))
18
+ */
19
+ export declare function relationWhere<RelName extends string>(_relationName: RelName, builder: (eb: ExpressionBuilder<any, Schema>, auth?: AuthData | null) => Condition): Where<TableName, Condition>;
20
+ //# sourceMappingURL=relationWhere.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relationWhere.d.ts","sourceRoot":"","sources":["../src/relationWhere.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAGjE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,OAAO,SAAS,MAAM,EAClD,aAAa,EAAE,OAAO,EACtB,OAAO,EAAE,CACP,EAAE,EAAE,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,EAClC,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,KACnB,SAAS,GACb,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAI7B"}