on-zero 0.1.50 → 0.1.52
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 +6 -4
- package/dist/cjs/createZeroServer.js +12 -7
- package/dist/cjs/createZeroServer.js.map +1 -1
- package/dist/cjs/createZeroServer.native.js +9 -7
- package/dist/cjs/createZeroServer.native.js.map +1 -1
- package/dist/esm/createZeroServer.js +12 -7
- package/dist/esm/createZeroServer.js.map +1 -1
- package/dist/esm/createZeroServer.mjs +6 -4
- package/dist/esm/createZeroServer.mjs.map +1 -1
- package/dist/esm/createZeroServer.native.js +9 -7
- package/dist/esm/createZeroServer.native.js.map +1 -1
- package/package.json +2 -2
- package/readme.md +10 -2
- package/src/createZeroServer.ts +24 -10
- package/types/createZeroServer.d.ts +5 -1
- package/types/createZeroServer.d.ts.map +1 -1
|
@@ -131,7 +131,8 @@ function createZeroServer({
|
|
|
131
131
|
}, schema, request))
|
|
132
132
|
};
|
|
133
133
|
};
|
|
134
|
-
async function runMutate(modelName, mutatorName, mutatorArg,
|
|
134
|
+
async function runMutate(modelName, mutatorName, mutatorArg, options) {
|
|
135
|
+
let authData = options?.authData;
|
|
135
136
|
if (!authData) {
|
|
136
137
|
const scoped = (0, import_mutatorContext.getScopedAuthData)();
|
|
137
138
|
scoped && (authData = scoped);
|
|
@@ -153,8 +154,9 @@ function createZeroServer({
|
|
|
153
154
|
if (await transaction(async tx => {
|
|
154
155
|
await mutator(tx, mutatorArg);
|
|
155
156
|
}), asyncTasks.length) {
|
|
156
|
-
const resolvedAuth = authData ?? null
|
|
157
|
-
|
|
157
|
+
const resolvedAuth = authData ?? null,
|
|
158
|
+
promise = Promise.all(asyncTasks.map(t => (0, import_mutatorContext.runWithAuthScope)(resolvedAuth, t)));
|
|
159
|
+
options?.awaitEffects ? await promise : promise.catch(err => {
|
|
158
160
|
console.error("[mutate] async tasks failed", err);
|
|
159
161
|
});
|
|
160
162
|
}
|
|
@@ -163,7 +165,7 @@ function createZeroServer({
|
|
|
163
165
|
get(_, modelName) {
|
|
164
166
|
return new Proxy({}, {
|
|
165
167
|
get(_2, mutatorName) {
|
|
166
|
-
return (arg,
|
|
168
|
+
return (arg, options) => runMutate(modelName, mutatorName, arg, options);
|
|
167
169
|
}
|
|
168
170
|
});
|
|
169
171
|
}
|
|
@@ -62,9 +62,11 @@ function createZeroServer({
|
|
|
62
62
|
validateMutation,
|
|
63
63
|
mutationValidators
|
|
64
64
|
}), response = await processor.process(mutators, request);
|
|
65
|
-
return !skipAsyncTasks && asyncTasks.length && Promise.all(asyncTasks.map((task) => (0, import_mutatorContext.runWithAuthScope)(authData, task))).catch(
|
|
66
|
-
|
|
67
|
-
|
|
65
|
+
return !skipAsyncTasks && asyncTasks.length && Promise.all(asyncTasks.map((task) => (0, import_mutatorContext.runWithAuthScope)(authData, task))).catch(
|
|
66
|
+
(err) => {
|
|
67
|
+
console.error("[push] async tasks failed", err);
|
|
68
|
+
}
|
|
69
|
+
), {
|
|
68
70
|
response,
|
|
69
71
|
asyncTasks
|
|
70
72
|
};
|
|
@@ -106,7 +108,8 @@ function createZeroServer({
|
|
|
106
108
|
)
|
|
107
109
|
};
|
|
108
110
|
};
|
|
109
|
-
async function runMutate(modelName, mutatorName, mutatorArg,
|
|
111
|
+
async function runMutate(modelName, mutatorName, mutatorArg, options) {
|
|
112
|
+
let authData = options?.authData;
|
|
110
113
|
if (!authData) {
|
|
111
114
|
const scoped = (0, import_mutatorContext.getScopedAuthData)();
|
|
112
115
|
scoped && (authData = scoped);
|
|
@@ -127,8 +130,10 @@ function createZeroServer({
|
|
|
127
130
|
if (await transaction(async (tx) => {
|
|
128
131
|
await mutator(tx, mutatorArg);
|
|
129
132
|
}), asyncTasks.length) {
|
|
130
|
-
const resolvedAuth = authData ?? null
|
|
131
|
-
|
|
133
|
+
const resolvedAuth = authData ?? null, promise = Promise.all(
|
|
134
|
+
asyncTasks.map((t) => (0, import_mutatorContext.runWithAuthScope)(resolvedAuth, t))
|
|
135
|
+
);
|
|
136
|
+
options?.awaitEffects ? await promise : promise.catch((err) => {
|
|
132
137
|
console.error("[mutate] async tasks failed", err);
|
|
133
138
|
});
|
|
134
139
|
}
|
|
@@ -139,7 +144,7 @@ function createZeroServer({
|
|
|
139
144
|
{},
|
|
140
145
|
{
|
|
141
146
|
get(_2, mutatorName) {
|
|
142
|
-
return (arg,
|
|
147
|
+
return (arg, options) => runMutate(modelName, mutatorName, arg, options);
|
|
143
148
|
}
|
|
144
149
|
}
|
|
145
150
|
);
|
|
@@ -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,iBAA6B,8BAC7BA,aAAqB,eAErB,2BAAkC,gCAClC,wBAA+B,qCAC/B,wBAKO,qCACP,sBAAoC,mCACpC,uBAAwC,4BACxC,aAAiC,kBACjC,eAAkD,oBAClD,eAAwC,oBACxC,oBAA0B;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["import_pg", "zeroHandleQueryRequest", "_", "query"]
|
|
6
6
|
}
|
|
@@ -145,7 +145,8 @@ function createZeroServer(param) {
|
|
|
145
145
|
response
|
|
146
146
|
};
|
|
147
147
|
};
|
|
148
|
-
async function runMutate(modelName, mutatorName, mutatorArg,
|
|
148
|
+
async function runMutate(modelName, mutatorName, mutatorArg, options) {
|
|
149
|
+
var authData = options?.authData;
|
|
149
150
|
if (!authData) {
|
|
150
151
|
var scoped = (0, import_mutatorContext.getScopedAuthData)();
|
|
151
152
|
scoped && (authData = scoped);
|
|
@@ -169,10 +170,11 @@ function createZeroServer(param) {
|
|
|
169
170
|
if (await transaction(async function (tx) {
|
|
170
171
|
await mutator(tx, mutatorArg);
|
|
171
172
|
}), asyncTasks.length) {
|
|
172
|
-
var resolvedAuth = authData ?? null
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
173
|
+
var resolvedAuth = authData ?? null,
|
|
174
|
+
promise = Promise.all(asyncTasks.map(function (t) {
|
|
175
|
+
return (0, import_mutatorContext.runWithAuthScope)(resolvedAuth, t);
|
|
176
|
+
}));
|
|
177
|
+
options?.awaitEffects ? await promise : promise.catch(function (err) {
|
|
176
178
|
console.error("[mutate] async tasks failed", err);
|
|
177
179
|
});
|
|
178
180
|
}
|
|
@@ -181,8 +183,8 @@ function createZeroServer(param) {
|
|
|
181
183
|
get(_, modelName) {
|
|
182
184
|
return new Proxy({}, {
|
|
183
185
|
get(_2, mutatorName) {
|
|
184
|
-
return function (arg,
|
|
185
|
-
return runMutate(modelName, mutatorName, arg,
|
|
186
|
+
return function (arg, options) {
|
|
187
|
+
return runMutate(modelName, mutatorName, arg, options);
|
|
186
188
|
};
|
|
187
189
|
}
|
|
188
190
|
});
|
|
@@ -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_queryContext","import_modelRegistry","import_run","import_state","import_where","import_zeroRunner","param","createServerActions","database","schema","models","queries","mutations","mutationValidators","validateQuery","validateMutation","defaultAllowAdminRole","defaultMutateAuthData","setSchema","setEnvironment","dbString","assertString","pool","Pool","connectionString","ssl","includes","rejectUnauthorized","on","error","console","message","client","zeroDb","zeroNodePg","permissions","createPermissions","environment","adminRoleMode","processor","PushProcessor","handleMutationRequest","param2","authData","request","skipAsyncTasks","asyncTasks","mutators","createMutators","can","response","process","length","Promise","all","map","task","runWithAuthScope","catch","err","handleQueryRequest","Error","runWithQueryContext","name","args","startsWith","table","slice","objOrId","perm","getMutationsPermissions","setEvaluatingPermission","getZQL","where","eb","buildPermissionQuery","one","queryName","params","_$query","mustGetQuery","fn","ctx","runMutate","modelName","mutatorName","mutatorArg","scoped","getScopedAuthData","modelMutators","mutator","transaction","tx","resolvedAuth","t","mutate","Proxy","get","_","_2","arg","query2","isInZeroMutation","mutatorContext","output","dummyTransactionInput","query","cb","run","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;
|
|
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_queryContext","import_modelRegistry","import_run","import_state","import_where","import_zeroRunner","param","createServerActions","database","schema","models","queries","mutations","mutationValidators","validateQuery","validateMutation","defaultAllowAdminRole","defaultMutateAuthData","setSchema","setEnvironment","dbString","assertString","pool","Pool","connectionString","ssl","includes","rejectUnauthorized","on","error","console","message","client","zeroDb","zeroNodePg","permissions","createPermissions","environment","adminRoleMode","processor","PushProcessor","handleMutationRequest","param2","authData","request","skipAsyncTasks","asyncTasks","mutators","createMutators","can","response","process","length","Promise","all","map","task","runWithAuthScope","catch","err","handleQueryRequest","Error","runWithQueryContext","name","args","startsWith","table","slice","objOrId","perm","getMutationsPermissions","setEvaluatingPermission","getZQL","where","eb","buildPermissionQuery","one","queryName","params","_$query","mustGetQuery","fn","ctx","runMutate","modelName","mutatorName","mutatorArg","options","scoped","getScopedAuthData","modelMutators","mutator","transaction","tx","resolvedAuth","promise","t","awaitEffects","mutate","Proxy","get","_","_2","arg","query2","isInZeroMutation","mutatorContext","output","dummyTransactionInput","query","cb","run","setCustomQueries","setRunner","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -62,9 +62,11 @@ function createZeroServer({
|
|
|
62
62
|
validateMutation,
|
|
63
63
|
mutationValidators
|
|
64
64
|
}), response = await processor.process(mutators, request);
|
|
65
|
-
return !skipAsyncTasks && asyncTasks.length && Promise.all(asyncTasks.map((task) => runWithAuthScope(authData, task))).catch(
|
|
66
|
-
|
|
67
|
-
|
|
65
|
+
return !skipAsyncTasks && asyncTasks.length && Promise.all(asyncTasks.map((task) => runWithAuthScope(authData, task))).catch(
|
|
66
|
+
(err) => {
|
|
67
|
+
console.error("[push] async tasks failed", err);
|
|
68
|
+
}
|
|
69
|
+
), {
|
|
68
70
|
response,
|
|
69
71
|
asyncTasks
|
|
70
72
|
};
|
|
@@ -106,7 +108,8 @@ function createZeroServer({
|
|
|
106
108
|
)
|
|
107
109
|
};
|
|
108
110
|
};
|
|
109
|
-
async function runMutate(modelName, mutatorName, mutatorArg,
|
|
111
|
+
async function runMutate(modelName, mutatorName, mutatorArg, options) {
|
|
112
|
+
let authData = options?.authData;
|
|
110
113
|
if (!authData) {
|
|
111
114
|
const scoped = getScopedAuthData();
|
|
112
115
|
scoped && (authData = scoped);
|
|
@@ -127,8 +130,10 @@ function createZeroServer({
|
|
|
127
130
|
if (await transaction(async (tx) => {
|
|
128
131
|
await mutator(tx, mutatorArg);
|
|
129
132
|
}), asyncTasks.length) {
|
|
130
|
-
const resolvedAuth = authData ?? null
|
|
131
|
-
|
|
133
|
+
const resolvedAuth = authData ?? null, promise = Promise.all(
|
|
134
|
+
asyncTasks.map((t) => runWithAuthScope(resolvedAuth, t))
|
|
135
|
+
);
|
|
136
|
+
options?.awaitEffects ? await promise : promise.catch((err) => {
|
|
132
137
|
console.error("[mutate] async tasks failed", err);
|
|
133
138
|
});
|
|
134
139
|
}
|
|
@@ -139,7 +144,7 @@ function createZeroServer({
|
|
|
139
144
|
{},
|
|
140
145
|
{
|
|
141
146
|
get(_2, mutatorName) {
|
|
142
|
-
return (arg,
|
|
147
|
+
return (arg, options) => runMutate(modelName, mutatorName, arg, options);
|
|
143
148
|
}
|
|
144
149
|
}
|
|
145
150
|
);
|
|
@@ -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,oBAAoB;AAC7B,SAAS,YAAY;AAErB,SAAS,yBAAyB;AAClC,SAAS,sBAAsB;AAC/B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,2BAA2B;AACpC,SAAS,+BAA+B;AACxC,SAAS,wBAAwB;AACjC,SAAS,QAAQ,gBAAgB,iBAAiB;AAClD,SAAS,+BAA+B;AACxC,SAAS,iBAAiB;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["_", "query"]
|
|
6
6
|
}
|
|
@@ -106,7 +106,8 @@ function createZeroServer({
|
|
|
106
106
|
}, schema, request))
|
|
107
107
|
};
|
|
108
108
|
};
|
|
109
|
-
async function runMutate(modelName, mutatorName, mutatorArg,
|
|
109
|
+
async function runMutate(modelName, mutatorName, mutatorArg, options) {
|
|
110
|
+
let authData = options?.authData;
|
|
110
111
|
if (!authData) {
|
|
111
112
|
const scoped = getScopedAuthData();
|
|
112
113
|
scoped && (authData = scoped);
|
|
@@ -128,8 +129,9 @@ function createZeroServer({
|
|
|
128
129
|
if (await transaction(async tx => {
|
|
129
130
|
await mutator(tx, mutatorArg);
|
|
130
131
|
}), asyncTasks.length) {
|
|
131
|
-
const resolvedAuth = authData ?? null
|
|
132
|
-
|
|
132
|
+
const resolvedAuth = authData ?? null,
|
|
133
|
+
promise = Promise.all(asyncTasks.map(t => runWithAuthScope(resolvedAuth, t)));
|
|
134
|
+
options?.awaitEffects ? await promise : promise.catch(err => {
|
|
133
135
|
console.error("[mutate] async tasks failed", err);
|
|
134
136
|
});
|
|
135
137
|
}
|
|
@@ -138,7 +140,7 @@ function createZeroServer({
|
|
|
138
140
|
get(_, modelName) {
|
|
139
141
|
return new Proxy({}, {
|
|
140
142
|
get(_2, mutatorName) {
|
|
141
|
-
return (arg,
|
|
143
|
+
return (arg, options) => runMutate(modelName, mutatorName, arg, options);
|
|
142
144
|
}
|
|
143
145
|
});
|
|
144
146
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","Pool","createPermissions","createMutators","getScopedAuthData","isInZeroMutation","mutatorContext","runWithAuthScope","runWithQueryContext","getMutationsPermissions","setCustomQueries","getZQL","setEnvironment","setSchema","setEvaluatingPermission","setRunner","createZeroServer","createServerActions","database","schema","models","queries","mutations","mutationValidators","validateQuery","validateMutation","defaultAllowAdminRole","defaultMutateAuthData","dbString","pool","connectionString","ssl","includes","rejectUnauthorized","on","error","console","message","client","zeroDb","permissions","environment","adminRoleMode","processor","handleMutationRequest","authData","request","skipAsyncTasks","asyncTasks","mutators","can","response","process","length","Promise","all","map","task","catch","err","Error","name","args","startsWith","table","slice","objOrId","perm","where","eb","buildPermissionQuery","one","queryName","params","fn","ctx","runMutate","modelName","mutatorName","mutatorArg","scoped","mutator","transaction","tx","resolvedAuth","t","mutate","Proxy","get","_","_2","arg","query2","dummyTransactionInput","query","cb","run","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,QAAoB;AAC7B,SAASC,IAAA,QAAY;AAErB,SAASC,iBAAA,QAAyB;AAClC,SAASC,cAAA,QAAsB;AAC/B,SACEC,iBAAA,EACAC,gBAAA,EACAC,cAAA,EACAC,gBAAA,QACK;AACP,SAASC,mBAAA,QAA2B;AACpC,SAASC,uBAAA,QAA+B;AACxC,SAASC,gBAAA,QAAwB;AACjC,SAASC,MAAA,EAAQC,cAAA,EAAgBC,SAAA,QAAiB;AAClD,SAASC,uBAAA,QAA+B;AACxC,SAASC,SAAA,QAAiB;
|
|
1
|
+
{"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","Pool","createPermissions","createMutators","getScopedAuthData","isInZeroMutation","mutatorContext","runWithAuthScope","runWithQueryContext","getMutationsPermissions","setCustomQueries","getZQL","setEnvironment","setSchema","setEvaluatingPermission","setRunner","createZeroServer","createServerActions","database","schema","models","queries","mutations","mutationValidators","validateQuery","validateMutation","defaultAllowAdminRole","defaultMutateAuthData","dbString","pool","connectionString","ssl","includes","rejectUnauthorized","on","error","console","message","client","zeroDb","permissions","environment","adminRoleMode","processor","handleMutationRequest","authData","request","skipAsyncTasks","asyncTasks","mutators","can","response","process","length","Promise","all","map","task","catch","err","Error","name","args","startsWith","table","slice","objOrId","perm","where","eb","buildPermissionQuery","one","queryName","params","fn","ctx","runMutate","modelName","mutatorName","mutatorArg","options","scoped","mutator","transaction","tx","resolvedAuth","promise","t","awaitEffects","mutate","Proxy","get","_","_2","arg","query2","dummyTransactionInput","query","cb","run","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -118,7 +118,8 @@ function createZeroServer(param) {
|
|
|
118
118
|
response
|
|
119
119
|
};
|
|
120
120
|
};
|
|
121
|
-
async function runMutate(modelName, mutatorName, mutatorArg,
|
|
121
|
+
async function runMutate(modelName, mutatorName, mutatorArg, options) {
|
|
122
|
+
var authData = options?.authData;
|
|
122
123
|
if (!authData) {
|
|
123
124
|
var scoped = getScopedAuthData();
|
|
124
125
|
scoped && (authData = scoped);
|
|
@@ -142,10 +143,11 @@ function createZeroServer(param) {
|
|
|
142
143
|
if (await transaction(async function (tx) {
|
|
143
144
|
await mutator(tx, mutatorArg);
|
|
144
145
|
}), asyncTasks.length) {
|
|
145
|
-
var resolvedAuth = authData ?? null
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
146
|
+
var resolvedAuth = authData ?? null,
|
|
147
|
+
promise = Promise.all(asyncTasks.map(function (t) {
|
|
148
|
+
return runWithAuthScope(resolvedAuth, t);
|
|
149
|
+
}));
|
|
150
|
+
options?.awaitEffects ? await promise : promise.catch(function (err) {
|
|
149
151
|
console.error("[mutate] async tasks failed", err);
|
|
150
152
|
});
|
|
151
153
|
}
|
|
@@ -154,8 +156,8 @@ function createZeroServer(param) {
|
|
|
154
156
|
get(_, modelName) {
|
|
155
157
|
return new Proxy({}, {
|
|
156
158
|
get(_2, mutatorName) {
|
|
157
|
-
return function (arg,
|
|
158
|
-
return runMutate(modelName, mutatorName, arg,
|
|
159
|
+
return function (arg, options) {
|
|
160
|
+
return runMutate(modelName, mutatorName, arg, options);
|
|
159
161
|
};
|
|
160
162
|
}
|
|
161
163
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","Pool","createPermissions","createMutators","getScopedAuthData","isInZeroMutation","mutatorContext","runWithAuthScope","runWithQueryContext","getMutationsPermissions","setCustomQueries","getZQL","setEnvironment","setSchema","setEvaluatingPermission","setRunner","createZeroServer","param","createServerActions","database","schema","models","queries","mutations","mutationValidators","validateQuery","validateMutation","defaultAllowAdminRole","defaultMutateAuthData","dbString","pool","connectionString","ssl","includes","rejectUnauthorized","on","error","console","message","client","zeroDb","permissions","environment","adminRoleMode","processor","handleMutationRequest","param2","authData","request","skipAsyncTasks","asyncTasks","mutators","can","response","process","length","Promise","all","map","task","catch","err","Error","name","args","startsWith","table","slice","objOrId","perm","where","eb","buildPermissionQuery","one","queryName","params","_$query","fn","ctx","runMutate","modelName","mutatorName","mutatorArg","scoped","modelMutators","mutator","transaction","tx","resolvedAuth","t","mutate","Proxy","get","_","_2","arg","query2","output","dummyTransactionInput","query","cb","run","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,QAAoB;AAC7B,SAASC,IAAA,QAAY;AAErB,SAASC,iBAAA,QAAyB;AAClC,SAASC,cAAA,QAAsB;AAC/B,SAAAC,iBAAA,EAAAC,gBAAA,EAAAC,cAAA,EAAAC,gBAAA;AAAA,SACEC,mBAAA;AAAA,SACAC,uBAAA;AAAA,SACAC,gBAAA;AAAA,SACAC,MAAA,EAAAC,cAAA,EAAAC,SAAA;AAAA,SACKC,uBAAA;AACP,SAASC,SAAA,gCAA2B;AACpC,SAASC,iBAAAC,KAAA;EACT;IAAAC,mBAAS;IAAAC,QAAwB;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,SAAA,EAAAC,kBAAA;IAAAC,aAAA;IAAAC,gBAAA;IAAAC,qBAAA;IAAAC,qBAAA;EAAA,IAAAX,KAAA;EACjCJ,SAAS,CAAAO,MAAQ,GAAAR,cAAgB;EACjC,IAAAiB,QAAS,GAAA7B,YAAA,CAAAmB,QAAA,EAA+B;IAAAW,IAAA,OAAA7B,IAAA;MACxC8B,gBAAS,EAAAF,QAAiB;
|
|
1
|
+
{"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","Pool","createPermissions","createMutators","getScopedAuthData","isInZeroMutation","mutatorContext","runWithAuthScope","runWithQueryContext","getMutationsPermissions","setCustomQueries","getZQL","setEnvironment","setSchema","setEvaluatingPermission","setRunner","createZeroServer","param","createServerActions","database","schema","models","queries","mutations","mutationValidators","validateQuery","validateMutation","defaultAllowAdminRole","defaultMutateAuthData","dbString","pool","connectionString","ssl","includes","rejectUnauthorized","on","error","console","message","client","zeroDb","permissions","environment","adminRoleMode","processor","handleMutationRequest","param2","authData","request","skipAsyncTasks","asyncTasks","mutators","can","response","process","length","Promise","all","map","task","catch","err","Error","name","args","startsWith","table","slice","objOrId","perm","where","eb","buildPermissionQuery","one","queryName","params","_$query","fn","ctx","runMutate","modelName","mutatorName","mutatorArg","options","scoped","modelMutators","mutator","transaction","tx","resolvedAuth","promise","t","awaitEffects","mutate","Proxy","get","_","_2","arg","query2","output","dummyTransactionInput","query","cb","run","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "on-zero",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.52",
|
|
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": "
|
|
74
|
+
"@take-out/helpers": "workspace:*",
|
|
75
75
|
"@sinclair/typebox-codegen": "^0.11.1",
|
|
76
76
|
"chokidar": "^4.0.3",
|
|
77
77
|
"citty": "^0.1.6",
|
package/readme.md
CHANGED
|
@@ -669,12 +669,20 @@ const auth = ensureAuth() // AuthData (throws if not authenticated)
|
|
|
669
669
|
await zeroServer.mutate.user.insert(user)
|
|
670
670
|
|
|
671
671
|
// with explicit auth (optional - authData auto-resolves from context)
|
|
672
|
-
await zeroServer.mutate.user.insert(user, { id: userId, email })
|
|
672
|
+
await zeroServer.mutate.user.insert(user, { authData: { id: userId, email } })
|
|
673
|
+
|
|
674
|
+
// await async tasks (effects) before returning
|
|
675
|
+
await zeroServer.mutate.user.insert(user, { awaitEffects: true })
|
|
673
676
|
```
|
|
674
677
|
|
|
678
|
+
the second argument is an options object:
|
|
679
|
+
|
|
680
|
+
- `authData` — override auth for this call (optional, auto-resolves from context)
|
|
681
|
+
- `awaitEffects` — if `true`, awaits async tasks before returning (default: fire-and-forget)
|
|
682
|
+
|
|
675
683
|
authData is automatically resolved in this order:
|
|
676
684
|
|
|
677
|
-
1. explicit `authData`
|
|
685
|
+
1. explicit `authData` in options (if passed)
|
|
678
686
|
2. current mutation context (inside a mutation)
|
|
679
687
|
3. auth scope (inside asyncTasks - automatically inherited)
|
|
680
688
|
4. `defaultMutateAuthData` from `createZeroServer` config (defaults to `{}`)
|
package/src/createZeroServer.ts
CHANGED
|
@@ -39,14 +39,19 @@ import type { TransactionProviderInput } from '@rocicorp/zero/pg'
|
|
|
39
39
|
|
|
40
40
|
type MutateAuthData = Pick<AuthData, 'email' | 'id'> & Partial<AuthData>
|
|
41
41
|
|
|
42
|
+
type MutateOptions = {
|
|
43
|
+
authData?: MutateAuthData
|
|
44
|
+
awaitEffects?: boolean
|
|
45
|
+
}
|
|
46
|
+
|
|
42
47
|
type ServerMutate<Models extends GenericModels> = {
|
|
43
48
|
[Key in keyof Models]: {
|
|
44
49
|
[K in keyof Models[Key]['mutate']]: Models[Key]['mutate'][K] extends (
|
|
45
50
|
ctx: MutatorContext,
|
|
46
51
|
arg: infer Arg
|
|
47
52
|
) => any
|
|
48
|
-
? (arg: Arg,
|
|
49
|
-
: (
|
|
53
|
+
? (arg: Arg, options?: MutateOptions) => Promise<void>
|
|
54
|
+
: (options?: MutateOptions) => Promise<void>
|
|
50
55
|
}
|
|
51
56
|
}
|
|
52
57
|
|
|
@@ -180,10 +185,11 @@ export function createZeroServer<
|
|
|
180
185
|
|
|
181
186
|
// now finish
|
|
182
187
|
if (!skipAsyncTasks && asyncTasks.length) {
|
|
183
|
-
Promise.all(asyncTasks.map((task) => runWithAuthScope(authData, task)))
|
|
184
|
-
|
|
188
|
+
Promise.all(asyncTasks.map((task) => runWithAuthScope(authData, task))).catch(
|
|
189
|
+
(err) => {
|
|
185
190
|
console.error(`[push] async tasks failed`, err)
|
|
186
|
-
}
|
|
191
|
+
}
|
|
192
|
+
)
|
|
187
193
|
}
|
|
188
194
|
|
|
189
195
|
return {
|
|
@@ -263,8 +269,10 @@ export function createZeroServer<
|
|
|
263
269
|
modelName: string,
|
|
264
270
|
mutatorName: string,
|
|
265
271
|
mutatorArg: unknown,
|
|
266
|
-
|
|
272
|
+
options?: MutateOptions
|
|
267
273
|
) {
|
|
274
|
+
let authData = options?.authData
|
|
275
|
+
|
|
268
276
|
// auto-resolve authData from mutation context or auth scope
|
|
269
277
|
if (!authData) {
|
|
270
278
|
const scoped = getScopedAuthData()
|
|
@@ -301,10 +309,16 @@ export function createZeroServer<
|
|
|
301
309
|
|
|
302
310
|
if (asyncTasks.length) {
|
|
303
311
|
const resolvedAuth = authData ?? null
|
|
304
|
-
Promise.all(
|
|
305
|
-
.
|
|
312
|
+
const promise = Promise.all(
|
|
313
|
+
asyncTasks.map((t) => runWithAuthScope(resolvedAuth, t))
|
|
314
|
+
)
|
|
315
|
+
if (options?.awaitEffects) {
|
|
316
|
+
await promise
|
|
317
|
+
} else {
|
|
318
|
+
promise.catch((err) => {
|
|
306
319
|
console.error(`[mutate] async tasks failed`, err)
|
|
307
320
|
})
|
|
321
|
+
}
|
|
308
322
|
}
|
|
309
323
|
}
|
|
310
324
|
|
|
@@ -315,8 +329,8 @@ export function createZeroServer<
|
|
|
315
329
|
{},
|
|
316
330
|
{
|
|
317
331
|
get(_, mutatorName: string) {
|
|
318
|
-
return (arg: unknown,
|
|
319
|
-
runMutate(modelName, mutatorName, arg,
|
|
332
|
+
return (arg: unknown, options?: MutateOptions) =>
|
|
333
|
+
runMutate(modelName, mutatorName, arg, options)
|
|
320
334
|
},
|
|
321
335
|
}
|
|
322
336
|
)
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import type { AdminRoleMode, AsyncAction, AuthData, GenericModels, MutatorContext, QueryBuilder, Transaction } from './types';
|
|
2
2
|
import type { AnyQueryRegistry, HumanReadable, Query, Schema as ZeroSchema } from '@rocicorp/zero';
|
|
3
3
|
type MutateAuthData = Pick<AuthData, 'email' | 'id'> & Partial<AuthData>;
|
|
4
|
+
type MutateOptions = {
|
|
5
|
+
authData?: MutateAuthData;
|
|
6
|
+
awaitEffects?: boolean;
|
|
7
|
+
};
|
|
4
8
|
type ServerMutate<Models extends GenericModels> = {
|
|
5
9
|
[Key in keyof Models]: {
|
|
6
|
-
[K in keyof Models[Key]['mutate']]: Models[Key]['mutate'][K] extends (ctx: MutatorContext, arg: infer Arg) => any ? (arg: Arg,
|
|
10
|
+
[K in keyof Models[Key]['mutate']]: Models[Key]['mutate'][K] extends (ctx: MutatorContext, arg: infer Arg) => any ? (arg: Arg, options?: MutateOptions) => Promise<void> : (options?: MutateOptions) => Promise<void>;
|
|
7
11
|
};
|
|
8
12
|
};
|
|
9
13
|
export type ValidateQueryArgs = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createZeroServer.d.ts","sourceRoot":"","sources":["../src/createZeroServer.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,QAAQ,EACR,aAAa,EACb,cAAc,EACd,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,KAAK,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;AAExE,KAAK,YAAY,CAAC,MAAM,SAAS,aAAa,IAAI;KAC/C,GAAG,IAAI,MAAM,MAAM,GAAG;SACpB,CAAC,IAAI,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CACnE,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE,MAAM,GAAG,KACX,GAAG,GACJ,CAAC,GAAG,EAAE,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"createZeroServer.d.ts","sourceRoot":"","sources":["../src/createZeroServer.ts"],"names":[],"mappings":"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"}
|