[Gekidou] Typings & PostMetadata structure (#5542)

* Typings & PostMetadata structure

* comment out unused code

* Remove duplicate interface

* Fix getPreferenceAsBool defaultValue
This commit is contained in:
Elias Nahum
2021-07-15 11:49:02 -04:00
committed by GitHub
parent 2dc37f1c92
commit 8cd127a223
140 changed files with 1653 additions and 2407 deletions

View File

@@ -28,12 +28,13 @@ type Channel = {
total_msg_count: number;
extra_update_at: number;
creator_id: string;
scheme_id: string;
scheme_id: string|null;
isCurrent?: boolean;
teammate_id?: string;
status?: string;
fake?: boolean;
group_constrained: boolean;
group_constrained: boolean|null;
shared: boolean|null;
};
type ChannelWithTeamData = Channel & {
team_display_name: string;
@@ -41,6 +42,7 @@ type ChannelWithTeamData = Channel & {
team_update_at: number;
}
type ChannelMembership = {
id?: string;
channel_id: string;
user_id: string;
roles: string;
@@ -48,9 +50,10 @@ type ChannelMembership = {
msg_count: number;
mention_count: number;
notify_props: Partial<ChannelNotifyProps>;
last_post_at?: number;
last_update_at: number;
scheme_user: boolean;
scheme_admin: boolean;
scheme_user?: boolean;
scheme_admin?: boolean;
post_root_id?: string;
};
type ChannelUnread = {

12
types/api/emojis.d.ts vendored
View File

@@ -3,11 +3,12 @@
type EmojiCategory = (
| 'recent'
| 'people'
| 'nature'
| 'foods'
| 'activity'
| 'places'
| 'smileys-emotion'
| 'people-body'
| 'animals-nature'
| 'food-drink'
| 'travel-places'
| 'activities'
| 'objects'
| 'symbols'
| 'flags'
@@ -21,7 +22,6 @@ type CustomEmoji = {
delete_at: number;
creator_id: string;
name: string;
category: 'custom';
};
type SystemEmoji = {

View File

@@ -2,7 +2,7 @@
// See LICENSE.txt for license information.
type FileInfo = {
id: string;
id?: string;
user_id: string;
post_id: string;
create_at: number;
@@ -10,12 +10,13 @@ type FileInfo = {
delete_at: number;
name: string;
extension: string;
mini_preview?: string;
size: number;
mime_type: string;
width: number;
height: number;
has_preview_image: boolean;
clientId: string;
clientId?: string;
localPath?: string;
uri?: string;
loading?: boolean;

View File

@@ -18,7 +18,7 @@ type Group = {
delete_at: number;
has_syncables: boolean;
member_count: number;
scheme_admin: boolean;
scheme_admin?: boolean;
allow_reference: boolean;
};
type GroupTeam = {
@@ -27,7 +27,7 @@ type GroupTeam = {
team_type: string;
group_id: string;
auto_add: boolean;
scheme_admin: boolean;
scheme_admin?: boolean;
create_at: number;
delete_at: number;
update_at: number;
@@ -41,10 +41,12 @@ type GroupChannel = {
team_type: string;
group_id: string;
auto_add: boolean;
scheme_admin: boolean;
scheme_admin?: boolean;
create_at: number;
delete_at: number;
update_at: number;
member_count: number;
timezone_count: number;
};
type GroupSyncables = {
teams: GroupTeam[];

43
types/api/posts.d.ts vendored
View File

@@ -1,20 +1,22 @@
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
type PostType = 'system_add_remove' |
'system_add_to_channel' |
'system_add_to_team' |
'system_channel_deleted' |
'system_channel_restored' |
'system_displayname_change' |
'system_convert_channel' |
'system_ephemeral' |
'system_header_change' |
'system_join_channel' |
'system_join_leave' |
'system_leave_channel' |
'system_purpose_change' |
'system_remove_from_channel';
type PostType =
| ''
| 'system_add_remove'
| 'system_add_to_channel'
| 'system_add_to_team'
| 'system_channel_deleted'
| 'system_channel_restored'
| 'system_displayname_change'
| 'system_convert_channel'
| 'system_ephemeral'
| 'system_header_change'
| 'system_join_channel'
| 'system_join_leave'
| 'system_leave_channel'
| 'system_purpose_change'
| 'system_remove_from_channel';
type PostEmbedType = 'image' | 'message_attachment' | 'opengraph';
@@ -32,11 +34,11 @@ type PostImage = {
};
type PostMetadata = {
embeds: PostEmbed[];
emojis: CustomEmoji[];
files: FileInfo[];
images: Dictionary<PostImage>;
reactions: Reaction[];
embeds?: PostEmbed[];
emojis?: CustomEmoji[];
files?: FileInfo[];
images?: Dictionary<PostImage>;
reactions?: Reaction[];
};
type Post = {
@@ -59,10 +61,13 @@ type Post = {
reply_count: number;
file_ids?: any[];
metadata: PostMetadata;
last_reply_at?: number;
failed?: boolean;
user_activity_posts?: Post[];
state?: 'DELETED';
ownPost?: boolean;
prev_post_id?: string;
participants: null|string[];
};
type PostWithFormatData = Post & {

View File

@@ -2,6 +2,7 @@
// See LICENSE.txt for license information.
type Reaction = {
id?: string;
user_id: string;
post_id: string;
emoji_name: string;

14
types/api/roles.d.ts vendored
View File

@@ -6,12 +6,12 @@ type ChannelModerationRoles = 'members' | 'guests';
type Role = {
id: string;
name: string;
display_name: string;
description: string;
create_at: number;
update_at: number;
delete_at: number;
display_name?: string;
description?: string;
create_at?: number;
update_at?: number;
delete_at?: number;
permissions: string[];
scheme_managed: boolean;
built_in: boolean;
scheme_managed?: boolean;
built_in?: boolean;
};

22
types/api/slash_command.d.ts vendored Normal file
View File

@@ -0,0 +1,22 @@
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
type SlashCommand = {
id: string;
auto_complete: boolean;
auto_complete_desc: string;
auto_complete_hint: string;
create_at: number;
creator_id: string;
delete_at: number;
description: string;
display_name: string;
icon_url: string;
method: string;
team_id: string;
token: string;
trigger: string;
update_at: number;
url: string;
username: string;
};

View File

@@ -2,6 +2,7 @@
// See LICENSE.txt for license information.
type TeamMembership = {
id?: string;
mention_count: number;
msg_count: number;
team_id: string;
@@ -35,7 +36,8 @@ type Team = {
invite_id: string;
allow_open_invite: boolean;
scheme_id: string;
group_constrained: boolean;
group_constrained: boolean|null;
last_team_icon_update: number;
};
type TeamsState = {

13
types/api/users.d.ts vendored
View File

@@ -24,10 +24,10 @@ type UserProfile = {
update_at: number;
delete_at: number;
username: string;
auth_data: string;
auth_data?: string;
auth_service: string;
email: string;
email_verified: boolean;
email_verified?: boolean;
nickname: string;
first_name: string;
last_name: string;
@@ -35,8 +35,9 @@ type UserProfile = {
roles: string;
locale: string;
notify_props: UserNotifyProps;
terms_of_service_id: string;
terms_of_service_create_at: number;
props?: UserProps;
terms_of_service_id?: string;
terms_of_service_create_at?: number;
timezone?: UserTimezone;
is_bot: boolean;
last_picture_update: number;
@@ -78,3 +79,7 @@ type UserStatus = {
last_activity_at: number;
active_channel?: string;
};
type UserProps = {
[userPropsName: string]: any;
};