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.
- package/dist/cjs/createZeroServer.cjs +10 -3
- package/dist/cjs/createZeroServer.js +13 -3
- package/dist/cjs/createZeroServer.js.map +1 -1
- package/dist/cjs/createZeroServer.native.js +13 -4
- package/dist/cjs/createZeroServer.native.js.map +1 -1
- package/dist/cjs/relationWhere.cjs +29 -0
- package/dist/cjs/relationWhere.js +24 -0
- package/dist/cjs/relationWhere.js.map +6 -0
- package/dist/cjs/relationWhere.native.js +32 -0
- package/dist/cjs/relationWhere.native.js.map +1 -0
- package/dist/esm/createZeroServer.js +13 -3
- package/dist/esm/createZeroServer.js.map +1 -1
- package/dist/esm/createZeroServer.mjs +10 -3
- package/dist/esm/createZeroServer.mjs.map +1 -1
- package/dist/esm/createZeroServer.native.js +13 -4
- package/dist/esm/createZeroServer.native.js.map +1 -1
- package/dist/esm/relationWhere.js +8 -0
- package/dist/esm/relationWhere.js.map +6 -0
- package/dist/esm/relationWhere.mjs +6 -0
- package/dist/esm/relationWhere.mjs.map +1 -0
- package/dist/esm/relationWhere.native.js +6 -0
- package/dist/esm/relationWhere.native.js.map +1 -0
- package/package.json +2 -2
- package/src/createZeroServer.ts +17 -2
- package/types/createZeroServer.d.ts +3 -1
- package/types/createZeroServer.d.ts.map +1 -1
- package/types/relationWhere.d.ts +20 -0
- package/types/relationWhere.d.ts.map +1 -0
|
@@ -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
|
-
}),
|
|
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": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA6B,2BAC7B,YAA8B,8BAC9B,gBAA6D,kCAC7DA,aAA2B,8CAC3B,iBAAuC,8BACvCA,aAAqB,eAErB,2BAAkC,gCAClC,wBAA+B,qCAC/B,wBAAiD,qCACjD,uBAAwC,4BACxC,aAAiC,kBACjC,eAA+C,oBAC/C,oBAA0B;AAmCnB,SAAS,iBAId;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,wBAAwB;AAC1B,GA0BG;AACD,8BAAU,MAAM;AAEhB,QAAM,eAAW,6BAAa,UAAU,6BAA6B,GAE/D,aAAS;AAAA,IACb;AAAA,IACA,IAAI,gBAAK;AAAA,MACP,kBAAkB;AAAA;AAAA,MAElB,KAAK,SAAS,SAAS,iBAAiB,IACpC,EAAE,oBAAoB,GAAM,IAC5B;AAAA,IACN,CAAC;AAAA,EACH,GAEM,kBAAc,4CAA0B;AAAA,IAC5C,aAAa;AAAA,IACb;AAAA,IACA,eAAe;AAAA,EACjB,CAAC,GAEK,YAAY,IAAI,wBAAc,MAAM,GAEpC,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,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,qBAAqB,OAAO;AAAA,IAChC;AAAA,IACA;AAAA,EACF,MAGM;AACJ,QAAI,CAAC;AACH,YAAM,IAAI;AAAA,QACR;AAAA,MAEF;AAIF,yCAAY,YAAa,CAAC,CAAc,GAiCjC;AAAA,MACL,UAhCe,UAAM,cAAAC;AAAA,QACrB,CAAC,MAAM,SAAS;AAEd,cAAI,KAAK,WAAW,aAAa,GAAG;AAClC,kBAAM,QAAQ,KAAK,MAAM,EAAoB,GACvC,EAAE,QAAQ,IAAI,MAGd,WAAO,8CAAwB,KAAK;AAC1C,gBAAI,CAAC;AACH,oBAAM,IAAI,MAAM,iDAAiD,KAAK,EAAE;AAE1E,uBAAQ,qBAAO,EAAU,KAAK,EAC3B,MAAM,CAAC,OACC,YAAY,qBAAqB,UAAU,IAAI,MAAM,SAAS,KAAK,CAC3E,EACA,IAAI;AAAA,UACT;AAGA,iBAAI,iBACF,cAAc,EAAE,UAAU,WAAW,MAAM,QAAQ,KAAK,CAAC,OAG5C,0BAAqB,SAAS,IAAI,EACpC,GAAG,EAAE,MAAM,KAAK,SAAS,CAAC;AAAA,QACzC;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IAIA;AAAA,EACF,GAEM,SAAS,OACb,KACA,
|
|
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":"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
|
|
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,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
|
-
}),
|
|
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": "AAAA,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB,8BAA8B;AAC7D,SAAS,kBAAkB;AAC3B,SAAS,cAAc,gBAAgB;AACvC,SAAS,YAAY;AAErB,SAAS,yBAAyB;AAClC,SAAS,sBAAsB;AAC/B,SAAS,kBAAkB,sBAAsB;AACjD,SAAS,+BAA+B;AACxC,SAAS,wBAAwB;AACjC,SAAS,QAAQ,aAAa,iBAAiB;AAC/C,SAAS,iBAAiB;AAmCnB,SAAS,iBAId;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,wBAAwB;AAC1B,GA0BG;AACD,YAAU,MAAM;AAEhB,QAAM,WAAW,aAAa,UAAU,6BAA6B,GAE/D,SAAS;AAAA,IACb;AAAA,IACA,IAAI,KAAK;AAAA,MACP,kBAAkB;AAAA;AAAA,MAElB,KAAK,SAAS,SAAS,iBAAiB,IACpC,EAAE,oBAAoB,GAAM,IAC5B;AAAA,IACN,CAAC;AAAA,EACH,GAEM,cAAc,kBAA0B;AAAA,IAC5C,aAAa;AAAA,IACb;AAAA,IACA,eAAe;AAAA,EACjB,CAAC,GAEK,YAAY,IAAI,cAAc,MAAM,GAEpC,wBAAwB,OAAO;AAAA,IACnC;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAIM;AAEJ,UAAM,aAA4B,CAAC,GAE7B,WAAW,eAAe;AAAA,MAC9B;AAAA,MACA,KAAK,YAAY;AAAA,MACjB;AAAA,MACA,aAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC,GAGK,WAAW,MAAM,UAAU,QAAQ,UAAU,OAAO;AAG1D,QAAI,CAAC,kBAAkB,WAAW,QAAQ;AACxC,YAAM,KAAK,SAAS;AACpB,cAAQ,KAAK,wCAAwC,WAAW,MAAM,OAAO,EAAE,EAAE,GACjF,QAAQ,IAAI,WAAW,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC,EACzC,KAAK,MAAM;AACV,gBAAQ,KAAK,+BAA+B,EAAE,EAAE;AAAA,MAClD,CAAC,EACA,MAAM,CAAC,QAAQ;AACd,gBAAQ,MAAM,8CAAuC,GAAG;AAAA,MAC1D,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF,GAEM,qBAAqB,OAAO;AAAA,IAChC;AAAA,IACA;AAAA,EACF,MAGM;AACJ,QAAI,CAAC;AACH,YAAM,IAAI;AAAA,QACR;AAAA,MAEF;AAIF,uBAAY,YAAa,CAAC,CAAc,GAiCjC;AAAA,MACL,UAhCe,MAAM;AAAA,QACrB,CAAC,MAAM,SAAS;AAEd,cAAI,KAAK,WAAW,aAAa,GAAG;AAClC,kBAAM,QAAQ,KAAK,MAAM,EAAoB,GACvC,EAAE,QAAQ,IAAI,MAGd,OAAO,wBAAwB,KAAK;AAC1C,gBAAI,CAAC;AACH,oBAAM,IAAI,MAAM,iDAAiD,KAAK,EAAE;AAE1E,mBAAQ,OAAO,EAAU,KAAK,EAC3B,MAAM,CAAC,OACC,YAAY,qBAAqB,UAAU,IAAI,MAAM,SAAS,KAAK,CAC3E,EACA,IAAI;AAAA,UACT;AAGA,iBAAI,iBACF,cAAc,EAAE,UAAU,WAAW,MAAM,QAAQ,KAAK,CAAC,GAG5C,aAAqB,SAAS,IAAI,EACpC,GAAG,EAAE,MAAM,KAAK,SAAS,CAAC;AAAA,QACzC;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IAIA;AAAA,EACF,GAEM,SAAS,OACb,KACA,
|
|
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,
|
|
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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
|
|
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 @@
|
|
|
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 @@
|
|
|
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.
|
|
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.
|
|
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",
|
package/src/createZeroServer.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
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"}
|