diff --git a/object/init.go b/object/init.go index bd9d4885..1772ddbf 100644 --- a/object/init.go +++ b/object/init.go @@ -39,6 +39,39 @@ func InitDb() { initWebAuthn() } +func getBuiltInAccountItems() []*AccountItem { + return []*AccountItem{ + {Name: "Organization", Visible: true, ViewRule: "Public", ModifyRule: "Admin"}, + {Name: "ID", Visible: true, ViewRule: "Public", ModifyRule: "Immutable"}, + {Name: "Name", Visible: true, ViewRule: "Public", ModifyRule: "Admin"}, + {Name: "Display name", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, + {Name: "Avatar", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, + {Name: "User type", Visible: true, ViewRule: "Public", ModifyRule: "Admin"}, + {Name: "Password", Visible: true, ViewRule: "Self", ModifyRule: "Self"}, + {Name: "Email", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, + {Name: "Phone", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, + {Name: "CountryCode", Visible: true, ViewRule: "Public", ModifyRule: "Admin"}, + {Name: "Country/Region", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, + {Name: "Location", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, + {Name: "Affiliation", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, + {Name: "Title", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, + {Name: "Homepage", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, + {Name: "Bio", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, + {Name: "Tag", Visible: true, ViewRule: "Public", ModifyRule: "Admin"}, + {Name: "Signup application", Visible: true, ViewRule: "Public", ModifyRule: "Admin"}, + {Name: "Roles", Visible: true, ViewRule: "Public", ModifyRule: "Immutable"}, + {Name: "Permissions", Visible: true, ViewRule: "Public", ModifyRule: "Immutable"}, + {Name: "3rd-party logins", Visible: true, ViewRule: "Self", ModifyRule: "Self"}, + {Name: "Properties", Visible: false, ViewRule: "Admin", ModifyRule: "Admin"}, + {Name: "Is admin", Visible: true, ViewRule: "Admin", ModifyRule: "Admin"}, + {Name: "Is global admin", Visible: true, ViewRule: "Admin", ModifyRule: "Admin"}, + {Name: "Is forbidden", Visible: true, ViewRule: "Admin", ModifyRule: "Admin"}, + {Name: "Is deleted", Visible: true, ViewRule: "Admin", ModifyRule: "Admin"}, + {Name: "WebAuthn credentials", Visible: true, ViewRule: "Self", ModifyRule: "Self"}, + {Name: "Managed accounts", Visible: true, ViewRule: "Self", ModifyRule: "Self"}, + } +} + func initBuiltInOrganization() bool { organization := getOrganization("admin", "built-in") if organization != nil { @@ -58,36 +91,7 @@ func initBuiltInOrganization() bool { Tags: []string{}, Languages: []string{"en", "zh", "es", "fr", "de", "ja", "ko", "ru", "vi"}, InitScore: 2000, - AccountItems: []*AccountItem{ - {Name: "Organization", Visible: true, ViewRule: "Public", ModifyRule: "Admin"}, - {Name: "ID", Visible: true, ViewRule: "Public", ModifyRule: "Immutable"}, - {Name: "Name", Visible: true, ViewRule: "Public", ModifyRule: "Admin"}, - {Name: "Display name", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, - {Name: "Avatar", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, - {Name: "User type", Visible: true, ViewRule: "Public", ModifyRule: "Admin"}, - {Name: "Password", Visible: true, ViewRule: "Self", ModifyRule: "Self"}, - {Name: "Email", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, - {Name: "Phone", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, - {Name: "CountryCode", Visible: true, ViewRule: "Public", ModifyRule: "Admin"}, - {Name: "Country/Region", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, - {Name: "Location", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, - {Name: "Affiliation", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, - {Name: "Title", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, - {Name: "Homepage", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, - {Name: "Bio", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, - {Name: "Tag", Visible: true, ViewRule: "Public", ModifyRule: "Admin"}, - {Name: "Signup application", Visible: true, ViewRule: "Public", ModifyRule: "Admin"}, - {Name: "Roles", Visible: true, ViewRule: "Public", ModifyRule: "Immutable"}, - {Name: "Permissions", Visible: true, ViewRule: "Public", ModifyRule: "Immutable"}, - {Name: "3rd-party logins", Visible: true, ViewRule: "Self", ModifyRule: "Self"}, - {Name: "Properties", Visible: false, ViewRule: "Admin", ModifyRule: "Admin"}, - {Name: "Is admin", Visible: true, ViewRule: "Admin", ModifyRule: "Admin"}, - {Name: "Is global admin", Visible: true, ViewRule: "Admin", ModifyRule: "Admin"}, - {Name: "Is forbidden", Visible: true, ViewRule: "Admin", ModifyRule: "Admin"}, - {Name: "Is deleted", Visible: true, ViewRule: "Admin", ModifyRule: "Admin"}, - {Name: "WebAuthn credentials", Visible: true, ViewRule: "Self", ModifyRule: "Self"}, - {Name: "Managed accounts", Visible: true, ViewRule: "Self", ModifyRule: "Self"}, - }, + AccountItems: getBuiltInAccountItems(), } AddOrganization(organization) return false diff --git a/object/init_data.go b/object/init_data.go index 8f25fada..09b98ca3 100644 --- a/object/init_data.go +++ b/object/init_data.go @@ -179,34 +179,7 @@ func initDefinedOrganization(organization *Organization) { return } organization.CreatedTime = util.GetCurrentTime() - organization.AccountItems = []*AccountItem{ - {Name: "Organization", Visible: true, ViewRule: "Public", ModifyRule: "Admin"}, - {Name: "ID", Visible: true, ViewRule: "Public", ModifyRule: "Immutable"}, - {Name: "Name", Visible: true, ViewRule: "Public", ModifyRule: "Admin"}, - {Name: "Display name", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, - {Name: "Avatar", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, - {Name: "User type", Visible: true, ViewRule: "Public", ModifyRule: "Admin"}, - {Name: "Password", Visible: true, ViewRule: "Self", ModifyRule: "Self"}, - {Name: "Email", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, - {Name: "Phone", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, - {Name: "CountryCode", Visible: true, ViewRule: "Public", ModifyRule: "Admin"}, - {Name: "Country/Region", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, - {Name: "Location", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, - {Name: "Affiliation", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, - {Name: "Title", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, - {Name: "Homepage", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, - {Name: "Bio", Visible: true, ViewRule: "Public", ModifyRule: "Self"}, - {Name: "Tag", Visible: true, ViewRule: "Public", ModifyRule: "Admin"}, - {Name: "Signup application", Visible: true, ViewRule: "Public", ModifyRule: "Admin"}, - {Name: "Roles", Visible: true, ViewRule: "Public", ModifyRule: "Immutable"}, - {Name: "Permissions", Visible: true, ViewRule: "Public", ModifyRule: "Immutable"}, - {Name: "3rd-party logins", Visible: true, ViewRule: "Self", ModifyRule: "Self"}, - {Name: "Properties", Visible: false, ViewRule: "Admin", ModifyRule: "Admin"}, - {Name: "Is admin", Visible: true, ViewRule: "Admin", ModifyRule: "Admin"}, - {Name: "Is global admin", Visible: true, ViewRule: "Admin", ModifyRule: "Admin"}, - {Name: "Is forbidden", Visible: true, ViewRule: "Admin", ModifyRule: "Admin"}, - {Name: "Is deleted", Visible: true, ViewRule: "Admin", ModifyRule: "Admin"}, - } + organization.AccountItems = getBuiltInAccountItems() AddOrganization(organization) }