From ee8333d1f8b44ad02711d5f4959b3e4dfb5418c4 Mon Sep 17 00:00:00 2001 From: Jared Pereira Date: Tue, 30 Dec 2025 18:21:47 -0500 Subject: [PATCH] add full permissions permission set --- lexicons/build.ts | 2 ++ lexicons/pub/leaflet/authFullPermissions.json | 30 ++++++++++++++++ lexicons/src/authFullPermissions.ts | 36 +++++++++++++++++++ package.json | 2 +- 4 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 lexicons/pub/leaflet/authFullPermissions.json create mode 100644 lexicons/src/authFullPermissions.ts diff --git a/lexicons/build.ts b/lexicons/build.ts index 2704148f..d9fc5faa 100644 --- a/lexicons/build.ts +++ b/lexicons/build.ts @@ -9,6 +9,7 @@ import * as fs from "fs"; import * as path from "path"; import { PubLeafletRichTextFacet } from "./src/facet"; import { PubLeafletComment } from "./src/comment"; +import { PubLeafletAuthFullPermissions } from "./src/authFullPermissions"; const outdir = path.join("lexicons", "pub", "leaflet"); @@ -21,6 +22,7 @@ const lexicons = [ PubLeafletDocument, PubLeafletComment, PubLeafletRichTextFacet, + PubLeafletAuthFullPermissions, PageLexicons.PubLeafletPagesLinearDocument, PageLexicons.PubLeafletPagesCanvasDocument, ...ThemeLexicons, diff --git a/lexicons/pub/leaflet/authFullPermissions.json b/lexicons/pub/leaflet/authFullPermissions.json new file mode 100644 index 00000000..5d66b6c2 --- /dev/null +++ b/lexicons/pub/leaflet/authFullPermissions.json @@ -0,0 +1,30 @@ +{ + "lexicon": 1, + "id": "pub.leaflet.authFullPermissions", + "defs": { + "main": { + "type": "permission-set", + "title": "Full Leaflet Permissions", + "detail": "Manage creating and updating leaflet documents and publications and all interactions on them.", + "permissions": [ + { + "type": "permission", + "resource": "repo", + "action": [ + "create", + "update", + "delete" + ], + "collection": [ + "pub.leaflet.document", + "pub.leaflet.publication", + "pub.leaflet.comment", + "pub.leaflet.poll.definition", + "pub.leaflet.poll.vote", + "pub.leaflet.graph.subscription" + ] + } + ] + } + } +} \ No newline at end of file diff --git a/lexicons/src/authFullPermissions.ts b/lexicons/src/authFullPermissions.ts new file mode 100644 index 00000000..1087df94 --- /dev/null +++ b/lexicons/src/authFullPermissions.ts @@ -0,0 +1,36 @@ +import { LexiconDoc } from "@atproto/lexicon"; +import { PubLeafletDocument } from "./document"; +import { + PubLeafletPublication, + PubLeafletPublicationSubscription, +} from "./publication"; +import { PubLeafletComment } from "./comment"; +import { PubLeafletPollDefinition, PubLeafletPollVote } from "./polls"; + +export const PubLeafletAuthFullPermissions: LexiconDoc = { + lexicon: 1, + id: "pub.leaflet.authFullPermissions", + defs: { + main: { + type: "permission-set", + title: "Full Leaflet Permissions", + detail: + "Manage creating and updating leaflet documents and publications and all interactions on them.", + permissions: [ + { + type: "permission", + resource: "repo", + action: ["create", "update", "delete"], + collection: [ + PubLeafletDocument.id, + PubLeafletPublication.id, + PubLeafletComment.id, + PubLeafletPollDefinition.id, + PubLeafletPollVote.id, + PubLeafletPublicationSubscription.id, + ], + }, + ], + }, + }, +}; diff --git a/package.json b/package.json index 80de6c4d..7cafd51c 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "dev": "TZ=UTC next dev --turbo", "publish-lexicons": "tsx lexicons/publish.ts", "generate-db-types": "supabase gen types --local > supabase/database.types.ts && drizzle-kit introspect && rm -rf ./drizzle/*.sql ./drizzle/meta", - "lexgen": "tsx ./lexicons/build.ts && lex gen-api ./lexicons/api ./lexicons/pub/leaflet/* ./lexicons/pub/leaflet/*/* ./lexicons/com/atproto/*/* ./lexicons/app/bsky/*/* --yes && find './lexicons/api' -type f -exec sed -i 's/\\.js'/'/g' {} \\;", + "lexgen": "tsx ./lexicons/build.ts && lex gen-api ./lexicons/api ./lexicons/pub/leaflet/document.json ./lexicons/pub/leaflet/comment.json ./lexicons/pub/leaflet/publication.json ./lexicons/pub/leaflet/*/* ./lexicons/com/atproto/*/* ./lexicons/app/bsky/*/* --yes && find './lexicons/api' -type f -exec sed -i 's/\\.js'/'/g' {} \\;", "wrangler-dev": "wrangler dev", "build-appview": "esbuild appview/index.ts --outfile=appview/dist/index.js --bundle --platform=node", "build-feed-service": "esbuild feeds/index.ts --outfile=feeds/dist/index.js --bundle --platform=node", -- 2.51.2