over-zero 0.0.10 → 0.0.11
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/LICENSE +21 -0
- package/dist/cjs/{build/schema.cjs → builder.cjs} +10 -7
- package/dist/cjs/{helpers/zeroEmitter.js → builder.js} +11 -7
- package/dist/cjs/builder.js.map +6 -0
- package/dist/cjs/builder.native.js +35 -0
- package/dist/cjs/builder.native.js.map +1 -0
- package/dist/cjs/cli.cjs +299 -0
- package/dist/cjs/cli.js +292 -0
- package/dist/cjs/cli.js.map +6 -0
- package/dist/cjs/cli.native.js +386 -0
- package/dist/cjs/cli.native.js.map +1 -0
- package/dist/cjs/createPermissions.cjs +22 -56
- package/dist/cjs/createPermissions.js +22 -64
- package/dist/cjs/createPermissions.js.map +1 -1
- package/dist/cjs/createPermissions.native.js +61 -87
- package/dist/cjs/createPermissions.native.js.map +1 -6
- package/dist/cjs/createZeroClient.cjs +41 -21
- package/dist/cjs/createZeroClient.js +23 -16
- package/dist/cjs/createZeroClient.js.map +1 -1
- package/dist/cjs/createZeroClient.native.js +139 -81
- package/dist/cjs/createZeroClient.native.js.map +1 -6
- package/dist/cjs/createZeroServer.cjs +40 -34
- package/dist/cjs/createZeroServer.js +35 -27
- package/dist/cjs/createZeroServer.js.map +2 -2
- package/dist/cjs/createZeroServer.native.js +119 -77
- package/dist/cjs/createZeroServer.native.js.map +1 -6
- package/dist/cjs/helpers/batchQuery.native.js +25 -18
- package/dist/cjs/helpers/batchQuery.native.js.map +1 -6
- package/dist/cjs/helpers/context.js.map +1 -1
- package/dist/cjs/helpers/context.native.js +20 -19
- package/dist/cjs/helpers/context.native.js.map +1 -6
- package/dist/cjs/helpers/createMutators.cjs +2 -2
- package/dist/cjs/helpers/createMutators.js +2 -2
- package/dist/cjs/helpers/createMutators.js.map +1 -1
- package/dist/cjs/helpers/createMutators.native.js +52 -41
- package/dist/cjs/helpers/createMutators.native.js.map +1 -6
- package/dist/cjs/helpers/didRunPermissionCheck.native.js +27 -22
- package/dist/cjs/helpers/didRunPermissionCheck.native.js.map +1 -6
- package/dist/cjs/helpers/ensureLoggedIn.cjs +2 -2
- package/dist/cjs/helpers/ensureLoggedIn.js +2 -2
- package/dist/cjs/helpers/ensureLoggedIn.js.map +1 -1
- package/dist/cjs/helpers/ensureLoggedIn.native.js +25 -18
- package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -6
- package/dist/cjs/helpers/getQueryOrMutatorAuthData.cjs +30 -0
- package/dist/cjs/{build/schema.native.js → helpers/getQueryOrMutatorAuthData.js} +9 -13
- package/dist/cjs/helpers/getQueryOrMutatorAuthData.js.map +6 -0
- package/dist/cjs/helpers/getQueryOrMutatorAuthData.native.js +33 -0
- package/dist/cjs/helpers/getQueryOrMutatorAuthData.native.js.map +1 -0
- package/dist/cjs/helpers/mutatorContext.cjs +40 -0
- package/dist/cjs/helpers/mutatorContext.js +36 -0
- package/dist/cjs/helpers/mutatorContext.js.map +6 -0
- package/dist/cjs/helpers/mutatorContext.native.js +43 -0
- package/dist/cjs/helpers/mutatorContext.native.js.map +1 -0
- package/dist/cjs/helpers/prettyFormatZeroQuery.native.js +102 -82
- package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -6
- package/dist/cjs/helpers/queryContext.cjs +40 -0
- package/dist/cjs/helpers/{getDidRunPermissionCheck.native.js → queryContext.js} +21 -13
- package/dist/cjs/helpers/queryContext.js.map +6 -0
- package/dist/cjs/helpers/queryContext.native.js +43 -0
- package/dist/cjs/helpers/queryContext.native.js.map +1 -0
- package/dist/cjs/helpers/queryOrMutatorAuthData.js +1 -0
- package/dist/cjs/helpers/queryOrMutatorAuthData.native.js +2 -0
- package/dist/cjs/helpers/queryOrMutatorContext.js +1 -0
- package/dist/cjs/helpers/queryOrMutatorContext.native.js +2 -0
- package/dist/cjs/helpers/useZeroDebug.native.js +63 -50
- package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -6
- package/dist/cjs/index.cjs +3 -2
- package/dist/cjs/index.js +3 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.native.js +21 -26
- package/dist/cjs/index.native.js.map +1 -6
- package/dist/cjs/mutations.cjs +1 -1
- package/dist/cjs/mutations.js +1 -1
- package/dist/cjs/mutations.js.map +1 -1
- package/dist/cjs/mutations.native.js +33 -28
- package/dist/cjs/mutations.native.js.map +1 -6
- package/dist/cjs/query.cjs +34 -0
- package/dist/cjs/{helpers/zeroEmitter.native.js → query.js} +13 -11
- package/dist/cjs/query.js.map +6 -0
- package/dist/cjs/query.native.js +39 -0
- package/dist/cjs/query.native.js.map +1 -0
- package/dist/cjs/{helpers/getDidRunPermissionCheck.cjs → queryBuilder.cjs} +10 -6
- package/dist/cjs/{build/schema.js → queryBuilder.js} +11 -7
- package/dist/cjs/queryBuilder.js.map +6 -0
- package/dist/cjs/queryBuilder.native.js +35 -0
- package/dist/cjs/queryBuilder.native.js.map +1 -0
- package/dist/cjs/server.native.js +13 -12
- package/dist/cjs/server.native.js.map +1 -6
- package/dist/cjs/state.cjs +52 -0
- package/dist/cjs/state.js +40 -0
- package/dist/cjs/state.js.map +6 -0
- package/dist/cjs/state.native.js +55 -0
- package/dist/cjs/state.native.js.map +1 -0
- package/dist/cjs/types.native.js +9 -5
- package/dist/cjs/types.native.js.map +1 -6
- package/dist/cjs/where.cjs +9 -2
- package/dist/cjs/where.js +8 -2
- package/dist/cjs/where.js.map +2 -2
- package/dist/cjs/where.native.js +29 -19
- package/dist/cjs/where.native.js.map +1 -6
- package/dist/cjs/{helpers/zeroEmitter.cjs → zql.cjs} +10 -6
- package/dist/cjs/{helpers/getDidRunPermissionCheck.js → zql.js} +11 -6
- package/dist/cjs/zql.js.map +6 -0
- package/dist/cjs/zql.native.js +35 -0
- package/dist/cjs/zql.native.js.map +1 -0
- package/dist/esm/builder.js +10 -0
- package/dist/esm/builder.js.map +6 -0
- package/dist/esm/builder.mjs +8 -0
- package/dist/esm/builder.mjs.map +1 -0
- package/dist/esm/builder.native.js +9 -0
- package/dist/esm/builder.native.js.map +1 -0
- package/dist/esm/cli.js +278 -0
- package/dist/esm/cli.js.map +6 -0
- package/dist/esm/cli.mjs +278 -0
- package/dist/esm/cli.mjs.map +1 -0
- package/dist/esm/cli.native.js +362 -0
- package/dist/esm/cli.native.js.map +1 -0
- package/dist/esm/createPermissions.js +21 -64
- package/dist/esm/createPermissions.js.map +1 -1
- package/dist/esm/createPermissions.mjs +20 -54
- package/dist/esm/createPermissions.mjs.map +1 -1
- package/dist/esm/createPermissions.native.js +26 -66
- package/dist/esm/createPermissions.native.js.map +1 -1
- package/dist/esm/createZeroClient.js +24 -16
- package/dist/esm/createZeroClient.js.map +1 -1
- package/dist/esm/createZeroClient.mjs +40 -20
- package/dist/esm/createZeroClient.mjs.map +1 -1
- package/dist/esm/createZeroClient.native.js +56 -25
- package/dist/esm/createZeroClient.native.js.map +1 -1
- package/dist/esm/createZeroServer.js +36 -19
- package/dist/esm/createZeroServer.js.map +1 -1
- package/dist/esm/createZeroServer.mjs +35 -18
- package/dist/esm/createZeroServer.mjs.map +1 -1
- package/dist/esm/createZeroServer.native.js +43 -23
- package/dist/esm/createZeroServer.native.js.map +1 -1
- package/dist/esm/helpers/context.js.map +1 -1
- package/dist/esm/helpers/context.mjs.map +1 -1
- package/dist/esm/helpers/context.native.js.map +1 -1
- package/dist/esm/helpers/createMutators.js +1 -1
- package/dist/esm/helpers/createMutators.mjs +1 -1
- package/dist/esm/helpers/createMutators.native.js +1 -1
- package/dist/esm/helpers/ensureLoggedIn.js +2 -2
- package/dist/esm/helpers/ensureLoggedIn.js.map +1 -1
- package/dist/esm/helpers/ensureLoggedIn.mjs +2 -2
- package/dist/esm/helpers/ensureLoggedIn.mjs.map +1 -1
- package/dist/esm/helpers/ensureLoggedIn.native.js +2 -2
- package/dist/esm/helpers/ensureLoggedIn.native.js.map +1 -1
- package/dist/esm/helpers/getQueryOrMutatorAuthData.js +9 -0
- package/dist/esm/helpers/getQueryOrMutatorAuthData.js.map +6 -0
- package/dist/esm/helpers/getQueryOrMutatorAuthData.mjs +7 -0
- package/dist/esm/helpers/getQueryOrMutatorAuthData.mjs.map +1 -0
- package/dist/esm/helpers/getQueryOrMutatorAuthData.native.js +7 -0
- package/dist/esm/helpers/getQueryOrMutatorAuthData.native.js.map +1 -0
- package/dist/esm/helpers/mutatorContext.js +20 -0
- package/dist/esm/helpers/mutatorContext.js.map +6 -0
- package/dist/esm/helpers/mutatorContext.mjs +15 -0
- package/dist/esm/helpers/mutatorContext.mjs.map +1 -0
- package/dist/esm/helpers/mutatorContext.native.js +15 -0
- package/dist/esm/helpers/mutatorContext.native.js.map +1 -0
- package/dist/esm/helpers/queryContext.js +20 -0
- package/dist/esm/helpers/queryContext.js.map +6 -0
- package/dist/esm/helpers/queryContext.mjs +15 -0
- package/dist/esm/helpers/queryContext.mjs.map +1 -0
- package/dist/esm/helpers/queryContext.native.js +15 -0
- package/dist/esm/helpers/queryContext.native.js.map +1 -0
- package/dist/esm/helpers/queryOrMutatorAuthData.js +1 -0
- package/dist/esm/helpers/queryOrMutatorAuthData.mjs +2 -0
- package/dist/esm/helpers/queryOrMutatorAuthData.native.js +2 -0
- package/dist/esm/helpers/queryOrMutatorContext.js +1 -0
- package/dist/esm/helpers/queryOrMutatorContext.mjs +2 -0
- package/dist/esm/helpers/queryOrMutatorContext.mjs.map +1 -0
- package/dist/esm/helpers/queryOrMutatorContext.native.js +2 -0
- package/dist/esm/helpers/queryOrMutatorContext.native.js.map +1 -0
- package/dist/esm/index.js +3 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +3 -2
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +3 -2
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/mutations.js +1 -1
- package/dist/esm/mutations.js.map +1 -1
- package/dist/esm/mutations.mjs +1 -1
- package/dist/esm/mutations.mjs.map +1 -1
- package/dist/esm/mutations.native.js +1 -1
- package/dist/esm/mutations.native.js.map +1 -1
- package/dist/esm/query.js +13 -0
- package/dist/esm/query.js.map +6 -0
- package/dist/esm/query.mjs +11 -0
- package/dist/esm/query.mjs.map +1 -0
- package/dist/esm/query.native.js +13 -0
- package/dist/esm/query.native.js.map +1 -0
- package/dist/esm/queryBuilder.js +10 -0
- package/dist/esm/queryBuilder.js.map +6 -0
- package/dist/esm/queryBuilder.mjs +8 -0
- package/dist/esm/queryBuilder.mjs.map +1 -0
- package/dist/esm/queryBuilder.native.js +9 -0
- package/dist/esm/queryBuilder.native.js.map +1 -0
- package/dist/esm/state.js +24 -0
- package/dist/esm/state.js.map +6 -0
- package/dist/esm/state.mjs +25 -0
- package/dist/esm/state.mjs.map +1 -0
- package/dist/esm/state.native.js +25 -0
- package/dist/esm/state.native.js.map +1 -0
- package/dist/esm/where.js +9 -2
- package/dist/esm/where.js.map +2 -2
- package/dist/esm/where.mjs +9 -2
- package/dist/esm/where.mjs.map +1 -1
- package/dist/esm/where.native.js +10 -2
- package/dist/esm/where.native.js.map +1 -1
- package/dist/esm/zql.js +10 -0
- package/dist/esm/zql.js.map +6 -0
- package/dist/esm/zql.mjs +8 -0
- package/dist/esm/zql.mjs.map +1 -0
- package/dist/esm/zql.native.js +9 -0
- package/dist/esm/zql.native.js.map +1 -0
- package/package.json +13 -3
- package/readme.md +460 -13
- package/src/cli.ts +511 -0
- package/src/createPermissions.ts +21 -123
- package/src/createZeroClient.tsx +107 -23
- package/src/createZeroServer.ts +64 -29
- package/src/helpers/createMutators.ts +1 -1
- package/src/helpers/ensureLoggedIn.ts +2 -2
- package/src/helpers/getQueryOrMutatorAuthData.ts +11 -0
- package/src/helpers/{context.ts → mutatorContext.ts} +2 -6
- package/src/index.ts +3 -2
- package/src/mutations.ts +1 -1
- package/src/state.ts +32 -0
- package/src/types.ts +11 -5
- package/src/where.ts +33 -8
- package/src/zql.ts +9 -0
- package/types/builder.d.ts +3 -0
- package/types/builder.d.ts.map +1 -0
- package/types/cli.d.ts +3 -0
- package/types/cli.d.ts.map +1 -0
- package/types/createPermissions.d.ts +3 -27
- package/types/createPermissions.d.ts.map +1 -1
- package/types/createZeroClient.d.ts +16 -4
- package/types/createZeroClient.d.ts.map +1 -1
- package/types/createZeroServer.d.ts +33 -6
- package/types/createZeroServer.d.ts.map +1 -1
- package/types/helpers/context.d.ts.map +1 -1
- package/types/helpers/getQueryOrMutatorAuthData.d.ts +3 -0
- package/types/helpers/getQueryOrMutatorAuthData.d.ts.map +1 -0
- package/types/helpers/mutatorContext.d.ts +5 -0
- package/types/helpers/mutatorContext.d.ts.map +1 -0
- package/types/helpers/queryContext.d.ts +5 -0
- package/types/helpers/queryContext.d.ts.map +1 -0
- package/types/index.d.ts +3 -2
- package/types/index.d.ts.map +1 -1
- package/types/state.d.ts +8 -0
- package/types/state.d.ts.map +1 -0
- package/types/types.d.ts +5 -4
- package/types/types.d.ts.map +1 -1
- package/types/where.d.ts +3 -2
- package/types/where.d.ts.map +1 -1
- package/types/zql.d.ts +3 -0
- package/types/zql.d.ts.map +1 -0
- package/dist/cjs/build/readPermissions.cjs +0 -51
- package/dist/cjs/build/readPermissions.js +0 -48
- package/dist/cjs/build/readPermissions.js.map +0 -6
- package/dist/cjs/build/readPermissions.native.js +0 -56
- package/dist/cjs/build/readPermissions.native.js.map +0 -6
- package/dist/cjs/build/schema.js.map +0 -6
- package/dist/cjs/build/schema.native.js.map +0 -6
- package/dist/cjs/createClient.cjs +0 -89
- package/dist/cjs/createClient.js +0 -76
- package/dist/cjs/createClient.js.map +0 -6
- package/dist/cjs/createClient.native.js +0 -81
- package/dist/cjs/createClient.native.js.map +0 -6
- package/dist/cjs/createMutations.cjs +0 -50
- package/dist/cjs/createMutations.js +0 -43
- package/dist/cjs/createMutations.js.map +0 -6
- package/dist/cjs/createMutations.native.js +0 -50
- package/dist/cjs/createMutations.native.js.map +0 -6
- package/dist/cjs/createServer.cjs +0 -92
- package/dist/cjs/createServer.js +0 -71
- package/dist/cjs/createServer.js.map +0 -6
- package/dist/cjs/createServer.native.js +0 -75
- package/dist/cjs/createServer.native.js.map +0 -6
- package/dist/cjs/createZero.cjs +0 -128
- package/dist/cjs/createZero.js +0 -107
- package/dist/cjs/createZero.js.map +0 -6
- package/dist/cjs/createZero.native.js +0 -115
- package/dist/cjs/createZero.native.js.map +0 -6
- package/dist/cjs/helpers/clearZeroDatabase.cjs +0 -57
- package/dist/cjs/helpers/clearZeroDatabase.js +0 -57
- package/dist/cjs/helpers/clearZeroDatabase.js.map +0 -6
- package/dist/cjs/helpers/clearZeroDatabase.native.js +0 -71
- package/dist/cjs/helpers/clearZeroDatabase.native.js.map +0 -6
- package/dist/cjs/helpers/getAuthData.js +0 -1
- package/dist/cjs/helpers/getAuthData.native.js +0 -2
- package/dist/cjs/helpers/getDidRunPermissionCheck.js.map +0 -6
- package/dist/cjs/helpers/getDidRunPermissionCheck.native.js.map +0 -6
- package/dist/cjs/helpers/setupZeroClientGlobalEffects.cjs +0 -40
- package/dist/cjs/helpers/setupZeroClientGlobalEffects.js +0 -36
- package/dist/cjs/helpers/setupZeroClientGlobalEffects.js.map +0 -6
- package/dist/cjs/helpers/setupZeroClientGlobalEffects.native.js +0 -36
- package/dist/cjs/helpers/setupZeroClientGlobalEffects.native.js.map +0 -6
- package/dist/cjs/helpers/useAuthData.js +0 -1
- package/dist/cjs/helpers/useAuthData.native.js +0 -2
- package/dist/cjs/helpers/useZDB.cjs +0 -70
- package/dist/cjs/helpers/useZDB.js +0 -51
- package/dist/cjs/helpers/useZDB.js.map +0 -6
- package/dist/cjs/helpers/useZDB.native.js +0 -68
- package/dist/cjs/helpers/useZDB.native.js.map +0 -6
- package/dist/cjs/helpers/zeroEmitter.js.map +0 -6
- package/dist/cjs/helpers/zeroEmitter.native.js.map +0 -6
- package/dist/esm/build/readPermissions.js +0 -36
- package/dist/esm/build/readPermissions.js.map +0 -6
- package/dist/esm/build/readPermissions.mjs +0 -28
- package/dist/esm/build/readPermissions.mjs.map +0 -1
- package/dist/esm/build/readPermissions.native.js +0 -34
- package/dist/esm/build/readPermissions.native.js.map +0 -1
- package/dist/esm/build/schema.js +0 -7
- package/dist/esm/build/schema.js.map +0 -6
- package/dist/esm/build/schema.mjs +0 -4
- package/dist/esm/build/schema.mjs.map +0 -1
- package/dist/esm/build/schema.native.js +0 -4
- package/dist/esm/build/schema.native.js.map +0 -1
- package/dist/esm/createClient.js +0 -68
- package/dist/esm/createClient.js.map +0 -6
- package/dist/esm/createClient.mjs +0 -66
- package/dist/esm/createClient.mjs.map +0 -1
- package/dist/esm/createClient.native.js +0 -74
- package/dist/esm/createClient.native.js.map +0 -1
- package/dist/esm/createMutations.js +0 -27
- package/dist/esm/createMutations.js.map +0 -6
- package/dist/esm/createMutations.mjs +0 -27
- package/dist/esm/createMutations.mjs.map +0 -1
- package/dist/esm/createMutations.native.js +0 -29
- package/dist/esm/createMutations.native.js.map +0 -1
- package/dist/esm/createServer.js +0 -54
- package/dist/esm/createServer.js.map +0 -6
- package/dist/esm/createServer.mjs +0 -58
- package/dist/esm/createServer.mjs.map +0 -1
- package/dist/esm/createServer.native.js +0 -61
- package/dist/esm/createServer.native.js.map +0 -1
- package/dist/esm/createZero.js +0 -99
- package/dist/esm/createZero.js.map +0 -6
- package/dist/esm/createZero.mjs +0 -105
- package/dist/esm/createZero.mjs.map +0 -1
- package/dist/esm/createZero.native.js +0 -119
- package/dist/esm/createZero.native.js.map +0 -1
- package/dist/esm/helpers/clearZeroDatabase.js +0 -42
- package/dist/esm/helpers/clearZeroDatabase.js.map +0 -6
- package/dist/esm/helpers/clearZeroDatabase.mjs +0 -34
- package/dist/esm/helpers/clearZeroDatabase.mjs.map +0 -1
- package/dist/esm/helpers/clearZeroDatabase.native.js +0 -50
- package/dist/esm/helpers/clearZeroDatabase.native.js.map +0 -1
- package/dist/esm/helpers/getAuthData.js +0 -1
- package/dist/esm/helpers/getAuthData.js.map +0 -6
- package/dist/esm/helpers/getAuthData.mjs +0 -2
- package/dist/esm/helpers/getAuthData.native.js +0 -2
- package/dist/esm/helpers/getDidRunPermissionCheck.js +0 -5
- package/dist/esm/helpers/getDidRunPermissionCheck.js.map +0 -6
- package/dist/esm/helpers/getDidRunPermissionCheck.mjs +0 -4
- package/dist/esm/helpers/getDidRunPermissionCheck.mjs.map +0 -1
- package/dist/esm/helpers/getDidRunPermissionCheck.native.js +0 -6
- package/dist/esm/helpers/getDidRunPermissionCheck.native.js.map +0 -1
- package/dist/esm/helpers/setupZeroClientGlobalEffects.js +0 -40
- package/dist/esm/helpers/setupZeroClientGlobalEffects.js.map +0 -6
- package/dist/esm/helpers/setupZeroClientGlobalEffects.mjs +0 -41
- package/dist/esm/helpers/setupZeroClientGlobalEffects.mjs.map +0 -1
- package/dist/esm/helpers/setupZeroClientGlobalEffects.native.js +0 -41
- package/dist/esm/helpers/setupZeroClientGlobalEffects.native.js.map +0 -1
- package/dist/esm/helpers/useAuthData.js +0 -1
- package/dist/esm/helpers/useAuthData.js.map +0 -6
- package/dist/esm/helpers/useAuthData.mjs +0 -2
- package/dist/esm/helpers/useAuthData.native.js +0 -2
- package/dist/esm/helpers/useZDB.js +0 -38
- package/dist/esm/helpers/useZDB.js.map +0 -6
- package/dist/esm/helpers/useZDB.mjs +0 -47
- package/dist/esm/helpers/useZDB.mjs.map +0 -1
- package/dist/esm/helpers/useZDB.native.js +0 -55
- package/dist/esm/helpers/useZDB.native.js.map +0 -1
- package/dist/esm/helpers/zeroEmitter.js +0 -6
- package/dist/esm/helpers/zeroEmitter.js.map +0 -6
- package/dist/esm/helpers/zeroEmitter.mjs +0 -4
- package/dist/esm/helpers/zeroEmitter.mjs.map +0 -1
- package/dist/esm/helpers/zeroEmitter.native.js +0 -4
- package/dist/esm/helpers/zeroEmitter.native.js.map +0 -1
- /package/dist/cjs/helpers/{getAuthData.cjs → queryOrMutatorAuthData.cjs} +0 -0
- /package/dist/cjs/helpers/{getAuthData.js.map → queryOrMutatorAuthData.js.map} +0 -0
- /package/dist/{esm/helpers/getAuthData.mjs.map → cjs/helpers/queryOrMutatorAuthData.native.js.map} +0 -0
- /package/dist/cjs/helpers/{useAuthData.cjs → queryOrMutatorContext.cjs} +0 -0
- /package/dist/cjs/helpers/{getAuthData.native.js.map → queryOrMutatorContext.js.map} +0 -0
- /package/dist/{esm/helpers/getAuthData.native.js.map → cjs/helpers/queryOrMutatorContext.native.js.map} +0 -0
- /package/dist/{cjs/helpers/useAuthData.js.map → esm/helpers/queryOrMutatorAuthData.js.map} +0 -0
- /package/dist/esm/helpers/{useAuthData.mjs.map → queryOrMutatorAuthData.mjs.map} +0 -0
- /package/dist/esm/helpers/{useAuthData.native.js.map → queryOrMutatorAuthData.native.js.map} +0 -0
- /package/dist/{cjs/helpers/useAuthData.native.js.map → esm/helpers/queryOrMutatorContext.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ModelToValibot","TypeScriptToModel","defineCommand","runMain","existsSync","mkdirSync","readFileSync","readdirSync","writeFileSync","basename","resolve","ts","generateQueries","meta","name","description","args","dir","type","required","default","run","param","readdirSync2","writeFileSync2","files","filter","f","endsWith","allQueries","results","Promise","all","map","file","filePath","queries","content","sourceFile","createSourceFile","ScriptTarget","Latest","forEachChild","node","isVariableStatement","_node_modifiers","exportModifier","modifiers","find","m","kind","SyntaxKind","ExportKeyword","declaration","declarationList","declarations","isVariableDeclaration","getText","initializer","isArrowFunction","params","parameters","paramType","length","_param_type","_$param","typeString","model","Generate","valibotCode","push","err","console","error","flat","info","generate","watch","after","baseDir","modelsDir","generatedDir","queriesDir","runGenerate","recursive","allModelFiles","sort","schemaChecks","hasSchema","includes","filesWithSchema","c","modelsOutput","typesOutput","tablesOutput","generateModelsFile","generateTypesFile","generateTablesFile","queryFiles","queryResults","fileBaseName","queriesOutput","generateQueriesFile","execSync","stdio","chokidar","debounceTimer","debouncedRegenerate","path","event","clearTimeout","setTimeout","watcher","persistent","ignoreInitial","on","modelFiles","modelNames","getImportName","imports","importName","join","sortedByImportName","a","b","localeCompare","modelsObj","getSchemaName","typeExports","pascalName","charAt","toUpperCase","slice","schemaName","getExportName","exports","sortedQueries","queryByFile","Map","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","q","value","has","set","get","return","queryImports","Array","from","keys"],"sources":["../../src/cli.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,63 +1,48 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ensure, EnsureError, objectEntries } from "@vxrn/helpers";
|
|
3
|
-
import { runWithContext } from "./helpers/context";
|
|
1
|
+
import { ensure, EnsureError } from "@vxrn/helpers";
|
|
4
2
|
import { setDidRunPermissionCheck } from "./helpers/didRunPermissionCheck";
|
|
3
|
+
import { mutatorContext } from "./helpers/mutatorContext";
|
|
5
4
|
import { prettyFormatZeroQuery } from "./helpers/prettyFormatZeroQuery";
|
|
6
5
|
import { getWhereTableName } from "./where";
|
|
7
6
|
function createPermissions({
|
|
8
7
|
environment,
|
|
9
|
-
schema
|
|
10
|
-
models,
|
|
11
|
-
getContext
|
|
8
|
+
schema
|
|
12
9
|
}) {
|
|
13
|
-
|
|
14
|
-
select: "read",
|
|
15
|
-
insert: "write",
|
|
16
|
-
update: "write",
|
|
17
|
-
upsert: "write",
|
|
18
|
-
delete: "write"
|
|
19
|
-
};
|
|
20
|
-
function buildPermissionQuery(authData, eb, permissionWhere, action, objOrId) {
|
|
10
|
+
function buildPermissionQuery(authData, eb, permissionWhere, objOrId) {
|
|
21
11
|
const tableName = getWhereTableName(permissionWhere);
|
|
22
12
|
if (!tableName)
|
|
23
13
|
throw new Error("Must use PermissionWhere for buildPermissionQuery");
|
|
24
14
|
const tableSchema = schema.tables[tableName];
|
|
25
15
|
if (!tableSchema)
|
|
26
16
|
throw new Error("No schema?");
|
|
27
|
-
const primaryKeys = tableSchema.primaryKey,
|
|
28
|
-
if (
|
|
29
|
-
throw new Error(`No permission defined for ${
|
|
30
|
-
if (
|
|
17
|
+
const primaryKeys = tableSchema.primaryKey, permissionReturn = permissionWhere(eb, authData);
|
|
18
|
+
if (permissionReturn == null)
|
|
19
|
+
throw new Error(`No permission defined for ${tableName}`);
|
|
20
|
+
if (permissionReturn === !0)
|
|
31
21
|
return eb.cmpLit(!0, "=", !0);
|
|
32
|
-
if (
|
|
22
|
+
if (permissionReturn === !1)
|
|
33
23
|
return eb.cmpLit(!0, "=", !1);
|
|
34
24
|
const primaryKeyWheres = [];
|
|
35
25
|
for (const key of primaryKeys) {
|
|
36
26
|
const value = typeof objOrId == "string" ? objOrId : objOrId[key];
|
|
37
27
|
primaryKeyWheres.push(eb.cmp(key, value));
|
|
38
28
|
}
|
|
39
|
-
return eb.and(
|
|
29
|
+
return eb.and(permissionReturn, ...primaryKeyWheres);
|
|
40
30
|
}
|
|
41
|
-
const can = async (where,
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
ctx.tx,
|
|
47
|
-
|
|
48
|
-
tableName,
|
|
49
|
-
where,
|
|
50
|
-
action,
|
|
51
|
-
obj
|
|
52
|
-
), setDidRunPermissionCheck(ctx));
|
|
31
|
+
const can = async (where, obj) => {
|
|
32
|
+
if (environment === "server") {
|
|
33
|
+
const ctx = mutatorContext(), tableName = getWhereTableName(where);
|
|
34
|
+
if (!tableName)
|
|
35
|
+
throw new Error("Must use where('table') style where to pass to can()");
|
|
36
|
+
await ensurePermission(ctx.tx, ctx.authData, tableName, where, obj), setDidRunPermissionCheck(ctx);
|
|
37
|
+
}
|
|
53
38
|
};
|
|
54
|
-
async function ensurePermission(tx, authData, tableName, where,
|
|
39
|
+
async function ensurePermission(tx, authData, tableName, where, obj) {
|
|
55
40
|
if (authData?.role === "admin")
|
|
56
41
|
return;
|
|
57
|
-
const
|
|
42
|
+
const queryBase = tx.query[tableName];
|
|
58
43
|
let query = null;
|
|
59
44
|
try {
|
|
60
|
-
query = queryBase.where((eb) => buildPermissionQuery(authData, eb, where,
|
|
45
|
+
query = queryBase.where((eb) => buildPermissionQuery(authData, eb, where, obj)).one(), ensure(await query);
|
|
61
46
|
} catch (err) {
|
|
62
47
|
const errorTitle = `${name} with auth id: ${authData?.id}`;
|
|
63
48
|
if (err instanceof EnsureError) {
|
|
@@ -69,37 +54,9 @@ function createPermissions({
|
|
|
69
54
|
${err}`);
|
|
70
55
|
}
|
|
71
56
|
}
|
|
72
|
-
const readPermissions = definePermissions(schema, async () => {
|
|
73
|
-
const permissionsEntries = await Promise.all(
|
|
74
|
-
objectEntries(models).filter(([_, model]) => !!model.permissions).map(async ([key, model]) => await runWithContext(
|
|
75
|
-
{
|
|
76
|
-
authData: { id: "", role: void 0, email: "" }
|
|
77
|
-
},
|
|
78
|
-
() => [
|
|
79
|
-
key,
|
|
80
|
-
{
|
|
81
|
-
row: {
|
|
82
|
-
select: [
|
|
83
|
-
(authData, eb) => {
|
|
84
|
-
const out = model.permissions(eb, authData).read;
|
|
85
|
-
return out === !0 ? eb.and() : out === !1 ? eb.cmpLit(!0, "=", !1) : out;
|
|
86
|
-
}
|
|
87
|
-
],
|
|
88
|
-
// we have permissions on these through our model system with custom mutators:
|
|
89
|
-
insert: ANYONE_CAN,
|
|
90
|
-
update: ANYONE_CAN,
|
|
91
|
-
delete: ANYONE_CAN
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
]
|
|
95
|
-
))
|
|
96
|
-
);
|
|
97
|
-
return Object.fromEntries(permissionsEntries);
|
|
98
|
-
});
|
|
99
57
|
return {
|
|
100
58
|
can,
|
|
101
|
-
buildPermissionQuery
|
|
102
|
-
readPermissions
|
|
59
|
+
buildPermissionQuery
|
|
103
60
|
};
|
|
104
61
|
}
|
|
105
62
|
export {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/createPermissions.ts"],
|
|
4
|
-
"mappings": "AAMA,SAAS,
|
|
4
|
+
"mappings": "AAMA,SAAS,QAAQ,mBAAmB;AACpC,SAAS,gCAAgC;AACzC,SAAS,sBAAsB;AAC/B,SAAS,6BAA6B;AAEtC,SAAS,yBAAyB;AAE3B,SAAS,kBAA6C;AAAA,EAC3D;AAAA,EACA;AACF,GAGG;AAQD,WAAS,qBACP,UACA,IACA,iBAEA,SACA;AACA,UAAM,YAAY,kBAAkB,eAAe;AAEnD,QAAI,CAAC;AACH,YAAM,IAAI,MAAM,mDAAmD;AAGrE,UAAM,cAAc,OAAO,OAAO,SAAS;AAE3C,QAAI,CAAC;AACH,YAAM,IAAI,MAAM,YAAY;AAG9B,UAAM,cAAc,YAAY,YAC1B,mBAAmB,gBAAgB,IAAI,QAAQ;AAErD,QAAI,oBAAoB;AACtB,YAAM,IAAI,MAAM,6BAA6B,SAAS,EAAE;AAG1D,QAAI,qBAAqB;AACvB,aAAO,GAAG,OAAO,IAAM,KAAK,EAAI;AAGlC,QAAI,qBAAqB;AACvB,aAAO,GAAG,OAAO,IAAM,KAAK,EAAK;AAGnC,UAAM,mBAAgC,CAAC;AAEvC,eAAW,OAAO,aAAa;AAC7B,YAAM,QAAQ,OAAO,WAAY,WAAW,UAAU,QAAQ,GAAG;AACjE,uBAAiB,KAAK,GAAG,IAAI,KAAY,KAAK,CAAC;AAAA,IACjD;AAEA,WAAO,GAAG,IAAI,kBAAkB,GAAG,gBAAgB;AAAA,EACrD;AAEA,QAAM,MAAW,OAAO,OAAO,QAAQ;AAErC,QAAI,gBAAgB,UAAU;AAC5B,YAAM,MAAM,eAAe,GACrB,YAAY,kBAAkB,KAAK;AACzC,UAAI,CAAC;AACH,cAAM,IAAI,MAAM,sDAAsD;AAExE,YAAM,iBAAiB,IAAI,IAAI,IAAI,UAAU,WAAW,OAAO,GAAG,GAClE,yBAAyB,GAAG;AAAA,IAC9B;AAAA,EACF;AAEA,iBAAe,iBACb,IACA,UACA,WACA,OACA,KACe;AACf,QAAI,UAAU,SAAS;AAErB;AAGF,UAAM,YAAY,GAAG,MAAM,SAAS;AACpC,QAAI,QAAqC;AAEzC,QAAI;AACF,cAAQ,UACL,MAAM,CAAC,OACC,qBAAqB,UAAU,IAAI,OAAO,GAAG,CACrD,EACA,IAAI,GAEP,OAAO,MAAM,KAAK;AAAA,IACpB,SAAS,KAAK;AACZ,YAAM,aAAa,GAAG,IAAI,kBAAkB,UAAU,EAAE;AAExD,UAAI,eAAe,aAAa;AAC9B,YAAI,MAAM,uCAAgC,UAAU;AACpD,cAAI,QAAQ,IAAI,aAAa,iBAAiB,UAC5C,OAAO;AAAA,GAAM,sBAAsB,KAAK,CAAC,KAErC,IAAI,MAAM,GAAG;AAAA,MACrB;AAEA,YAAM,IAAI,MAAM,4BAA4B,UAAU;AAAA,EAAK,GAAG,EAAE;AAAA,IAClE;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,55 +1,43 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ensure, EnsureError, objectEntries } from "@vxrn/helpers";
|
|
3
|
-
import { runWithContext } from "./helpers/context.mjs";
|
|
1
|
+
import { ensure, EnsureError } from "@vxrn/helpers";
|
|
4
2
|
import { setDidRunPermissionCheck } from "./helpers/didRunPermissionCheck.mjs";
|
|
3
|
+
import { mutatorContext } from "./helpers/mutatorContext.mjs";
|
|
5
4
|
import { prettyFormatZeroQuery } from "./helpers/prettyFormatZeroQuery.mjs";
|
|
6
5
|
import { getWhereTableName } from "./where.mjs";
|
|
7
6
|
function createPermissions({
|
|
8
7
|
environment,
|
|
9
|
-
schema
|
|
10
|
-
models,
|
|
11
|
-
getContext
|
|
8
|
+
schema
|
|
12
9
|
}) {
|
|
13
|
-
|
|
14
|
-
select: "read",
|
|
15
|
-
insert: "write",
|
|
16
|
-
update: "write",
|
|
17
|
-
upsert: "write",
|
|
18
|
-
delete: "write"
|
|
19
|
-
};
|
|
20
|
-
function buildPermissionQuery(authData, eb, permissionWhere, action, objOrId) {
|
|
10
|
+
function buildPermissionQuery(authData, eb, permissionWhere, objOrId) {
|
|
21
11
|
const tableName = getWhereTableName(permissionWhere);
|
|
22
12
|
if (!tableName) throw new Error("Must use PermissionWhere for buildPermissionQuery");
|
|
23
13
|
const tableSchema = schema.tables[tableName];
|
|
24
14
|
if (!tableSchema) throw new Error("No schema?");
|
|
25
15
|
const primaryKeys = tableSchema.primaryKey,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
if (
|
|
30
|
-
if (permissionCondition === !0) return eb.cmpLit(!0, "=", !0);
|
|
31
|
-
if (permissionCondition === !1) return eb.cmpLit(!0, "=", !1);
|
|
16
|
+
permissionReturn = permissionWhere(eb, authData);
|
|
17
|
+
if (permissionReturn == null) throw new Error(`No permission defined for ${tableName}`);
|
|
18
|
+
if (permissionReturn === !0) return eb.cmpLit(!0, "=", !0);
|
|
19
|
+
if (permissionReturn === !1) return eb.cmpLit(!0, "=", !1);
|
|
32
20
|
const primaryKeyWheres = [];
|
|
33
21
|
for (const key of primaryKeys) {
|
|
34
22
|
const value = typeof objOrId == "string" ? objOrId : objOrId[key];
|
|
35
23
|
primaryKeyWheres.push(eb.cmp(key, value));
|
|
36
24
|
}
|
|
37
|
-
return eb.and(
|
|
25
|
+
return eb.and(permissionReturn, ...primaryKeyWheres);
|
|
38
26
|
}
|
|
39
|
-
const can = async (where,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
27
|
+
const can = async (where, obj) => {
|
|
28
|
+
if (environment === "server") {
|
|
29
|
+
const ctx = mutatorContext(),
|
|
30
|
+
tableName = getWhereTableName(where);
|
|
31
|
+
if (!tableName) throw new Error("Must use where('table') style where to pass to can()");
|
|
32
|
+
await ensurePermission(ctx.tx, ctx.authData, tableName, where, obj), setDidRunPermissionCheck(ctx);
|
|
33
|
+
}
|
|
44
34
|
};
|
|
45
|
-
async function ensurePermission(tx, authData, tableName, where,
|
|
35
|
+
async function ensurePermission(tx, authData, tableName, where, obj) {
|
|
46
36
|
if (authData?.role === "admin") return;
|
|
47
|
-
const
|
|
48
|
-
name = `${tableName}.${action}`,
|
|
49
|
-
queryBase = tx.query[tableName];
|
|
37
|
+
const queryBase = tx.query[tableName];
|
|
50
38
|
let query = null;
|
|
51
39
|
try {
|
|
52
|
-
query = queryBase.where(eb => buildPermissionQuery(authData, eb, where,
|
|
40
|
+
query = queryBase.where(eb => buildPermissionQuery(authData, eb, where, obj)).one(), ensure(await query);
|
|
53
41
|
} catch (err) {
|
|
54
42
|
const errorTitle = `${name} with auth id: ${authData?.id}`;
|
|
55
43
|
if (err instanceof EnsureError) {
|
|
@@ -61,31 +49,9 @@ function createPermissions({
|
|
|
61
49
|
${err}`);
|
|
62
50
|
}
|
|
63
51
|
}
|
|
64
|
-
const readPermissions = definePermissions(schema, async () => {
|
|
65
|
-
const permissionsEntries = await Promise.all(objectEntries(models).filter(([_, model]) => !!model.permissions).map(async ([key, model]) => await runWithContext({
|
|
66
|
-
authData: {
|
|
67
|
-
id: "",
|
|
68
|
-
role: void 0,
|
|
69
|
-
email: ""
|
|
70
|
-
}
|
|
71
|
-
}, () => [key, {
|
|
72
|
-
row: {
|
|
73
|
-
select: [(authData, eb) => {
|
|
74
|
-
const out = model.permissions(eb, authData).read;
|
|
75
|
-
return out === !0 ? eb.and() : out === !1 ? eb.cmpLit(!0, "=", !1) : out;
|
|
76
|
-
}],
|
|
77
|
-
// we have permissions on these through our model system with custom mutators:
|
|
78
|
-
insert: ANYONE_CAN,
|
|
79
|
-
update: ANYONE_CAN,
|
|
80
|
-
delete: ANYONE_CAN
|
|
81
|
-
}
|
|
82
|
-
}])));
|
|
83
|
-
return Object.fromEntries(permissionsEntries);
|
|
84
|
-
});
|
|
85
52
|
return {
|
|
86
53
|
can,
|
|
87
|
-
buildPermissionQuery
|
|
88
|
-
readPermissions
|
|
54
|
+
buildPermissionQuery
|
|
89
55
|
};
|
|
90
56
|
}
|
|
91
57
|
export { createPermissions };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["ensure","EnsureError","setDidRunPermissionCheck","mutatorContext","prettyFormatZeroQuery","getWhereTableName","createPermissions","environment","schema","buildPermissionQuery","authData","eb","permissionWhere","objOrId","tableName","Error","tableSchema","tables","primaryKeys","primaryKey","permissionReturn","cmpLit","primaryKeyWheres","key","value","push","cmp","and","can","where","obj","ctx","ensurePermission","tx","role","queryBase","query","one","err","errorTitle","name","id","msg","process","env","NODE_ENV"],"sources":["../../src/createPermissions.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,35 +1,26 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ensure, EnsureError, objectEntries } from "@vxrn/helpers";
|
|
3
|
-
import { runWithContext } from "./helpers/context.native.js";
|
|
1
|
+
import { ensure, EnsureError } from "@vxrn/helpers";
|
|
4
2
|
import { setDidRunPermissionCheck } from "./helpers/didRunPermissionCheck.native.js";
|
|
3
|
+
import { mutatorContext } from "./helpers/mutatorContext.native.js";
|
|
5
4
|
import { prettyFormatZeroQuery } from "./helpers/prettyFormatZeroQuery.native.js";
|
|
6
5
|
import { getWhereTableName } from "./where.native.js";
|
|
6
|
+
function _instanceof(left, right) {
|
|
7
|
+
return right != null && typeof Symbol < "u" && right[Symbol.hasInstance] ? !!right[Symbol.hasInstance](left) : left instanceof right;
|
|
8
|
+
}
|
|
7
9
|
function createPermissions(param) {
|
|
8
10
|
var {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
} = param,
|
|
14
|
-
fallbackActions = {
|
|
15
|
-
select: "read",
|
|
16
|
-
insert: "write",
|
|
17
|
-
update: "write",
|
|
18
|
-
upsert: "write",
|
|
19
|
-
delete: "write"
|
|
20
|
-
};
|
|
21
|
-
function buildPermissionQuery(authData, eb, permissionWhere, action, objOrId) {
|
|
11
|
+
environment,
|
|
12
|
+
schema
|
|
13
|
+
} = param;
|
|
14
|
+
function buildPermissionQuery(authData, eb, permissionWhere, objOrId) {
|
|
22
15
|
var tableName = getWhereTableName(permissionWhere);
|
|
23
16
|
if (!tableName) throw new Error("Must use PermissionWhere for buildPermissionQuery");
|
|
24
17
|
var tableSchema = schema.tables[tableName];
|
|
25
18
|
if (!tableSchema) throw new Error("No schema?");
|
|
26
19
|
var primaryKeys = tableSchema.primaryKey,
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
if (
|
|
31
|
-
if (permissionCondition === !0) return eb.cmpLit(!0, "=", !0);
|
|
32
|
-
if (permissionCondition === !1) return eb.cmpLit(!0, "=", !1);
|
|
20
|
+
permissionReturn = permissionWhere(eb, authData);
|
|
21
|
+
if (permissionReturn == null) throw new Error(`No permission defined for ${tableName}`);
|
|
22
|
+
if (permissionReturn === !0) return eb.cmpLit(!0, "=", !0);
|
|
23
|
+
if (permissionReturn === !1) return eb.cmpLit(!0, "=", !1);
|
|
33
24
|
var primaryKeyWheres = [],
|
|
34
25
|
_iteratorNormalCompletion = !0,
|
|
35
26
|
_didIteratorError = !1,
|
|
@@ -49,27 +40,27 @@ function createPermissions(param) {
|
|
|
49
40
|
if (_didIteratorError) throw _iteratorError;
|
|
50
41
|
}
|
|
51
42
|
}
|
|
52
|
-
return eb.and(
|
|
43
|
+
return eb.and(permissionReturn, ...primaryKeyWheres);
|
|
53
44
|
}
|
|
54
|
-
var can = async function (where,
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
45
|
+
var can = async function (where, obj) {
|
|
46
|
+
if (environment === "server") {
|
|
47
|
+
var ctx = mutatorContext(),
|
|
48
|
+
tableName = getWhereTableName(where);
|
|
49
|
+
if (!tableName) throw new Error("Must use where('table') style where to pass to can()");
|
|
50
|
+
await ensurePermission(ctx.tx, ctx.authData, tableName, where, obj), setDidRunPermissionCheck(ctx);
|
|
51
|
+
}
|
|
59
52
|
};
|
|
60
|
-
async function ensurePermission(tx, authData, tableName, where,
|
|
53
|
+
async function ensurePermission(tx, authData, tableName, where, obj) {
|
|
61
54
|
if (authData?.role !== "admin") {
|
|
62
|
-
var
|
|
63
|
-
name = `${tableName}.${action}`,
|
|
64
|
-
queryBase = tx.query[tableName],
|
|
55
|
+
var queryBase = tx.query[tableName],
|
|
65
56
|
query = null;
|
|
66
57
|
try {
|
|
67
58
|
query = queryBase.where(function (eb) {
|
|
68
|
-
return buildPermissionQuery(authData, eb, where,
|
|
59
|
+
return buildPermissionQuery(authData, eb, where, obj);
|
|
69
60
|
}).one(), ensure(await query);
|
|
70
61
|
} catch (err) {
|
|
71
62
|
var errorTitle = `${name} with auth id: ${authData?.id}`;
|
|
72
|
-
if (err
|
|
63
|
+
if (_instanceof(err, EnsureError)) {
|
|
73
64
|
var msg = `[permission] \u{1F6AB} Not Allowed: ${errorTitle}`;
|
|
74
65
|
throw process.env.NODE_ENV === "development" && query && (msg += `
|
|
75
66
|
${prettyFormatZeroQuery(query)}`), new Error(msg);
|
|
@@ -79,40 +70,9 @@ ${err}`);
|
|
|
79
70
|
}
|
|
80
71
|
}
|
|
81
72
|
}
|
|
82
|
-
var readPermissions = definePermissions(schema, async function () {
|
|
83
|
-
var permissionsEntries = await Promise.all(objectEntries(models).filter(function (param2) {
|
|
84
|
-
var [_, model] = param2;
|
|
85
|
-
return !!model.permissions;
|
|
86
|
-
}).map(async function (param2) {
|
|
87
|
-
var [key, model] = param2;
|
|
88
|
-
return await runWithContext({
|
|
89
|
-
authData: {
|
|
90
|
-
id: "",
|
|
91
|
-
role: void 0,
|
|
92
|
-
email: ""
|
|
93
|
-
}
|
|
94
|
-
}, function () {
|
|
95
|
-
return [key, {
|
|
96
|
-
row: {
|
|
97
|
-
select: [function (authData, eb) {
|
|
98
|
-
var out = model.permissions(eb, authData).read;
|
|
99
|
-
return out === !0 ? eb.and() : out === !1 ? eb.cmpLit(!0, "=", !1) : out;
|
|
100
|
-
}],
|
|
101
|
-
// we have permissions on these through our model system with custom mutators:
|
|
102
|
-
insert: ANYONE_CAN,
|
|
103
|
-
update: ANYONE_CAN,
|
|
104
|
-
delete: ANYONE_CAN
|
|
105
|
-
}
|
|
106
|
-
}];
|
|
107
|
-
});
|
|
108
|
-
})),
|
|
109
|
-
permissions = Object.fromEntries(permissionsEntries);
|
|
110
|
-
return permissions;
|
|
111
|
-
});
|
|
112
73
|
return {
|
|
113
74
|
can,
|
|
114
|
-
buildPermissionQuery
|
|
115
|
-
readPermissions
|
|
75
|
+
buildPermissionQuery
|
|
116
76
|
};
|
|
117
77
|
}
|
|
118
78
|
export { createPermissions };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["ensure","EnsureError","setDidRunPermissionCheck","mutatorContext","prettyFormatZeroQuery","getWhereTableName","_instanceof","left","right","Symbol","hasInstance","createPermissions","param","environment","schema","buildPermissionQuery","authData","eb","permissionWhere","objOrId","tableName","Error","tableSchema","tables","primaryKeys","primaryKey","permissionReturn","cmpLit","primaryKeyWheres","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","key","value","push","cmp","err","return","and","can","where","obj","ctx","ensurePermission","tx","role","queryBase","query","one","errorTitle","name","id","msg"],"sources":["../../src/createPermissions.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
+
import { syncedQuery } from "@rocicorp/zero";
|
|
1
2
|
import { useZero, ZeroProvider, useQuery as zeroUseQuery } from "@rocicorp/zero/react";
|
|
2
3
|
import { createEmitter, mapObject } from "@vxrn/helpers";
|
|
3
4
|
import { createContext, use, useMemo } from "react";
|
|
4
5
|
import { createPermissions } from "./createPermissions";
|
|
5
|
-
import { context } from "./helpers/context";
|
|
6
6
|
import { createMutators } from "./helpers/createMutators";
|
|
7
7
|
import { prettyFormatZeroQuery } from "./helpers/prettyFormatZeroQuery";
|
|
8
8
|
import { useZeroDebug } from "./helpers/useZeroDebug";
|
|
9
|
+
import { setAuthData, setSchema } from "./state";
|
|
9
10
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
11
|
function createZeroClient({ schema, models, disable }) {
|
|
11
|
-
|
|
12
|
+
setSchema(schema);
|
|
13
|
+
const modelWritePermissions = mapObject(models, (val) => val.permissions);
|
|
12
14
|
let latestZeroInstance = null;
|
|
13
15
|
const zero = new Proxy({}, {
|
|
14
16
|
get(_, key) {
|
|
@@ -16,18 +18,15 @@ function createZeroClient({ schema, models, disable }) {
|
|
|
16
18
|
}
|
|
17
19
|
}), permissionsHelpers = createPermissions({
|
|
18
20
|
schema,
|
|
19
|
-
models,
|
|
20
|
-
getContext: context,
|
|
21
21
|
environment: "client"
|
|
22
22
|
}), zeroEvents = createEmitter("zero", null), AuthDataContext = createContext({}), useAuthData = () => use(AuthDataContext);
|
|
23
|
-
function usePermission(table,
|
|
24
|
-
const
|
|
23
|
+
function usePermission(table, objOrId, enabled = typeof objOrId < "u", debug = !1) {
|
|
24
|
+
const authData = useAuthData(), permission = modelWritePermissions[table], query = (() => {
|
|
25
25
|
let baseQuery = zero.query[table].one();
|
|
26
26
|
return !enabled || !permission ? baseQuery : baseQuery.where((eb) => permissionsHelpers.buildPermissionQuery(
|
|
27
27
|
authData,
|
|
28
28
|
eb,
|
|
29
29
|
permission,
|
|
30
|
-
action,
|
|
31
30
|
objOrId
|
|
32
31
|
));
|
|
33
32
|
})(), [data, status] = useQuery(query, {
|
|
@@ -35,28 +34,37 @@ function createZeroClient({ schema, models, disable }) {
|
|
|
35
34
|
});
|
|
36
35
|
debug && console.info(
|
|
37
36
|
"usePermission()",
|
|
38
|
-
{ data, status,
|
|
37
|
+
{ data, status, authData, permission },
|
|
39
38
|
prettyFormatZeroQuery(query)
|
|
40
39
|
);
|
|
41
40
|
const allowed = !!data;
|
|
42
41
|
return objOrId ? allowed : !1;
|
|
43
42
|
}
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
43
|
+
const queryCache = /* @__PURE__ */ new Map(), parseAny = (x) => [x[0]];
|
|
44
|
+
function useQuery(...args) {
|
|
45
|
+
const [queryOrFn, paramsOrOptions, optionsArg] = args, isPlainFunction = typeof queryOrFn == "function" && !("queryName" in queryOrFn), { actualQuery, options } = useMemo(() => {
|
|
46
|
+
if (!isPlainFunction)
|
|
47
|
+
return {
|
|
48
|
+
actualQuery: queryOrFn,
|
|
49
|
+
options: paramsOrOptions
|
|
50
|
+
};
|
|
51
|
+
const fn = queryOrFn, queryName = fn.name || "anonymousQuery", hasParams = optionsArg !== void 0 || paramsOrOptions && typeof paramsOrOptions == "object" && !("enabled" in paramsOrOptions) && !("ttl" in paramsOrOptions), params = hasParams ? paramsOrOptions : void 0, opts = hasParams ? optionsArg : paramsOrOptions;
|
|
52
|
+
let synced = queryCache.get(queryName);
|
|
53
|
+
return synced || (synced = syncedQuery(queryName, parseAny, (arg) => fn(arg)), queryCache.set(queryName, synced)), { actualQuery: params !== void 0 ? synced(params) : synced, options: opts };
|
|
54
|
+
}, [queryOrFn, paramsOrOptions, optionsArg, isPlainFunction]), out = zeroUseQuery(actualQuery, options);
|
|
55
|
+
return process.env.NODE_ENV === "development" && useZeroDebug(actualQuery, options, out), disable ? [null, { type: "unknown" }] : out;
|
|
56
|
+
}
|
|
57
|
+
const ProvideZero = ({
|
|
50
58
|
children,
|
|
51
59
|
authData,
|
|
52
60
|
...props
|
|
53
61
|
}) => {
|
|
54
|
-
const mutators = useMemo(() => createMutators({
|
|
62
|
+
const mutators = useMemo(() => (setAuthData(authData), createMutators({
|
|
55
63
|
models,
|
|
56
64
|
environment: "client",
|
|
57
65
|
authData,
|
|
58
66
|
can: permissionsHelpers.can
|
|
59
|
-
}), [models, authData]);
|
|
67
|
+
})), [models, authData]);
|
|
60
68
|
return disable ? children : /* @__PURE__ */ jsx(AuthDataContext.Provider, { value: authData, children: /* @__PURE__ */ jsxs(
|
|
61
69
|
ZeroProvider,
|
|
62
70
|
{
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/createZeroClient.tsx"],
|
|
4
|
-
"mappings": "
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["zero"]
|
|
6
6
|
}
|