2 aggregates::structs::{CommentAggregates, CommunityAggregates, PersonAggregates},
5 community::CommunitySafe,
6 person::{PersonSafe, PersonSafeAlias1},
7 person_mention::PersonMention,
11 use serde::{Deserialize, Serialize};
13 #[derive(Debug, Serialize, Deserialize, Clone)]
14 pub struct CommunityBlockView {
15 pub person: PersonSafe,
16 pub community: CommunitySafe,
19 #[derive(Debug, Serialize, Deserialize, Clone)]
20 pub struct CommunityFollowerView {
21 pub community: CommunitySafe,
22 pub follower: PersonSafe,
25 #[derive(Debug, Serialize, Deserialize, Clone)]
26 pub struct CommunityModeratorView {
27 pub community: CommunitySafe,
28 pub moderator: PersonSafe,
31 #[derive(Debug, Serialize, Deserialize, Clone)]
32 pub struct CommunityPersonBanView {
33 pub community: CommunitySafe,
34 pub person: PersonSafe,
37 #[derive(Debug, Serialize, Deserialize, Clone)]
38 pub struct CommunityView {
39 pub community: CommunitySafe,
42 pub counts: CommunityAggregates,
45 #[derive(Debug, Serialize, Deserialize, Clone)]
46 pub struct PersonBlockView {
47 pub person: PersonSafe,
48 pub target: PersonSafeAlias1,
51 #[derive(Debug, PartialEq, Serialize, Deserialize, Clone)]
52 pub struct PersonMentionView {
53 pub person_mention: PersonMention,
55 pub creator: PersonSafe,
57 pub community: CommunitySafe,
58 pub recipient: PersonSafeAlias1,
59 pub counts: CommentAggregates,
60 pub creator_banned_from_community: bool, // Left Join to CommunityPersonBan
61 pub subscribed: bool, // Left join to CommunityFollower
62 pub saved: bool, // Left join to CommentSaved
63 pub creator_blocked: bool, // Left join to PersonBlock
64 pub my_vote: Option<i16>, // Left join to CommentLike
67 #[derive(Debug, Serialize, Deserialize, Clone)]
68 pub struct PersonViewSafe {
69 pub person: PersonSafe,
70 pub counts: PersonAggregates,