···11+-- This file should undo anything in `up.sql`
22+DROP TABLE IF EXISTS `oauth_refresh_tokens`;
33+DROP TABLE IF EXISTS `repo_seq`;
44+DROP TABLE IF EXISTS `blob`;
55+DROP TABLE IF EXISTS `oauth_used_jtis`;
66+DROP TABLE IF EXISTS `app_password`;
77+DROP TABLE IF EXISTS `repo_block`;
88+DROP TABLE IF EXISTS `device_account`;
99+DROP TABLE IF EXISTS `backlink`;
1010+DROP TABLE IF EXISTS `actor`;
1111+DROP TABLE IF EXISTS `device`;
1212+DROP TABLE IF EXISTS `did_doc`;
1313+DROP TABLE IF EXISTS `email_token`;
1414+DROP TABLE IF EXISTS `invite_code`;
1515+DROP TABLE IF EXISTS `oauth_par_requests`;
1616+DROP TABLE IF EXISTS `record`;
1717+DROP TABLE IF EXISTS `repo_root`;
1818+DROP TABLE IF EXISTS `used_refresh_token`;
1919+DROP TABLE IF EXISTS `invite_code_use`;
2020+DROP TABLE IF EXISTS `oauth_authorization_codes`;
2121+DROP TABLE IF EXISTS `authorization_request`;
2222+DROP TABLE IF EXISTS `token`;
2323+DROP TABLE IF EXISTS `refresh_token`;
2424+DROP TABLE IF EXISTS `account_pref`;
2525+DROP TABLE IF EXISTS `record_blob`;
2626+DROP TABLE IF EXISTS `account`;
+230
migrations/2025-05-15-182818_init_diff/up.sql
···11+CREATE TABLE `oauth_refresh_tokens`(
22+ `token` VARCHAR NOT NULL PRIMARY KEY,
33+ `client_id` VARCHAR NOT NULL,
44+ `subject` VARCHAR NOT NULL,
55+ `dpop_thumbprint` VARCHAR NOT NULL,
66+ `scope` VARCHAR,
77+ `created_at` INT8 NOT NULL,
88+ `expires_at` INT8 NOT NULL,
99+ `revoked` BOOL NOT NULL
1010+);
1111+1212+CREATE TABLE `repo_seq`(
1313+ `seq` INT8 NOT NULL PRIMARY KEY,
1414+ `did` VARCHAR NOT NULL,
1515+ `eventtype` VARCHAR NOT NULL,
1616+ `event` BYTEA NOT NULL,
1717+ `invalidated` INT2 NOT NULL,
1818+ `sequencedat` VARCHAR NOT NULL
1919+);
2020+2121+CREATE TABLE `blob`(
2222+ `cid` VARCHAR NOT NULL,
2323+ `did` VARCHAR NOT NULL,
2424+ `mimetype` VARCHAR NOT NULL,
2525+ `size` INT4 NOT NULL,
2626+ `tempkey` VARCHAR,
2727+ `width` INT4,
2828+ `height` INT4,
2929+ `createdat` VARCHAR NOT NULL,
3030+ `takedownref` VARCHAR,
3131+ PRIMARY KEY(`cid`, `did`)
3232+);
3333+3434+CREATE TABLE `oauth_used_jtis`(
3535+ `jti` VARCHAR NOT NULL PRIMARY KEY,
3636+ `issuer` VARCHAR NOT NULL,
3737+ `created_at` INT8 NOT NULL,
3838+ `expires_at` INT8 NOT NULL
3939+);
4040+4141+CREATE TABLE `app_password`(
4242+ `did` VARCHAR NOT NULL,
4343+ `name` VARCHAR NOT NULL,
4444+ `password` VARCHAR NOT NULL,
4545+ `createdat` VARCHAR NOT NULL,
4646+ PRIMARY KEY(`did`, `name`)
4747+);
4848+4949+CREATE TABLE `repo_block`(
5050+ `cid` VARCHAR NOT NULL,
5151+ `did` VARCHAR NOT NULL,
5252+ `reporev` VARCHAR NOT NULL,
5353+ `size` INT4 NOT NULL,
5454+ `content` BYTEA NOT NULL,
5555+ PRIMARY KEY(`cid`, `did`)
5656+);
5757+5858+CREATE TABLE `device_account`(
5959+ `did` VARCHAR NOT NULL,
6060+ `deviceid` VARCHAR NOT NULL,
6161+ `authenticatedat` TIMESTAMPTZ NOT NULL,
6262+ `remember` BOOL NOT NULL,
6363+ `authorizedclients` VARCHAR NOT NULL,
6464+ PRIMARY KEY(`deviceId`, `did`)
6565+);
6666+6767+CREATE TABLE `backlink`(
6868+ `uri` VARCHAR NOT NULL,
6969+ `path` VARCHAR NOT NULL,
7070+ `linkto` VARCHAR NOT NULL,
7171+ PRIMARY KEY(`uri`, `path`)
7272+);
7373+7474+CREATE TABLE `actor`(
7575+ `did` VARCHAR NOT NULL PRIMARY KEY,
7676+ `handle` VARCHAR,
7777+ `createdat` VARCHAR NOT NULL,
7878+ `takedownref` VARCHAR,
7979+ `deactivatedat` VARCHAR,
8080+ `deleteafter` VARCHAR
8181+);
8282+8383+CREATE TABLE `device`(
8484+ `id` VARCHAR NOT NULL PRIMARY KEY,
8585+ `sessionid` VARCHAR,
8686+ `useragent` VARCHAR,
8787+ `ipaddress` VARCHAR NOT NULL,
8888+ `lastseenat` TIMESTAMPTZ NOT NULL
8989+);
9090+9191+CREATE TABLE `did_doc`(
9292+ `did` VARCHAR NOT NULL PRIMARY KEY,
9393+ `doc` TEXT NOT NULL,
9494+ `updatedat` INT8 NOT NULL
9595+);
9696+9797+CREATE TABLE `email_token`(
9898+ `purpose` VARCHAR NOT NULL,
9999+ `did` VARCHAR NOT NULL,
100100+ `token` VARCHAR NOT NULL,
101101+ `requestedat` VARCHAR NOT NULL,
102102+ PRIMARY KEY(`purpose`, `did`)
103103+);
104104+105105+CREATE TABLE `invite_code`(
106106+ `code` VARCHAR NOT NULL PRIMARY KEY,
107107+ `availableuses` INT4 NOT NULL,
108108+ `disabled` INT2 NOT NULL,
109109+ `foraccount` VARCHAR NOT NULL,
110110+ `createdby` VARCHAR NOT NULL,
111111+ `createdat` VARCHAR NOT NULL
112112+);
113113+114114+CREATE TABLE `oauth_par_requests`(
115115+ `request_uri` VARCHAR NOT NULL PRIMARY KEY,
116116+ `client_id` VARCHAR NOT NULL,
117117+ `response_type` VARCHAR NOT NULL,
118118+ `code_challenge` VARCHAR NOT NULL,
119119+ `code_challenge_method` VARCHAR NOT NULL,
120120+ `state` VARCHAR,
121121+ `login_hint` VARCHAR,
122122+ `scope` VARCHAR,
123123+ `redirect_uri` VARCHAR,
124124+ `response_mode` VARCHAR,
125125+ `display` VARCHAR,
126126+ `created_at` INT8 NOT NULL,
127127+ `expires_at` INT8 NOT NULL
128128+);
129129+130130+CREATE TABLE `record`(
131131+ `uri` VARCHAR NOT NULL PRIMARY KEY,
132132+ `cid` VARCHAR NOT NULL,
133133+ `did` VARCHAR NOT NULL,
134134+ `collection` VARCHAR NOT NULL,
135135+ `rkey` VARCHAR NOT NULL,
136136+ `reporev` VARCHAR,
137137+ `indexedat` VARCHAR NOT NULL,
138138+ `takedownref` VARCHAR
139139+);
140140+141141+CREATE TABLE `repo_root`(
142142+ `did` VARCHAR NOT NULL PRIMARY KEY,
143143+ `cid` VARCHAR NOT NULL,
144144+ `rev` VARCHAR NOT NULL,
145145+ `indexedat` VARCHAR NOT NULL
146146+);
147147+148148+CREATE TABLE `used_refresh_token`(
149149+ `refreshtoken` VARCHAR NOT NULL PRIMARY KEY,
150150+ `tokenid` VARCHAR NOT NULL
151151+);
152152+153153+CREATE TABLE `invite_code_use`(
154154+ `code` VARCHAR NOT NULL,
155155+ `usedby` VARCHAR NOT NULL,
156156+ `usedat` VARCHAR NOT NULL,
157157+ PRIMARY KEY(`code`, `usedBy`)
158158+);
159159+160160+CREATE TABLE `oauth_authorization_codes`(
161161+ `code` VARCHAR NOT NULL PRIMARY KEY,
162162+ `client_id` VARCHAR NOT NULL,
163163+ `subject` VARCHAR NOT NULL,
164164+ `code_challenge` VARCHAR NOT NULL,
165165+ `code_challenge_method` VARCHAR NOT NULL,
166166+ `redirect_uri` VARCHAR NOT NULL,
167167+ `scope` VARCHAR,
168168+ `created_at` INT8 NOT NULL,
169169+ `expires_at` INT8 NOT NULL,
170170+ `used` BOOL NOT NULL
171171+);
172172+173173+CREATE TABLE `authorization_request`(
174174+ `id` VARCHAR NOT NULL PRIMARY KEY,
175175+ `did` VARCHAR,
176176+ `deviceid` VARCHAR,
177177+ `clientid` VARCHAR NOT NULL,
178178+ `clientauth` VARCHAR NOT NULL,
179179+ `parameters` VARCHAR NOT NULL,
180180+ `expiresat` TIMESTAMPTZ NOT NULL,
181181+ `code` VARCHAR
182182+);
183183+184184+CREATE TABLE `token`(
185185+ `id` VARCHAR NOT NULL PRIMARY KEY,
186186+ `did` VARCHAR NOT NULL,
187187+ `tokenid` VARCHAR NOT NULL,
188188+ `createdat` TIMESTAMPTZ NOT NULL,
189189+ `updatedat` TIMESTAMPTZ NOT NULL,
190190+ `expiresat` TIMESTAMPTZ NOT NULL,
191191+ `clientid` VARCHAR NOT NULL,
192192+ `clientauth` VARCHAR NOT NULL,
193193+ `deviceid` VARCHAR,
194194+ `parameters` VARCHAR NOT NULL,
195195+ `details` VARCHAR,
196196+ `code` VARCHAR,
197197+ `currentrefreshtoken` VARCHAR
198198+);
199199+200200+CREATE TABLE `refresh_token`(
201201+ `id` VARCHAR NOT NULL PRIMARY KEY,
202202+ `did` VARCHAR NOT NULL,
203203+ `expiresat` VARCHAR NOT NULL,
204204+ `nextid` VARCHAR,
205205+ `apppasswordname` VARCHAR
206206+);
207207+208208+CREATE TABLE `account_pref`(
209209+ `id` INT4 NOT NULL PRIMARY KEY,
210210+ `did` VARCHAR NOT NULL,
211211+ `name` VARCHAR NOT NULL,
212212+ `valuejson` TEXT
213213+);
214214+215215+CREATE TABLE `record_blob`(
216216+ `blobcid` VARCHAR NOT NULL,
217217+ `recorduri` VARCHAR NOT NULL,
218218+ `did` VARCHAR NOT NULL,
219219+ PRIMARY KEY(`blobCid`, `recordUri`)
220220+);
221221+222222+CREATE TABLE `account`(
223223+ `did` VARCHAR NOT NULL PRIMARY KEY,
224224+ `email` VARCHAR NOT NULL,
225225+ `recoverykey` VARCHAR,
226226+ `password` VARCHAR NOT NULL,
227227+ `createdat` VARCHAR NOT NULL,
228228+ `invitesdisabled` INT2 NOT NULL,
229229+ `emailconfirmedat` VARCHAR
230230+);