grain.social is a photo sharing platform built on atproto.
grain.social
atproto
photography
appview
1-- This file is auto-generated by hatk on startup. Do not edit.
2-- Database engine: sqlite
3
4CREATE TABLE _cursor (
5 key TEXT PRIMARY KEY,
6 value TEXT NOT NULL
7);
8
9CREATE TABLE _labels (
10 id INTEGER PRIMARY KEY AUTOINCREMENT,
11 src TEXT NOT NULL,
12 uri TEXT NOT NULL,
13 val TEXT NOT NULL,
14 neg INTEGER DEFAULT 0,
15 cts TEXT NOT NULL,
16 exp TEXT
17);
18
19CREATE TABLE _oauth_codes (
20 code TEXT PRIMARY KEY,
21 request_uri TEXT NOT NULL,
22 created_at INTEGER NOT NULL
23);
24
25CREATE TABLE _oauth_dpop_jtis (
26 jti TEXT PRIMARY KEY,
27 expires_at INTEGER NOT NULL
28);
29
30CREATE TABLE _oauth_keys (
31 kid TEXT PRIMARY KEY,
32 private_key TEXT NOT NULL,
33 public_key TEXT NOT NULL,
34 created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
35);
36
37CREATE TABLE _oauth_refresh_tokens (
38 token TEXT PRIMARY KEY,
39 client_id TEXT NOT NULL,
40 did TEXT NOT NULL,
41 dpop_jkt TEXT NOT NULL,
42 scope TEXT,
43 created_at INTEGER NOT NULL,
44 expires_at INTEGER,
45 revoked INTEGER NOT NULL DEFAULT 0
46);
47
48CREATE TABLE _oauth_requests (
49 request_uri TEXT PRIMARY KEY,
50 client_id TEXT NOT NULL,
51 redirect_uri TEXT NOT NULL,
52 scope TEXT,
53 state TEXT,
54 code_challenge TEXT NOT NULL,
55 code_challenge_method TEXT NOT NULL DEFAULT 'S256',
56 dpop_jkt TEXT NOT NULL,
57 pds_request_uri TEXT,
58 pds_auth_server TEXT,
59 pds_endpoint TEXT,
60 pds_code_verifier TEXT,
61 pds_state TEXT,
62 did TEXT,
63 login_hint TEXT,
64 expires_at INTEGER NOT NULL
65);
66
67CREATE TABLE _oauth_sessions (
68 did TEXT PRIMARY KEY,
69 pds_endpoint TEXT NOT NULL,
70 pds_auth_server TEXT,
71 access_token TEXT NOT NULL,
72 refresh_token TEXT,
73 dpop_jkt TEXT NOT NULL,
74 token_expires_at INTEGER,
75 created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
76 updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
77);
78
79CREATE TABLE _preferences (
80 did TEXT NOT NULL,
81 key TEXT NOT NULL,
82 value TEXT NOT NULL,
83 updated_at TEXT DEFAULT CURRENT_TIMESTAMP,
84 PRIMARY KEY (did, key)
85);
86
87CREATE TABLE _push_tokens (
88 did TEXT NOT NULL,
89 token TEXT NOT NULL,
90 platform TEXT NOT NULL,
91 created_at TEXT NOT NULL,
92 PRIMARY KEY (did, token)
93);
94
95CREATE TABLE _reports (
96 id INTEGER PRIMARY KEY AUTOINCREMENT,
97 subject_uri TEXT NOT NULL,
98 subject_did TEXT NOT NULL,
99 label TEXT NOT NULL,
100 reason TEXT,
101 reported_by TEXT NOT NULL,
102 status TEXT NOT NULL DEFAULT 'open',
103 resolved_by TEXT,
104 resolved_at TEXT,
105 created_at TEXT NOT NULL
106);
107
108CREATE TABLE _repos (
109 did TEXT PRIMARY KEY,
110 status TEXT NOT NULL DEFAULT 'pending',
111 handle TEXT,
112 backfilled_at TEXT,
113 rev TEXT,
114 retry_count INTEGER NOT NULL DEFAULT 0,
115 retry_after INTEGER NOT NULL DEFAULT 0
116);
117
118CREATE TABLE "app.bsky.actor.profile" (
119 uri TEXT PRIMARY KEY,
120 cid TEXT,
121 did TEXT NOT NULL,
122 indexed_at TEXT NOT NULL,
123 display_name TEXT,
124 description TEXT,
125 avatar TEXT,
126 banner TEXT,
127 created_at TEXT
128);
129
130CREATE TABLE "app.bsky.feed.post" (
131 uri TEXT PRIMARY KEY,
132 cid TEXT,
133 did TEXT NOT NULL,
134 indexed_at TEXT NOT NULL,
135 tags TEXT,
136 text TEXT NOT NULL,
137 embed TEXT,
138 langs TEXT,
139 reply TEXT,
140 facets TEXT,
141 labels TEXT,
142 created_at TEXT NOT NULL
143);
144
145CREATE TABLE "app.bsky.feed.post__embed_external" (
146 parent_uri TEXT NOT NULL,
147 parent_did TEXT NOT NULL,
148 uri TEXT,
149 thumb TEXT,
150 title TEXT,
151 description TEXT
152);
153
154CREATE TABLE "app.bsky.feed.post__embed_images" (
155 parent_uri TEXT NOT NULL,
156 parent_did TEXT NOT NULL,
157 alt TEXT,
158 image TEXT,
159 aspect_ratio TEXT
160);
161
162CREATE TABLE "app.bsky.feed.post__embed_record" (
163 parent_uri TEXT NOT NULL,
164 parent_did TEXT NOT NULL,
165 uri TEXT,
166 cid TEXT
167);
168
169CREATE TABLE "app.bsky.feed.post__embed_recordWithMedia" (
170 parent_uri TEXT NOT NULL,
171 parent_did TEXT NOT NULL,
172 media TEXT NOT NULL,
173 record TEXT NOT NULL
174);
175
176CREATE TABLE "app.bsky.feed.post__embed_video" (
177 parent_uri TEXT NOT NULL,
178 parent_did TEXT NOT NULL,
179 alt TEXT,
180 video TEXT NOT NULL,
181 captions TEXT,
182 aspect_ratio TEXT,
183 presentation TEXT
184);
185
186CREATE TABLE "app.bsky.feed.post__entities" (
187 parent_uri TEXT NOT NULL,
188 parent_did TEXT NOT NULL,
189 type TEXT NOT NULL,
190 index TEXT NOT NULL,
191 value TEXT NOT NULL
192);
193
194CREATE TABLE "app.bsky.feed.post__labels_self_labels" (
195 parent_uri TEXT NOT NULL,
196 parent_did TEXT NOT NULL,
197 val TEXT
198);
199
200CREATE TABLE "app.bsky.feed.postgate" (
201 uri TEXT PRIMARY KEY,
202 cid TEXT,
203 did TEXT NOT NULL,
204 indexed_at TEXT NOT NULL,
205 post TEXT NOT NULL,
206 created_at TEXT NOT NULL,
207 embedding_rules TEXT,
208 detached_embedding_uris TEXT
209);
210
211CREATE TABLE "app.bsky.feed.threadgate" (
212 uri TEXT PRIMARY KEY,
213 cid TEXT,
214 did TEXT NOT NULL,
215 indexed_at TEXT NOT NULL,
216 post TEXT NOT NULL,
217 allow TEXT,
218 created_at TEXT NOT NULL,
219 hidden_replies TEXT
220);
221
222CREATE TABLE "app.bsky.graph.follow" (
223 uri TEXT PRIMARY KEY,
224 cid TEXT,
225 did TEXT NOT NULL,
226 indexed_at TEXT NOT NULL,
227 subject TEXT NOT NULL,
228 created_at TEXT NOT NULL
229);
230
231CREATE TABLE "com.germnetwork.declaration" (
232 uri TEXT PRIMARY KEY,
233 cid TEXT,
234 did TEXT NOT NULL,
235 indexed_at TEXT NOT NULL,
236 version TEXT NOT NULL,
237 current_key BLOB NOT NULL,
238 message_me TEXT,
239 key_package BLOB,
240 continuity_proofs TEXT
241);
242
243CREATE TABLE "social.grain.actor.profile" (
244 uri TEXT PRIMARY KEY,
245 cid TEXT,
246 did TEXT NOT NULL,
247 indexed_at TEXT NOT NULL,
248 display_name TEXT,
249 description TEXT,
250 avatar TEXT,
251 created_at TEXT
252);
253
254CREATE TABLE "social.grain.comment" (
255 uri TEXT PRIMARY KEY,
256 cid TEXT,
257 did TEXT NOT NULL,
258 indexed_at TEXT NOT NULL,
259 text TEXT NOT NULL,
260 facets TEXT,
261 subject TEXT NOT NULL,
262 focus TEXT,
263 reply_to TEXT,
264 created_at TEXT NOT NULL
265);
266
267CREATE TABLE "social.grain.favorite" (
268 uri TEXT PRIMARY KEY,
269 cid TEXT,
270 did TEXT NOT NULL,
271 indexed_at TEXT NOT NULL,
272 created_at TEXT NOT NULL,
273 subject TEXT NOT NULL
274);
275
276CREATE TABLE "social.grain.gallery" (
277 uri TEXT PRIMARY KEY,
278 cid TEXT,
279 did TEXT NOT NULL,
280 indexed_at TEXT NOT NULL,
281 title TEXT NOT NULL,
282 description TEXT,
283 facets TEXT,
284 labels TEXT,
285 location TEXT,
286 address TEXT,
287 updated_at TEXT,
288 created_at TEXT NOT NULL
289);
290
291CREATE TABLE "social.grain.gallery.item" (
292 uri TEXT PRIMARY KEY,
293 cid TEXT,
294 did TEXT NOT NULL,
295 indexed_at TEXT NOT NULL,
296 created_at TEXT NOT NULL,
297 gallery TEXT NOT NULL,
298 item TEXT NOT NULL,
299 position INTEGER
300);
301
302CREATE TABLE "social.grain.gallery__labels_self_labels" (
303 parent_uri TEXT NOT NULL,
304 parent_did TEXT NOT NULL,
305 val TEXT
306);
307
308CREATE TABLE "social.grain.graph.follow" (
309 uri TEXT PRIMARY KEY,
310 cid TEXT,
311 did TEXT NOT NULL,
312 indexed_at TEXT NOT NULL,
313 subject TEXT NOT NULL,
314 created_at TEXT NOT NULL
315);
316
317CREATE TABLE "social.grain.photo" (
318 uri TEXT PRIMARY KEY,
319 cid TEXT,
320 did TEXT NOT NULL,
321 indexed_at TEXT NOT NULL,
322 photo TEXT NOT NULL,
323 alt TEXT,
324 aspect_ratio TEXT NOT NULL,
325 created_at TEXT NOT NULL
326);
327
328CREATE TABLE "social.grain.photo.exif" (
329 uri TEXT PRIMARY KEY,
330 cid TEXT,
331 did TEXT NOT NULL,
332 indexed_at TEXT NOT NULL,
333 photo TEXT NOT NULL,
334 created_at TEXT NOT NULL,
335 date_time_original TEXT,
336 exposure_time INTEGER,
337 f_number INTEGER,
338 flash TEXT,
339 focal_length_in35mm_format INTEGER,
340 i_s_o INTEGER,
341 lens_make TEXT,
342 lens_model TEXT,
343 make TEXT,
344 model TEXT
345);
346
347CREATE TABLE "social.grain.story" (
348 uri TEXT PRIMARY KEY,
349 cid TEXT,
350 did TEXT NOT NULL,
351 indexed_at TEXT NOT NULL,
352 media TEXT NOT NULL,
353 aspect_ratio TEXT NOT NULL,
354 location TEXT,
355 address TEXT,
356 labels TEXT,
357 created_at TEXT NOT NULL
358);
359
360CREATE TABLE "social.grain.story__labels_self_labels" (
361 parent_uri TEXT NOT NULL,
362 parent_did TEXT NOT NULL,
363 val TEXT
364);