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}