add: developer pass

This commit is contained in:
trisua 2025-07-18 14:52:00 -04:00
parent 636ecce9f4
commit 02f3d08926
14 changed files with 355 additions and 101 deletions

View file

@ -3,6 +3,7 @@ use super::common::NAME_REGEX;
use oiseau::cache::Cache;
use crate::model::communities::{CommunityContext, CommunityJoinAccess, CommunityMembership};
use crate::model::communities_permissions::CommunityPermission;
use crate::model::permissions::SecondaryPermission;
use crate::model::{
Error, Result,
auth::User,
@ -255,7 +256,11 @@ impl DataManager {
// check is_forge
// only supporters can CREATE forge communities... anybody can contribute to them
if data.is_forge && !owner.permissions.check(FinePermission::SUPPORTER) {
if data.is_forge
&& !owner
.secondary_permissions
.check(SecondaryPermission::DEVELOPER_PASS)
{
return Err(Error::RequiresSupporter);
}