mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 09:20:22 +08:00
Merge upstream main into feat/500-api-key-ip-whitelist
This commit is contained in:
@@ -300,6 +300,7 @@ CREATE TABLE IF NOT EXISTS provider_api_keys (
|
||||
updated_at INTEGER NOT NULL
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS provider_api_keys_provider_id_idx ON provider_api_keys (provider_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_provider_api_keys_provider_default_sort ON provider_api_keys (provider_id, internal_priority, name, id);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS pool_member_scores (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
CREATE TABLE IF NOT EXISTS usage_counter_deltas (
|
||||
id TEXT PRIMARY KEY NOT NULL,
|
||||
request_id TEXT NOT NULL,
|
||||
kind TEXT NOT NULL,
|
||||
target_id TEXT NOT NULL,
|
||||
request_count_delta INTEGER NOT NULL DEFAULT 0,
|
||||
total_requests_delta INTEGER NOT NULL DEFAULT 0,
|
||||
success_count_delta INTEGER NOT NULL DEFAULT 0,
|
||||
error_count_delta INTEGER NOT NULL DEFAULT 0,
|
||||
dns_failures_delta INTEGER NOT NULL DEFAULT 0,
|
||||
stream_errors_delta INTEGER NOT NULL DEFAULT 0,
|
||||
total_tokens_delta INTEGER NOT NULL DEFAULT 0,
|
||||
total_cost_usd_delta REAL NOT NULL DEFAULT 0,
|
||||
total_response_time_ms_delta INTEGER NOT NULL DEFAULT 0,
|
||||
last_used_at_unix_secs INTEGER,
|
||||
last_used_ip TEXT,
|
||||
candidate_last_used_at_unix_secs INTEGER,
|
||||
removed_last_used_at_unix_secs INTEGER,
|
||||
usage_created_at_unix_secs INTEGER,
|
||||
created_at INTEGER NOT NULL,
|
||||
processed_at INTEGER
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS ix_usage_counter_deltas_unprocessed
|
||||
ON usage_counter_deltas (created_at, id);
|
||||
CREATE INDEX IF NOT EXISTS ix_usage_counter_deltas_processed
|
||||
ON usage_counter_deltas (processed_at, created_at, id);
|
||||
CREATE INDEX IF NOT EXISTS ix_usage_counter_deltas_request_kind
|
||||
ON usage_counter_deltas (request_id, kind, target_id);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS video_tasks_due_poll_idx
|
||||
ON video_tasks (status, next_poll_at, updated_at);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_entitlement_usage_entitlement_date
|
||||
ON entitlement_usage_ledgers (user_entitlement_id, usage_date);
|
||||
@@ -0,0 +1,69 @@
|
||||
ALTER TABLE users ADD COLUMN privacy_policy_accepted_version TEXT;
|
||||
ALTER TABLE users ADD COLUMN privacy_policy_accepted_at INTEGER;
|
||||
|
||||
ALTER TABLE announcements ADD COLUMN requires_ack INTEGER NOT NULL DEFAULT 0;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS user_invite_codes (
|
||||
user_id TEXT PRIMARY KEY,
|
||||
invite_code TEXT NOT NULL UNIQUE,
|
||||
active INTEGER NOT NULL DEFAULT 1,
|
||||
created_at INTEGER NOT NULL,
|
||||
updated_at INTEGER NOT NULL,
|
||||
FOREIGN KEY(user_id) REFERENCES users(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS user_referrals (
|
||||
id TEXT PRIMARY KEY,
|
||||
inviter_user_id TEXT NOT NULL,
|
||||
invitee_user_id TEXT NOT NULL UNIQUE,
|
||||
invite_code_snapshot TEXT NOT NULL,
|
||||
source_json TEXT,
|
||||
first_paid_order_id TEXT,
|
||||
first_paid_at INTEGER,
|
||||
created_at INTEGER NOT NULL,
|
||||
updated_at INTEGER NOT NULL,
|
||||
FOREIGN KEY(inviter_user_id) REFERENCES users(id) ON DELETE CASCADE,
|
||||
FOREIGN KEY(invitee_user_id) REFERENCES users(id) ON DELETE CASCADE,
|
||||
FOREIGN KEY(first_paid_order_id) REFERENCES payment_orders(id) ON DELETE SET NULL
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_user_referrals_inviter
|
||||
ON user_referrals (inviter_user_id, created_at);
|
||||
CREATE INDEX IF NOT EXISTS idx_user_referrals_created
|
||||
ON user_referrals (created_at);
|
||||
CREATE INDEX IF NOT EXISTS idx_user_referrals_invite_code
|
||||
ON user_referrals (invite_code_snapshot);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS referral_rewards (
|
||||
id TEXT PRIMARY KEY,
|
||||
referral_id TEXT NOT NULL,
|
||||
inviter_user_id TEXT NOT NULL,
|
||||
invitee_user_id TEXT NOT NULL,
|
||||
reward_type TEXT NOT NULL,
|
||||
trigger_point TEXT NOT NULL,
|
||||
source_order_id TEXT,
|
||||
idempotency_key TEXT NOT NULL UNIQUE,
|
||||
amount_usd REAL NOT NULL,
|
||||
status TEXT NOT NULL DEFAULT 'pending',
|
||||
wallet_transaction_id TEXT,
|
||||
reversed_amount_usd REAL NOT NULL DEFAULT 0,
|
||||
pending_reversal_amount_usd REAL NOT NULL DEFAULT 0,
|
||||
failure_reason TEXT,
|
||||
admin_operator_id TEXT,
|
||||
admin_note TEXT,
|
||||
created_at INTEGER NOT NULL,
|
||||
updated_at INTEGER NOT NULL,
|
||||
FOREIGN KEY(referral_id) REFERENCES user_referrals(id) ON DELETE CASCADE,
|
||||
FOREIGN KEY(inviter_user_id) REFERENCES users(id) ON DELETE CASCADE,
|
||||
FOREIGN KEY(invitee_user_id) REFERENCES users(id) ON DELETE CASCADE,
|
||||
FOREIGN KEY(source_order_id) REFERENCES payment_orders(id) ON DELETE SET NULL
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_referral_rewards_inviter_status
|
||||
ON referral_rewards (inviter_user_id, status, created_at);
|
||||
CREATE INDEX IF NOT EXISTS idx_referral_rewards_inviter_created
|
||||
ON referral_rewards (inviter_user_id, created_at);
|
||||
CREATE INDEX IF NOT EXISTS idx_referral_rewards_created
|
||||
ON referral_rewards (created_at);
|
||||
CREATE INDEX IF NOT EXISTS idx_referral_rewards_source_order
|
||||
ON referral_rewards (source_order_id);
|
||||
@@ -0,0 +1 @@
|
||||
ALTER TABLE oauth_providers ADD COLUMN icon_url TEXT;
|
||||
@@ -0,0 +1,2 @@
|
||||
CREATE INDEX IF NOT EXISTS idx_provider_api_keys_provider_default_sort
|
||||
ON provider_api_keys (provider_id, internal_priority, name, id);
|
||||
Reference in New Issue
Block a user