pub struct OrganizationConfig {Show 19 fields
pub schema: OrganizationFields,
pub hooks: Option<Arc<dyn OrganizationHooks>>,
pub policy: Option<Arc<dyn OrganizationPolicy>>,
pub teams: OrganizationTeamsConfig,
pub dynamic_access_control: bool,
pub maximum_roles_per_organization: Option<usize>,
pub ac: Option<HashMap<String, Vec<String>>>,
pub allow_user_to_create_organization: bool,
pub organization_limit: Option<usize>,
pub membership_limit: Option<usize>,
pub membership_limit_callback: Option<Arc<dyn MembershipLimitPolicy>>,
pub creator_role: String,
pub invitation_expires_in: f64,
pub invitation_limit: Option<usize>,
pub cancel_pending_invitations_on_re_invite: bool,
pub require_email_verification_on_invitation: bool,
pub disable_organization_deletion: bool,
pub roles: Option<HashMap<String, RolePermissions>>,
pub send_invitation_email: Option<Arc<dyn SendInvitationEmail>>,
}Expand description
Configuration for the Organization plugin
Fields§
§schema: OrganizationFieldsApplication fields for organization entities.
hooks: Option<Arc<dyn OrganizationHooks>>Application lifecycle hooks.
policy: Option<Arc<dyn OrganizationPolicy>>Asynchronous organization configuration.
teams: OrganizationTeamsConfigEnable teams and configure team limits.
dynamic_access_control: boolEnable persisted organization roles.
maximum_roles_per_organization: Option<usize>Maximum persisted roles per organization.
ac: Option<HashMap<String, Vec<String>>>Resource statements for dynamic access control.
allow_user_to_create_organization: boolAllow users to create organizations (default: true)
organization_limit: Option<usize>Maximum organizations per user (None = unlimited)
membership_limit: Option<usize>Maximum members per organization (None or zero uses upstream default 100)
membership_limit_callback: Option<Arc<dyn MembershipLimitPolicy>>Dynamic membership capacity, replacing the static admission limit.
creator_role: StringRole assigned to organization creator (default: “owner”)
invitation_expires_in: f64Invitation expiration in seconds, including fractions (default: 48 hours).
invitation_limit: Option<usize>Maximum pending invitations per organization (None uses upstream default 100)
cancel_pending_invitations_on_re_invite: boolCancel the previous pending invitation before creating a replacement.
require_email_verification_on_invitation: boolRequire a verified recipient email for invitation lookup, acceptance, and rejection.
disable_organization_deletion: boolDisable organization deletion (default: false)
roles: Option<HashMap<String, RolePermissions>>Static role definitions. An explicit map, including an empty map, replaces defaults.
send_invitation_email: Option<Arc<dyn SendInvitationEmail>>Optional delivery callback used for new and resent invitations.