Add Stuffbox account connection, encrypted token lifecycle, direct media uploads, storage settings, and S3 fallback

Hop-State: A_06FP7VQ2F5KZQAY57YEBZV8
Hop-Proposal: R_06FP7VPDD7MJH2Z0013D7SR
Hop-Task: T_06FP7QPNG91NT6WBGJD5MJG
Hop-Attempt: AT_06FP7QPNGAEEAEHP3Q7CNEG
This commit is contained in:
2026-07-14 21:00:27 -07:00
committed by Hop
parent 752298a405
commit 9f0bfb59ab
26 changed files with 7657 additions and 168 deletions
@@ -0,0 +1,15 @@
CREATE TABLE `stuffbox_connections` (
`user_id` text PRIMARY KEY,
`base_url` text NOT NULL,
`access_token_encrypted` text NOT NULL,
`access_token_expires_at` integer NOT NULL,
`refresh_token_encrypted` text NOT NULL,
`refresh_token_expires_at` integer,
`scopes` text NOT NULL,
`connected_at` integer DEFAULT (unixepoch()) NOT NULL,
`updated_at` integer DEFAULT (unixepoch()) NOT NULL,
CONSTRAINT `fk_stuffbox_connections_user_id_users_id_fk` FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON DELETE CASCADE
);
--> statement-breakpoint
ALTER TABLE `media` ADD `storage_provider` text;--> statement-breakpoint
ALTER TABLE `media` ADD `storage_asset_id` text;
File diff suppressed because it is too large Load Diff