over-zero 0.0.0
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/build/readPermissions.cjs +51 -0
- package/dist/cjs/build/readPermissions.js +48 -0
- package/dist/cjs/build/readPermissions.js.map +6 -0
- package/dist/cjs/build/readPermissions.native.js +56 -0
- package/dist/cjs/build/readPermissions.native.js.map +6 -0
- package/dist/cjs/build/schema.cjs +28 -0
- package/dist/cjs/build/schema.js +22 -0
- package/dist/cjs/build/schema.js.map +6 -0
- package/dist/cjs/build/schema.native.js +28 -0
- package/dist/cjs/build/schema.native.js.map +6 -0
- package/dist/cjs/createClient.cjs +89 -0
- package/dist/cjs/createClient.js +76 -0
- package/dist/cjs/createClient.js.map +6 -0
- package/dist/cjs/createClient.native.js +81 -0
- package/dist/cjs/createClient.native.js.map +6 -0
- package/dist/cjs/createMutations.cjs +50 -0
- package/dist/cjs/createMutations.js +43 -0
- package/dist/cjs/createMutations.js.map +6 -0
- package/dist/cjs/createMutations.native.js +50 -0
- package/dist/cjs/createMutations.native.js.map +6 -0
- package/dist/cjs/createPermissions.cjs +128 -0
- package/dist/cjs/createPermissions.js +121 -0
- package/dist/cjs/createPermissions.js.map +6 -0
- package/dist/cjs/createPermissions.native.js +135 -0
- package/dist/cjs/createPermissions.native.js.map +6 -0
- package/dist/cjs/createServer.cjs +92 -0
- package/dist/cjs/createServer.js +71 -0
- package/dist/cjs/createServer.js.map +6 -0
- package/dist/cjs/createServer.native.js +75 -0
- package/dist/cjs/createServer.native.js.map +6 -0
- package/dist/cjs/helpers/batchQuery.cjs +49 -0
- package/dist/cjs/helpers/batchQuery.js +38 -0
- package/dist/cjs/helpers/batchQuery.js.map +6 -0
- package/dist/cjs/helpers/batchQuery.native.js +42 -0
- package/dist/cjs/helpers/batchQuery.native.js.map +6 -0
- package/dist/cjs/helpers/clearZeroDatabase.cjs +57 -0
- package/dist/cjs/helpers/clearZeroDatabase.js +57 -0
- package/dist/cjs/helpers/clearZeroDatabase.js.map +6 -0
- package/dist/cjs/helpers/clearZeroDatabase.native.js +71 -0
- package/dist/cjs/helpers/clearZeroDatabase.native.js.map +6 -0
- package/dist/cjs/helpers/context.cjs +40 -0
- package/dist/cjs/helpers/context.js +36 -0
- package/dist/cjs/helpers/context.js.map +6 -0
- package/dist/cjs/helpers/context.native.js +42 -0
- package/dist/cjs/helpers/context.native.js.map +6 -0
- package/dist/cjs/helpers/createMutators.cjs +87 -0
- package/dist/cjs/helpers/createMutators.js +81 -0
- package/dist/cjs/helpers/createMutators.js.map +6 -0
- package/dist/cjs/helpers/createMutators.native.js +116 -0
- package/dist/cjs/helpers/createMutators.native.js.map +6 -0
- package/dist/cjs/helpers/ensureLoggedIn.cjs +33 -0
- package/dist/cjs/helpers/ensureLoggedIn.js +25 -0
- package/dist/cjs/helpers/ensureLoggedIn.js.map +6 -0
- package/dist/cjs/helpers/ensureLoggedIn.native.js +29 -0
- package/dist/cjs/helpers/ensureLoggedIn.native.js.map +6 -0
- package/dist/cjs/helpers/getAuthData.cjs +36 -0
- package/dist/cjs/helpers/getAuthData.js +29 -0
- package/dist/cjs/helpers/getAuthData.js.map +6 -0
- package/dist/cjs/helpers/getAuthData.native.js +33 -0
- package/dist/cjs/helpers/getAuthData.native.js.map +6 -0
- package/dist/cjs/helpers/prettyFormatZeroQuery.cjs +107 -0
- package/dist/cjs/helpers/prettyFormatZeroQuery.js +92 -0
- package/dist/cjs/helpers/prettyFormatZeroQuery.js.map +6 -0
- package/dist/cjs/helpers/prettyFormatZeroQuery.native.js +99 -0
- package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +6 -0
- package/dist/cjs/helpers/setupZeroClientGlobalEffects.cjs +40 -0
- package/dist/cjs/helpers/setupZeroClientGlobalEffects.js +36 -0
- package/dist/cjs/helpers/setupZeroClientGlobalEffects.js.map +6 -0
- package/dist/cjs/helpers/setupZeroClientGlobalEffects.native.js +36 -0
- package/dist/cjs/helpers/setupZeroClientGlobalEffects.native.js.map +6 -0
- package/dist/cjs/helpers/useAuthData.cjs +32 -0
- package/dist/cjs/helpers/useAuthData.js +25 -0
- package/dist/cjs/helpers/useAuthData.js.map +6 -0
- package/dist/cjs/helpers/useAuthData.native.js +33 -0
- package/dist/cjs/helpers/useAuthData.native.js.map +6 -0
- package/dist/cjs/helpers/useZDB.cjs +70 -0
- package/dist/cjs/helpers/useZDB.js +51 -0
- package/dist/cjs/helpers/useZDB.js.map +6 -0
- package/dist/cjs/helpers/useZDB.native.js +68 -0
- package/dist/cjs/helpers/useZDB.native.js.map +6 -0
- package/dist/cjs/helpers/zeroEmitter.cjs +27 -0
- package/dist/cjs/helpers/zeroEmitter.js +22 -0
- package/dist/cjs/helpers/zeroEmitter.js.map +6 -0
- package/dist/cjs/helpers/zeroEmitter.native.js +26 -0
- package/dist/cjs/helpers/zeroEmitter.native.js.map +6 -0
- package/dist/cjs/index.cjs +23 -0
- package/dist/cjs/index.js +20 -0
- package/dist/cjs/index.js.map +6 -0
- package/dist/cjs/index.native.js +30 -0
- package/dist/cjs/index.native.js.map +6 -0
- package/dist/cjs/types.cjs +16 -0
- package/dist/cjs/types.js +14 -0
- package/dist/cjs/types.js.map +6 -0
- package/dist/cjs/types.native.js +15 -0
- package/dist/cjs/types.native.js.map +6 -0
- package/dist/esm/build/readPermissions.js +36 -0
- package/dist/esm/build/readPermissions.js.map +6 -0
- package/dist/esm/build/readPermissions.mjs +28 -0
- package/dist/esm/build/readPermissions.mjs.map +1 -0
- package/dist/esm/build/readPermissions.native.js +34 -0
- package/dist/esm/build/readPermissions.native.js.map +1 -0
- package/dist/esm/build/schema.js +7 -0
- package/dist/esm/build/schema.js.map +6 -0
- package/dist/esm/build/schema.mjs +4 -0
- package/dist/esm/build/schema.mjs.map +1 -0
- package/dist/esm/build/schema.native.js +4 -0
- package/dist/esm/build/schema.native.js.map +1 -0
- package/dist/esm/createClient.js +68 -0
- package/dist/esm/createClient.js.map +6 -0
- package/dist/esm/createClient.mjs +66 -0
- package/dist/esm/createClient.mjs.map +1 -0
- package/dist/esm/createClient.native.js +74 -0
- package/dist/esm/createClient.native.js.map +1 -0
- package/dist/esm/createMutations.js +27 -0
- package/dist/esm/createMutations.js.map +6 -0
- package/dist/esm/createMutations.mjs +27 -0
- package/dist/esm/createMutations.mjs.map +1 -0
- package/dist/esm/createMutations.native.js +29 -0
- package/dist/esm/createMutations.native.js.map +1 -0
- package/dist/esm/createPermissions.js +106 -0
- package/dist/esm/createPermissions.js.map +6 -0
- package/dist/esm/createPermissions.mjs +105 -0
- package/dist/esm/createPermissions.mjs.map +1 -0
- package/dist/esm/createPermissions.native.js +129 -0
- package/dist/esm/createPermissions.native.js.map +1 -0
- package/dist/esm/createServer.js +54 -0
- package/dist/esm/createServer.js.map +6 -0
- package/dist/esm/createServer.mjs +58 -0
- package/dist/esm/createServer.mjs.map +1 -0
- package/dist/esm/createServer.native.js +61 -0
- package/dist/esm/createServer.native.js.map +1 -0
- package/dist/esm/helpers/batchQuery.js +22 -0
- package/dist/esm/helpers/batchQuery.js.map +6 -0
- package/dist/esm/helpers/batchQuery.mjs +26 -0
- package/dist/esm/helpers/batchQuery.mjs.map +1 -0
- package/dist/esm/helpers/batchQuery.native.js +23 -0
- package/dist/esm/helpers/batchQuery.native.js.map +1 -0
- package/dist/esm/helpers/clearZeroDatabase.js +42 -0
- package/dist/esm/helpers/clearZeroDatabase.js.map +6 -0
- package/dist/esm/helpers/clearZeroDatabase.mjs +34 -0
- package/dist/esm/helpers/clearZeroDatabase.mjs.map +1 -0
- package/dist/esm/helpers/clearZeroDatabase.native.js +50 -0
- package/dist/esm/helpers/clearZeroDatabase.native.js.map +1 -0
- package/dist/esm/helpers/context.js +20 -0
- package/dist/esm/helpers/context.js.map +6 -0
- package/dist/esm/helpers/context.mjs +15 -0
- package/dist/esm/helpers/context.mjs.map +1 -0
- package/dist/esm/helpers/context.native.js +15 -0
- package/dist/esm/helpers/context.native.js.map +1 -0
- package/dist/esm/helpers/createMutators.js +69 -0
- package/dist/esm/helpers/createMutators.js.map +6 -0
- package/dist/esm/helpers/createMutators.mjs +64 -0
- package/dist/esm/helpers/createMutators.mjs.map +1 -0
- package/dist/esm/helpers/createMutators.native.js +101 -0
- package/dist/esm/helpers/createMutators.native.js.map +1 -0
- package/dist/esm/helpers/ensureLoggedIn.js +10 -0
- package/dist/esm/helpers/ensureLoggedIn.js.map +6 -0
- package/dist/esm/helpers/ensureLoggedIn.mjs +10 -0
- package/dist/esm/helpers/ensureLoggedIn.mjs.map +1 -0
- package/dist/esm/helpers/ensureLoggedIn.native.js +10 -0
- package/dist/esm/helpers/ensureLoggedIn.native.js.map +1 -0
- package/dist/esm/helpers/getAuthData.js +13 -0
- package/dist/esm/helpers/getAuthData.js.map +6 -0
- package/dist/esm/helpers/getAuthData.mjs +13 -0
- package/dist/esm/helpers/getAuthData.mjs.map +1 -0
- package/dist/esm/helpers/getAuthData.native.js +13 -0
- package/dist/esm/helpers/getAuthData.native.js.map +1 -0
- package/dist/esm/helpers/prettyFormatZeroQuery.js +76 -0
- package/dist/esm/helpers/prettyFormatZeroQuery.js.map +6 -0
- package/dist/esm/helpers/prettyFormatZeroQuery.mjs +84 -0
- package/dist/esm/helpers/prettyFormatZeroQuery.mjs.map +1 -0
- package/dist/esm/helpers/prettyFormatZeroQuery.native.js +93 -0
- package/dist/esm/helpers/prettyFormatZeroQuery.native.js.map +1 -0
- package/dist/esm/helpers/setupZeroClientGlobalEffects.js +40 -0
- package/dist/esm/helpers/setupZeroClientGlobalEffects.js.map +6 -0
- package/dist/esm/helpers/setupZeroClientGlobalEffects.mjs +41 -0
- package/dist/esm/helpers/setupZeroClientGlobalEffects.mjs.map +1 -0
- package/dist/esm/helpers/setupZeroClientGlobalEffects.native.js +41 -0
- package/dist/esm/helpers/setupZeroClientGlobalEffects.native.js.map +1 -0
- package/dist/esm/helpers/useAuthData.js +11 -0
- package/dist/esm/helpers/useAuthData.js.map +6 -0
- package/dist/esm/helpers/useAuthData.mjs +9 -0
- package/dist/esm/helpers/useAuthData.mjs.map +1 -0
- package/dist/esm/helpers/useAuthData.native.js +13 -0
- package/dist/esm/helpers/useAuthData.native.js.map +1 -0
- package/dist/esm/helpers/useZDB.js +38 -0
- package/dist/esm/helpers/useZDB.js.map +6 -0
- package/dist/esm/helpers/useZDB.mjs +47 -0
- package/dist/esm/helpers/useZDB.mjs.map +1 -0
- package/dist/esm/helpers/useZDB.native.js +55 -0
- package/dist/esm/helpers/useZDB.native.js.map +1 -0
- package/dist/esm/helpers/zeroEmitter.js +6 -0
- package/dist/esm/helpers/zeroEmitter.js.map +6 -0
- package/dist/esm/helpers/zeroEmitter.mjs +4 -0
- package/dist/esm/helpers/zeroEmitter.mjs.map +1 -0
- package/dist/esm/helpers/zeroEmitter.native.js +4 -0
- package/dist/esm/helpers/zeroEmitter.native.js.map +1 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +6 -0
- package/dist/esm/index.mjs +7 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +7 -0
- package/dist/esm/index.native.js.map +1 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/types.js.map +6 -0
- package/dist/esm/types.mjs +2 -0
- package/dist/esm/types.mjs.map +1 -0
- package/dist/esm/types.native.js +2 -0
- package/dist/esm/types.native.js.map +1 -0
- package/package.json +51 -0
- package/readme.md +16 -0
- package/src/createPermissions.ts +281 -0
- package/src/createZeroClient.tsx +191 -0
- package/src/createZeroServer.ts +153 -0
- package/src/helpers/batchQuery.ts +45 -0
- package/src/helpers/clearZeroDatabase.ts +68 -0
- package/src/helpers/context.ts +28 -0
- package/src/helpers/createMutators.ts +139 -0
- package/src/helpers/ensureLoggedIn.ts +8 -0
- package/src/helpers/getAuthData.tsx +12 -0
- package/src/helpers/prettyFormatZeroQuery.ts +167 -0
- package/src/helpers/useAuthData.ts +13 -0
- package/src/helpers/useZeroDebug.ts +104 -0
- package/src/helpers/zeroEmitter.ts +5 -0
- package/src/index.ts +15 -0
- package/src/mutations.ts +121 -0
- package/src/types.ts +49 -0
- package/types/createMutations.d.ts +20 -0
- package/types/createMutations.d.ts.map +1 -0
- package/types/createPermissions.d.ts +37 -0
- package/types/createPermissions.d.ts.map +1 -0
- package/types/createZeroClient.d.ts +45 -0
- package/types/createZeroClient.d.ts.map +1 -0
- package/types/createZeroServer.d.ts +61 -0
- package/types/createZeroServer.d.ts.map +1 -0
- package/types/helpers/batchQuery.d.ts +7 -0
- package/types/helpers/batchQuery.d.ts.map +1 -0
- package/types/helpers/clearZeroDatabase.d.ts +2 -0
- package/types/helpers/clearZeroDatabase.d.ts.map +1 -0
- package/types/helpers/context.d.ts +5 -0
- package/types/helpers/context.d.ts.map +1 -0
- package/types/helpers/createMutators.d.ts +16 -0
- package/types/helpers/createMutators.d.ts.map +1 -0
- package/types/helpers/ensureLoggedIn.d.ts +2 -0
- package/types/helpers/ensureLoggedIn.d.ts.map +1 -0
- package/types/helpers/getAuthData.d.ts +1 -0
- package/types/helpers/getAuthData.d.ts.map +1 -0
- package/types/helpers/prettyFormatZeroQuery.d.ts +3 -0
- package/types/helpers/prettyFormatZeroQuery.d.ts.map +1 -0
- package/types/helpers/useAuthData.d.ts +1 -0
- package/types/helpers/useAuthData.d.ts.map +1 -0
- package/types/helpers/useZeroDebug.d.ts +3 -0
- package/types/helpers/useZeroDebug.d.ts.map +1 -0
- package/types/helpers/zeroEmitter.d.ts +2 -0
- package/types/helpers/zeroEmitter.d.ts.map +1 -0
- package/types/index.d.ts +9 -0
- package/types/index.d.ts.map +1 -0
- package/types/types.d.ts +21 -0
- package/types/types.d.ts.map +1 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
9
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
|
+
return to;
|
|
14
|
+
};
|
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
16
|
+
var useZDB_exports = {};
|
|
17
|
+
__export(useZDB_exports, {
|
|
18
|
+
useZDB: () => useZDB
|
|
19
|
+
});
|
|
20
|
+
module.exports = __toCommonJS(useZDB_exports);
|
|
21
|
+
var import_react = require("react"), import_devGlobal = require("~/features/devtools/devGlobal"), import_getCurrentComponentStack = require("~/helpers/react/getCurrentComponentStack"), import_prettyFormatZeroQuery = require("./prettyFormatZeroQuery"), activeQueries = /* @__PURE__ */ new Map();
|
|
22
|
+
(0, import_devGlobal.setDevGlobal)(activeQueries, "activeQueries");
|
|
23
|
+
var astHistoryByComponent = /* @__PURE__ */ new Map(), filterLogs = function(table) {
|
|
24
|
+
return !1;
|
|
25
|
+
}, COLLAPSED = !0, AST_CHANGE_THRESHOLD = 4, MAX_AST_HISTORY = 10, useZDB = function(query, options, results) {
|
|
26
|
+
var _query__completeAst, astObject = (_query__completeAst = query._completeAst) === null || _query__completeAst === void 0 ? void 0 : _query__completeAst.call(query), table = astObject.table, ast = JSON.stringify(astObject, null, 2), queryDisabled = !options || (options == null ? void 0 : options.enabled) === !1, enabled = !queryDisabled && filterLogs(table), stack = new Error().stack, isPermissionQuery = stack == null ? void 0 : stack.includes("usePermission.ts"), id = (0, import_react.useId)(), num = activeQueries.get(ast) || 0, shouldLog = enabled && num === 0;
|
|
27
|
+
enabled && (activeQueries.set(ast, num + 1), shouldLog && (COLLAPSED ? (console.groupCollapsed(`${isPermissionQuery ? "\u{1F46E}\u200D\u2642\uFE0F" : "\u2728"}${(0, import_prettyFormatZeroQuery.prettyFormatZeroQuery)(query, "minimal")}`), console.info(id, (0, import_prettyFormatZeroQuery.prettyFormatZeroQuery)(query, "full")), console.info("cached result", results), console.trace(), console.groupEnd()) : console.info("\u2728", (0, import_prettyFormatZeroQuery.prettyFormatZeroQuery)(query, "full")))), (0, import_react.useEffect)(function() {
|
|
28
|
+
if (enabled) {
|
|
29
|
+
var history = astHistoryByComponent.get(id) || {
|
|
30
|
+
asts: [],
|
|
31
|
+
changeCount: 0
|
|
32
|
+
}, currentAst = ast, lastAst = history.asts[history.asts.length - 1];
|
|
33
|
+
currentAst !== lastAst && (history.asts.push(currentAst), history.asts.length > MAX_AST_HISTORY && history.asts.shift(), history.changeCount++, astHistoryByComponent.set(id, history), history.changeCount > AST_CHANGE_THRESHOLD && console.warn(`\u26A0\uFE0F AST changed ${history.changeCount} times for component.
|
|
34
|
+
- id: ${id}
|
|
35
|
+
- stack: ${(0, import_getCurrentComponentStack.getCurrentComponentStack)("short")}
|
|
36
|
+
- table: ${table}`, {
|
|
37
|
+
componentId: id,
|
|
38
|
+
table,
|
|
39
|
+
changeCount: history.changeCount,
|
|
40
|
+
recentAsts: history.asts
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
}, [
|
|
44
|
+
id,
|
|
45
|
+
ast,
|
|
46
|
+
table,
|
|
47
|
+
enabled
|
|
48
|
+
]), (0, import_react.useEffect)(function() {
|
|
49
|
+
if (enabled)
|
|
50
|
+
return function() {
|
|
51
|
+
activeQueries.set(ast, activeQueries.get(ast) - 1);
|
|
52
|
+
};
|
|
53
|
+
}, [
|
|
54
|
+
ast,
|
|
55
|
+
enabled
|
|
56
|
+
]), (0, import_react.useEffect)(function() {
|
|
57
|
+
return function() {
|
|
58
|
+
astHistoryByComponent.delete(id);
|
|
59
|
+
};
|
|
60
|
+
}, [
|
|
61
|
+
id
|
|
62
|
+
]);
|
|
63
|
+
};
|
|
64
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
65
|
+
0 && (module.exports = {
|
|
66
|
+
useZDB
|
|
67
|
+
});
|
|
68
|
+
//# sourceMappingURL=useZDB.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/helpers/useZDB.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAiC,kBACjC,mBAA6B,0CAC7B,kCAAyC,qDACzC,+BAAsC,oCAClC,gBAAgB,oBAAI,IAAI;AAAA,IAC5B,+BAAa,eAAe,eAAe;AAE3C,IAAI,wBAAwB,oBAAI,IAAI,GAEhC,aAAa,SAAS,OAAO;AAC7B,SAAO;AACX,GACI,YAAY,IACZ,uBAAuB,GACvB,kBAAkB,IAGX,SAAS,SAAS,OAAO,SAAS,SAAS;AAClD,MAAI,qBAKA,aAAa,sBAAsB,MAAM,kBAAqB,QAAQ,wBAAwB,SAAS,SAAS,oBAAoB,KAAK,KAAK,GAC9I,QAAQ,UAAU,OAClB,MAAM,KAAK,UAAU,WAAW,MAAM,CAAC,GACvC,gBAAgB,CAAC,YAAY,WAAY,OAA6B,SAAS,QAAQ,aAAa,IACpG,UAAU,CAAC,iBAAiB,WAAW,KAAK,GAC5C,QAAQ,IAAI,MAAM,EAAE,OACpB,oBAAoB,SAAU,OAA2B,SAAS,MAAM,SAAS,kBAAkB,GACnG,SAAK,oBAAM,GAEX,MAAM,cAAc,IAAI,GAAG,KAAK,GAChC,YAAY,WAAW,QAAQ;AACnC,EAAI,YACA,cAAc,IAAI,KAAK,MAAM,CAAC,GAC1B,cACI,aACA,QAAQ,eAAe,GAAG,oBAAoB,gCAAU,QAAG,OAAG,oDAAsB,OAAO,SAAS,CAAC,EAAE,GACvG,QAAQ,KAAK,QAAI,oDAAsB,OAAO,MAAM,CAAC,GACrD,QAAQ,KAAK,iBAAiB,OAAO,GACrC,QAAQ,MAAM,GACd,QAAQ,SAAS,KAEjB,QAAQ,KAAK,cAAK,oDAAsB,OAAO,MAAM,CAAC,SAKlE,wBAAU,WAAW;AACjB,QAAK,SACL;AAAA,UAAI,UAAU,sBAAsB,IAAI,EAAE,KAAK;AAAA,QAC3C,MAAM,CAAC;AAAA,QACP,aAAa;AAAA,MACjB,GACI,aAAa,KACb,UAAU,QAAQ,KAAK,QAAQ,KAAK,SAAS,CAAC;AAClD,MAAI,eAAe,YACf,QAAQ,KAAK,KAAK,UAAU,GACxB,QAAQ,KAAK,SAAS,mBACtB,QAAQ,KAAK,MAAM,GAEvB,QAAQ,eACR,sBAAsB,IAAI,IAAI,OAAO,GACjC,QAAQ,cAAc,wBACtB,QAAQ,KAAK,4BAAkB,QAAQ,WAAW;AAAA,gBAClD,EAAE;AAAA,uBACC,0DAAyB,OAAO,CAAC;AAAA,mBACjC,KAAK,IAAI;AAAA,QACR,aAAa;AAAA,QACb;AAAA,QACA,aAAa,QAAQ;AAAA,QACrB,YAAY,QAAQ;AAAA,MACxB,CAAC;AAAA;AAAA,EAGb,GAAG;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAC,OACD,wBAAU,WAAW;AACjB,QAAK;AACL,aAAO,WAAW;AACd,sBAAc,IAAI,KAAK,cAAc,IAAI,GAAG,IAAI,CAAC;AAAA,MACrD;AAAA,EACJ,GAAG;AAAA,IACC;AAAA,IACA;AAAA,EACJ,CAAC,OAED,wBAAU,WAAW;AACjB,WAAO,WAAW;AACd,4BAAsB,OAAO,EAAE;AAAA,IACnC;AAAA,EACJ,GAAG;AAAA,IACC;AAAA,EACJ,CAAC;AACL;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
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 zeroEmitter_exports = {};
|
|
22
|
+
__export(zeroEmitter_exports, {
|
|
23
|
+
zeroEmitter: () => zeroEmitter
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(zeroEmitter_exports);
|
|
26
|
+
var import_emitter = require("~/helpers/emitter");
|
|
27
|
+
const zeroEmitter = (0, import_emitter.createEmitter)("zero", void 0);
|
|
@@ -0,0 +1,22 @@
|
|
|
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 zeroEmitter_exports = {};
|
|
16
|
+
__export(zeroEmitter_exports, {
|
|
17
|
+
zeroEmitter: () => zeroEmitter
|
|
18
|
+
});
|
|
19
|
+
module.exports = __toCommonJS(zeroEmitter_exports);
|
|
20
|
+
var import_emitter = require("~/helpers/emitter");
|
|
21
|
+
const zeroEmitter = (0, import_emitter.createEmitter)("zero", void 0);
|
|
22
|
+
//# sourceMappingURL=zeroEmitter.js.map
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
9
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
|
+
return to;
|
|
14
|
+
};
|
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
16
|
+
var zeroEmitter_exports = {};
|
|
17
|
+
__export(zeroEmitter_exports, {
|
|
18
|
+
zeroEmitter: () => zeroEmitter
|
|
19
|
+
});
|
|
20
|
+
module.exports = __toCommonJS(zeroEmitter_exports);
|
|
21
|
+
var import_emitter = require("~/helpers/emitter"), zeroEmitter = (0, import_emitter.createEmitter)("zero", void 0);
|
|
22
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
23
|
+
0 && (module.exports = {
|
|
24
|
+
zeroEmitter
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=zeroEmitter.js.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
|
7
|
+
get: () => from[key],
|
|
8
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
9
|
+
});
|
|
10
|
+
return to;
|
|
11
|
+
},
|
|
12
|
+
__reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
13
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
14
|
+
value: !0
|
|
15
|
+
}), mod);
|
|
16
|
+
var index_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(index_exports);
|
|
18
|
+
__reExport(index_exports, require("./createPermissions.cjs"), module.exports);
|
|
19
|
+
__reExport(index_exports, require("./helpers/batchQuery.cjs"), module.exports);
|
|
20
|
+
__reExport(index_exports, require("./helpers/context.cjs"), module.exports);
|
|
21
|
+
__reExport(index_exports, require("./helpers/createMutators.cjs"), module.exports);
|
|
22
|
+
__reExport(index_exports, require("./helpers/ensureLoggedIn.cjs"), module.exports);
|
|
23
|
+
__reExport(index_exports, require("./createZero"), module.exports);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
9
|
+
return to;
|
|
10
|
+
}, __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
11
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
12
|
+
var index_exports = {};
|
|
13
|
+
module.exports = __toCommonJS(index_exports);
|
|
14
|
+
__reExport(index_exports, require("./createPermissions"), module.exports);
|
|
15
|
+
__reExport(index_exports, require("./helpers/batchQuery"), module.exports);
|
|
16
|
+
__reExport(index_exports, require("./helpers/context"), module.exports);
|
|
17
|
+
__reExport(index_exports, require("./helpers/createMutators"), module.exports);
|
|
18
|
+
__reExport(index_exports, require("./helpers/ensureLoggedIn"), module.exports);
|
|
19
|
+
__reExport(index_exports, require("./createZero"), module.exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
return to;
|
|
11
|
+
}, __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
12
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
13
|
+
var index_exports = {};
|
|
14
|
+
module.exports = __toCommonJS(index_exports);
|
|
15
|
+
__reExport(index_exports, require("./createPermissions"), module.exports);
|
|
16
|
+
__reExport(index_exports, require("./helpers/batchQuery"), module.exports);
|
|
17
|
+
__reExport(index_exports, require("./helpers/context"), module.exports);
|
|
18
|
+
__reExport(index_exports, require("./helpers/createMutators"), module.exports);
|
|
19
|
+
__reExport(index_exports, require("./helpers/ensureLoggedIn"), module.exports);
|
|
20
|
+
__reExport(index_exports, require("./createZero"), module.exports);
|
|
21
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
22
|
+
0 && (module.exports = {
|
|
23
|
+
...require("./createPermissions"),
|
|
24
|
+
...require("./helpers/batchQuery"),
|
|
25
|
+
...require("./helpers/context"),
|
|
26
|
+
...require("./helpers/createMutators"),
|
|
27
|
+
...require("./helpers/ensureLoggedIn"),
|
|
28
|
+
...require("./createZero")
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
|
7
|
+
get: () => from[key],
|
|
8
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
9
|
+
});
|
|
10
|
+
return to;
|
|
11
|
+
};
|
|
12
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
13
|
+
value: !0
|
|
14
|
+
}), mod);
|
|
15
|
+
var types_exports = {};
|
|
16
|
+
module.exports = __toCommonJS(types_exports);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
9
|
+
return to;
|
|
10
|
+
};
|
|
11
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
12
|
+
var types_exports = {};
|
|
13
|
+
module.exports = __toCommonJS(types_exports);
|
|
14
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
return to;
|
|
11
|
+
};
|
|
12
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
13
|
+
var types_exports = {};
|
|
14
|
+
module.exports = __toCommonJS(types_exports);
|
|
15
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ANYONE_CAN, definePermissions } from "@rocicorp/zero";
|
|
2
|
+
import { runWithContext } from "src/context";
|
|
3
|
+
import { models } from "~/data/models";
|
|
4
|
+
import { schema } from "~/data/schema";
|
|
5
|
+
import { objectEntries } from "~/helpers/types/object";
|
|
6
|
+
const readPermissions = definePermissions(schema, async () => {
|
|
7
|
+
const permissionsEntries = await Promise.all(
|
|
8
|
+
objectEntries(models).map(async ([key, model]) => await runWithContext(
|
|
9
|
+
{
|
|
10
|
+
authData: { id: "", role: void 0, email: "" }
|
|
11
|
+
},
|
|
12
|
+
() => [
|
|
13
|
+
key,
|
|
14
|
+
{
|
|
15
|
+
row: {
|
|
16
|
+
select: [
|
|
17
|
+
(authData, eb) => {
|
|
18
|
+
const out = model.permissions(eb, authData).read;
|
|
19
|
+
return out === !0 ? eb.and() : out === !1 ? eb.cmpLit(!0, "=", !1) : out;
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
// we have permissions on these through our model system with custom mutators:
|
|
23
|
+
insert: ANYONE_CAN,
|
|
24
|
+
update: ANYONE_CAN,
|
|
25
|
+
delete: ANYONE_CAN
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
))
|
|
30
|
+
);
|
|
31
|
+
return Object.fromEntries(permissionsEntries);
|
|
32
|
+
});
|
|
33
|
+
export {
|
|
34
|
+
readPermissions
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=readPermissions.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/build/readPermissions.ts"],
|
|
4
|
+
"mappings": "AAAA,SAAS,YAAY,yBAAiD;AAEtE,SAAS,sBAAsB;AAC/B,SAAS,cAAc;AACvB,SAAS,cAA2B;AACpC,SAAS,qBAAqB;AAIvB,MAAM,kBAAkB,kBAAoC,QAAQ,YAAY;AACrF,QAAM,qBAAqB,MAAM,QAAQ;AAAA,IACvC,cAAc,MAAM,EAAE,IAAI,OAAO,CAAC,KAAK,KAAK,MACnC,MAAM;AAAA,MACX;AAAA,QACE,UAAU,EAAE,IAAI,IAAI,MAAM,QAAW,OAAO,GAAG;AAAA,MACjD;AAAA,MACA,MACS;AAAA,QACL;AAAA,QACA;AAAA,UACE,KAAK;AAAA,YACH,QAAQ;AAAA,cACN,CAAC,UAAoB,OAAoC;AACvD,sBAAM,MAAM,MAAM,YAAY,IAAI,QAAQ,EAAE;AAE5C,uBAAI,QAAQ,KACH,GAAG,IAAI,IAGZ,QAAQ,KACH,GAAG,OAAO,IAAM,KAAK,EAAK,IAG5B;AAAA,cACT;AAAA,YACF;AAAA;AAAA,YAEA,QAAQ;AAAA,YACR,QAAQ;AAAA,YACR,QAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IAEJ,CACD;AAAA,EACH;AAIA,SAFoB,OAAO,YAAY,kBAAkB;AAG3D,CAAC;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ANYONE_CAN, definePermissions } from "@rocicorp/zero";
|
|
2
|
+
import { runWithContext } from "src/context";
|
|
3
|
+
import { models } from "~/data/models";
|
|
4
|
+
import { schema } from "~/data/schema";
|
|
5
|
+
import { objectEntries } from "~/helpers/types/object";
|
|
6
|
+
const readPermissions = definePermissions(schema, async () => {
|
|
7
|
+
const permissionsEntries = await Promise.all(objectEntries(models).map(async ([key, model]) => await runWithContext({
|
|
8
|
+
authData: {
|
|
9
|
+
id: "",
|
|
10
|
+
role: void 0,
|
|
11
|
+
email: ""
|
|
12
|
+
}
|
|
13
|
+
}, () => [key, {
|
|
14
|
+
row: {
|
|
15
|
+
select: [(authData, eb) => {
|
|
16
|
+
const out = model.permissions(eb, authData).read;
|
|
17
|
+
return out === !0 ? eb.and() : out === !1 ? eb.cmpLit(!0, "=", !1) : out;
|
|
18
|
+
}],
|
|
19
|
+
// we have permissions on these through our model system with custom mutators:
|
|
20
|
+
insert: ANYONE_CAN,
|
|
21
|
+
update: ANYONE_CAN,
|
|
22
|
+
delete: ANYONE_CAN
|
|
23
|
+
}
|
|
24
|
+
}])));
|
|
25
|
+
return Object.fromEntries(permissionsEntries);
|
|
26
|
+
});
|
|
27
|
+
export { readPermissions };
|
|
28
|
+
//# sourceMappingURL=readPermissions.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ANYONE_CAN","definePermissions","runWithContext","models","schema","objectEntries","readPermissions","permissionsEntries","Promise","all","map","key","model","authData","id","role","email","row","select","eb","out","permissions","read","and","cmpLit","insert","update","delete","Object","fromEntries"],"sources":["../../../src/build/readPermissions.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,EAAYC,iBAAA,QAAiD;AAEtE,SAASC,cAAA,QAAsB;AAC/B,SAASC,MAAA,QAAc;AACvB,SAASC,MAAA,QAA2B;AACpC,SAASC,aAAA,QAAqB;AAIvB,MAAMC,eAAA,GAAkBL,iBAAA,CAAoCG,MAAA,EAAQ,YAAY;EACrF,MAAMG,kBAAA,GAAqB,MAAMC,OAAA,CAAQC,GAAA,CACvCJ,aAAA,CAAcF,MAAM,EAAEO,GAAA,CAAI,OAAO,CAACC,GAAA,EAAKC,KAAK,MACnC,MAAMV,cAAA,CACX;IACEW,QAAA,EAAU;MAAEC,EAAA,EAAI;MAAIC,IAAA,EAAM;MAAWC,KAAA,EAAO;IAAG;EACjD,GACA,MACS,CACLL,GAAA,EACA;IACEM,GAAA,EAAK;MACHC,MAAA,EAAQ,CACN,CAACL,QAAA,EAAoBM,EAAA,KAAoC;QACvD,MAAMC,GAAA,GAAMR,KAAA,CAAMS,WAAA,CAAYF,EAAA,EAAIN,QAAQ,EAAES,IAAA;QAE5C,OAAIF,GAAA,KAAQ,KACHD,EAAA,CAAGI,GAAA,CAAI,IAGZH,GAAA,KAAQ,KACHD,EAAA,CAAGK,MAAA,CAAO,IAAM,KAAK,EAAK,IAG5BJ,GAAA;MACT,EACF;MAAA;MAEAK,MAAA,EAAQzB,UAAA;MACR0B,MAAA,EAAQ1B,UAAA;MACR2B,MAAA,EAAQ3B;IACV;EACF,EAGN,CACD,CACH;EAIA,OAFoB4B,MAAA,CAAOC,WAAA,CAAYtB,kBAAkB;AAG3D,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ANYONE_CAN, definePermissions } from "@rocicorp/zero";
|
|
2
|
+
import { runWithContext } from "src/context";
|
|
3
|
+
import { models } from "~/data/models";
|
|
4
|
+
import { schema } from "~/data/schema";
|
|
5
|
+
import { objectEntries } from "~/helpers/types/object";
|
|
6
|
+
var readPermissions = definePermissions(schema, async function () {
|
|
7
|
+
var permissionsEntries = await Promise.all(objectEntries(models).map(async function (param) {
|
|
8
|
+
var [key, model] = param;
|
|
9
|
+
return await runWithContext({
|
|
10
|
+
authData: {
|
|
11
|
+
id: "",
|
|
12
|
+
role: void 0,
|
|
13
|
+
email: ""
|
|
14
|
+
}
|
|
15
|
+
}, function () {
|
|
16
|
+
return [key, {
|
|
17
|
+
row: {
|
|
18
|
+
select: [function (authData, eb) {
|
|
19
|
+
var out = model.permissions(eb, authData).read;
|
|
20
|
+
return out === !0 ? eb.and() : out === !1 ? eb.cmpLit(!0, "=", !1) : out;
|
|
21
|
+
}],
|
|
22
|
+
// we have permissions on these through our model system with custom mutators:
|
|
23
|
+
insert: ANYONE_CAN,
|
|
24
|
+
update: ANYONE_CAN,
|
|
25
|
+
delete: ANYONE_CAN
|
|
26
|
+
}
|
|
27
|
+
}];
|
|
28
|
+
});
|
|
29
|
+
})),
|
|
30
|
+
permissions = Object.fromEntries(permissionsEntries);
|
|
31
|
+
return permissions;
|
|
32
|
+
});
|
|
33
|
+
export { readPermissions };
|
|
34
|
+
//# sourceMappingURL=readPermissions.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ANYONE_CAN","definePermissions","runWithContext","models","schema","objectEntries","readPermissions","permissionsEntries","Promise","all","map","param","key","model","authData","id","role","email","row","select","eb","out","permissions","read","and","cmpLit","insert","update","delete"],"sources":["../../../src/build/readPermissions.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,EAAYC,iBAAA,QAAiD;AAEtE,SAASC,cAAA,QAAsB;AAC/B,SAASC,MAAA,QAAc;AACvB,SAASC,MAAA,QAA2B;AACpC,SAASC,aAAA,QAAqB;AAIvB,IAAAC,eAAM,GAAAL,iBAAkB,CAAAG,MAAoC,oBAAoB;EACrF,IAAAG,kBAAM,SAAqBC,OAAM,CAAAC,GAAQ,CAAAJ,aAAA,CAAAF,MAAA,EAAAO,GAAA,iBAAAC,KAAA;MACvC,KAAAC,GAAA,EAAAC,KAAc,IAAAF,KAAQ;MACP,OACX,MAAAT,cAAA;QAAAY,QACE;UACFC,EAAA;UACAC,IACS;UACLC,KAAA;QAAA;MACA,eACO;QAAA,OACH,CAAQL,GAAA,EAEJ;UAEAM,GAAA;YAQOC,MACT,GACF,UAAAL,QAAA,EAAAM,EAAA;cAAA,IAAAC,GAAA,GAAAR,KAAA,CAAAS,WAAA,CAAAF,EAAA,EAAAN,QAAA,EAAAS,IAAA;cAEA,OAAQF,GAAA,UAAAD,EAAA,CAAAI,GAAA,KAAAH,GAAA,UAAAD,EAAA,CAAAK,MAAA,gBAAAJ,GAAA;YACR,EACA;YACF;YACFK,MAAA,EAAA1B,UAAA;YACF2B,MAAA,EAAA3B,UAAA;YAGL4B,MAAA,EAAA5B;UACH;QAIA,CAFoB,CAGrB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["schema","readPermissions"],"sources":["../../../src/build/schema.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,MAAA,QAAc;AACvB,SAA4BC,eAAA,QAAmB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["schema","readPermissions"],"sources":["../../../src/build/schema.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,MAAA,QAAc;AACvB,SAA4BC,eAAA,QAAmB","ignoreList":[]}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { useZero, ZeroProvider, useQuery as zeroUseQuery } from "@rocicorp/zero/react";
|
|
2
|
+
import { mapObject } from "@vxrn/helpers";
|
|
3
|
+
import { useMemo } from "react";
|
|
4
|
+
import { createPermissions } from "./createPermissions";
|
|
5
|
+
import { context } from "./helpers/context";
|
|
6
|
+
import { createMutators } from "./helpers/createMutators";
|
|
7
|
+
import { useZDB } from "./helpers/useZDB";
|
|
8
|
+
import { zeroEmitter } from "./helpers/zeroEmitter";
|
|
9
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
+
function createZero({
|
|
11
|
+
schema,
|
|
12
|
+
models,
|
|
13
|
+
disable
|
|
14
|
+
}) {
|
|
15
|
+
const modelPermissions = mapObject(models, (val) => val.permissions), modelMutators = mapObject(models, (val) => val.mutate), permissionsHelpers = createPermissions(schema, context);
|
|
16
|
+
let latestZeroInstance = null;
|
|
17
|
+
const zero = new Proxy({}, {
|
|
18
|
+
get(_, key) {
|
|
19
|
+
return Reflect.get(latestZeroInstance, key, latestZeroInstance);
|
|
20
|
+
}
|
|
21
|
+
}), useQuery = (query, options) => {
|
|
22
|
+
if (disable)
|
|
23
|
+
return [null, { type: "unknown" }];
|
|
24
|
+
const out = zeroUseQuery(query, options);
|
|
25
|
+
return process.env.NODE_ENV === "development" && useZDB(query, options, out), out;
|
|
26
|
+
}, ProvideZero = ({
|
|
27
|
+
children,
|
|
28
|
+
authData,
|
|
29
|
+
...props
|
|
30
|
+
}) => {
|
|
31
|
+
const mutators = useMemo(() => createMutators({
|
|
32
|
+
environment: "client",
|
|
33
|
+
authData
|
|
34
|
+
}), [authData]);
|
|
35
|
+
return disable ? children : /* @__PURE__ */ jsxs(
|
|
36
|
+
ZeroProvider,
|
|
37
|
+
{
|
|
38
|
+
schema,
|
|
39
|
+
kvStore: "mem",
|
|
40
|
+
onError: (error) => {
|
|
41
|
+
console.error("Zero Error:", error), zeroEmitter.emit({
|
|
42
|
+
type: "error",
|
|
43
|
+
message: error
|
|
44
|
+
});
|
|
45
|
+
},
|
|
46
|
+
mutators,
|
|
47
|
+
...props,
|
|
48
|
+
children: [
|
|
49
|
+
/* @__PURE__ */ jsx(SetZeroInstance, {}),
|
|
50
|
+
children
|
|
51
|
+
]
|
|
52
|
+
}
|
|
53
|
+
);
|
|
54
|
+
}, SetZeroInstance = () => {
|
|
55
|
+
const zero2 = useZero();
|
|
56
|
+
return zero2 !== latestZeroInstance && (latestZeroInstance = zero2), null;
|
|
57
|
+
};
|
|
58
|
+
return {
|
|
59
|
+
ProvideZero,
|
|
60
|
+
useQuery,
|
|
61
|
+
zero,
|
|
62
|
+
...permissionsHelpers
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
export {
|
|
66
|
+
createZero
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=createClient.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/createClient.tsx"],
|
|
4
|
+
"mappings": "AACA,SAAS,SAAS,cAAc,YAAY,oBAAoB;AAChE,SAAS,iBAAiB;AAC1B,SAAS,eAA+B;AACxC,SAAS,yBAAyB;AAClC,SAAS,eAAe;AACxB,SAAS,sBAAsB;AAC/B,SAAS,cAAc;AACvB,SAAS,mBAAmB;AA2EtB,SAaE,KAbF;AAzEC,SAAS,WAA6B;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AACF,GAIG;AAGD,QAAM,mBAAmB,UAAU,QAAQ,CAAC,QAAQ,IAAI,WAAW,GAI7D,gBAAgB,UAAU,QAAQ,CAAC,QAAQ,IAAI,MAAM,GAIrD,qBAAqB,kBAAgC,QAAQ,OAAO;AAS1E,MAAI,qBAA0C;AAI9C,QAAM,OAAqB,IAAI,MAAM,CAAC,GAAY;AAAA,IAChD,IAAI,GAAG,KAAK;AACV,aAAO,QAAQ,IAAI,oBAAqB,KAAK,kBAAkB;AAAA,IACjE;AAAA,EACF,CAAC,GAEK,WAAgC,CAAC,OAAO,YAAY;AACxD,QAAI;AACF,aAAO,CAAC,MAAM,EAAE,MAAM,UAAU,CAAC;AAGnC,UAAM,MAAM,aAAa,OAAO,OAAO;AAEvC,WAAI,QAAQ,IAAI,aAAa,iBAE3B,OAAO,OAAO,SAAS,GAAG,GAGrB;AAAA,EACT,GAEM,cAAc,CAAC;AAAA,IACnB;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,MAGM;AACJ,UAAM,WAAW,QAAQ,MAChB,eAAe;AAAA,MACpB,aAAa;AAAA,MACb;AAAA,IACF,CAAC,GACA,CAAC,QAAQ,CAAC;AAEb,WAAI,UACK,WAIP;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,SAAS;AAAA,QACT,SAAS,CAAC,UAAU;AAClB,kBAAQ,MAAM,eAAe,KAAK,GAClC,YAAY,KAAK;AAAA,YACf,MAAM;AAAA,YACN,SAAS;AAAA,UACX,CAAC;AAAA,QACH;AAAA,QACA;AAAA,QACC,GAAG;AAAA,QAEJ;AAAA,8BAAC,mBAAgB;AAAA,UAChB;AAAA;AAAA;AAAA,IACH;AAAA,EAEJ,GAEM,kBAAkB,MAAM;AAC5B,UAAMA,QAAO,QAAqB;AAQlC,WAAIA,UAAS,uBACX,qBAAqBA,QAGhB;AAAA,EACT;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL;AACF;",
|
|
5
|
+
"names": ["zero"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { useZero, ZeroProvider, useQuery as zeroUseQuery } from "@rocicorp/zero/react";
|
|
2
|
+
import { mapObject } from "@vxrn/helpers";
|
|
3
|
+
import { useMemo } from "react";
|
|
4
|
+
import { createPermissions } from "./createPermissions.mjs";
|
|
5
|
+
import { context } from "./helpers/context.mjs";
|
|
6
|
+
import { createMutators } from "./helpers/createMutators.mjs";
|
|
7
|
+
import { useZDB } from "./helpers/useZDB.mjs";
|
|
8
|
+
import { zeroEmitter } from "./helpers/zeroEmitter.mjs";
|
|
9
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
+
function createZero({
|
|
11
|
+
schema,
|
|
12
|
+
models,
|
|
13
|
+
disable
|
|
14
|
+
}) {
|
|
15
|
+
const modelPermissions = mapObject(models, val => val.permissions),
|
|
16
|
+
modelMutators = mapObject(models, val => val.mutate),
|
|
17
|
+
permissionsHelpers = createPermissions(schema, context);
|
|
18
|
+
let latestZeroInstance = null;
|
|
19
|
+
const zero = new Proxy({}, {
|
|
20
|
+
get(_, key) {
|
|
21
|
+
return Reflect.get(latestZeroInstance, key, latestZeroInstance);
|
|
22
|
+
}
|
|
23
|
+
}),
|
|
24
|
+
useQuery = (query, options) => {
|
|
25
|
+
if (disable) return [null, {
|
|
26
|
+
type: "unknown"
|
|
27
|
+
}];
|
|
28
|
+
const out = zeroUseQuery(query, options);
|
|
29
|
+
return process.env.NODE_ENV === "development" && useZDB(query, options, out), out;
|
|
30
|
+
},
|
|
31
|
+
ProvideZero = ({
|
|
32
|
+
children,
|
|
33
|
+
authData,
|
|
34
|
+
...props
|
|
35
|
+
}) => {
|
|
36
|
+
const mutators = useMemo(() => createMutators({
|
|
37
|
+
environment: "client",
|
|
38
|
+
authData
|
|
39
|
+
}), [authData]);
|
|
40
|
+
return disable ? children : /* @__PURE__ */jsxs(ZeroProvider, {
|
|
41
|
+
schema,
|
|
42
|
+
kvStore: "mem",
|
|
43
|
+
onError: error => {
|
|
44
|
+
console.error("Zero Error:", error), zeroEmitter.emit({
|
|
45
|
+
type: "error",
|
|
46
|
+
message: error
|
|
47
|
+
});
|
|
48
|
+
},
|
|
49
|
+
mutators,
|
|
50
|
+
...props,
|
|
51
|
+
children: [/* @__PURE__ */jsx(SetZeroInstance, {}), children]
|
|
52
|
+
});
|
|
53
|
+
},
|
|
54
|
+
SetZeroInstance = () => {
|
|
55
|
+
const zero2 = useZero();
|
|
56
|
+
return zero2 !== latestZeroInstance && (latestZeroInstance = zero2), null;
|
|
57
|
+
};
|
|
58
|
+
return {
|
|
59
|
+
ProvideZero,
|
|
60
|
+
useQuery,
|
|
61
|
+
zero,
|
|
62
|
+
...permissionsHelpers
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
export { createZero };
|
|
66
|
+
//# sourceMappingURL=createClient.mjs.map
|