Exosphere is a set of small, modular, self-hostable community tools built on the AT Protocol.
app.exosphere.site
1{
2 "version": "6",
3 "dialect": "sqlite",
4 "id": "c420fa1d-50cd-45f4-b70a-0ea7d8c70067",
5 "prevId": "00000000-0000-0000-0000-000000000000",
6 "tables": {
7 "oauth_sessions": {
8 "name": "oauth_sessions",
9 "columns": {
10 "key": {
11 "name": "key",
12 "type": "text",
13 "primaryKey": true,
14 "notNull": true,
15 "autoincrement": false
16 },
17 "session": {
18 "name": "session",
19 "type": "text",
20 "primaryKey": false,
21 "notNull": true,
22 "autoincrement": false
23 },
24 "created_at": {
25 "name": "created_at",
26 "type": "text",
27 "primaryKey": false,
28 "notNull": true,
29 "autoincrement": false,
30 "default": "(datetime('now'))"
31 },
32 "updated_at": {
33 "name": "updated_at",
34 "type": "text",
35 "primaryKey": false,
36 "notNull": true,
37 "autoincrement": false,
38 "default": "(datetime('now'))"
39 }
40 },
41 "indexes": {},
42 "foreignKeys": {},
43 "compositePrimaryKeys": {},
44 "uniqueConstraints": {},
45 "checkConstraints": {}
46 },
47 "oauth_states": {
48 "name": "oauth_states",
49 "columns": {
50 "key": {
51 "name": "key",
52 "type": "text",
53 "primaryKey": true,
54 "notNull": true,
55 "autoincrement": false
56 },
57 "state": {
58 "name": "state",
59 "type": "text",
60 "primaryKey": false,
61 "notNull": true,
62 "autoincrement": false
63 },
64 "created_at": {
65 "name": "created_at",
66 "type": "text",
67 "primaryKey": false,
68 "notNull": true,
69 "autoincrement": false,
70 "default": "(datetime('now'))"
71 }
72 },
73 "indexes": {},
74 "foreignKeys": {},
75 "compositePrimaryKeys": {},
76 "uniqueConstraints": {},
77 "checkConstraints": {}
78 },
79 "indexer_cursor": {
80 "name": "indexer_cursor",
81 "columns": {
82 "id": {
83 "name": "id",
84 "type": "text",
85 "primaryKey": true,
86 "notNull": true,
87 "autoincrement": false,
88 "default": "'jetstream'"
89 },
90 "cursor": {
91 "name": "cursor",
92 "type": "integer",
93 "primaryKey": false,
94 "notNull": true,
95 "autoincrement": false
96 },
97 "updated_at": {
98 "name": "updated_at",
99 "type": "text",
100 "primaryKey": false,
101 "notNull": true,
102 "autoincrement": false,
103 "default": "(datetime('now'))"
104 }
105 },
106 "indexes": {},
107 "foreignKeys": {},
108 "compositePrimaryKeys": {},
109 "uniqueConstraints": {},
110 "checkConstraints": {}
111 },
112 "sphere_members": {
113 "name": "sphere_members",
114 "columns": {
115 "sphere_id": {
116 "name": "sphere_id",
117 "type": "text",
118 "primaryKey": false,
119 "notNull": true,
120 "autoincrement": false
121 },
122 "did": {
123 "name": "did",
124 "type": "text",
125 "primaryKey": false,
126 "notNull": true,
127 "autoincrement": false
128 },
129 "role": {
130 "name": "role",
131 "type": "text",
132 "primaryKey": false,
133 "notNull": true,
134 "autoincrement": false,
135 "default": "'member'"
136 },
137 "status": {
138 "name": "status",
139 "type": "text",
140 "primaryKey": false,
141 "notNull": true,
142 "autoincrement": false,
143 "default": "'invited'"
144 },
145 "invited_by": {
146 "name": "invited_by",
147 "type": "text",
148 "primaryKey": false,
149 "notNull": false,
150 "autoincrement": false
151 },
152 "pds_uri": {
153 "name": "pds_uri",
154 "type": "text",
155 "primaryKey": false,
156 "notNull": false,
157 "autoincrement": false
158 },
159 "approval_pds_uri": {
160 "name": "approval_pds_uri",
161 "type": "text",
162 "primaryKey": false,
163 "notNull": false,
164 "autoincrement": false
165 },
166 "created_at": {
167 "name": "created_at",
168 "type": "text",
169 "primaryKey": false,
170 "notNull": true,
171 "autoincrement": false,
172 "default": "(datetime('now'))"
173 }
174 },
175 "indexes": {
176 "idx_sphere_members_did": {
177 "name": "idx_sphere_members_did",
178 "columns": ["did"],
179 "isUnique": false
180 }
181 },
182 "foreignKeys": {
183 "sphere_members_sphere_id_spheres_id_fk": {
184 "name": "sphere_members_sphere_id_spheres_id_fk",
185 "tableFrom": "sphere_members",
186 "tableTo": "spheres",
187 "columnsFrom": ["sphere_id"],
188 "columnsTo": ["id"],
189 "onDelete": "no action",
190 "onUpdate": "no action"
191 }
192 },
193 "compositePrimaryKeys": {
194 "sphere_members_sphere_id_did_pk": {
195 "columns": ["sphere_id", "did"],
196 "name": "sphere_members_sphere_id_did_pk"
197 }
198 },
199 "uniqueConstraints": {},
200 "checkConstraints": {}
201 },
202 "sphere_modules": {
203 "name": "sphere_modules",
204 "columns": {
205 "sphere_id": {
206 "name": "sphere_id",
207 "type": "text",
208 "primaryKey": false,
209 "notNull": true,
210 "autoincrement": false
211 },
212 "module_name": {
213 "name": "module_name",
214 "type": "text",
215 "primaryKey": false,
216 "notNull": true,
217 "autoincrement": false
218 },
219 "enabled_at": {
220 "name": "enabled_at",
221 "type": "text",
222 "primaryKey": false,
223 "notNull": true,
224 "autoincrement": false,
225 "default": "(datetime('now'))"
226 }
227 },
228 "indexes": {},
229 "foreignKeys": {
230 "sphere_modules_sphere_id_spheres_id_fk": {
231 "name": "sphere_modules_sphere_id_spheres_id_fk",
232 "tableFrom": "sphere_modules",
233 "tableTo": "spheres",
234 "columnsFrom": ["sphere_id"],
235 "columnsTo": ["id"],
236 "onDelete": "no action",
237 "onUpdate": "no action"
238 }
239 },
240 "compositePrimaryKeys": {
241 "sphere_modules_sphere_id_module_name_pk": {
242 "columns": ["sphere_id", "module_name"],
243 "name": "sphere_modules_sphere_id_module_name_pk"
244 }
245 },
246 "uniqueConstraints": {},
247 "checkConstraints": {}
248 },
249 "sphere_permissions": {
250 "name": "sphere_permissions",
251 "columns": {
252 "sphere_id": {
253 "name": "sphere_id",
254 "type": "text",
255 "primaryKey": false,
256 "notNull": true,
257 "autoincrement": false
258 },
259 "action_key": {
260 "name": "action_key",
261 "type": "text",
262 "primaryKey": false,
263 "notNull": true,
264 "autoincrement": false
265 },
266 "min_role": {
267 "name": "min_role",
268 "type": "text",
269 "primaryKey": false,
270 "notNull": true,
271 "autoincrement": false
272 },
273 "updated_at": {
274 "name": "updated_at",
275 "type": "text",
276 "primaryKey": false,
277 "notNull": true,
278 "autoincrement": false,
279 "default": "(datetime('now'))"
280 }
281 },
282 "indexes": {},
283 "foreignKeys": {
284 "sphere_permissions_sphere_id_spheres_id_fk": {
285 "name": "sphere_permissions_sphere_id_spheres_id_fk",
286 "tableFrom": "sphere_permissions",
287 "tableTo": "spheres",
288 "columnsFrom": ["sphere_id"],
289 "columnsTo": ["id"],
290 "onDelete": "no action",
291 "onUpdate": "no action"
292 }
293 },
294 "compositePrimaryKeys": {
295 "sphere_permissions_sphere_id_action_key_pk": {
296 "columns": ["sphere_id", "action_key"],
297 "name": "sphere_permissions_sphere_id_action_key_pk"
298 }
299 },
300 "uniqueConstraints": {},
301 "checkConstraints": {}
302 },
303 "spheres": {
304 "name": "spheres",
305 "columns": {
306 "id": {
307 "name": "id",
308 "type": "text",
309 "primaryKey": true,
310 "notNull": true,
311 "autoincrement": false
312 },
313 "handle": {
314 "name": "handle",
315 "type": "text",
316 "primaryKey": false,
317 "notNull": true,
318 "autoincrement": false
319 },
320 "name": {
321 "name": "name",
322 "type": "text",
323 "primaryKey": false,
324 "notNull": true,
325 "autoincrement": false
326 },
327 "description": {
328 "name": "description",
329 "type": "text",
330 "primaryKey": false,
331 "notNull": false,
332 "autoincrement": false
333 },
334 "visibility": {
335 "name": "visibility",
336 "type": "text",
337 "primaryKey": false,
338 "notNull": true,
339 "autoincrement": false,
340 "default": "'public'"
341 },
342 "owner_did": {
343 "name": "owner_did",
344 "type": "text",
345 "primaryKey": false,
346 "notNull": true,
347 "autoincrement": false
348 },
349 "pds_uri": {
350 "name": "pds_uri",
351 "type": "text",
352 "primaryKey": false,
353 "notNull": false,
354 "autoincrement": false
355 },
356 "created_at": {
357 "name": "created_at",
358 "type": "text",
359 "primaryKey": false,
360 "notNull": true,
361 "autoincrement": false,
362 "default": "(datetime('now'))"
363 },
364 "updated_at": {
365 "name": "updated_at",
366 "type": "text",
367 "primaryKey": false,
368 "notNull": true,
369 "autoincrement": false,
370 "default": "(datetime('now'))"
371 }
372 },
373 "indexes": {
374 "spheres_handle_unique": {
375 "name": "spheres_handle_unique",
376 "columns": ["handle"],
377 "isUnique": true
378 }
379 },
380 "foreignKeys": {},
381 "compositePrimaryKeys": {},
382 "uniqueConstraints": {},
383 "checkConstraints": {}
384 },
385 "feature_request_comment_votes": {
386 "name": "feature_request_comment_votes",
387 "columns": {
388 "comment_id": {
389 "name": "comment_id",
390 "type": "text",
391 "primaryKey": false,
392 "notNull": true,
393 "autoincrement": false
394 },
395 "author_did": {
396 "name": "author_did",
397 "type": "text",
398 "primaryKey": false,
399 "notNull": true,
400 "autoincrement": false
401 },
402 "pds_uri": {
403 "name": "pds_uri",
404 "type": "text",
405 "primaryKey": false,
406 "notNull": false,
407 "autoincrement": false
408 },
409 "created_at": {
410 "name": "created_at",
411 "type": "text",
412 "primaryKey": false,
413 "notNull": true,
414 "autoincrement": false,
415 "default": "(datetime('now'))"
416 }
417 },
418 "indexes": {
419 "idx_feature_request_comment_votes_comment": {
420 "name": "idx_feature_request_comment_votes_comment",
421 "columns": ["comment_id"],
422 "isUnique": false
423 }
424 },
425 "foreignKeys": {
426 "feature_request_comment_votes_comment_id_feature_request_comments_id_fk": {
427 "name": "feature_request_comment_votes_comment_id_feature_request_comments_id_fk",
428 "tableFrom": "feature_request_comment_votes",
429 "tableTo": "feature_request_comments",
430 "columnsFrom": ["comment_id"],
431 "columnsTo": ["id"],
432 "onDelete": "no action",
433 "onUpdate": "no action"
434 }
435 },
436 "compositePrimaryKeys": {
437 "feature_request_comment_votes_comment_id_author_did_pk": {
438 "columns": ["comment_id", "author_did"],
439 "name": "feature_request_comment_votes_comment_id_author_did_pk"
440 }
441 },
442 "uniqueConstraints": {},
443 "checkConstraints": {}
444 },
445 "feature_request_comments": {
446 "name": "feature_request_comments",
447 "columns": {
448 "id": {
449 "name": "id",
450 "type": "text",
451 "primaryKey": true,
452 "notNull": true,
453 "autoincrement": false
454 },
455 "request_id": {
456 "name": "request_id",
457 "type": "text",
458 "primaryKey": false,
459 "notNull": true,
460 "autoincrement": false
461 },
462 "author_did": {
463 "name": "author_did",
464 "type": "text",
465 "primaryKey": false,
466 "notNull": true,
467 "autoincrement": false
468 },
469 "content": {
470 "name": "content",
471 "type": "text",
472 "primaryKey": false,
473 "notNull": true,
474 "autoincrement": false
475 },
476 "pds_uri": {
477 "name": "pds_uri",
478 "type": "text",
479 "primaryKey": false,
480 "notNull": false,
481 "autoincrement": false
482 },
483 "updated_at": {
484 "name": "updated_at",
485 "type": "text",
486 "primaryKey": false,
487 "notNull": true,
488 "autoincrement": false,
489 "default": "(datetime('now'))"
490 },
491 "hidden_at": {
492 "name": "hidden_at",
493 "type": "text",
494 "primaryKey": false,
495 "notNull": false,
496 "autoincrement": false
497 },
498 "moderated_by": {
499 "name": "moderated_by",
500 "type": "text",
501 "primaryKey": false,
502 "notNull": false,
503 "autoincrement": false
504 }
505 },
506 "indexes": {
507 "idx_feature_request_comments_request": {
508 "name": "idx_feature_request_comments_request",
509 "columns": ["request_id"],
510 "isUnique": false
511 },
512 "idx_feature_request_comments_author_request": {
513 "name": "idx_feature_request_comments_author_request",
514 "columns": ["author_did", "request_id"],
515 "isUnique": false
516 }
517 },
518 "foreignKeys": {
519 "feature_request_comments_request_id_feature_requests_id_fk": {
520 "name": "feature_request_comments_request_id_feature_requests_id_fk",
521 "tableFrom": "feature_request_comments",
522 "tableTo": "feature_requests",
523 "columnsFrom": ["request_id"],
524 "columnsTo": ["id"],
525 "onDelete": "no action",
526 "onUpdate": "no action"
527 }
528 },
529 "compositePrimaryKeys": {},
530 "uniqueConstraints": {},
531 "checkConstraints": {}
532 },
533 "feature_request_statuses": {
534 "name": "feature_request_statuses",
535 "columns": {
536 "id": {
537 "name": "id",
538 "type": "text",
539 "primaryKey": true,
540 "notNull": true,
541 "autoincrement": false
542 },
543 "request_id": {
544 "name": "request_id",
545 "type": "text",
546 "primaryKey": false,
547 "notNull": true,
548 "autoincrement": false
549 },
550 "author_did": {
551 "name": "author_did",
552 "type": "text",
553 "primaryKey": false,
554 "notNull": true,
555 "autoincrement": false
556 },
557 "status": {
558 "name": "status",
559 "type": "text",
560 "primaryKey": false,
561 "notNull": true,
562 "autoincrement": false
563 },
564 "pds_uri": {
565 "name": "pds_uri",
566 "type": "text",
567 "primaryKey": false,
568 "notNull": false,
569 "autoincrement": false
570 }
571 },
572 "indexes": {
573 "idx_feature_request_statuses_request": {
574 "name": "idx_feature_request_statuses_request",
575 "columns": ["request_id"],
576 "isUnique": false
577 }
578 },
579 "foreignKeys": {
580 "feature_request_statuses_request_id_feature_requests_id_fk": {
581 "name": "feature_request_statuses_request_id_feature_requests_id_fk",
582 "tableFrom": "feature_request_statuses",
583 "tableTo": "feature_requests",
584 "columnsFrom": ["request_id"],
585 "columnsTo": ["id"],
586 "onDelete": "no action",
587 "onUpdate": "no action"
588 }
589 },
590 "compositePrimaryKeys": {},
591 "uniqueConstraints": {},
592 "checkConstraints": {}
593 },
594 "feature_request_votes": {
595 "name": "feature_request_votes",
596 "columns": {
597 "request_id": {
598 "name": "request_id",
599 "type": "text",
600 "primaryKey": false,
601 "notNull": true,
602 "autoincrement": false
603 },
604 "author_did": {
605 "name": "author_did",
606 "type": "text",
607 "primaryKey": false,
608 "notNull": true,
609 "autoincrement": false
610 },
611 "pds_uri": {
612 "name": "pds_uri",
613 "type": "text",
614 "primaryKey": false,
615 "notNull": false,
616 "autoincrement": false
617 },
618 "created_at": {
619 "name": "created_at",
620 "type": "text",
621 "primaryKey": false,
622 "notNull": true,
623 "autoincrement": false,
624 "default": "(datetime('now'))"
625 }
626 },
627 "indexes": {
628 "idx_feature_request_votes_request": {
629 "name": "idx_feature_request_votes_request",
630 "columns": ["request_id"],
631 "isUnique": false
632 }
633 },
634 "foreignKeys": {
635 "feature_request_votes_request_id_feature_requests_id_fk": {
636 "name": "feature_request_votes_request_id_feature_requests_id_fk",
637 "tableFrom": "feature_request_votes",
638 "tableTo": "feature_requests",
639 "columnsFrom": ["request_id"],
640 "columnsTo": ["id"],
641 "onDelete": "no action",
642 "onUpdate": "no action"
643 }
644 },
645 "compositePrimaryKeys": {
646 "feature_request_votes_request_id_author_did_pk": {
647 "columns": ["request_id", "author_did"],
648 "name": "feature_request_votes_request_id_author_did_pk"
649 }
650 },
651 "uniqueConstraints": {},
652 "checkConstraints": {}
653 },
654 "feature_requests": {
655 "name": "feature_requests",
656 "columns": {
657 "id": {
658 "name": "id",
659 "type": "text",
660 "primaryKey": true,
661 "notNull": true,
662 "autoincrement": false
663 },
664 "sphere_id": {
665 "name": "sphere_id",
666 "type": "text",
667 "primaryKey": false,
668 "notNull": true,
669 "autoincrement": false
670 },
671 "number": {
672 "name": "number",
673 "type": "integer",
674 "primaryKey": false,
675 "notNull": true,
676 "autoincrement": false
677 },
678 "author_did": {
679 "name": "author_did",
680 "type": "text",
681 "primaryKey": false,
682 "notNull": true,
683 "autoincrement": false
684 },
685 "title": {
686 "name": "title",
687 "type": "text",
688 "primaryKey": false,
689 "notNull": true,
690 "autoincrement": false
691 },
692 "description": {
693 "name": "description",
694 "type": "text",
695 "primaryKey": false,
696 "notNull": true,
697 "autoincrement": false
698 },
699 "category": {
700 "name": "category",
701 "type": "text",
702 "primaryKey": false,
703 "notNull": true,
704 "autoincrement": false,
705 "default": "'general'"
706 },
707 "status": {
708 "name": "status",
709 "type": "text",
710 "primaryKey": false,
711 "notNull": true,
712 "autoincrement": false,
713 "default": "'requested'"
714 },
715 "duplicate_of_id": {
716 "name": "duplicate_of_id",
717 "type": "text",
718 "primaryKey": false,
719 "notNull": false,
720 "autoincrement": false
721 },
722 "pds_uri": {
723 "name": "pds_uri",
724 "type": "text",
725 "primaryKey": false,
726 "notNull": false,
727 "autoincrement": false
728 },
729 "hidden_at": {
730 "name": "hidden_at",
731 "type": "text",
732 "primaryKey": false,
733 "notNull": false,
734 "autoincrement": false
735 },
736 "moderated_by": {
737 "name": "moderated_by",
738 "type": "text",
739 "primaryKey": false,
740 "notNull": false,
741 "autoincrement": false
742 },
743 "updated_at": {
744 "name": "updated_at",
745 "type": "text",
746 "primaryKey": false,
747 "notNull": true,
748 "autoincrement": false,
749 "default": "(datetime('now'))"
750 }
751 },
752 "indexes": {
753 "idx_feature_requests_sphere_number": {
754 "name": "idx_feature_requests_sphere_number",
755 "columns": ["sphere_id", "number"],
756 "isUnique": true
757 },
758 "idx_feature_requests_sphere": {
759 "name": "idx_feature_requests_sphere",
760 "columns": ["sphere_id"],
761 "isUnique": false
762 },
763 "idx_feature_requests_status": {
764 "name": "idx_feature_requests_status",
765 "columns": ["status"],
766 "isUnique": false
767 },
768 "idx_feature_requests_category": {
769 "name": "idx_feature_requests_category",
770 "columns": ["category"],
771 "isUnique": false
772 }
773 },
774 "foreignKeys": {
775 "feature_requests_sphere_id_spheres_id_fk": {
776 "name": "feature_requests_sphere_id_spheres_id_fk",
777 "tableFrom": "feature_requests",
778 "tableTo": "spheres",
779 "columnsFrom": ["sphere_id"],
780 "columnsTo": ["id"],
781 "onDelete": "no action",
782 "onUpdate": "no action"
783 }
784 },
785 "compositePrimaryKeys": {},
786 "uniqueConstraints": {},
787 "checkConstraints": {}
788 },
789 "feed_posts": {
790 "name": "feed_posts",
791 "columns": {
792 "id": {
793 "name": "id",
794 "type": "text",
795 "primaryKey": true,
796 "notNull": true,
797 "autoincrement": false
798 },
799 "author_did": {
800 "name": "author_did",
801 "type": "text",
802 "primaryKey": false,
803 "notNull": true,
804 "autoincrement": false
805 },
806 "content": {
807 "name": "content",
808 "type": "text",
809 "primaryKey": false,
810 "notNull": true,
811 "autoincrement": false
812 },
813 "parent_id": {
814 "name": "parent_id",
815 "type": "text",
816 "primaryKey": false,
817 "notNull": false,
818 "autoincrement": false
819 },
820 "pds_uri": {
821 "name": "pds_uri",
822 "type": "text",
823 "primaryKey": false,
824 "notNull": false,
825 "autoincrement": false
826 },
827 "updated_at": {
828 "name": "updated_at",
829 "type": "text",
830 "primaryKey": false,
831 "notNull": true,
832 "autoincrement": false,
833 "default": "(datetime('now'))"
834 }
835 },
836 "indexes": {
837 "idx_feed_posts_parent": {
838 "name": "idx_feed_posts_parent",
839 "columns": ["parent_id"],
840 "isUnique": false
841 }
842 },
843 "foreignKeys": {},
844 "compositePrimaryKeys": {},
845 "uniqueConstraints": {},
846 "checkConstraints": {}
847 }
848 },
849 "views": {},
850 "enums": {},
851 "_meta": {
852 "schemas": {},
853 "tables": {},
854 "columns": {}
855 },
856 "internal": {
857 "indexes": {}
858 }
859}