Keyboard shortcuts

Press ← or β†’ to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

comprehensive and detailed RBAC permission list Golang Community Vault platform. This will allow fine-grained control for various roles across all the directories and content types outlined in README.


πŸ”’ Universal Permission Categories (Applicable to all modules)

PermissionDescription
view:<resource>Can view/read the resource (public or restricted)
create:<resource>Can create/upload new items
edit:<resource>Can update or modify existing items
delete:<resource>Can remove an item
publish:<resource>Can mark content as published (if there’s a review process)
archive:<resource>Can archive or unpublish without deletion
feature:<resource>Can mark content as featured
comment:<resource>Can comment on resource
moderate:<resource>Can manage others' comments and discussions
rate:<resource>Can give rating (if rating system exists)
tag:<resource>Can add/edit tags or metadata
assign:<resource>Can assign reviewers or contributors to a resource

πŸ”– Resource-Specific Permissions

Here's a breakdown by directory and subtype:


1. interview-qa/

PermissionApplies to
curate:interview_qaCan organize, categorize, and reorder Q&A content
bulk_upload:interview_qaUpload multiple Q&As via CSV or UI
label:difficulty_levelCan assign difficulty labels (easy/med/hard)
verify:interview_qaTrusted users can verify accuracy of Q&A
suggest_edit:interview_qaSubmit Q&A revisions for approval
link:qa_to_topicLink questions across topic-wise and company-wise sections

2. class-notes/

PermissionApplies to
format:class_noteFormat content (LaTeX, markdown support)
translate:class_noteUpload alternate language versions
rate:note_qualityRate based on helpfulness/accuracy
submit_note_reviewPeer review notes
merge_notesCombine similar notes into one resource

3. project-archive/

PermissionApplies to
link:project_githubAttach GitHub repo link
mark:project_stableCertify project as stable/maintained
fork:community_projectDuplicate project into sandbox for experimentation
assign:maintainerAssign project maintainers
create:project_tagsDefine tags like "CLI", "REST", "gRPC" etc.

4. image-infographic-archive/

PermissionApplies to
upload:image_infographicUpload PNG/SVG/PDF
optimize:imageResize/compress for performance
annotate:imageAdd notes or highlight sections
group:infographicsCreate themes/sets (e.g., Goroutine Internals Set)

5. community-stories/

PermissionApplies to
submit:storySubmit a personal or experience story
moderate:storyApprove or reject stories
tag:story_categoryLabel stories (job hunt, rejections, etc.)
feature:storyHighlight on community page
approve:anonymous_storyAllow anonymous publishing

6. package-archive/

PermissionApplies to
upload:package_sourceUpload zip/tarball or Git link
verify:package_integrityEnsure no malicious code
test:packageRun CI on submitted code
mark:package_deprecatedDeprecate old packages
create:package_docWrite documentation for package

7. community-blogs/

PermissionApplies to
submit:blog_postWrite and submit a blog
edit:others_blogAllow editing of other authors' blogs (moderator only)
review:blog_postCan review before publishing
pin:blog_postPin post to top of page

8. news-events/

PermissionApplies to
submit:eventSubmit conference or event
create:event_recapSummarize events
organize:event_listingCurate future/past events
assign:event_hostAdd moderators for meetups/hackathons

9. video-archive/

PermissionApplies to
embed:video_linkAttach YouTube or local hosted video
transcribe:videoAdd subtitle or transcript
review:video_contentModerate for quality or relevance
feature:videoSpotlight video on homepage
clip:video_segmentCreate mini-clips or highlights

10. course-content/

PermissionApplies to
submit:course_moduleCreate lessons or sections
assign:course_ownerAppoint course maintainer(s)
review:course_contentApprove/reject modules
track:course_progressSee student analytics (admin only)

PermissionApplies to
submit:linkAdd blog/tool/documentation link
validate:linkCheck for broken/dead links
approve:external_resourceManual approval for outbound links
organize:bookmark_listAllow curating themed collections

βœ… Bonus System Permissions

PermissionApplies to
manage:usersAdmin only β€” manage roles, bans, profile data
manage:rolesCreate/update roles and their permission sets
audit:logsView user activity logs
backup:dataExport platform content
toggle:maintenance_modeTake platform down for maintenance
view:analyticsSee usage and traffic reports
send:notificationsSystem-wide announcement access