lemmy-js-client/src/interfaces/source.ts

234 lines
4.2 KiB
TypeScript

export interface LocalUserSettings {
id: number;
person_id: number;
email?: string;
show_nsfw: boolean;
theme: string;
default_sort_type: number;
default_listing_type: number;
lang: string;
show_avatars: boolean;
send_notifications_to_email: boolean;
}
export interface PersonSafe {
id: number;
name: string;
preferred_username?: string;
avatar?: string;
banned: boolean;
published: string;
updated?: string;
actor_id: string;
bio?: string;
local: boolean;
banner?: string;
deleted: boolean;
inbox_url: string;
shared_inbox_url: string;
matrix_user_id?: string;
admin: boolean;
}
export interface Site {
id: number;
name: string;
description?: string;
creator_id: number;
published: string;
updated?: string;
enable_downvotes: boolean;
open_registration: boolean;
enable_nsfw: boolean;
icon?: string;
banner?: string;
}
export interface PrivateMessage {
id: number;
creator_id: number;
recipient_id: number;
content: string;
deleted: boolean;
read: boolean;
published: string;
updated?: string;
ap_id: string;
local: boolean;
}
export interface PostReport {
id: number;
creator_id: number;
post_id: number;
original_post_name: string;
original_post_url?: string;
original_post_body?: string;
reason: string;
resolved: boolean;
resolver_id?: number;
published: string;
updated?: string;
}
export interface Post {
id: number;
name: string;
url?: string;
body?: string;
creator_id: number;
community_id: number;
removed: boolean;
locked: boolean;
published: string;
updated?: string;
deleted: boolean;
nsfw: boolean;
stickied: boolean;
embed_title?: string;
embed_description?: string;
embed_html?: string;
thumbnail_url?: string;
ap_id: string;
local: boolean;
}
export interface PasswordResetRequest {
id: number;
local_user_id: number;
token_encrypted: string;
published: string;
}
export interface ModRemovePost {
id: number;
mod_person_id: number;
post_id: number;
reason?: string;
removed?: boolean;
when_: string;
}
export interface ModLockPost {
id: number;
mod_person_id: number;
post_id: number;
locked?: boolean;
when_: string;
}
export interface ModStickyPost {
id: number;
mod_person_id: number;
post_id: number;
stickied?: boolean;
when_: string;
}
export interface ModRemoveComment {
id: number;
mod_person_id: number;
comment_id: number;
reason?: string;
removed?: boolean;
when_: string;
}
export interface ModRemoveCommunity {
id: number;
mod_person_id: number;
community_id: number;
reason?: string;
removed?: boolean;
expires?: string;
when_: string;
}
export interface ModBanFromCommunity {
id: number;
mod_person_id: number;
other_person_id: number;
community_id: number;
reason?: string;
banned?: boolean;
expires?: string;
when_: string;
}
export interface ModBan {
id: number;
mod_person_id: number;
other_person_id: number;
reason?: string;
banned?: boolean;
expires?: string;
when_: string;
}
export interface ModAddCommunity {
id: number;
mod_person_id: number;
other_person_id: number;
community_id: number;
removed?: boolean;
when_: string;
}
export interface ModAdd {
id: number;
mod_person_id: number;
other_person_id: number;
removed?: boolean;
when_: string;
}
export interface CommunitySafe {
id: number;
name: string;
title: string;
description?: string;
removed: boolean;
published: string;
updated?: string;
deleted: boolean;
nsfw: boolean;
actor_id: string;
local: boolean;
icon?: string;
banner?: string;
}
export interface CommentReport {
id: number;
creator_id: number;
comment_id: number;
original_comment_text: string;
reason: string;
resolved: boolean;
resolver_id?: number;
published: string;
updated?: string;
}
export interface Comment {
id: number;
creator_id: number;
post_id: number;
parent_id?: number;
content: string;
removed: boolean;
read: boolean; // Whether the recipient has read the comment or not
published: string;
updated?: string;
deleted: boolean;
ap_id: string;
local: boolean;
}
export interface PersonMention {
id: number;
recipient_id: number;
comment_id: number;
read: boolean;
published: string;
}