better_auth_api/plugins/organization/
config.rs1use std::collections::HashMap;
2
3#[derive(Debug, Clone)]
5pub struct OrganizationConfig {
6 pub allow_user_to_create_organization: bool,
8 pub organization_limit: Option<usize>,
10 pub membership_limit: Option<usize>,
12 pub creator_role: String,
14 pub invitation_expires_in: u64,
16 pub invitation_limit: Option<usize>,
18 pub disable_organization_deletion: bool,
20 pub roles: HashMap<String, RolePermissions>,
22}
23
24#[derive(Debug, Clone, Default)]
26pub struct RolePermissions {
27 pub organization: Vec<String>,
28 pub member: Vec<String>,
29 pub invitation: Vec<String>,
30}
31
32impl Default for OrganizationConfig {
33 fn default() -> Self {
34 Self {
35 allow_user_to_create_organization: true,
36 organization_limit: None,
37 membership_limit: Some(100),
38 creator_role: "owner".to_string(),
39 invitation_expires_in: 60 * 60 * 48, invitation_limit: Some(100),
41 disable_organization_deletion: false,
42 roles: HashMap::new(),
43 }
44 }
45}
46
47impl OrganizationConfig {
48 pub fn new() -> Self {
49 Self::default()
50 }
51}