Files
Aether/crates/aether-data/schema/logical/003_auth_config.toml

305 lines
5.3 KiB
TOML

[table.system_configs]
domain = "auth_config"
order = 10
primary_key = ["id"]
[[table.system_configs.columns]]
name = "id"
type = "text_id"
length = 64
[[table.system_configs.columns]]
name = "key"
type = "text"
length = 255
[[table.system_configs.columns]]
name = "value"
type = "long_text"
[[table.system_configs.columns]]
name = "description"
type = "long_text"
nullable = true
[[table.system_configs.columns]]
name = "created_at"
type = "unix_seconds"
[[table.system_configs.columns]]
name = "updated_at"
type = "unix_seconds"
[[table.system_configs.uniques]]
name = "system_configs_key_key"
columns = ["key"]
[table.auth_modules]
domain = "auth_config"
order = 20
primary_key = ["id"]
[[table.auth_modules.columns]]
name = "id"
type = "text_id"
length = 64
[[table.auth_modules.columns]]
name = "module_type"
type = "text"
length = 128
[[table.auth_modules.columns]]
name = "enabled"
type = "bool"
default = true
[[table.auth_modules.columns]]
name = "config"
type = "json"
[[table.auth_modules.columns]]
name = "created_at"
type = "unix_seconds"
[[table.auth_modules.columns]]
name = "updated_at"
type = "unix_seconds"
[[table.auth_modules.uniques]]
name = "auth_modules_module_type_key"
columns = ["module_type"]
[table.oauth_providers]
domain = "auth_config"
order = 30
primary_key = ["provider_type"]
[[table.oauth_providers.columns]]
name = "provider_type"
type = "text"
length = 64
[[table.oauth_providers.columns]]
name = "display_name"
type = "text"
length = 255
[[table.oauth_providers.columns]]
name = "client_id"
type = "long_text"
[[table.oauth_providers.columns]]
name = "client_secret_encrypted"
type = "long_text"
nullable = true
[[table.oauth_providers.columns]]
name = "authorization_url_override"
type = "text"
length = 500
nullable = true
[[table.oauth_providers.columns]]
name = "token_url_override"
type = "text"
length = 500
nullable = true
[[table.oauth_providers.columns]]
name = "userinfo_url_override"
type = "text"
length = 500
nullable = true
[[table.oauth_providers.columns]]
name = "scopes"
type = "json"
nullable = true
[[table.oauth_providers.columns]]
name = "redirect_uri"
type = "text"
length = 500
[[table.oauth_providers.columns]]
name = "frontend_callback_url"
type = "text"
length = 500
[[table.oauth_providers.columns]]
name = "attribute_mapping"
type = "json"
nullable = true
[[table.oauth_providers.columns]]
name = "extra_config"
type = "json"
nullable = true
[[table.oauth_providers.columns]]
name = "icon_url"
type = "text"
length = 500
nullable = true
[[table.oauth_providers.columns]]
name = "is_enabled"
type = "bool"
default = false
[[table.oauth_providers.columns]]
name = "created_at"
type = "unix_seconds"
[[table.oauth_providers.columns]]
name = "updated_at"
type = "unix_seconds"
[table.ldap_configs]
domain = "auth_config"
order = 40
primary_key = ["id"]
[[table.ldap_configs.columns]]
name = "id"
type = "int64"
auto_increment = true
[[table.ldap_configs.columns]]
name = "server_url"
type = "text"
length = 255
[[table.ldap_configs.columns]]
name = "bind_dn"
type = "long_text"
[[table.ldap_configs.columns]]
name = "bind_password_encrypted"
type = "long_text"
nullable = true
[[table.ldap_configs.columns]]
name = "base_dn"
type = "long_text"
[[table.ldap_configs.columns]]
name = "user_search_filter"
type = "text"
length = 512
default = "(uid={username})"
[[table.ldap_configs.columns]]
name = "username_attr"
type = "text"
length = 50
default = "uid"
[[table.ldap_configs.columns]]
name = "email_attr"
type = "text"
length = 50
default = "mail"
[[table.ldap_configs.columns]]
name = "display_name_attr"
type = "text"
length = 50
default = "cn"
[[table.ldap_configs.columns]]
name = "is_enabled"
type = "bool"
default = false
[[table.ldap_configs.columns]]
name = "is_exclusive"
type = "bool"
default = false
[[table.ldap_configs.columns]]
name = "use_starttls"
type = "bool"
default = false
[[table.ldap_configs.columns]]
name = "connect_timeout"
type = "int32"
default = 10
[[table.ldap_configs.columns]]
name = "created_at"
type = "unix_seconds"
[[table.ldap_configs.columns]]
name = "updated_at"
type = "unix_seconds"
[table.user_oauth_links]
domain = "auth_config"
order = 50
primary_key = ["id"]
[[table.user_oauth_links.columns]]
name = "id"
type = "text_id"
length = 64
[[table.user_oauth_links.columns]]
name = "user_id"
type = "text_id"
length = 64
[[table.user_oauth_links.columns]]
name = "provider_type"
type = "text"
length = 64
[[table.user_oauth_links.columns]]
name = "provider_user_id"
type = "text"
length = 255
[[table.user_oauth_links.columns]]
name = "provider_username"
type = "text"
length = 255
nullable = true
[[table.user_oauth_links.columns]]
name = "provider_email"
type = "text"
length = 255
nullable = true
[[table.user_oauth_links.columns]]
name = "extra_data"
type = "json"
nullable = true
[[table.user_oauth_links.columns]]
name = "linked_at"
type = "unix_seconds"
[[table.user_oauth_links.columns]]
name = "last_login_at"
type = "unix_seconds"
nullable = true
[[table.user_oauth_links.indexes]]
name = "user_oauth_links_provider_type_idx"
columns = ["provider_type"]
[[table.user_oauth_links.indexes]]
name = "user_oauth_links_user_id_idx"
columns = ["user_id"]
[[table.user_oauth_links.uniques]]
name = "uq_user_oauth_links_provider_user"
columns = ["provider_type", "provider_user_id"]
[[table.user_oauth_links.uniques]]
name = "uq_user_oauth_links_user_provider"
columns = ["user_id", "provider_type"]