]> Untitled Git - lemmy.git/blob - crates/db_schema/src/schema.rs
Removing the site creator, adding leave_admin. Fixes #1808 (#2052)
[lemmy.git] / crates / db_schema / src / schema.rs
1 table! {
2     activity (id) {
3         id -> Int4,
4         data -> Jsonb,
5         local -> Bool,
6         published -> Timestamp,
7         updated -> Nullable<Timestamp>,
8         ap_id -> Text,
9         sensitive -> Nullable<Bool>,
10     }
11 }
12
13 table! {
14     comment (id) {
15         id -> Int4,
16         creator_id -> Int4,
17         post_id -> Int4,
18         parent_id -> Nullable<Int4>,
19         content -> Text,
20         removed -> Bool,
21         read -> Bool,
22         published -> Timestamp,
23         updated -> Nullable<Timestamp>,
24         deleted -> Bool,
25         ap_id -> Varchar,
26         local -> Bool,
27     }
28 }
29
30 table! {
31     comment_aggregates (id) {
32         id -> Int4,
33         comment_id -> Int4,
34         score -> Int8,
35         upvotes -> Int8,
36         downvotes -> Int8,
37         published -> Timestamp,
38     }
39 }
40
41 table! {
42     comment_like (id) {
43         id -> Int4,
44         person_id -> Int4,
45         comment_id -> Int4,
46         post_id -> Int4,
47         score -> Int2,
48         published -> Timestamp,
49     }
50 }
51
52 table! {
53     comment_report (id) {
54         id -> Int4,
55         creator_id -> Int4,
56         comment_id -> Int4,
57         original_comment_text -> Text,
58         reason -> Text,
59         resolved -> Bool,
60         resolver_id -> Nullable<Int4>,
61         published -> Timestamp,
62         updated -> Nullable<Timestamp>,
63     }
64 }
65
66 table! {
67     comment_saved (id) {
68         id -> Int4,
69         comment_id -> Int4,
70         person_id -> Int4,
71         published -> Timestamp,
72     }
73 }
74
75 table! {
76     community (id) {
77         id -> Int4,
78         name -> Varchar,
79         title -> Varchar,
80         description -> Nullable<Text>,
81         removed -> Bool,
82         published -> Timestamp,
83         updated -> Nullable<Timestamp>,
84         deleted -> Bool,
85         nsfw -> Bool,
86         actor_id -> Varchar,
87         local -> Bool,
88         private_key -> Nullable<Text>,
89         public_key -> Text,
90         last_refreshed_at -> Timestamp,
91         icon -> Nullable<Varchar>,
92         banner -> Nullable<Varchar>,
93         followers_url -> Varchar,
94         inbox_url -> Varchar,
95         shared_inbox_url -> Nullable<Varchar>,
96     }
97 }
98
99 table! {
100     community_aggregates (id) {
101         id -> Int4,
102         community_id -> Int4,
103         subscribers -> Int8,
104         posts -> Int8,
105         comments -> Int8,
106         published -> Timestamp,
107         users_active_day -> Int8,
108         users_active_week -> Int8,
109         users_active_month -> Int8,
110         users_active_half_year -> Int8,
111     }
112 }
113
114 table! {
115     community_follower (id) {
116         id -> Int4,
117         community_id -> Int4,
118         person_id -> Int4,
119         published -> Timestamp,
120         pending -> Nullable<Bool>,
121     }
122 }
123
124 table! {
125     community_moderator (id) {
126         id -> Int4,
127         community_id -> Int4,
128         person_id -> Int4,
129         published -> Timestamp,
130     }
131 }
132
133 table! {
134     community_person_ban (id) {
135         id -> Int4,
136         community_id -> Int4,
137         person_id -> Int4,
138         published -> Timestamp,
139         expires -> Nullable<Timestamp>,
140     }
141 }
142
143 table! {
144     local_user (id) {
145         id -> Int4,
146         person_id -> Int4,
147         password_encrypted -> Text,
148         email -> Nullable<Text>,
149         show_nsfw -> Bool,
150         theme -> Varchar,
151         default_sort_type -> Int2,
152         default_listing_type -> Int2,
153         lang -> Varchar,
154         show_avatars -> Bool,
155         send_notifications_to_email -> Bool,
156         validator_time -> Timestamp,
157         show_bot_accounts -> Bool,
158         show_scores -> Bool,
159         show_read_posts -> Bool,
160         show_new_post_notifs -> Bool,
161         email_verified -> Bool,
162         accepted_application -> Bool,
163     }
164 }
165
166 table! {
167     mod_add (id) {
168         id -> Int4,
169         mod_person_id -> Int4,
170         other_person_id -> Int4,
171         removed -> Nullable<Bool>,
172         when_ -> Timestamp,
173     }
174 }
175
176 table! {
177     mod_add_community (id) {
178         id -> Int4,
179         mod_person_id -> Int4,
180         other_person_id -> Int4,
181         community_id -> Int4,
182         removed -> Nullable<Bool>,
183         when_ -> Timestamp,
184     }
185 }
186
187 table! {
188     mod_transfer_community (id) {
189         id -> Int4,
190         mod_person_id -> Int4,
191         other_person_id -> Int4,
192         community_id -> Int4,
193         removed -> Nullable<Bool>,
194         when_ -> Timestamp,
195     }
196 }
197
198 table! {
199     mod_ban (id) {
200         id -> Int4,
201         mod_person_id -> Int4,
202         other_person_id -> Int4,
203         reason -> Nullable<Text>,
204         banned -> Nullable<Bool>,
205         expires -> Nullable<Timestamp>,
206         when_ -> Timestamp,
207     }
208 }
209
210 table! {
211     mod_ban_from_community (id) {
212         id -> Int4,
213         mod_person_id -> Int4,
214         other_person_id -> Int4,
215         community_id -> Int4,
216         reason -> Nullable<Text>,
217         banned -> Nullable<Bool>,
218         expires -> Nullable<Timestamp>,
219         when_ -> Timestamp,
220     }
221 }
222
223 table! {
224     mod_lock_post (id) {
225         id -> Int4,
226         mod_person_id -> Int4,
227         post_id -> Int4,
228         locked -> Nullable<Bool>,
229         when_ -> Timestamp,
230     }
231 }
232
233 table! {
234     mod_remove_comment (id) {
235         id -> Int4,
236         mod_person_id -> Int4,
237         comment_id -> Int4,
238         reason -> Nullable<Text>,
239         removed -> Nullable<Bool>,
240         when_ -> Timestamp,
241     }
242 }
243
244 table! {
245     mod_remove_community (id) {
246         id -> Int4,
247         mod_person_id -> Int4,
248         community_id -> Int4,
249         reason -> Nullable<Text>,
250         removed -> Nullable<Bool>,
251         expires -> Nullable<Timestamp>,
252         when_ -> Timestamp,
253     }
254 }
255
256 table! {
257     mod_remove_post (id) {
258         id -> Int4,
259         mod_person_id -> Int4,
260         post_id -> Int4,
261         reason -> Nullable<Text>,
262         removed -> Nullable<Bool>,
263         when_ -> Timestamp,
264     }
265 }
266
267 table! {
268     mod_sticky_post (id) {
269         id -> Int4,
270         mod_person_id -> Int4,
271         post_id -> Int4,
272         stickied -> Nullable<Bool>,
273         when_ -> Timestamp,
274     }
275 }
276
277 table! {
278     password_reset_request (id) {
279         id -> Int4,
280         token_encrypted -> Text,
281         published -> Timestamp,
282         local_user_id -> Int4,
283     }
284 }
285
286 table! {
287     person (id) {
288         id -> Int4,
289         name -> Varchar,
290         display_name -> Nullable<Varchar>,
291         avatar -> Nullable<Varchar>,
292         banned -> Bool,
293         published -> Timestamp,
294         updated -> Nullable<Timestamp>,
295         actor_id -> Varchar,
296         bio -> Nullable<Text>,
297         local -> Bool,
298         private_key -> Nullable<Text>,
299         public_key -> Text,
300         last_refreshed_at -> Timestamp,
301         banner -> Nullable<Varchar>,
302         deleted -> Bool,
303         inbox_url -> Varchar,
304         shared_inbox_url -> Nullable<Varchar>,
305         matrix_user_id -> Nullable<Text>,
306         admin -> Bool,
307         bot_account -> Bool,
308         ban_expires -> Nullable<Timestamp>,
309     }
310 }
311
312 table! {
313     person_aggregates (id) {
314         id -> Int4,
315         person_id -> Int4,
316         post_count -> Int8,
317         post_score -> Int8,
318         comment_count -> Int8,
319         comment_score -> Int8,
320     }
321 }
322
323 table! {
324     person_ban (id) {
325         id -> Int4,
326         person_id -> Int4,
327         published -> Timestamp,
328     }
329 }
330
331 table! {
332     person_mention (id) {
333         id -> Int4,
334         recipient_id -> Int4,
335         comment_id -> Int4,
336         read -> Bool,
337         published -> Timestamp,
338     }
339 }
340
341 table! {
342     post (id) {
343         id -> Int4,
344         name -> Varchar,
345         url -> Nullable<Varchar>,
346         body -> Nullable<Text>,
347         creator_id -> Int4,
348         community_id -> Int4,
349         removed -> Bool,
350         locked -> Bool,
351         published -> Timestamp,
352         updated -> Nullable<Timestamp>,
353         deleted -> Bool,
354         nsfw -> Bool,
355         stickied -> Bool,
356         embed_title -> Nullable<Text>,
357         embed_description -> Nullable<Text>,
358         embed_html -> Nullable<Text>,
359         thumbnail_url -> Nullable<Text>,
360         ap_id -> Varchar,
361         local -> Bool,
362     }
363 }
364
365 table! {
366     post_aggregates (id) {
367         id -> Int4,
368         post_id -> Int4,
369         comments -> Int8,
370         score -> Int8,
371         upvotes -> Int8,
372         downvotes -> Int8,
373         stickied -> Bool,
374         published -> Timestamp,
375         newest_comment_time_necro -> Timestamp,
376         newest_comment_time -> Timestamp,
377     }
378 }
379
380 table! {
381     post_like (id) {
382         id -> Int4,
383         post_id -> Int4,
384         person_id -> Int4,
385         score -> Int2,
386         published -> Timestamp,
387     }
388 }
389
390 table! {
391     post_read (id) {
392         id -> Int4,
393         post_id -> Int4,
394         person_id -> Int4,
395         published -> Timestamp,
396     }
397 }
398
399 table! {
400     post_report (id) {
401         id -> Int4,
402         creator_id -> Int4,
403         post_id -> Int4,
404         original_post_name -> Varchar,
405         original_post_url -> Nullable<Text>,
406         original_post_body -> Nullable<Text>,
407         reason -> Text,
408         resolved -> Bool,
409         resolver_id -> Nullable<Int4>,
410         published -> Timestamp,
411         updated -> Nullable<Timestamp>,
412     }
413 }
414
415 table! {
416     post_saved (id) {
417         id -> Int4,
418         post_id -> Int4,
419         person_id -> Int4,
420         published -> Timestamp,
421     }
422 }
423
424 table! {
425     private_message (id) {
426         id -> Int4,
427         creator_id -> Int4,
428         recipient_id -> Int4,
429         content -> Text,
430         deleted -> Bool,
431         read -> Bool,
432         published -> Timestamp,
433         updated -> Nullable<Timestamp>,
434         ap_id -> Varchar,
435         local -> Bool,
436     }
437 }
438
439 table! {
440     site (id) {
441         id -> Int4,
442         name -> Varchar,
443         sidebar -> Nullable<Text>,
444         published -> Timestamp,
445         updated -> Nullable<Timestamp>,
446         enable_downvotes -> Bool,
447         open_registration -> Bool,
448         enable_nsfw -> Bool,
449         icon -> Nullable<Varchar>,
450         banner -> Nullable<Varchar>,
451         description -> Nullable<Text>,
452         community_creation_admin_only -> Bool,
453         require_email_verification -> Bool,
454         require_application -> Bool,
455         application_question -> Nullable<Text>,
456         private_instance -> Bool,
457     }
458 }
459
460 table! {
461     site_aggregates (id) {
462         id -> Int4,
463         site_id -> Int4,
464         users -> Int8,
465         posts -> Int8,
466         comments -> Int8,
467         communities -> Int8,
468         users_active_day -> Int8,
469         users_active_week -> Int8,
470         users_active_month -> Int8,
471         users_active_half_year -> Int8,
472     }
473 }
474
475 table! {
476     person_block (id) {
477         id -> Int4,
478         person_id -> Int4,
479         target_id -> Int4,
480         published -> Timestamp,
481     }
482 }
483
484 table! {
485     community_block (id) {
486         id -> Int4,
487         person_id -> Int4,
488         community_id -> Int4,
489         published -> Timestamp,
490     }
491 }
492
493 // These are necessary since diesel doesn't have self joins / aliases
494 table! {
495     comment_alias_1 (id) {
496         id -> Int4,
497         creator_id -> Int4,
498         post_id -> Int4,
499         parent_id -> Nullable<Int4>,
500         content -> Text,
501         removed -> Bool,
502         read -> Bool,
503         published -> Timestamp,
504         updated -> Nullable<Timestamp>,
505         deleted -> Bool,
506         ap_id -> Varchar,
507         local -> Bool,
508     }
509 }
510
511 table! {
512     person_alias_1 (id) {
513         id -> Int4,
514         name -> Varchar,
515         display_name -> Nullable<Varchar>,
516         avatar -> Nullable<Varchar>,
517         banned -> Bool,
518         published -> Timestamp,
519         updated -> Nullable<Timestamp>,
520         actor_id -> Varchar,
521         bio -> Nullable<Text>,
522         local -> Bool,
523         private_key -> Nullable<Text>,
524         public_key -> Text,
525         last_refreshed_at -> Timestamp,
526         banner -> Nullable<Varchar>,
527         deleted -> Bool,
528         inbox_url -> Varchar,
529         shared_inbox_url -> Nullable<Varchar>,
530         matrix_user_id -> Nullable<Text>,
531         admin -> Bool,
532         bot_account -> Bool,
533         ban_expires -> Nullable<Timestamp>,
534     }
535 }
536
537 table! {
538     person_alias_2 (id) {
539         id -> Int4,
540         name -> Varchar,
541         display_name -> Nullable<Varchar>,
542         avatar -> Nullable<Varchar>,
543         banned -> Bool,
544         published -> Timestamp,
545         updated -> Nullable<Timestamp>,
546         actor_id -> Varchar,
547         bio -> Nullable<Text>,
548         local -> Bool,
549         private_key -> Nullable<Text>,
550         public_key -> Text,
551         last_refreshed_at -> Timestamp,
552         banner -> Nullable<Varchar>,
553         deleted -> Bool,
554         inbox_url -> Varchar,
555         shared_inbox_url -> Nullable<Varchar>,
556         matrix_user_id -> Nullable<Text>,
557         admin -> Bool,
558         bot_account -> Bool,
559         ban_expires -> Nullable<Timestamp>,
560     }
561 }
562
563 table! {
564   secret(id) {
565     id -> Int4,
566     jwt_secret -> Varchar,
567   }
568 }
569
570 table! {
571   email_verification (id) {
572     id -> Int4,
573     local_user_id -> Int4,
574     email -> Text,
575     verification_token -> Varchar,
576     published -> Timestamp,
577   }
578 }
579
580 table! {
581     registration_application (id) {
582         id -> Int4,
583         local_user_id -> Int4,
584         answer -> Text,
585         admin_id -> Nullable<Int4>,
586         deny_reason -> Nullable<Text>,
587         published -> Timestamp,
588     }
589 }
590
591 joinable!(comment_alias_1 -> person_alias_1 (creator_id));
592 joinable!(comment -> comment_alias_1 (parent_id));
593 joinable!(person_mention -> person_alias_1 (recipient_id));
594 joinable!(post -> person_alias_1 (creator_id));
595 joinable!(comment -> person_alias_1 (creator_id));
596
597 joinable!(post_report -> person_alias_2 (resolver_id));
598 joinable!(comment_report -> person_alias_2 (resolver_id));
599
600 joinable!(person_block -> person (person_id));
601 joinable!(person_block -> person_alias_1 (target_id));
602
603 joinable!(comment -> person (creator_id));
604 joinable!(comment -> post (post_id));
605 joinable!(comment_aggregates -> comment (comment_id));
606 joinable!(comment_like -> comment (comment_id));
607 joinable!(comment_like -> person (person_id));
608 joinable!(comment_like -> post (post_id));
609 joinable!(comment_report -> comment (comment_id));
610 joinable!(comment_saved -> comment (comment_id));
611 joinable!(comment_saved -> person (person_id));
612 joinable!(community_aggregates -> community (community_id));
613 joinable!(community_block -> community (community_id));
614 joinable!(community_block -> person (person_id));
615 joinable!(community_follower -> community (community_id));
616 joinable!(community_follower -> person (person_id));
617 joinable!(community_moderator -> community (community_id));
618 joinable!(community_moderator -> person (person_id));
619 joinable!(community_person_ban -> community (community_id));
620 joinable!(community_person_ban -> person (person_id));
621 joinable!(local_user -> person (person_id));
622 joinable!(mod_add_community -> community (community_id));
623 joinable!(mod_transfer_community -> community (community_id));
624 joinable!(mod_ban_from_community -> community (community_id));
625 joinable!(mod_lock_post -> person (mod_person_id));
626 joinable!(mod_lock_post -> post (post_id));
627 joinable!(mod_remove_comment -> comment (comment_id));
628 joinable!(mod_remove_comment -> person (mod_person_id));
629 joinable!(mod_remove_community -> community (community_id));
630 joinable!(mod_remove_community -> person (mod_person_id));
631 joinable!(mod_remove_post -> person (mod_person_id));
632 joinable!(mod_remove_post -> post (post_id));
633 joinable!(mod_sticky_post -> person (mod_person_id));
634 joinable!(mod_sticky_post -> post (post_id));
635 joinable!(password_reset_request -> local_user (local_user_id));
636 joinable!(person_aggregates -> person (person_id));
637 joinable!(person_ban -> person (person_id));
638 joinable!(person_mention -> comment (comment_id));
639 joinable!(person_mention -> person (recipient_id));
640 joinable!(post -> community (community_id));
641 joinable!(post -> person (creator_id));
642 joinable!(post_aggregates -> post (post_id));
643 joinable!(post_like -> person (person_id));
644 joinable!(post_like -> post (post_id));
645 joinable!(post_read -> person (person_id));
646 joinable!(post_read -> post (post_id));
647 joinable!(post_report -> post (post_id));
648 joinable!(post_saved -> person (person_id));
649 joinable!(post_saved -> post (post_id));
650 joinable!(site_aggregates -> site (site_id));
651 joinable!(email_verification -> local_user (local_user_id));
652 joinable!(registration_application -> local_user (local_user_id));
653 joinable!(registration_application -> person (admin_id));
654
655 allow_tables_to_appear_in_same_query!(
656   activity,
657   comment,
658   comment_aggregates,
659   community_block,
660   comment_like,
661   comment_report,
662   comment_saved,
663   community,
664   community_aggregates,
665   community_follower,
666   community_moderator,
667   community_person_ban,
668   local_user,
669   mod_add,
670   mod_add_community,
671   mod_transfer_community,
672   mod_ban,
673   mod_ban_from_community,
674   mod_lock_post,
675   mod_remove_comment,
676   mod_remove_community,
677   mod_remove_post,
678   mod_sticky_post,
679   password_reset_request,
680   person,
681   person_aggregates,
682   person_ban,
683   person_block,
684   person_mention,
685   post,
686   post_aggregates,
687   post_like,
688   post_read,
689   post_report,
690   post_saved,
691   private_message,
692   site,
693   site_aggregates,
694   comment_alias_1,
695   person_alias_1,
696   person_alias_2,
697   email_verification,
698   registration_application
699 );