on-zero 0.1.35 → 0.1.37
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/createZeroClient.cjs +3 -3
- package/dist/cjs/createZeroClient.js +3 -3
- package/dist/cjs/createZeroClient.js.map +1 -1
- package/dist/cjs/createZeroClient.native.js +3 -3
- package/dist/cjs/createZeroClient.native.js.map +1 -1
- package/dist/cjs/createZeroServer.cjs +42 -29
- package/dist/cjs/createZeroServer.js +34 -21
- package/dist/cjs/createZeroServer.js.map +2 -2
- package/dist/cjs/createZeroServer.native.js +48 -33
- package/dist/cjs/createZeroServer.native.js.map +1 -1
- package/dist/cjs/helpers/getAuth.cjs +37 -0
- package/dist/cjs/helpers/getAuth.js +31 -0
- package/dist/cjs/helpers/getAuth.js.map +6 -0
- package/dist/cjs/helpers/getAuth.native.js +40 -0
- package/dist/cjs/helpers/getAuth.native.js.map +1 -0
- package/dist/cjs/helpers/mutatorContext.cjs +10 -1
- package/dist/cjs/helpers/mutatorContext.js +9 -1
- package/dist/cjs/helpers/mutatorContext.js.map +1 -1
- package/dist/cjs/helpers/mutatorContext.native.js +12 -1
- package/dist/cjs/helpers/mutatorContext.native.js.map +1 -1
- package/dist/cjs/index.cjs +3 -0
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.native.js +3 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/where.cjs +2 -2
- package/dist/cjs/where.js +2 -2
- package/dist/cjs/where.js.map +1 -1
- package/dist/cjs/where.native.js +2 -2
- package/dist/cjs/where.native.js.map +1 -1
- package/dist/esm/createZeroClient.js +3 -3
- package/dist/esm/createZeroClient.js.map +1 -1
- package/dist/esm/createZeroClient.mjs +3 -3
- package/dist/esm/createZeroClient.mjs.map +1 -1
- package/dist/esm/createZeroClient.native.js +3 -3
- package/dist/esm/createZeroClient.native.js.map +1 -1
- package/dist/esm/createZeroServer.js +40 -22
- package/dist/esm/createZeroServer.js.map +2 -2
- package/dist/esm/createZeroServer.mjs +43 -30
- package/dist/esm/createZeroServer.mjs.map +1 -1
- package/dist/esm/createZeroServer.native.js +49 -34
- package/dist/esm/createZeroServer.native.js.map +1 -1
- package/dist/esm/helpers/getAuth.js +17 -0
- package/dist/esm/helpers/getAuth.js.map +6 -0
- package/dist/esm/helpers/getAuth.mjs +13 -0
- package/dist/esm/helpers/getAuth.mjs.map +1 -0
- package/dist/esm/helpers/getAuth.native.js +13 -0
- package/dist/esm/helpers/getAuth.native.js.map +1 -0
- package/dist/esm/helpers/mutatorContext.js +9 -1
- package/dist/esm/helpers/mutatorContext.js.map +1 -1
- package/dist/esm/helpers/mutatorContext.mjs +9 -2
- package/dist/esm/helpers/mutatorContext.mjs.map +1 -1
- package/dist/esm/helpers/mutatorContext.native.js +11 -2
- package/dist/esm/helpers/mutatorContext.native.js.map +1 -1
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +2 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +2 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/where.js +2 -2
- package/dist/esm/where.js.map +1 -1
- package/dist/esm/where.mjs +2 -2
- package/dist/esm/where.mjs.map +1 -1
- package/dist/esm/where.native.js +2 -2
- package/dist/esm/where.native.js.map +1 -1
- package/package.json +2 -2
- package/readme.md +51 -7
- package/src/createZeroClient.tsx +3 -3
- package/src/createZeroServer.ts +75 -25
- package/src/helpers/{getQueryOrMutatorAuthData.ts → getAuth.ts} +9 -1
- package/src/helpers/mutatorContext.ts +19 -1
- package/src/index.ts +1 -0
- package/src/where.ts +2 -5
- package/types/createZeroServer.d.ts +16 -5
- package/types/createZeroServer.d.ts.map +1 -1
- package/types/helpers/getAuth.d.ts +4 -0
- package/types/helpers/getAuth.d.ts.map +1 -0
- package/types/helpers/mutatorContext.d.ts +3 -1
- package/types/helpers/mutatorContext.d.ts.map +1 -1
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/where.d.ts.map +1 -1
|
@@ -6,7 +6,7 @@ import { assertString, randomId } from "@take-out/helpers";
|
|
|
6
6
|
import { Pool } from "pg";
|
|
7
7
|
import { createPermissions } from "./createPermissions.mjs";
|
|
8
8
|
import { createMutators } from "./helpers/createMutators.mjs";
|
|
9
|
-
import { isInZeroMutation, mutatorContext } from "./helpers/mutatorContext.mjs";
|
|
9
|
+
import { getScopedAuthData, isInZeroMutation, mutatorContext, runWithAuthScope } from "./helpers/mutatorContext.mjs";
|
|
10
10
|
import { runWithQueryContext } from "./helpers/queryContext.mjs";
|
|
11
11
|
import { getMutationsPermissions } from "./modelRegistry.mjs";
|
|
12
12
|
import { setCustomQueries } from "./run.mjs";
|
|
@@ -20,7 +20,8 @@ function createZeroServer({
|
|
|
20
20
|
queries,
|
|
21
21
|
validateQuery,
|
|
22
22
|
validateMutation,
|
|
23
|
-
defaultAllowAdminRole = "all"
|
|
23
|
+
defaultAllowAdminRole = "all",
|
|
24
|
+
defaultMutateAuthData = {}
|
|
24
25
|
}) {
|
|
25
26
|
setSchema(schema);
|
|
26
27
|
const dbString = assertString(database, 'createZeroServer "database"'),
|
|
@@ -55,7 +56,7 @@ function createZeroServer({
|
|
|
55
56
|
response = await processor.process(mutators, request);
|
|
56
57
|
if (!skipAsyncTasks && asyncTasks.length) {
|
|
57
58
|
const id = randomId();
|
|
58
|
-
console.info(`[push] complete, running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map(task => task
|
|
59
|
+
console.info(`[push] complete, running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map(task => runWithAuthScope(authData, task))).then(() => {
|
|
59
60
|
console.info(`[push] async tasks complete ${id}`);
|
|
60
61
|
}).catch(err => {
|
|
61
62
|
console.error("[push] error: async tasks failed \u{1F61E}", err);
|
|
@@ -94,34 +95,46 @@ function createZeroServer({
|
|
|
94
95
|
});
|
|
95
96
|
}, schema, request))
|
|
96
97
|
};
|
|
97
|
-
},
|
|
98
|
-
mutate = async (run, authData, options) => {
|
|
99
|
-
const asyncTasks = [],
|
|
100
|
-
mutators = createMutators({
|
|
101
|
-
models,
|
|
102
|
-
environment: "server",
|
|
103
|
-
asyncTasks,
|
|
104
|
-
authData: {
|
|
105
|
-
id: "",
|
|
106
|
-
email: "admin@start.chat",
|
|
107
|
-
role: "admin",
|
|
108
|
-
...authData
|
|
109
|
-
},
|
|
110
|
-
createServerActions,
|
|
111
|
-
can: permissions.can,
|
|
112
|
-
validateMutation
|
|
113
|
-
});
|
|
114
|
-
if (await transaction(async tx => {
|
|
115
|
-
await run(tx, mutators);
|
|
116
|
-
}), asyncTasks.length) if (options?.awaitAsyncTasks) await Promise.all(asyncTasks.map(t => t()));else {
|
|
117
|
-
const id = randomId();
|
|
118
|
-
console.info(`[mutate] running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map(t => t())).then(() => {
|
|
119
|
-
console.info(`[mutate] async tasks complete ${id}`);
|
|
120
|
-
}).catch(err => {
|
|
121
|
-
console.error("[mutate] error: async tasks failed", err);
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
98
|
};
|
|
99
|
+
async function runMutate(modelName, mutatorName, mutatorArg, authData) {
|
|
100
|
+
if (!authData) {
|
|
101
|
+
const scoped = getScopedAuthData();
|
|
102
|
+
scoped && (authData = scoped);
|
|
103
|
+
}
|
|
104
|
+
const asyncTasks = [],
|
|
105
|
+
mutator = createMutators({
|
|
106
|
+
models,
|
|
107
|
+
environment: "server",
|
|
108
|
+
asyncTasks,
|
|
109
|
+
authData: {
|
|
110
|
+
...defaultMutateAuthData,
|
|
111
|
+
...authData
|
|
112
|
+
},
|
|
113
|
+
createServerActions,
|
|
114
|
+
can: permissions.can,
|
|
115
|
+
validateMutation
|
|
116
|
+
})[modelName][mutatorName];
|
|
117
|
+
if (await transaction(async tx => {
|
|
118
|
+
await mutator(tx, mutatorArg);
|
|
119
|
+
}), asyncTasks.length) {
|
|
120
|
+
const id = randomId(),
|
|
121
|
+
resolvedAuth = authData ?? null;
|
|
122
|
+
console.info(`[mutate] running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map(t => runWithAuthScope(resolvedAuth, t))).then(() => {
|
|
123
|
+
console.info(`[mutate] async tasks complete ${id}`);
|
|
124
|
+
}).catch(err => {
|
|
125
|
+
console.error("[mutate] error: async tasks failed", err);
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
const mutate = new Proxy({}, {
|
|
130
|
+
get(_, modelName) {
|
|
131
|
+
return new Proxy({}, {
|
|
132
|
+
get(_2, mutatorName) {
|
|
133
|
+
return (arg, authData) => runMutate(modelName, mutatorName, arg, authData);
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
});
|
|
125
138
|
async function transaction(query2) {
|
|
126
139
|
try {
|
|
127
140
|
if (isInZeroMutation()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","randomId","Pool","createPermissions","createMutators","isInZeroMutation","mutatorContext","runWithQueryContext","getMutationsPermissions","setCustomQueries","getZQL","setSchema","setRunner","createZeroServer","createServerActions","database","schema","models","queries","validateQuery","validateMutation","defaultAllowAdminRole","dbString","zeroDb","connectionString","ssl","includes","rejectUnauthorized","permissions","environment","adminRoleMode","processor","handleMutationRequest","authData","request","skipAsyncTasks","asyncTasks","mutators","can","response","process","length","id","console","info","Promise","all","map","task","then","catch","err","error","Error","name","args","startsWith","table","slice","objOrId","perm","where","eb","buildPermissionQuery","one","queryName","params","fn","ctx","
|
|
1
|
+
{"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","randomId","Pool","createPermissions","createMutators","getScopedAuthData","isInZeroMutation","mutatorContext","runWithAuthScope","runWithQueryContext","getMutationsPermissions","setCustomQueries","getZQL","setSchema","setRunner","createZeroServer","createServerActions","database","schema","models","queries","validateQuery","validateMutation","defaultAllowAdminRole","defaultMutateAuthData","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","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":"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","ignoreList":[]}
|
|
@@ -6,7 +6,7 @@ import { assertString, randomId } from "@take-out/helpers";
|
|
|
6
6
|
import { Pool } from "pg";
|
|
7
7
|
import { createPermissions } from "./createPermissions.native.js";
|
|
8
8
|
import { createMutators } from "./helpers/createMutators.native.js";
|
|
9
|
-
import { isInZeroMutation, mutatorContext } from "./helpers/mutatorContext.native.js";
|
|
9
|
+
import { getScopedAuthData, isInZeroMutation, mutatorContext, runWithAuthScope } from "./helpers/mutatorContext.native.js";
|
|
10
10
|
import { runWithQueryContext } from "./helpers/queryContext.native.js";
|
|
11
11
|
import { getMutationsPermissions } from "./modelRegistry.native.js";
|
|
12
12
|
import { setCustomQueries } from "./run.native.js";
|
|
@@ -21,7 +21,8 @@ function createZeroServer(param) {
|
|
|
21
21
|
queries,
|
|
22
22
|
validateQuery,
|
|
23
23
|
validateMutation,
|
|
24
|
-
defaultAllowAdminRole = "all"
|
|
24
|
+
defaultAllowAdminRole = "all",
|
|
25
|
+
defaultMutateAuthData = {}
|
|
25
26
|
} = param;
|
|
26
27
|
setSchema(schema);
|
|
27
28
|
var dbString = assertString(database, 'createZeroServer "database"'),
|
|
@@ -58,7 +59,7 @@ function createZeroServer(param) {
|
|
|
58
59
|
if (!skipAsyncTasks && asyncTasks.length) {
|
|
59
60
|
var id = randomId();
|
|
60
61
|
console.info(`[push] complete, running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map(function (task) {
|
|
61
|
-
return task
|
|
62
|
+
return runWithAuthScope(authData, task);
|
|
62
63
|
})).then(function () {
|
|
63
64
|
console.info(`[push] async tasks complete ${id}`);
|
|
64
65
|
}).catch(function (err) {
|
|
@@ -106,38 +107,52 @@ function createZeroServer(param) {
|
|
|
106
107
|
return {
|
|
107
108
|
response
|
|
108
109
|
};
|
|
109
|
-
},
|
|
110
|
-
mutate = async function (run, authData, options) {
|
|
111
|
-
var asyncTasks = [],
|
|
112
|
-
mutators = createMutators({
|
|
113
|
-
models,
|
|
114
|
-
environment: "server",
|
|
115
|
-
asyncTasks,
|
|
116
|
-
authData: {
|
|
117
|
-
id: "",
|
|
118
|
-
email: "admin@start.chat",
|
|
119
|
-
role: "admin",
|
|
120
|
-
...authData
|
|
121
|
-
},
|
|
122
|
-
createServerActions,
|
|
123
|
-
can: permissions.can,
|
|
124
|
-
validateMutation
|
|
125
|
-
});
|
|
126
|
-
if (await transaction(async function (tx) {
|
|
127
|
-
await run(tx, mutators);
|
|
128
|
-
}), asyncTasks.length) if (options?.awaitAsyncTasks) await Promise.all(asyncTasks.map(function (t) {
|
|
129
|
-
return t();
|
|
130
|
-
}));else {
|
|
131
|
-
var id = randomId();
|
|
132
|
-
console.info(`[mutate] running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map(function (t) {
|
|
133
|
-
return t();
|
|
134
|
-
})).then(function () {
|
|
135
|
-
console.info(`[mutate] async tasks complete ${id}`);
|
|
136
|
-
}).catch(function (err) {
|
|
137
|
-
console.error("[mutate] error: async tasks failed", err);
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
110
|
};
|
|
111
|
+
async function runMutate(modelName, mutatorName, mutatorArg, authData) {
|
|
112
|
+
if (!authData) {
|
|
113
|
+
var scoped = getScopedAuthData();
|
|
114
|
+
scoped && (authData = scoped);
|
|
115
|
+
}
|
|
116
|
+
var asyncTasks = [],
|
|
117
|
+
mutators = createMutators({
|
|
118
|
+
models,
|
|
119
|
+
environment: "server",
|
|
120
|
+
asyncTasks,
|
|
121
|
+
authData: {
|
|
122
|
+
...defaultMutateAuthData,
|
|
123
|
+
...authData
|
|
124
|
+
},
|
|
125
|
+
createServerActions,
|
|
126
|
+
can: permissions.can,
|
|
127
|
+
validateMutation
|
|
128
|
+
}),
|
|
129
|
+
modelMutators = mutators[modelName],
|
|
130
|
+
mutator = modelMutators[mutatorName];
|
|
131
|
+
if (await transaction(async function (tx) {
|
|
132
|
+
await mutator(tx, mutatorArg);
|
|
133
|
+
}), asyncTasks.length) {
|
|
134
|
+
var id = randomId(),
|
|
135
|
+
resolvedAuth = authData ?? null;
|
|
136
|
+
console.info(`[mutate] running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map(function (t) {
|
|
137
|
+
return runWithAuthScope(resolvedAuth, t);
|
|
138
|
+
})).then(function () {
|
|
139
|
+
console.info(`[mutate] async tasks complete ${id}`);
|
|
140
|
+
}).catch(function (err) {
|
|
141
|
+
console.error("[mutate] error: async tasks failed", err);
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
var mutate = new Proxy({}, {
|
|
146
|
+
get(_, modelName) {
|
|
147
|
+
return new Proxy({}, {
|
|
148
|
+
get(_2, mutatorName) {
|
|
149
|
+
return function (arg, authData) {
|
|
150
|
+
return runMutate(modelName, mutatorName, arg, authData);
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
});
|
|
141
156
|
async function transaction(query2) {
|
|
142
157
|
try {
|
|
143
158
|
if (isInZeroMutation()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","randomId","Pool","createPermissions","createMutators","isInZeroMutation","mutatorContext","runWithQueryContext","getMutationsPermissions","setCustomQueries","getZQL","setSchema","setRunner","createZeroServer","param","createServerActions","database","schema","models","queries","validateQuery","validateMutation","defaultAllowAdminRole","dbString","zeroDb","connectionString","ssl","includes","rejectUnauthorized","permissions","environment","adminRoleMode","processor","handleMutationRequest","param2","authData","request","skipAsyncTasks","asyncTasks","mutators","can","response","process","length","id","console","info","Promise","all","map","task","then","catch","err","error","Error","name","args","startsWith","table","slice","objOrId","perm","where","eb","buildPermissionQuery","one","queryName","params","_$query","fn","ctx","
|
|
1
|
+
{"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","randomId","Pool","createPermissions","createMutators","getScopedAuthData","isInZeroMutation","mutatorContext","runWithAuthScope","runWithQueryContext","getMutationsPermissions","setCustomQueries","getZQL","setSchema","setRunner","createZeroServer","param","createServerActions","database","schema","models","queries","validateQuery","validateMutation","defaultAllowAdminRole","defaultMutateAuthData","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","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":"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","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { getAuthData } from "../state";
|
|
2
|
+
import { isInZeroMutation, mutatorContext } from "./mutatorContext";
|
|
3
|
+
import { isInQueryContext, queryAuthData } from "./queryContext";
|
|
4
|
+
function ensureAuth() {
|
|
5
|
+
const auth = getAuth();
|
|
6
|
+
if (!auth)
|
|
7
|
+
throw new Error("Not authenticated");
|
|
8
|
+
return auth;
|
|
9
|
+
}
|
|
10
|
+
function getAuth() {
|
|
11
|
+
return isInZeroMutation() ? mutatorContext().authData : isInQueryContext() ? queryAuthData() : getAuthData();
|
|
12
|
+
}
|
|
13
|
+
export {
|
|
14
|
+
ensureAuth,
|
|
15
|
+
getAuth
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=getAuth.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/helpers/getAuth.ts"],
|
|
4
|
+
"mappings": "AAAA,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB,sBAAsB;AACjD,SAAS,kBAAkB,qBAAqB;AAIzC,SAAS,aAAuB;AACrC,QAAM,OAAO,QAAQ;AACrB,MAAI,CAAC;AACH,UAAM,IAAI,MAAM,mBAAmB;AAErC,SAAO;AACT;AAEO,SAAS,UAA2B;AACzC,SAAI,iBAAiB,IACZ,eAAe,EAAE,WAEtB,iBAAiB,IACZ,cAAc,IAGhB,YAAY;AACrB;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { getAuthData } from "../state.mjs";
|
|
2
|
+
import { isInZeroMutation, mutatorContext } from "./mutatorContext.mjs";
|
|
3
|
+
import { isInQueryContext, queryAuthData } from "./queryContext.mjs";
|
|
4
|
+
function ensureAuth() {
|
|
5
|
+
const auth = getAuth();
|
|
6
|
+
if (!auth) throw new Error("Not authenticated");
|
|
7
|
+
return auth;
|
|
8
|
+
}
|
|
9
|
+
function getAuth() {
|
|
10
|
+
return isInZeroMutation() ? mutatorContext().authData : isInQueryContext() ? queryAuthData() : getAuthData();
|
|
11
|
+
}
|
|
12
|
+
export { ensureAuth, getAuth };
|
|
13
|
+
//# sourceMappingURL=getAuth.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getAuthData","isInZeroMutation","mutatorContext","isInQueryContext","queryAuthData","ensureAuth","auth","getAuth","Error","authData"],"sources":["../../../src/helpers/getAuth.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAmB;AAC5B,SAASC,gBAAA,EAAkBC,cAAA,QAAsB;AACjD,SAASC,gBAAA,EAAkBC,aAAA,QAAqB;AAIzC,SAASC,WAAA,EAAuB;EACrC,MAAMC,IAAA,GAAOC,OAAA,CAAQ;EACrB,IAAI,CAACD,IAAA,EACH,MAAM,IAAIE,KAAA,CAAM,mBAAmB;EAErC,OAAOF,IAAA;AACT;AAEO,SAASC,QAAA,EAA2B;EACzC,OAAIN,gBAAA,CAAiB,IACZC,cAAA,CAAe,EAAEO,QAAA,GAEtBN,gBAAA,CAAiB,IACZC,aAAA,CAAc,IAGhBJ,WAAA,CAAY;AACrB","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { getAuthData } from "../state.native.js";
|
|
2
|
+
import { isInZeroMutation, mutatorContext } from "./mutatorContext.native.js";
|
|
3
|
+
import { isInQueryContext, queryAuthData } from "./queryContext.native.js";
|
|
4
|
+
function ensureAuth() {
|
|
5
|
+
var auth = getAuth();
|
|
6
|
+
if (!auth) throw new Error("Not authenticated");
|
|
7
|
+
return auth;
|
|
8
|
+
}
|
|
9
|
+
function getAuth() {
|
|
10
|
+
return isInZeroMutation() ? mutatorContext().authData : isInQueryContext() ? queryAuthData() : getAuthData();
|
|
11
|
+
}
|
|
12
|
+
export { ensureAuth, getAuth };
|
|
13
|
+
//# sourceMappingURL=getAuth.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getAuthData","isInZeroMutation","mutatorContext","isInQueryContext","queryAuthData","ensureAuth","auth","getAuth","Error","authData"],"sources":["../../../src/helpers/getAuth.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAmB;AAC5B,SAASC,gBAAA,EAAkBC,cAAA,QAAsB;AACjD,SAASC,gBAAA,EAAkBC,aAAA,QAAqB;AAIzC,SAASC,WAAA,EAAuB;EACrC,IAAAC,IAAM,GAAAC,OAAO;EACb,IAAI,CAACD,IAAA,EACH,MAAM,IAAIE,KAAA,CAAM,mBAAmB;EAErC,OAAOF,IAAA;AACT;AAEO,SAASC,QAAA,EAA2B;EACzC,OAAIN,gBAAA,CAAiB,IACZC,cAAA,CAAe,EAAEO,QAAA,GAEtBN,gBAAA,CAAiB,IACZC,aAAA,CAAc,IAGhBJ,WAAA,CAAY;AACrB","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createAsyncContext } from "@take-out/helpers";
|
|
2
|
-
const asyncContext = createAsyncContext();
|
|
2
|
+
const asyncContext = createAsyncContext(), authScopeContext = createAsyncContext();
|
|
3
3
|
function mutatorContext() {
|
|
4
4
|
const currentContext = asyncContext.get();
|
|
5
5
|
if (!currentContext)
|
|
@@ -12,9 +12,17 @@ function isInZeroMutation() {
|
|
|
12
12
|
function runWithContext(context, fn) {
|
|
13
13
|
return asyncContext.run(context, fn);
|
|
14
14
|
}
|
|
15
|
+
function getScopedAuthData() {
|
|
16
|
+
return isInZeroMutation() ? mutatorContext().authData : authScopeContext.get() ?? void 0;
|
|
17
|
+
}
|
|
18
|
+
function runWithAuthScope(authData, fn) {
|
|
19
|
+
return authScopeContext.run(authData, fn);
|
|
20
|
+
}
|
|
15
21
|
export {
|
|
22
|
+
getScopedAuthData,
|
|
16
23
|
isInZeroMutation,
|
|
17
24
|
mutatorContext,
|
|
25
|
+
runWithAuthScope,
|
|
18
26
|
runWithContext
|
|
19
27
|
};
|
|
20
28
|
//# sourceMappingURL=mutatorContext.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/mutatorContext.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,0BAA0B;AAInC,MAAM,eAAe,mBAAmC;
|
|
4
|
+
"mappings": "AAAA,SAAS,0BAA0B;AAInC,MAAM,eAAe,mBAAmC,GAGlD,mBAAmB,mBAAoC;AAEtD,SAAS,iBAAiC;AAC/C,QAAM,iBAAiB,aAAa,IAAI;AACxC,MAAI,CAAC;AACH,UAAM,IAAI,MAAM,gDAAgD;AAGlE,SAAO;AACT;AAEO,SAAS,mBAAmB;AACjC,SAAO,CAAC,CAAC,aAAa,IAAI;AAC5B;AAEO,SAAS,eACd,SACA,IACY;AACZ,SAAO,aAAa,IAAI,SAAS,EAAE;AACrC;AAGO,SAAS,oBAAiD;AAC/D,SAAI,iBAAiB,IACZ,eAAe,EAAE,WAEnB,iBAAiB,IAAI,KAAK;AACnC;AAEO,SAAS,iBACd,UACA,IACY;AACZ,SAAO,iBAAiB,IAAI,UAAU,EAAE;AAC1C;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createAsyncContext } from "@take-out/helpers";
|
|
2
|
-
const asyncContext = createAsyncContext()
|
|
2
|
+
const asyncContext = createAsyncContext(),
|
|
3
|
+
authScopeContext = createAsyncContext();
|
|
3
4
|
function mutatorContext() {
|
|
4
5
|
const currentContext = asyncContext.get();
|
|
5
6
|
if (!currentContext) throw new Error("mutatorContext must be called within a mutator");
|
|
@@ -11,5 +12,11 @@ function isInZeroMutation() {
|
|
|
11
12
|
function runWithContext(context, fn) {
|
|
12
13
|
return asyncContext.run(context, fn);
|
|
13
14
|
}
|
|
14
|
-
|
|
15
|
+
function getScopedAuthData() {
|
|
16
|
+
return isInZeroMutation() ? mutatorContext().authData : authScopeContext.get() ?? void 0;
|
|
17
|
+
}
|
|
18
|
+
function runWithAuthScope(authData, fn) {
|
|
19
|
+
return authScopeContext.run(authData, fn);
|
|
20
|
+
}
|
|
21
|
+
export { getScopedAuthData, isInZeroMutation, mutatorContext, runWithAuthScope, runWithContext };
|
|
15
22
|
//# sourceMappingURL=mutatorContext.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAsyncContext","asyncContext","mutatorContext","currentContext","get","Error","isInZeroMutation","runWithContext","context","fn","run"],"sources":["../../../src/helpers/mutatorContext.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,kBAAA,QAA0B;AAInC,MAAMC,YAAA,GAAeD,kBAAA,CAAmC;
|
|
1
|
+
{"version":3,"names":["createAsyncContext","asyncContext","authScopeContext","mutatorContext","currentContext","get","Error","isInZeroMutation","runWithContext","context","fn","run","getScopedAuthData","authData","runWithAuthScope"],"sources":["../../../src/helpers/mutatorContext.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,kBAAA,QAA0B;AAInC,MAAMC,YAAA,GAAeD,kBAAA,CAAmC;EAGlDE,gBAAA,GAAmBF,kBAAA,CAAoC;AAEtD,SAASG,eAAA,EAAiC;EAC/C,MAAMC,cAAA,GAAiBH,YAAA,CAAaI,GAAA,CAAI;EACxC,IAAI,CAACD,cAAA,EACH,MAAM,IAAIE,KAAA,CAAM,gDAAgD;EAGlE,OAAOF,cAAA;AACT;AAEO,SAASG,iBAAA,EAAmB;EACjC,OAAO,CAAC,CAACN,YAAA,CAAaI,GAAA,CAAI;AAC5B;AAEO,SAASG,eACdC,OAAA,EACAC,EAAA,EACY;EACZ,OAAOT,YAAA,CAAaU,GAAA,CAAIF,OAAA,EAASC,EAAE;AACrC;AAGO,SAASE,kBAAA,EAAiD;EAC/D,OAAIL,gBAAA,CAAiB,IACZJ,cAAA,CAAe,EAAEU,QAAA,GAEnBX,gBAAA,CAAiBG,GAAA,CAAI,KAAK;AACnC;AAEO,SAASS,iBACdD,QAAA,EACAH,EAAA,EACY;EACZ,OAAOR,gBAAA,CAAiBS,GAAA,CAAIE,QAAA,EAAUH,EAAE;AAC1C","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createAsyncContext } from "@take-out/helpers";
|
|
2
|
-
var asyncContext = createAsyncContext()
|
|
2
|
+
var asyncContext = createAsyncContext(),
|
|
3
|
+
authScopeContext = createAsyncContext();
|
|
3
4
|
function mutatorContext() {
|
|
4
5
|
var currentContext = asyncContext.get();
|
|
5
6
|
if (!currentContext) throw new Error("mutatorContext must be called within a mutator");
|
|
@@ -11,5 +12,13 @@ function isInZeroMutation() {
|
|
|
11
12
|
function runWithContext(context, fn) {
|
|
12
13
|
return asyncContext.run(context, fn);
|
|
13
14
|
}
|
|
14
|
-
|
|
15
|
+
function getScopedAuthData() {
|
|
16
|
+
if (isInZeroMutation()) return mutatorContext().authData;
|
|
17
|
+
var _authScopeContext_get;
|
|
18
|
+
return (_authScopeContext_get = authScopeContext.get()) !== null && _authScopeContext_get !== void 0 ? _authScopeContext_get : void 0;
|
|
19
|
+
}
|
|
20
|
+
function runWithAuthScope(authData, fn) {
|
|
21
|
+
return authScopeContext.run(authData, fn);
|
|
22
|
+
}
|
|
23
|
+
export { getScopedAuthData, isInZeroMutation, mutatorContext, runWithAuthScope, runWithContext };
|
|
15
24
|
//# sourceMappingURL=mutatorContext.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAsyncContext","asyncContext","mutatorContext","currentContext","get","Error","isInZeroMutation","runWithContext","context","fn","run"],"sources":["../../../src/helpers/mutatorContext.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,kBAAA,QAA0B;AAInC,IAAAC,YAAM,GAAAD,kBAAe;
|
|
1
|
+
{"version":3,"names":["createAsyncContext","asyncContext","authScopeContext","mutatorContext","currentContext","get","Error","isInZeroMutation","runWithContext","context","fn","run","getScopedAuthData","authData","_authScopeContext_get"],"sources":["../../../src/helpers/mutatorContext.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,kBAAA,QAA0B;AAInC,IAAAC,YAAM,GAAAD,kBAAe;EAAmCE,gBAGlD,GAAAF,kBAAmB;AAElB,SAASG,eAAA,EAAiC;EAC/C,IAAAC,cAAM,GAAAH,YAAiB,CAAAI,GAAa;EACpC,IAAI,CAACD,cAAA,EACH,MAAM,IAAIE,KAAA,CAAM,gDAAgD;EAGlE,OAAOF,cAAA;AACT;AAEO,SAASG,iBAAA,EAAmB;EACjC,OAAO,CAAC,CAACN,YAAA,CAAaI,GAAA,CAAI;AAC5B;AAEO,SAASG,eACdC,OAAA,EACAC,EAAA,EACY;EACZ,OAAOT,YAAA,CAAaU,GAAA,CAAIF,OAAA,EAASC,EAAE;AACrC;AAGO,SAASE,kBAAA,EAAiD;EAC/D,IAAAL,gBAAI,IAIN,OAAAJ,cAAA,GAAAU,QAAA;EAEO,IAAAC,qBACL;EAGA,OAAO,CAAAA,qBAAqB,GAAAZ,gBAAY,CAAAG,GAAA,gBAAAS,qBAAA,cAAAA,qBAAA;AAC1C","ignoreList":[]}
|
package/dist/esm/index.js
CHANGED
|
@@ -4,6 +4,7 @@ export * from "./helpers/batchQuery";
|
|
|
4
4
|
export * from "./helpers/createMutators";
|
|
5
5
|
export * from "./helpers/ensureLoggedIn";
|
|
6
6
|
export * from "./helpers/mutatorContext";
|
|
7
|
+
import { ensureAuth, getAuth } from "./helpers/getAuth";
|
|
7
8
|
export * from "./createZeroClient";
|
|
8
9
|
export * from "./createUseQuery";
|
|
9
10
|
export * from "./resolveQuery";
|
|
@@ -14,6 +15,8 @@ export * from "./where";
|
|
|
14
15
|
export * from "./serverWhere";
|
|
15
16
|
export * from "./zql";
|
|
16
17
|
export {
|
|
18
|
+
ensureAuth,
|
|
19
|
+
getAuth,
|
|
17
20
|
setRunner
|
|
18
21
|
};
|
|
19
22
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts"],
|
|
4
|
-
"mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;
|
|
4
|
+
"mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAAS,YAAY,eAAe;AAEpC,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAAS,iBAAkC;AAC3C,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/esm/index.mjs
CHANGED
|
@@ -4,6 +4,7 @@ export * from "./helpers/batchQuery.mjs";
|
|
|
4
4
|
export * from "./helpers/createMutators.mjs";
|
|
5
5
|
export * from "./helpers/ensureLoggedIn.mjs";
|
|
6
6
|
export * from "./helpers/mutatorContext.mjs";
|
|
7
|
+
import { ensureAuth, getAuth } from "./helpers/getAuth.mjs";
|
|
7
8
|
export * from "./createZeroClient.mjs";
|
|
8
9
|
export * from "./createUseQuery.mjs";
|
|
9
10
|
export * from "./resolveQuery.mjs";
|
|
@@ -13,5 +14,5 @@ export * from "./mutations.mjs";
|
|
|
13
14
|
export * from "./where.mjs";
|
|
14
15
|
export * from "./serverWhere.mjs";
|
|
15
16
|
export * from "./zql.mjs";
|
|
16
|
-
export { setRunner };
|
|
17
|
+
export { ensureAuth, getAuth, setRunner };
|
|
17
18
|
//# sourceMappingURL=index.mjs.map
|
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["setRunner"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;
|
|
1
|
+
{"version":3,"names":["ensureAuth","getAuth","setRunner"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASA,UAAA,EAAYC,OAAA,QAAe;AAEpC,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASC,SAAA,QAAkC;AAC3C,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc","ignoreList":[]}
|
package/dist/esm/index.native.js
CHANGED
|
@@ -4,6 +4,7 @@ export * from "./helpers/batchQuery.native.js";
|
|
|
4
4
|
export * from "./helpers/createMutators.native.js";
|
|
5
5
|
export * from "./helpers/ensureLoggedIn.native.js";
|
|
6
6
|
export * from "./helpers/mutatorContext.native.js";
|
|
7
|
+
import { ensureAuth, getAuth } from "./helpers/getAuth.native.js";
|
|
7
8
|
export * from "./createZeroClient.native.js";
|
|
8
9
|
export * from "./createUseQuery.native.js";
|
|
9
10
|
export * from "./resolveQuery.native.js";
|
|
@@ -13,5 +14,5 @@ export * from "./mutations.native.js";
|
|
|
13
14
|
export * from "./where.native.js";
|
|
14
15
|
export * from "./serverWhere.native.js";
|
|
15
16
|
export * from "./zql.native.js";
|
|
16
|
-
export { setRunner };
|
|
17
|
+
export { ensureAuth, getAuth, setRunner };
|
|
17
18
|
//# sourceMappingURL=index.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["setRunner"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;
|
|
1
|
+
{"version":3,"names":["ensureAuth","getAuth","setRunner"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASA,UAAA,EAAYC,OAAA,QAAe;AAEpC,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASC,SAAA,QAAkC;AAC3C,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc","ignoreList":[]}
|
package/dist/esm/where.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { globalValue } from "@take-out/helpers";
|
|
2
2
|
import { isServer } from "./constants";
|
|
3
|
-
import {
|
|
3
|
+
import { getAuth } from "./helpers/getAuth";
|
|
4
4
|
let _evaluatingPermission = !1;
|
|
5
5
|
function setEvaluatingPermission(value) {
|
|
6
6
|
_evaluatingPermission = value;
|
|
7
7
|
}
|
|
8
8
|
function where(a, b, isServerOnly = !1) {
|
|
9
|
-
const whereFn = b || a, wrappedWhereFn = ((a2, b2 =
|
|
9
|
+
const whereFn = b || a, wrappedWhereFn = ((a2, b2 = getAuth()) => {
|
|
10
10
|
if (!isServer && isServerOnly && !_evaluatingPermission)
|
|
11
11
|
return a2.and();
|
|
12
12
|
const result = whereFn(a2, b2);
|
package/dist/esm/where.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/where.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,mBAAmB;AAE5B,SAAS,gBAAgB;AACzB,SAAS,
|
|
4
|
+
"mappings": "AAAA,SAAS,mBAAmB;AAE5B,SAAS,gBAAgB;AACzB,SAAS,eAAe;AAOxB,IAAI,wBAAwB;AAErB,SAAS,wBAAwB,OAAgB;AACtD,0BAAwB;AAC1B;AAYO,SAAS,MACd,GACA,GACA,eAAe,IACc;AAC7B,QAAM,UAAW,KAAK,GAEhB,kBAAkB,CAACA,IAAgCC,KAAI,QAAQ,MAAM;AACzE,QAAI,CAAC,YAAY,gBAAgB,CAAC;AAEhC,aAAOD,GAAE,IAAI;AAGf,UAAM,SAAS,QAAQA,IAAGC,EAAC;AAC3B,WAAI,OAAO,UAAW,YAChB,SACKD,GAAE,OAAO,GAAG,KAAK,CAAC,IAElBA,GAAE,OAAO,GAAG,KAAK,CAAC,IAGtB;AAAA,EACT;AAGA,4BAAmB,IAAI,gBAAgB,OAAO,GAE1C,KACF,kBAAkB,IAAI,gBAAgB,CAAU,GAG3C;AACT;AAIA,MAAM,oBAAoB;AAAA,EACxB;AAAA,EACA,MAAM,oBAAI,QAA0B;AACtC,GAEM,qBAAqB;AAAA,EACzB;AAAA,EACA,MAAM,oBAAI,QAAsB;AAClC;AAEO,SAAS,kBAAkBE,QAAc;AAC9C,SAAO,kBAAkB,IAAIA,MAAK;AACpC;AAGO,SAAS,YAAYA,QAAiC;AAC3D,SAAO,mBAAmB,IAAIA,MAAK;AACrC;",
|
|
5
5
|
"names": ["a", "b", "where"]
|
|
6
6
|
}
|
package/dist/esm/where.mjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { globalValue } from "@take-out/helpers";
|
|
2
2
|
import { isServer } from "./constants.mjs";
|
|
3
|
-
import {
|
|
3
|
+
import { getAuth } from "./helpers/getAuth.mjs";
|
|
4
4
|
let _evaluatingPermission = !1;
|
|
5
5
|
function setEvaluatingPermission(value) {
|
|
6
6
|
_evaluatingPermission = value;
|
|
7
7
|
}
|
|
8
8
|
function where(a, b, isServerOnly = !1) {
|
|
9
9
|
const whereFn = b || a,
|
|
10
|
-
wrappedWhereFn = (a2, b2 =
|
|
10
|
+
wrappedWhereFn = (a2, b2 = getAuth()) => {
|
|
11
11
|
if (!isServer && isServerOnly && !_evaluatingPermission) return a2.and();
|
|
12
12
|
const result = whereFn(a2, b2);
|
|
13
13
|
return typeof result == "boolean" ? result ? a2.cmpLit(0, "=", 0) : a2.cmpLit(1, "=", 0) : result;
|
package/dist/esm/where.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["globalValue","isServer","
|
|
1
|
+
{"version":3,"names":["globalValue","isServer","getAuth","_evaluatingPermission","setEvaluatingPermission","value","where","a","b","isServerOnly","whereFn","wrappedWhereFn","a2","b2","and","result","cmpLit","WhereRawBuilderMap","set","WhereTableNameMap","WeakMap","getWhereTableName","where2","get","getRawWhere"],"sources":["../../src/where.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAmB;AAE5B,SAASC,QAAA,QAAgB;AACzB,SAASC,OAAA,QAAe;AAOxB,IAAIC,qBAAA,GAAwB;AAErB,SAASC,wBAAwBC,KAAA,EAAgB;EACtDF,qBAAA,GAAwBE,KAAA;AAC1B;AAYO,SAASC,MACdC,CAAA,EACAC,CAAA,EACAC,YAAA,GAAe,IACc;EAC7B,MAAMC,OAAA,GAAWF,CAAA,IAAKD,CAAA;IAEhBI,cAAA,GAAkBA,CAACC,EAAA,EAAgCC,EAAA,GAAIX,OAAA,CAAQ,MAAM;MACzE,IAAI,CAACD,QAAA,IAAYQ,YAAA,IAAgB,CAACN,qBAAA,EAEhC,OAAOS,EAAA,CAAEE,GAAA,CAAI;MAGf,MAAMC,MAAA,GAASL,OAAA,CAAQE,EAAA,EAAGC,EAAC;MAC3B,OAAI,OAAOE,MAAA,IAAW,YAChBA,MAAA,GACKH,EAAA,CAAEI,MAAA,CAAO,GAAG,KAAK,CAAC,IAElBJ,EAAA,CAAEI,MAAA,CAAO,GAAG,KAAK,CAAC,IAGtBD,MAAA;IACT;EAGA,OAAAE,kBAAA,CAAmBC,GAAA,CAAIP,cAAA,EAAgBD,OAAO,GAE1CF,CAAA,IACFW,iBAAA,CAAkBD,GAAA,CAAIP,cAAA,EAAgBJ,CAAU,GAG3CI,cAAA;AACT;AAIA,MAAMQ,iBAAA,GAAoBnB,WAAA,CACxB,sBACA,MAAM,mBAAIoB,OAAA,CAA0B,CACtC;EAEMH,kBAAA,GAAqBjB,WAAA,CACzB,qBACA,MAAM,mBAAIoB,OAAA,CAAsB,CAClC;AAEO,SAASC,kBAAkBC,MAAA,EAAc;EAC9C,OAAOH,iBAAA,CAAkBI,GAAA,CAAID,MAAK;AACpC;AAGO,SAASE,YAAYF,MAAA,EAAiC;EAC3D,OAAOL,kBAAA,CAAmBM,GAAA,CAAID,MAAK;AACrC","ignoreList":[]}
|
package/dist/esm/where.native.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { globalValue } from "@take-out/helpers";
|
|
2
2
|
import { isServer } from "./constants.native.js";
|
|
3
|
-
import {
|
|
3
|
+
import { getAuth } from "./helpers/getAuth.native.js";
|
|
4
4
|
var _evaluatingPermission = !1;
|
|
5
5
|
function setEvaluatingPermission(value) {
|
|
6
6
|
_evaluatingPermission = value;
|
|
@@ -9,7 +9,7 @@ function where(a, b) {
|
|
|
9
9
|
var isServerOnly = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1,
|
|
10
10
|
whereFn = b || a,
|
|
11
11
|
wrappedWhereFn = function (a2) {
|
|
12
|
-
var _$b = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] :
|
|
12
|
+
var _$b = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : getAuth();
|
|
13
13
|
if (!isServer && isServerOnly && !_evaluatingPermission) return a2.and();
|
|
14
14
|
var result = whereFn(a2, _$b);
|
|
15
15
|
return typeof result == "boolean" ? result ? a2.cmpLit(0, "=", 0) : a2.cmpLit(1, "=", 0) : result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["globalValue","isServer","
|
|
1
|
+
{"version":3,"names":["globalValue","isServer","getAuth","_evaluatingPermission","setEvaluatingPermission","value","where","a","b","isServerOnly","arguments","length","whereFn","wrappedWhereFn","a2","_$b","and","result","cmpLit","WhereRawBuilderMap","set","WhereTableNameMap","WeakMap","getWhereTableName","where2","get","getRawWhere"],"sources":["../../src/where.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAmB;AAE5B,SAASC,QAAA,QAAgB;AACzB,SAASC,OAAA,QAAe;AAOxB,IAAIC,qBAAA,GAAwB;AAErB,SAASC,wBAAwBC,KAAA,EAAgB;EACtDF,qBAAA,GAAwBE,KAAA;AAC1B;AAYO,SAASC,MACdC,CAAA,EACAC,CAAA,EACA;EAEA,IAAAC,YAAiB,GAAAC,SAEX,CAAAC,MAAA,QAAmBD,SAAoC,QAAQ,MAAM,GAAAA,SAAA;IAAAE,OAAA,GAAAJ,CAAA,IAAAD,CAAA;IAAAM,cAAA,YAAAA,CAAAC,EAAA;MACzE,IAAIC,GAAC,GAAAL,SAAY,CAAAC,MAAA,QAAiBD,SAAA,iBAAAA,SAAA,MAAAR,OAAA;MAEhC,KAAAD,QAAS,IAAIQ,YAAA,KAAAN,qBAAA,EAGf,OAAMW,EAAA,CAAAE,GAAS;MACf,IAAAC,MAAI,GAAAL,OAAO,CAAAE,EAAA,EAAWC,GAAA;MAQxB,cAAAE,MAAA,gBAAAA,MAAA,GAAAH,EAAA,CAAAI,MAAA,cAAAJ,EAAA,CAAAI,MAAA,cAAAD,MAAA;IAGA;EAOF,OAAAE,kBAAA,CAAAC,GAAA,CAAAP,cAAA,EAAAD,OAAA,GAAAJ,CAAA,IAAAa,iBAAA,CAAAD,GAAA,CAAAP,cAAA,EAAAN,CAAA,GAAAM,cAAA;AAIA;AAA0B,IACxBQ,iBAAA,GAAArB,WAAA;IACA,OAAM,mBAAIsB,OAA0B;EACtC;EAEMH,kBAAA,GAAqBnB,WAAA;IACzB,0BAAAsB,OAAA;EAAA,EACA;AACF,SAAAC,kBAAAC,MAAA;EAEO,OAASH,iBAAA,CAAkBI,GAAA,CAAAD,MAAc;AAC9C;AACF,SAAAE,YAAAF,MAAA;EAGO,OAASL,kBAAY,CAAAM,GAAiC,CAAAD,MAAA;AAC3D;AACF,S","ignoreList":[]}
|