summaryrefslogtreecommitdiffstats
path: root/ui/src/interfaces.ts
diff options
context:
space:
mode:
Diffstat (limited to 'ui/src/interfaces.ts')
-rw-r--r--ui/src/interfaces.ts62
1 files changed, 61 insertions, 1 deletions
diff --git a/ui/src/interfaces.ts b/ui/src/interfaces.ts
index 63c60856..bd954d20 100644
--- a/ui/src/interfaces.ts
+++ b/ui/src/interfaces.ts
@@ -38,6 +38,9 @@ export enum UserOperation {
DeleteAccount,
PasswordReset,
PasswordChange,
+ CreatePrivateMessage,
+ EditPrivateMessage,
+ GetPrivateMessages,
}
export enum CommentSortType {
@@ -89,6 +92,7 @@ export interface UserView {
name: string;
avatar?: string;
email?: string;
+ matrix_user_id?: string;
fedi_name: string;
published: string;
number_of_posts: number;
@@ -164,6 +168,8 @@ export interface Post {
subscribed?: boolean;
read?: boolean;
saved?: boolean;
+ upvoteLoading?: boolean;
+ downvoteLoading?: boolean;
}
export interface Comment {
@@ -190,6 +196,8 @@ export interface Comment {
saved?: boolean;
user_mention_id?: number; // For mention type
recipient_id?: number;
+ upvoteLoading?: boolean;
+ downvoteLoading?: boolean;
}
export interface Category {
@@ -214,6 +222,21 @@ export interface Site {
enable_nsfw: boolean;
}
+export interface PrivateMessage {
+ id: number;
+ creator_id: number;
+ recipient_id: number;
+ content: string;
+ deleted: boolean;
+ read: boolean;
+ published: string;
+ updated?: string;
+ creator_name: string;
+ creator_avatar?: string;
+ recipient_name: string;
+ recipient_avatar?: string;
+}
+
export enum BanType {
Community,
Site,
@@ -477,6 +500,7 @@ export interface UserSettingsForm {
lang: string;
avatar?: string;
email?: string;
+ matrix_user_id?: string;
new_password?: string;
new_password_verify?: string;
old_password?: string;
@@ -674,6 +698,7 @@ export interface SearchForm {
sort: string;
page?: number;
limit?: number;
+ auth?: string;
}
export interface SearchResponse {
@@ -701,6 +726,39 @@ export interface PasswordChangeForm {
password_verify: string;
}
+export interface PrivateMessageForm {
+ content: string;
+ recipient_id: number;
+ auth?: string;
+}
+
+export interface PrivateMessageFormParams {
+ recipient_id: number;
+}
+
+export interface EditPrivateMessageForm {
+ edit_id: number;
+ content?: string;
+ deleted?: boolean;
+ read?: boolean;
+ auth?: string;
+}
+
+export interface GetPrivateMessagesForm {
+ unread_only: boolean;
+ page?: number;
+ limit?: number;
+ auth?: string;
+}
+
+export interface PrivateMessagesResponse {
+ messages: Array<PrivateMessage>;
+}
+
+export interface PrivateMessageResponse {
+ message: PrivateMessage;
+}
+
type ResponseType =
| SiteResponse
| GetFollowedCommunitiesResponse
@@ -719,7 +777,9 @@ type ResponseType =
| BanFromCommunityResponse
| AddModToCommunityResponse
| BanUserResponse
- | AddAdminResponse;
+ | AddAdminResponse
+ | PrivateMessageResponse
+ | PrivateMessagesResponse;
export interface WebSocketResponse {
op: UserOperation;