unoffical wafrn mirror
wafrn.net
atproto
social-network
activitypub
1import { Ask } from './ask'
2import { Emoji } from './emoji'
3import { SimplifiedUser } from './simplified-user'
4
5export interface unlinkedPosts {
6 posts: basicPost[]
7 emojiRelations: EmojiRelations
8 mentions: Mention[]
9 users: SimplifiedUser[]
10 polls: Poll[]
11 medias: Media[]
12 tags: Tag[]
13 likes: Like[]
14 //lastPostDate: Date
15 quotes: Quote[]
16 quotedPosts: basicPost[]
17 rewootIds: string[]
18 asks?: Ask[]
19 bookmarks: PostBookmark[]
20}
21
22export interface PostBookmark {
23 userId: string
24 postId: string
25}
26
27export interface basicPost {
28 len?: number
29 id: string
30 content_warning: string
31 content: string
32 title?: string
33 remotePostId?: string
34 privacy: number
35 featured?: Date
36 createdAt: string
37 updatedAt: string
38 userId: string
39 hierarchyLevel: number
40 parentId?: string
41 ancestors: basicPost[]
42 notes?: number
43 quotes?: basicPost[]
44 markdownContent: string
45 isRewoot: boolean
46 canReply: boolean
47 canQuote: boolean
48 canLike: boolean
49 canReblog: boolean
50}
51
52export interface EmojiRelations {
53 userEmojiRelation: UserEmojiRelation[]
54 postEmojiRelation: PostEmojiRelation[]
55 postEmojiReactions: PostEmojiReaction[]
56 emojis: Emoji[]
57}
58
59export interface Quote {
60 quotedPostId: string
61 quoterPostId: string
62 createdAt: Date
63}
64
65interface PostEmojiRelation {
66 emojiId: string
67 postId: string
68}
69
70interface UserEmojiRelation {
71 userId: string
72 emojiId: string
73}
74
75export interface PostEmojiReaction {
76 emojiId: string
77 postId: string
78 userId: string
79 content: string
80 emoji?: Emoji
81 user?: SimplifiedUser
82 id?: string
83}
84
85interface Mention {
86 userMentioned: string
87 post: string
88}
89
90export interface Media {
91 mediaOrder: any
92 id: string
93 NSFW: boolean
94 description: string
95 url: string
96 external: boolean
97 postId: string
98 mediaType: string
99}
100
101export interface Tag {
102 postId: string
103 tagName: string
104}
105
106interface Like {
107 userId: string
108 postId: string
109}
110
111interface Poll {
112 id: number
113
114 endDate: string
115
116 multiChoice: boolean
117
118 createdAt: string
119
120 updatedAt: string
121
122 postId: string
123
124 questionPollQuestions: QuestionPollQuestion[]
125}
126
127interface QuestionPollQuestion {
128 id: number
129
130 questionText: string
131
132 index: number
133
134 remoteReplies: number
135
136 createdAt: string
137
138 updatedAt: string
139
140 questionPollId: number
141
142 questionPollAnswers: any[]
143}
144
145export interface NotificationRaw {
146 notificationType: 'MENTION' | 'LIKE' | 'EMOJIREACT' | 'REWOOT' | 'QUOTE' | 'FOLLOW' | 'USERBITE' | 'POSTBITE'
147 createdAt: string
148 updatedAt: string
149 notifiedUserId: string
150 userId: string
151 postId: string | null
152 emojiReactionId: string | null
153}