mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 17:30:23 +08:00
76 lines
2.4 KiB
MySQL
76 lines
2.4 KiB
MySQL
|
|
-- Generated by aether-data-schema from schema/logical/*.toml.
|
||
|
|
-- Do not edit generated files directly; edit logical schema or explicit overrides instead.
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS system_configs (
|
||
|
|
id TEXT PRIMARY KEY NOT NULL,
|
||
|
|
key TEXT NOT NULL,
|
||
|
|
value TEXT NOT NULL,
|
||
|
|
description TEXT,
|
||
|
|
created_at INTEGER NOT NULL,
|
||
|
|
updated_at INTEGER NOT NULL,
|
||
|
|
UNIQUE (key)
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS auth_modules (
|
||
|
|
id TEXT PRIMARY KEY NOT NULL,
|
||
|
|
module_type TEXT NOT NULL,
|
||
|
|
enabled INTEGER NOT NULL DEFAULT 1,
|
||
|
|
config TEXT NOT NULL,
|
||
|
|
created_at INTEGER NOT NULL,
|
||
|
|
updated_at INTEGER NOT NULL,
|
||
|
|
UNIQUE (module_type)
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS oauth_providers (
|
||
|
|
provider_type TEXT PRIMARY KEY NOT NULL,
|
||
|
|
display_name TEXT NOT NULL,
|
||
|
|
client_id TEXT NOT NULL,
|
||
|
|
client_secret_encrypted TEXT,
|
||
|
|
authorization_url_override TEXT,
|
||
|
|
token_url_override TEXT,
|
||
|
|
userinfo_url_override TEXT,
|
||
|
|
scopes TEXT,
|
||
|
|
redirect_uri TEXT NOT NULL,
|
||
|
|
frontend_callback_url TEXT NOT NULL,
|
||
|
|
attribute_mapping TEXT,
|
||
|
|
extra_config TEXT,
|
||
|
|
is_enabled INTEGER NOT NULL DEFAULT 0,
|
||
|
|
created_at INTEGER NOT NULL,
|
||
|
|
updated_at INTEGER NOT NULL
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS ldap_configs (
|
||
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
|
|
server_url TEXT NOT NULL,
|
||
|
|
bind_dn TEXT NOT NULL,
|
||
|
|
bind_password_encrypted TEXT,
|
||
|
|
base_dn TEXT NOT NULL,
|
||
|
|
user_search_filter TEXT NOT NULL DEFAULT '(uid={username})',
|
||
|
|
username_attr TEXT NOT NULL DEFAULT 'uid',
|
||
|
|
email_attr TEXT NOT NULL DEFAULT 'mail',
|
||
|
|
display_name_attr TEXT NOT NULL DEFAULT 'cn',
|
||
|
|
is_enabled INTEGER NOT NULL DEFAULT 0,
|
||
|
|
is_exclusive INTEGER NOT NULL DEFAULT 0,
|
||
|
|
use_starttls INTEGER NOT NULL DEFAULT 0,
|
||
|
|
connect_timeout INTEGER NOT NULL DEFAULT 10,
|
||
|
|
created_at INTEGER NOT NULL,
|
||
|
|
updated_at INTEGER NOT NULL
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS user_oauth_links (
|
||
|
|
id TEXT PRIMARY KEY NOT NULL,
|
||
|
|
user_id TEXT NOT NULL,
|
||
|
|
provider_type TEXT NOT NULL,
|
||
|
|
provider_user_id TEXT NOT NULL,
|
||
|
|
provider_username TEXT,
|
||
|
|
provider_email TEXT,
|
||
|
|
extra_data TEXT,
|
||
|
|
linked_at INTEGER NOT NULL,
|
||
|
|
last_login_at INTEGER,
|
||
|
|
UNIQUE (provider_type, provider_user_id),
|
||
|
|
UNIQUE (user_id, provider_type)
|
||
|
|
);
|
||
|
|
CREATE INDEX IF NOT EXISTS user_oauth_links_provider_type_idx ON user_oauth_links (provider_type);
|
||
|
|
CREATE INDEX IF NOT EXISTS user_oauth_links_user_id_idx ON user_oauth_links (user_id);
|
||
|
|
|