pub struct OrganizationConfig {Show 24 fields
pub organization_fields: SessionFields,
pub allow_user_to_create_organization: bool,
pub organization_limit: Option<f64>,
pub creation_policy: Option<Arc<dyn OrganizationCreationPolicy>>,
pub creation_hooks: Option<Arc<dyn OrganizationCreationHooks>>,
pub deletion_hooks: Option<Arc<dyn OrganizationDeletionHooks>>,
pub update_hooks: Option<Arc<dyn OrganizationUpdateHooks>>,
pub member_role_hooks: Option<Arc<dyn OrganizationMemberRoleHooks>>,
pub member_removal_hooks: Option<Arc<dyn OrganizationMemberRemovalHooks>>,
pub member_addition_hooks: Option<Arc<dyn OrganizationMemberAdditionHooks>>,
pub invitation_acceptance_hooks: Option<Arc<dyn OrganizationInvitationAcceptanceHooks>>,
pub membership_limit: Option<MembershipLimit>,
pub creator_role: String,
pub invitation_expires_in: Option<f64>,
pub invitation_limit: Option<InvitationLimit>,
pub cancel_pending_invitations_on_reinvite: bool,
pub invitation_hooks: Option<Arc<dyn OrganizationInvitationHooks>>,
pub send_invitation_email: Option<Arc<dyn OrganizationInvitationEmailSender>>,
pub disable_organization_deletion: bool,
pub roles: Option<HashMap<String, RolePermissions>>,
pub require_email_verification_on_invitation: Option<bool>,
pub teams: TeamsConfig,
pub dynamic_access_control: DynamicAccessControlConfig,
pub access_control: Option<OrganizationPermissions>,
}Expand description
Configuration for the Organization plugin
Fields§
§organization_fields: SessionFieldsInput policies for additional organization model fields.
allow_user_to_create_organization: boolAllow users to create organizations (default: true)
organization_limit: Option<f64>Maximum organization memberships per user (None = unlimited).
Uses JavaScript Number comparisons: fractional, negative, NaN and infinite
limits retain their upstream meanings.
creation_policy: Option<Arc<dyn OrganizationCreationPolicy>>Optional asynchronous policy overrides, evaluated against the actual user.
creation_hooks: Option<Arc<dyn OrganizationCreationHooks>>Awaited creation callbacks with immutable authority and persisted snapshots.
deletion_hooks: Option<Arc<dyn OrganizationDeletionHooks>>Awaited deletion callbacks over raw rows and original authority snapshots.
update_hooks: Option<Arc<dyn OrganizationUpdateHooks>>Awaited update callbacks over validated input and original authority.
member_role_hooks: Option<Arc<dyn OrganizationMemberRoleHooks>>Awaited member role callbacks with immutable target snapshots.
member_removal_hooks: Option<Arc<dyn OrganizationMemberRemovalHooks>>Awaited member removal callbacks over immutable original target rows.
member_addition_hooks: Option<Arc<dyn OrganizationMemberAdditionHooks>>Awaited server-only addition callbacks over the target and raw organization.
invitation_acceptance_hooks: Option<Arc<dyn OrganizationInvitationAcceptanceHooks>>Awaited acceptance callbacks around conditional claim and membership transaction.
membership_limit: Option<MembershipLimit>Admission policy. Absent or falsy fixed numbers use 100; resolver results retain JavaScript Number comparison semantics without a second fallback. Read pages use only a fixed number, and never call an admission resolver.
creator_role: StringRole assigned to organization creator (default: “owner”)
invitation_expires_in: Option<f64>Invitation expiration in seconds (default: 48 hours)
invitation_limit: Option<InvitationLimit>Pending admission limit: None uses 100; every numeric value is compared raw.
cancel_pending_invitations_on_reinvite: boolCancel the first prior pending invitation before later admission checks.
invitation_hooks: Option<Arc<dyn OrganizationInvitationHooks>>§send_invitation_email: Option<Arc<dyn OrganizationInvitationEmailSender>>§disable_organization_deletion: boolDisable organization deletion (default: false)
roles: Option<HashMap<String, RolePermissions>>Static role definitions. None uses the upstream default roles; an explicitly empty map grants no static permissions.
require_email_verification_on_invitation: Option<bool>Require verified email to view, accept, or reject an invitation by ID. None requires it when the configured database uses numeric IDs.
teams: TeamsConfig§dynamic_access_control: DynamicAccessControlConfig§access_control: Option<OrganizationPermissions>Implementations§
Source§impl OrganizationConfig
impl OrganizationConfig
Sourcepub fn effective_creator_role(&self) -> &str
pub fn effective_creator_role(&self) -> &str
The pinned creator-role option uses JavaScript’s nonempty-string fallback.