refactor: add typescript support to project

This commit is contained in:
HD
2022-06-18 00:54:41 +08:00
parent 7ca0099cb0
commit e67379ece4
14 changed files with 404 additions and 193 deletions
+55
View File
@@ -0,0 +1,55 @@
export interface ChannelMember {
}
export type ContentType =
'text/plain' |
'text/markdown' |
'rustchat/file' |
'rustchat/archive';
export interface PinnedMessage {
mid: number;
content: string;
content_type: ContentType;
created_by: number;
created_at: number;
properties: {
local_id?: string;
};
}
export interface Channel {
gid: number;
icon: string; // added by frontend
owner: number;
name: string;
description: string;
members: number[];
is_public: boolean;
avatar_updated_at: number;
pinned_messages: PinnedMessage[];
}
export interface UpdateChannelDTO {
operation: 'add_member' | 'remove_member';
members?: number[];
// type = 'group_changed'
gid: number; // todo check
name?: string;
description?: string;
owner?: number;
avatar_updated_at?: number;
type?: string;
// type = 'user_joined_group' | 'user_leaved_group'
// gid
uid?: number[];
}
export interface UpdatePinnedMessageDTO {
gid: number;
mid: number;
msg: PinnedMessage;
}