unoffical wafrn mirror wafrn.net
atproto social-network activitypub
at angular21 153 lines 2.6 kB view raw
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}