Alternative ATProto PDS implementation

split migrations

Changed files
+50 -120
migrations
2025-05-15-182818_init_diff
2025-05-17-094600_oauth_temp
-12
migrations/2025-05-15-182818_init_diff/down.sql
··· 1 - -- This file should undo anything in `up.sql` 2 - DROP TABLE IF EXISTS `oauth_refresh_tokens`; 3 1 DROP TABLE IF EXISTS `repo_seq`; 4 - DROP TABLE IF EXISTS `blob`; 5 - DROP TABLE IF EXISTS `oauth_used_jtis`; 6 2 DROP TABLE IF EXISTS `app_password`; 7 - DROP TABLE IF EXISTS `repo_block`; 8 3 DROP TABLE IF EXISTS `device_account`; 9 - DROP TABLE IF EXISTS `backlink`; 10 4 DROP TABLE IF EXISTS `actor`; 11 5 DROP TABLE IF EXISTS `device`; 12 6 DROP TABLE IF EXISTS `did_doc`; 13 7 DROP TABLE IF EXISTS `email_token`; 14 8 DROP TABLE IF EXISTS `invite_code`; 15 - DROP TABLE IF EXISTS `oauth_par_requests`; 16 - DROP TABLE IF EXISTS `record`; 17 - DROP TABLE IF EXISTS `repo_root`; 18 9 DROP TABLE IF EXISTS `used_refresh_token`; 19 10 DROP TABLE IF EXISTS `invite_code_use`; 20 - DROP TABLE IF EXISTS `oauth_authorization_codes`; 21 11 DROP TABLE IF EXISTS `authorization_request`; 22 12 DROP TABLE IF EXISTS `token`; 23 13 DROP TABLE IF EXISTS `refresh_token`; 24 - DROP TABLE IF EXISTS `account_pref`; 25 - DROP TABLE IF EXISTS `record_blob`; 26 14 DROP TABLE IF EXISTS `account`;
-108
migrations/2025-05-15-182818_init_diff/up.sql
··· 1 - CREATE TABLE `oauth_refresh_tokens`( 2 - `token` VARCHAR NOT NULL PRIMARY KEY, 3 - `client_id` VARCHAR NOT NULL, 4 - `subject` VARCHAR NOT NULL, 5 - `dpop_thumbprint` VARCHAR NOT NULL, 6 - `scope` VARCHAR, 7 - `created_at` INT8 NOT NULL, 8 - `expires_at` INT8 NOT NULL, 9 - `revoked` BOOL NOT NULL 10 - ); 11 - 12 1 CREATE TABLE `repo_seq`( 13 2 `seq` INT8 NOT NULL PRIMARY KEY, 14 3 `did` VARCHAR NOT NULL, ··· 18 7 `sequencedat` VARCHAR NOT NULL 19 8 ); 20 9 21 - CREATE TABLE `blob`( 22 - `cid` VARCHAR NOT NULL, 23 - `did` VARCHAR NOT NULL, 24 - `mimetype` VARCHAR NOT NULL, 25 - `size` INT4 NOT NULL, 26 - `tempkey` VARCHAR, 27 - `width` INT4, 28 - `height` INT4, 29 - `createdat` VARCHAR NOT NULL, 30 - `takedownref` VARCHAR, 31 - PRIMARY KEY(`cid`, `did`) 32 - ); 33 - 34 - CREATE TABLE `oauth_used_jtis`( 35 - `jti` VARCHAR NOT NULL PRIMARY KEY, 36 - `issuer` VARCHAR NOT NULL, 37 - `created_at` INT8 NOT NULL, 38 - `expires_at` INT8 NOT NULL 39 - ); 40 - 41 10 CREATE TABLE `app_password`( 42 11 `did` VARCHAR NOT NULL, 43 12 `name` VARCHAR NOT NULL, ··· 46 15 PRIMARY KEY(`did`, `name`) 47 16 ); 48 17 49 - CREATE TABLE `repo_block`( 50 - `cid` VARCHAR NOT NULL, 51 - `did` VARCHAR NOT NULL, 52 - `reporev` VARCHAR NOT NULL, 53 - `size` INT4 NOT NULL, 54 - `content` BYTEA NOT NULL, 55 - PRIMARY KEY(`cid`, `did`) 56 - ); 57 - 58 18 CREATE TABLE `device_account`( 59 19 `did` VARCHAR NOT NULL, 60 20 `deviceid` VARCHAR NOT NULL, ··· 62 22 `remember` BOOL NOT NULL, 63 23 `authorizedclients` VARCHAR NOT NULL, 64 24 PRIMARY KEY(`deviceId`, `did`) 65 - ); 66 - 67 - CREATE TABLE `backlink`( 68 - `uri` VARCHAR NOT NULL, 69 - `path` VARCHAR NOT NULL, 70 - `linkto` VARCHAR NOT NULL, 71 - PRIMARY KEY(`uri`, `path`) 72 25 ); 73 26 74 27 CREATE TABLE `actor`( ··· 111 64 `createdat` VARCHAR NOT NULL 112 65 ); 113 66 114 - CREATE TABLE `oauth_par_requests`( 115 - `request_uri` VARCHAR NOT NULL PRIMARY KEY, 116 - `client_id` VARCHAR NOT NULL, 117 - `response_type` VARCHAR NOT NULL, 118 - `code_challenge` VARCHAR NOT NULL, 119 - `code_challenge_method` VARCHAR NOT NULL, 120 - `state` VARCHAR, 121 - `login_hint` VARCHAR, 122 - `scope` VARCHAR, 123 - `redirect_uri` VARCHAR, 124 - `response_mode` VARCHAR, 125 - `display` VARCHAR, 126 - `created_at` INT8 NOT NULL, 127 - `expires_at` INT8 NOT NULL 128 - ); 129 - 130 - CREATE TABLE `record`( 131 - `uri` VARCHAR NOT NULL PRIMARY KEY, 132 - `cid` VARCHAR NOT NULL, 133 - `did` VARCHAR NOT NULL, 134 - `collection` VARCHAR NOT NULL, 135 - `rkey` VARCHAR NOT NULL, 136 - `reporev` VARCHAR, 137 - `indexedat` VARCHAR NOT NULL, 138 - `takedownref` VARCHAR 139 - ); 140 - 141 - CREATE TABLE `repo_root`( 142 - `did` VARCHAR NOT NULL PRIMARY KEY, 143 - `cid` VARCHAR NOT NULL, 144 - `rev` VARCHAR NOT NULL, 145 - `indexedat` VARCHAR NOT NULL 146 - ); 147 - 148 67 CREATE TABLE `used_refresh_token`( 149 68 `refreshtoken` VARCHAR NOT NULL PRIMARY KEY, 150 69 `tokenid` VARCHAR NOT NULL ··· 157 76 PRIMARY KEY(`code`, `usedBy`) 158 77 ); 159 78 160 - CREATE TABLE `oauth_authorization_codes`( 161 - `code` VARCHAR NOT NULL PRIMARY KEY, 162 - `client_id` VARCHAR NOT NULL, 163 - `subject` VARCHAR NOT NULL, 164 - `code_challenge` VARCHAR NOT NULL, 165 - `code_challenge_method` VARCHAR NOT NULL, 166 - `redirect_uri` VARCHAR NOT NULL, 167 - `scope` VARCHAR, 168 - `created_at` INT8 NOT NULL, 169 - `expires_at` INT8 NOT NULL, 170 - `used` BOOL NOT NULL 171 - ); 172 - 173 79 CREATE TABLE `authorization_request`( 174 80 `id` VARCHAR NOT NULL PRIMARY KEY, 175 81 `did` VARCHAR, ··· 203 109 `expiresat` VARCHAR NOT NULL, 204 110 `nextid` VARCHAR, 205 111 `apppasswordname` VARCHAR 206 - ); 207 - 208 - CREATE TABLE `account_pref`( 209 - `id` INT4 NOT NULL PRIMARY KEY, 210 - `did` VARCHAR NOT NULL, 211 - `name` VARCHAR NOT NULL, 212 - `valuejson` TEXT 213 - ); 214 - 215 - CREATE TABLE `record_blob`( 216 - `blobcid` VARCHAR NOT NULL, 217 - `recorduri` VARCHAR NOT NULL, 218 - `did` VARCHAR NOT NULL, 219 - PRIMARY KEY(`blobCid`, `recordUri`) 220 112 ); 221 113 222 114 CREATE TABLE `account`(
+4
migrations/2025-05-17-094600_oauth_temp/down.sql
··· 1 + DROP TABLE IF EXISTS `oauth_refresh_tokens`; 2 + DROP TABLE IF EXISTS `oauth_used_jtis`; 3 + DROP TABLE IF EXISTS `oauth_par_requests`; 4 + DROP TABLE IF EXISTS `oauth_authorization_codes`;
+46
migrations/2025-05-17-094600_oauth_temp/up.sql
··· 1 + CREATE TABLE `oauth_refresh_tokens`( 2 + `token` VARCHAR NOT NULL PRIMARY KEY, 3 + `client_id` VARCHAR NOT NULL, 4 + `subject` VARCHAR NOT NULL, 5 + `dpop_thumbprint` VARCHAR NOT NULL, 6 + `scope` VARCHAR, 7 + `created_at` INT8 NOT NULL, 8 + `expires_at` INT8 NOT NULL, 9 + `revoked` BOOL NOT NULL 10 + ); 11 + 12 + CREATE TABLE `oauth_used_jtis`( 13 + `jti` VARCHAR NOT NULL PRIMARY KEY, 14 + `issuer` VARCHAR NOT NULL, 15 + `created_at` INT8 NOT NULL, 16 + `expires_at` INT8 NOT NULL 17 + ); 18 + 19 + CREATE TABLE `oauth_par_requests`( 20 + `request_uri` VARCHAR NOT NULL PRIMARY KEY, 21 + `client_id` VARCHAR NOT NULL, 22 + `response_type` VARCHAR NOT NULL, 23 + `code_challenge` VARCHAR NOT NULL, 24 + `code_challenge_method` VARCHAR NOT NULL, 25 + `state` VARCHAR, 26 + `login_hint` VARCHAR, 27 + `scope` VARCHAR, 28 + `redirect_uri` VARCHAR, 29 + `response_mode` VARCHAR, 30 + `display` VARCHAR, 31 + `created_at` INT8 NOT NULL, 32 + `expires_at` INT8 NOT NULL 33 + ); 34 + 35 + CREATE TABLE `oauth_authorization_codes`( 36 + `code` VARCHAR NOT NULL PRIMARY KEY, 37 + `client_id` VARCHAR NOT NULL, 38 + `subject` VARCHAR NOT NULL, 39 + `code_challenge` VARCHAR NOT NULL, 40 + `code_challenge_method` VARCHAR NOT NULL, 41 + `redirect_uri` VARCHAR NOT NULL, 42 + `scope` VARCHAR, 43 + `created_at` INT8 NOT NULL, 44 + `expires_at` INT8 NOT NULL, 45 + `used` BOOL NOT NULL 46 + );