Alternative ATProto PDS implementation
1#![allow(unnameable_types, unused_qualifications)]
2pub mod pds {
3
4 // Legacy tables
5
6 diesel::table! {
7 oauth_par_requests (request_uri) {
8 request_uri -> Varchar,
9 client_id -> Varchar,
10 response_type -> Varchar,
11 code_challenge -> Varchar,
12 code_challenge_method -> Varchar,
13 state -> Nullable<Varchar>,
14 login_hint -> Nullable<Varchar>,
15 scope -> Nullable<Varchar>,
16 redirect_uri -> Nullable<Varchar>,
17 response_mode -> Nullable<Varchar>,
18 display -> Nullable<Varchar>,
19 created_at -> Int8,
20 expires_at -> Int8,
21 }
22 }
23 diesel::table! {
24 oauth_authorization_codes (code) {
25 code -> Varchar,
26 client_id -> Varchar,
27 subject -> Varchar,
28 code_challenge -> Varchar,
29 code_challenge_method -> Varchar,
30 redirect_uri -> Varchar,
31 scope -> Nullable<Varchar>,
32 created_at -> Int8,
33 expires_at -> Int8,
34 used -> Bool,
35 }
36 }
37 diesel::table! {
38 oauth_refresh_tokens (token) {
39 token -> Varchar,
40 client_id -> Varchar,
41 subject -> Varchar,
42 dpop_thumbprint -> Varchar,
43 scope -> Nullable<Varchar>,
44 created_at -> Int8,
45 expires_at -> Int8,
46 revoked -> Bool,
47 }
48 }
49 diesel::table! {
50 oauth_used_jtis (jti) {
51 jti -> Varchar,
52 issuer -> Varchar,
53 created_at -> Int8,
54 expires_at -> Int8,
55 }
56 }
57
58 // Upcoming tables
59
60 diesel::table! {
61 account (did) {
62 did -> Varchar,
63 email -> Varchar,
64 recoveryKey -> Nullable<Varchar>,
65 password -> Varchar,
66 createdAt -> Varchar,
67 invitesDisabled -> Int2,
68 emailConfirmedAt -> Nullable<Varchar>,
69 }
70 }
71
72 diesel::table! {
73 account_pref (id) {
74 id -> Int4,
75 did -> Varchar,
76 name -> Varchar,
77 valueJson -> Nullable<Text>,
78 }
79 }
80
81 diesel::table! {
82 actor (did) {
83 did -> Varchar,
84 handle -> Nullable<Varchar>,
85 createdAt -> Varchar,
86 takedownRef -> Nullable<Varchar>,
87 deactivatedAt -> Nullable<Varchar>,
88 deleteAfter -> Nullable<Varchar>,
89 }
90 }
91
92 diesel::table! {
93 app_password (did, name) {
94 did -> Varchar,
95 name -> Varchar,
96 password -> Varchar,
97 createdAt -> Varchar,
98 }
99 }
100
101 diesel::table! {
102 authorization_request (id) {
103 id -> Varchar,
104 did -> Nullable<Varchar>,
105 deviceId -> Nullable<Varchar>,
106 clientId -> Varchar,
107 clientAuth -> Varchar,
108 parameters -> Varchar,
109 expiresAt -> Timestamptz,
110 code -> Nullable<Varchar>,
111 }
112 }
113
114 diesel::table! {
115 backlink (uri, path) {
116 uri -> Varchar,
117 path -> Varchar,
118 linkTo -> Varchar,
119 }
120 }
121
122 diesel::table! {
123 blob (cid, did) {
124 cid -> Varchar,
125 did -> Varchar,
126 mimeType -> Varchar,
127 size -> Int4,
128 tempKey -> Nullable<Varchar>,
129 width -> Nullable<Int4>,
130 height -> Nullable<Int4>,
131 createdAt -> Varchar,
132 takedownRef -> Nullable<Varchar>,
133 }
134 }
135
136 diesel::table! {
137 device (id) {
138 id -> Varchar,
139 sessionId -> Nullable<Varchar>,
140 userAgent -> Nullable<Varchar>,
141 ipAddress -> Varchar,
142 lastSeenAt -> Timestamptz,
143 }
144 }
145
146 diesel::table! {
147 device_account (deviceId, did) {
148 did -> Varchar,
149 deviceId -> Varchar,
150 authenticatedAt -> Timestamptz,
151 remember -> Bool,
152 authorizedClients -> Varchar,
153 }
154 }
155
156 diesel::table! {
157 did_doc (did) {
158 did -> Varchar,
159 doc -> Text,
160 updatedAt -> Int8,
161 }
162 }
163
164 diesel::table! {
165 email_token (purpose, did) {
166 purpose -> Varchar,
167 did -> Varchar,
168 token -> Varchar,
169 requestedAt -> Varchar,
170 }
171 }
172
173 diesel::table! {
174 invite_code (code) {
175 code -> Varchar,
176 availableUses -> Int4,
177 disabled -> Int2,
178 forAccount -> Varchar,
179 createdBy -> Varchar,
180 createdAt -> Varchar,
181 }
182 }
183
184 diesel::table! {
185 invite_code_use (code, usedBy) {
186 code -> Varchar,
187 usedBy -> Varchar,
188 usedAt -> Varchar,
189 }
190 }
191
192 diesel::table! {
193 record (uri) {
194 uri -> Varchar,
195 cid -> Varchar,
196 did -> Varchar,
197 collection -> Varchar,
198 rkey -> Varchar,
199 repoRev -> Nullable<Varchar>,
200 indexedAt -> Varchar,
201 takedownRef -> Nullable<Varchar>,
202 }
203 }
204
205 diesel::table! {
206 record_blob (blobCid, recordUri) {
207 blobCid -> Varchar,
208 recordUri -> Varchar,
209 did -> Varchar,
210 }
211 }
212
213 diesel::table! {
214 refresh_token (id) {
215 id -> Varchar,
216 did -> Varchar,
217 expiresAt -> Varchar,
218 nextId -> Nullable<Varchar>,
219 appPasswordName -> Nullable<Varchar>,
220 }
221 }
222
223 diesel::table! {
224 repo_block (cid, did) {
225 cid -> Varchar,
226 did -> Varchar,
227 repoRev -> Varchar,
228 size -> Int4,
229 content -> Bytea,
230 }
231 }
232
233 diesel::table! {
234 repo_root (did) {
235 did -> Varchar,
236 cid -> Varchar,
237 rev -> Varchar,
238 indexedAt -> Varchar,
239 }
240 }
241
242 diesel::table! {
243 repo_seq (seq) {
244 seq -> Int8,
245 did -> Varchar,
246 eventType -> Varchar,
247 event -> Bytea,
248 invalidated -> Int2,
249 sequencedAt -> Varchar,
250 }
251 }
252
253 diesel::table! {
254 token (id) {
255 id -> Varchar,
256 did -> Varchar,
257 tokenId -> Varchar,
258 createdAt -> Timestamptz,
259 updatedAt -> Timestamptz,
260 expiresAt -> Timestamptz,
261 clientId -> Varchar,
262 clientAuth -> Varchar,
263 deviceId -> Nullable<Varchar>,
264 parameters -> Varchar,
265 details -> Nullable<Varchar>,
266 code -> Nullable<Varchar>,
267 currentRefreshToken -> Nullable<Varchar>,
268 }
269 }
270
271 diesel::table! {
272 used_refresh_token (refreshToken) {
273 refreshToken -> Varchar,
274 tokenId -> Varchar,
275 }
276 }
277
278 diesel::allow_tables_to_appear_in_same_query!(
279 account,
280 account_pref,
281 actor,
282 app_password,
283 authorization_request,
284 backlink,
285 blob,
286 device,
287 device_account,
288 did_doc,
289 email_token,
290 invite_code,
291 invite_code_use,
292 record,
293 record_blob,
294 refresh_token,
295 repo_block,
296 repo_root,
297 repo_seq,
298 token,
299 used_refresh_token,
300 );
301}