@mattermost/types 11.1.0-0 → 11.1.0-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/lib/access_control.d.ts +71 -0
  2. package/lib/admin.d.ts +147 -0
  3. package/lib/apps.d.ts +191 -0
  4. package/lib/audits.d.ts +9 -0
  5. package/lib/autocomplete.d.ts +12 -0
  6. package/lib/bots.d.ts +15 -0
  7. package/lib/channel_bookmarks.d.ts +51 -0
  8. package/lib/channel_categories.d.ts +30 -0
  9. package/lib/channels.d.ts +190 -0
  10. package/lib/client4.d.ts +42 -0
  11. package/lib/cloud.d.ts +187 -0
  12. package/lib/compliance.d.ts +13 -0
  13. package/lib/config.d.ts +1035 -0
  14. package/lib/content_flagging.d.ts +24 -0
  15. package/lib/data_retention.d.ts +30 -0
  16. package/lib/drafts.d.ts +14 -0
  17. package/lib/emojis.d.ts +44 -0
  18. package/lib/errors.d.ts +8 -0
  19. package/lib/files.d.ts +41 -0
  20. package/lib/general.d.ts +16 -0
  21. package/lib/groups.d.ts +169 -0
  22. package/lib/hosted_customer.d.ts +7 -0
  23. package/lib/integration_actions.d.ts +20 -0
  24. package/lib/integrations.d.ts +187 -0
  25. package/lib/jobs.d.ts +23 -0
  26. package/lib/limits.d.ts +10 -0
  27. package/lib/marketplace.d.ts +42 -0
  28. package/lib/message_attachments.d.ts +24 -0
  29. package/lib/mfa.d.ts +4 -0
  30. package/lib/plugins.d.ts +136 -0
  31. package/lib/posts.d.ts +182 -0
  32. package/lib/preferences.d.ts +9 -0
  33. package/lib/product_notices.d.ts +26 -0
  34. package/lib/products.d.ts +8 -0
  35. package/lib/properties.d.ts +60 -0
  36. package/lib/reactions.d.ts +6 -0
  37. package/lib/remote_clusters.d.ts +35 -0
  38. package/lib/reports.d.ts +65 -0
  39. package/lib/requests.d.ts +53 -0
  40. package/lib/roles.d.ts +12 -0
  41. package/lib/saml.d.ts +10 -0
  42. package/lib/schedule_post.d.ts +27 -0
  43. package/lib/schemes.d.ts +29 -0
  44. package/lib/search.d.ts +29 -0
  45. package/lib/sessions.d.ts +15 -0
  46. package/lib/setup.d.ts +4 -0
  47. package/lib/shared_channels.d.ts +26 -0
  48. package/lib/store.d.ts +97 -0
  49. package/lib/teams.d.ts +99 -0
  50. package/lib/terms_of_service.d.ts +6 -0
  51. package/lib/threads.d.ts +63 -0
  52. package/lib/typing.d.ts +5 -0
  53. package/lib/users.d.ts +140 -0
  54. package/package.json +1 -1
@@ -0,0 +1,29 @@
1
+ export type Search = {
2
+ terms: string;
3
+ isOrSearch: boolean;
4
+ };
5
+ export type SearchState = {
6
+ current: any;
7
+ results: string[];
8
+ fileResults: string[];
9
+ flagged: string[];
10
+ pinned: Record<string, string[]>;
11
+ isSearchingTerm: boolean;
12
+ isSearchGettingMore: boolean;
13
+ isLimitedResults: number;
14
+ matches: {
15
+ [x: string]: string[];
16
+ };
17
+ truncationInfo?: {
18
+ posts: number;
19
+ files: number;
20
+ };
21
+ };
22
+ export type SearchParameter = {
23
+ terms: string;
24
+ is_or_search: boolean;
25
+ time_zone_offset?: number;
26
+ page: number;
27
+ per_page: number;
28
+ include_deleted_channels: boolean;
29
+ };
@@ -0,0 +1,15 @@
1
+ import type { TeamMembership } from './teams';
2
+ export type Session = {
3
+ id: string;
4
+ token: string;
5
+ create_at: number;
6
+ expires_at: number;
7
+ last_activity_at: number;
8
+ user_id: string;
9
+ device_id: string;
10
+ roles: string;
11
+ is_oauth: boolean;
12
+ props: Record<string, any>;
13
+ team_members: TeamMembership[];
14
+ local: boolean;
15
+ };
package/lib/setup.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export type CompleteOnboardingRequest = {
2
+ organization: string;
3
+ install_plugins: string[];
4
+ };
@@ -0,0 +1,26 @@
1
+ export type SharedChannelRemote = {
2
+ id: string;
3
+ channel_id: string;
4
+ creator_id: string;
5
+ create_at: number;
6
+ update_at: number;
7
+ delete_at: number;
8
+ is_invite_accepted: boolean;
9
+ is_invite_confirmed: boolean;
10
+ remote_id: string;
11
+ last_post_update_at: number;
12
+ last_post_id: string;
13
+ last_post_create_at: number;
14
+ last_post_create_id: string;
15
+ };
16
+ export type RemoteClusterInfo = {
17
+ name: string;
18
+ display_name: string;
19
+ create_at: number;
20
+ delete_at: number;
21
+ last_ping_at: number;
22
+ };
23
+ export type SharedChannelsState = {
24
+ remotes: Record<string, RemoteClusterInfo[]>;
25
+ remotesByRemoteId: Record<string, RemoteClusterInfo>;
26
+ };
package/lib/store.d.ts ADDED
@@ -0,0 +1,97 @@
1
+ import type { AdminState } from './admin';
2
+ import type { AppsState } from './apps';
3
+ import type { Bot } from './bots';
4
+ import type { ChannelBookmarksState } from './channel_bookmarks';
5
+ import type { ChannelCategoriesState } from './channel_categories';
6
+ import type { ChannelsState } from './channels';
7
+ import type { CloudState, CloudUsage } from './cloud';
8
+ import type { ContentFlaggingState } from './content_flagging';
9
+ import type { EmojisState } from './emojis';
10
+ import type { FilesState } from './files';
11
+ import type { GeneralState } from './general';
12
+ import type { GroupsState } from './groups';
13
+ import type { HostedCustomerState } from './hosted_customer';
14
+ import type { IntegrationsState } from './integrations';
15
+ import type { JobsState } from './jobs';
16
+ import type { LimitsState } from './limits';
17
+ import type { PostsState } from './posts';
18
+ import type { PreferenceType } from './preferences';
19
+ import type { AdminRequestsStatuses, ChannelsRequestsStatuses, FilesRequestsStatuses, GeneralRequestsStatuses, PostsRequestsStatuses, RolesRequestsStatuses, TeamsRequestsStatuses, UsersRequestsStatuses } from './requests';
20
+ import type { Role } from './roles';
21
+ import type { ScheduledPostsState } from './schedule_post';
22
+ import type { SchemesState } from './schemes';
23
+ import type { SearchState } from './search';
24
+ import type { RemoteClusterInfo } from './shared_channels';
25
+ import type { TeamsState } from './teams';
26
+ import type { ThreadsState } from './threads';
27
+ import type { Typing } from './typing';
28
+ import type { UsersState } from './users';
29
+ export type GlobalState = {
30
+ entities: {
31
+ general: GeneralState;
32
+ users: UsersState;
33
+ limits: LimitsState;
34
+ teams: TeamsState;
35
+ channels: ChannelsState;
36
+ channelBookmarks: ChannelBookmarksState;
37
+ posts: PostsState;
38
+ threads: ThreadsState;
39
+ bots: {
40
+ accounts: Record<string, Bot>;
41
+ };
42
+ preferences: {
43
+ myPreferences: {
44
+ [x: string]: PreferenceType;
45
+ };
46
+ userPreferences: {
47
+ [userID: string]: {
48
+ [x: string]: PreferenceType;
49
+ };
50
+ };
51
+ };
52
+ admin: AdminState;
53
+ jobs: JobsState;
54
+ search: SearchState;
55
+ integrations: IntegrationsState;
56
+ files: FilesState;
57
+ emojis: EmojisState;
58
+ typing: Typing;
59
+ roles: {
60
+ roles: {
61
+ [x: string]: Role;
62
+ };
63
+ pending: Set<string>;
64
+ };
65
+ schemes: SchemesState;
66
+ groups: GroupsState;
67
+ channelCategories: ChannelCategoriesState;
68
+ apps: AppsState;
69
+ cloud: CloudState;
70
+ hostedCustomer: HostedCustomerState;
71
+ usage: CloudUsage;
72
+ scheduledPosts: ScheduledPostsState;
73
+ sharedChannels?: {
74
+ remotes?: Record<string, RemoteClusterInfo[]>;
75
+ remotesByRemoteId?: Record<string, RemoteClusterInfo>;
76
+ };
77
+ contentFlagging: ContentFlaggingState;
78
+ };
79
+ errors: any[];
80
+ requests: {
81
+ channels: ChannelsRequestsStatuses;
82
+ general: GeneralRequestsStatuses;
83
+ posts: PostsRequestsStatuses;
84
+ teams: TeamsRequestsStatuses;
85
+ users: UsersRequestsStatuses;
86
+ admin: AdminRequestsStatuses;
87
+ files: FilesRequestsStatuses;
88
+ roles: RolesRequestsStatuses;
89
+ };
90
+ websocket: {
91
+ connected: boolean;
92
+ lastConnectAt: number;
93
+ lastDisconnectAt: number;
94
+ connectionId: string;
95
+ serverHostname: string;
96
+ };
97
+ };
package/lib/teams.d.ts ADDED
@@ -0,0 +1,99 @@
1
+ import type { ServerError } from './errors';
2
+ import type { UserProfile } from './users';
3
+ import type { RelationOneToOne } from './utilities';
4
+ export type TeamMembership = TeamUnread & {
5
+ user_id: string;
6
+ roles: string;
7
+ delete_at: number;
8
+ scheme_admin: boolean;
9
+ scheme_guest: boolean;
10
+ scheme_user: boolean;
11
+ };
12
+ export type TeamMemberWithError = {
13
+ member: TeamMembership;
14
+ user_id: string;
15
+ error: ServerError;
16
+ };
17
+ export type TeamType = 'O' | 'I';
18
+ export type Team = {
19
+ id: string;
20
+ create_at: number;
21
+ update_at: number;
22
+ delete_at: number;
23
+ display_name: string;
24
+ name: string;
25
+ description: string;
26
+ email: string;
27
+ type: TeamType;
28
+ company_name: string;
29
+ allowed_domains: string;
30
+ invite_id: string;
31
+ allow_open_invite: boolean;
32
+ scheme_id: string;
33
+ group_constrained: boolean;
34
+ policy_id?: string | null;
35
+ last_team_icon_update?: number;
36
+ };
37
+ export type TeamsState = {
38
+ currentTeamId: string;
39
+ teams: Record<string, Team>;
40
+ myMembers: Record<string, TeamMembership>;
41
+ membersInTeam: RelationOneToOne<Team, RelationOneToOne<UserProfile, TeamMembership>>;
42
+ stats: RelationOneToOne<Team, TeamStats>;
43
+ groupsAssociatedToTeam: any;
44
+ totalCount: number;
45
+ contentFlaggingStatus: Record<Team['id'], boolean>;
46
+ };
47
+ export type TeamUnread = {
48
+ team_id: string;
49
+ /** The number of unread mentions in channels on this team, not including DMs and GMs */
50
+ mention_count: number;
51
+ /** The number of unread mentions in root posts in channels on this team, not including DMs and GMs */
52
+ mention_count_root: number;
53
+ /**
54
+ * The number of unread posts in channels on this team, not including DMs and GMs
55
+ *
56
+ * @remarks Note that this differs from ChannelMembership.msg_count and ChannelUnread.msg_count since it tracks
57
+ * unread posts instead of read posts.
58
+ */
59
+ msg_count: number;
60
+ /**
61
+ * The number of unread root posts in channels on this team, not including DMs and GMs
62
+ *
63
+ * @remarks Note that this differs from ChannelMember.msg_count_root and ChannelUnread.msg_count_root since it
64
+ * tracks unread posts instead of read posts.
65
+ */
66
+ msg_count_root: number;
67
+ thread_count?: number;
68
+ thread_mention_count?: number;
69
+ thread_urgent_mention_count?: number;
70
+ };
71
+ export type GetTeamMembersOpts = {
72
+ sort?: 'Username';
73
+ exclude_deleted_users?: boolean;
74
+ };
75
+ export type TeamsWithCount = {
76
+ teams: Team[];
77
+ total_count: number;
78
+ };
79
+ export type TeamStats = {
80
+ team_id: string;
81
+ total_member_count: number;
82
+ active_member_count: number;
83
+ };
84
+ export type TeamSearchOpts = PagedTeamSearchOpts | NotPagedTeamSearchOpts;
85
+ export type PagedTeamSearchOpts = {
86
+ page: number;
87
+ per_page: number;
88
+ } & NotPagedTeamSearchOpts;
89
+ export type NotPagedTeamSearchOpts = {
90
+ allow_open_invite?: boolean;
91
+ group_constrained?: boolean;
92
+ };
93
+ export type TeamInviteWithError = {
94
+ email: string;
95
+ error: {
96
+ id: string;
97
+ message: string;
98
+ };
99
+ };
@@ -0,0 +1,6 @@
1
+ export type TermsOfService = {
2
+ id: string;
3
+ create_at: number;
4
+ user_id: string;
5
+ text: string;
6
+ };
@@ -0,0 +1,63 @@
1
+ import type { Channel } from './channels';
2
+ import type { Post } from './posts';
3
+ import type { Team } from './teams';
4
+ import type { UserProfile } from './users';
5
+ import type { IDMappedObjects, RelationOneToMany, RelationOneToOne } from './utilities';
6
+ export declare enum UserThreadType {
7
+ Synthetic = "S"
8
+ }
9
+ export type UserThread = {
10
+ id: string;
11
+ reply_count: number;
12
+ last_reply_at: number;
13
+ last_viewed_at: number;
14
+ participants: Array<{
15
+ id: UserProfile['id'];
16
+ } | UserProfile>;
17
+ unread_replies: number;
18
+ unread_mentions: number;
19
+ is_following: boolean;
20
+ is_urgent?: boolean;
21
+ type?: UserThreadType;
22
+ /**
23
+ * only depend on channel_id and user_id for UserThread<>Channel/User mapping,
24
+ * use normalized post store/selectors as those are kept up-to-date in the store
25
+ */
26
+ post: {
27
+ channel_id: Channel['id'];
28
+ user_id: UserProfile['id'];
29
+ };
30
+ };
31
+ type SyntheticMissingKeys = 'unread_replies' | 'unread_mentions' | 'last_viewed_at';
32
+ export type UserThreadSynthetic = Omit<UserThread, SyntheticMissingKeys> & {
33
+ type: UserThreadType.Synthetic;
34
+ };
35
+ export declare function threadIsSynthetic(thread: UserThread | UserThreadSynthetic): thread is UserThreadSynthetic;
36
+ export type UserThreadWithPost = UserThread & {
37
+ post: Post;
38
+ };
39
+ export type UserThreadList = {
40
+ total: number;
41
+ total_unread_threads: number;
42
+ total_unread_mentions: number;
43
+ total_unread_urgent_mentions?: number;
44
+ threads: UserThreadWithPost[];
45
+ };
46
+ export type ThreadsState = {
47
+ threadsInTeam: RelationOneToMany<Team, UserThread>;
48
+ unreadThreadsInTeam: RelationOneToMany<Team, UserThread>;
49
+ threads: IDMappedObjects<UserThread>;
50
+ counts: RelationOneToOne<Team, {
51
+ total: number;
52
+ total_unread_threads: number;
53
+ total_unread_mentions: number;
54
+ total_unread_urgent_mentions?: number;
55
+ }>;
56
+ countsIncludingDirect: RelationOneToOne<Team, {
57
+ total: number;
58
+ total_unread_threads: number;
59
+ total_unread_mentions: number;
60
+ total_unread_urgent_mentions?: number;
61
+ }>;
62
+ };
63
+ export {};
@@ -0,0 +1,5 @@
1
+ export type Typing = {
2
+ [x: string]: {
3
+ [x: string]: number;
4
+ };
5
+ };
package/lib/users.d.ts ADDED
@@ -0,0 +1,140 @@
1
+ import type { Audit } from './audits';
2
+ import type { Channel } from './channels';
3
+ import type { Group } from './groups';
4
+ import type { Session } from './sessions';
5
+ import type { Team } from './teams';
6
+ import type { IDMappedObjects, RelationOneToManyUnique, RelationOneToOne } from './utilities';
7
+ export type UserNotifyProps = {
8
+ desktop: 'default' | 'all' | 'mention' | 'none';
9
+ desktop_sound: 'default' | 'true' | 'false';
10
+ calls_desktop_sound: 'true' | 'false';
11
+ email: 'true' | 'false';
12
+ mark_unread: 'all' | 'mention';
13
+ push: 'default' | 'all' | 'mention' | 'none';
14
+ push_status: 'ooo' | 'offline' | 'away' | 'dnd' | 'online';
15
+ comments: 'never' | 'root' | 'any';
16
+ first_name: 'true' | 'false';
17
+ channel: 'true' | 'false';
18
+ mention_keys: string;
19
+ highlight_keys: string;
20
+ desktop_notification_sound?: 'default' | 'Bing' | 'Crackle' | 'Down' | 'Hello' | 'Ripple' | 'Upstairs';
21
+ calls_notification_sound?: 'Dynamic' | 'Calm' | 'Urgent' | 'Cheerful';
22
+ desktop_threads?: 'default' | 'all' | 'mention' | 'none';
23
+ email_threads?: 'default' | 'all' | 'mention' | 'none';
24
+ push_threads?: 'default' | 'all' | 'mention' | 'none';
25
+ auto_responder_active?: 'true' | 'false';
26
+ auto_responder_message?: string;
27
+ calls_mobile_sound?: 'true' | 'false' | '';
28
+ calls_mobile_notification_sound?: 'Dynamic' | 'Calm' | 'Urgent' | 'Cheerful' | '';
29
+ };
30
+ export type UserProfile = {
31
+ id: string;
32
+ create_at: number;
33
+ update_at: number;
34
+ delete_at: number;
35
+ username: string;
36
+ password: string;
37
+ auth_data?: string;
38
+ auth_service: string;
39
+ email: string;
40
+ nickname: string;
41
+ first_name: string;
42
+ last_name: string;
43
+ position: string;
44
+ roles: string;
45
+ props: Record<string, string>;
46
+ notify_props: UserNotifyProps;
47
+ last_password_update: number;
48
+ last_picture_update: number;
49
+ locale: string;
50
+ timezone?: UserTimezone;
51
+ mfa_active: boolean;
52
+ last_activity_at: number;
53
+ is_bot: boolean;
54
+ bot_description: string;
55
+ terms_of_service_id: string;
56
+ terms_of_service_create_at: number;
57
+ remote_id?: string;
58
+ status?: string;
59
+ custom_profile_attributes?: Record<string, string | string[]>;
60
+ failed_attempts?: number;
61
+ };
62
+ export type UserProfileWithLastViewAt = UserProfile & {
63
+ last_viewed_at: number;
64
+ };
65
+ export type UsersState = {
66
+ currentUserId: string;
67
+ isManualStatus: RelationOneToOne<UserProfile, boolean>;
68
+ mySessions: Session[];
69
+ myAudits: Audit[];
70
+ profiles: IDMappedObjects<UserProfile>;
71
+ profilesInTeam: RelationOneToManyUnique<Team, UserProfile>;
72
+ profilesNotInTeam: RelationOneToManyUnique<Team, UserProfile>;
73
+ profilesWithoutTeam: Set<string>;
74
+ profilesInChannel: RelationOneToManyUnique<Channel, UserProfile>;
75
+ profilesNotInChannel: RelationOneToManyUnique<Channel, UserProfile>;
76
+ profilesInGroup: RelationOneToManyUnique<Group, UserProfile>;
77
+ profilesNotInGroup: RelationOneToManyUnique<Group, UserProfile>;
78
+ statuses: RelationOneToOne<UserProfile, string>;
79
+ stats: Partial<UsersStats>;
80
+ filteredStats: Partial<UsersStats>;
81
+ myUserAccessTokens: Record<string, UserAccessToken>;
82
+ lastActivity: RelationOneToOne<UserProfile, number>;
83
+ dndEndTimes: RelationOneToOne<UserProfile, number>;
84
+ };
85
+ export type UserTimezone = {
86
+ useAutomaticTimezone: boolean | string;
87
+ automaticTimezone: string;
88
+ manualTimezone: string;
89
+ };
90
+ export type UserStatus = {
91
+ user_id: string;
92
+ status: string;
93
+ manual?: boolean;
94
+ last_activity_at?: number;
95
+ active_channel?: string;
96
+ /**
97
+ * The time when a user's timed DND status will expire. Unlike other timestamps in the app, this is in seconds
98
+ * instead of milliseconds.
99
+ */
100
+ dnd_end_time?: number;
101
+ };
102
+ export declare enum CustomStatusDuration {
103
+ DONT_CLEAR = "",
104
+ THIRTY_MINUTES = "thirty_minutes",
105
+ ONE_HOUR = "one_hour",
106
+ FOUR_HOURS = "four_hours",
107
+ TODAY = "today",
108
+ THIS_WEEK = "this_week",
109
+ DATE_AND_TIME = "date_and_time",
110
+ CUSTOM_DATE_TIME = "custom_date_time"
111
+ }
112
+ export type UserCustomStatus = {
113
+ emoji: string;
114
+ text: string;
115
+ duration: CustomStatusDuration;
116
+ expires_at?: string;
117
+ };
118
+ export type UserAccessToken = {
119
+ id: string;
120
+ token?: string;
121
+ user_id: string;
122
+ description: string;
123
+ is_active: boolean;
124
+ };
125
+ export type UsersStats = {
126
+ total_users_count: number;
127
+ };
128
+ export type GetFilteredUsersStatsOpts = {
129
+ in_team?: string;
130
+ in_channel?: string;
131
+ include_deleted?: boolean;
132
+ include_bots?: boolean;
133
+ include_remote_users?: boolean;
134
+ roles?: string[];
135
+ channel_roles?: string[];
136
+ team_roles?: string[];
137
+ };
138
+ export type AuthChangeResponse = {
139
+ follow_link: string;
140
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mattermost/types",
3
- "version": "11.1.0-0",
3
+ "version": "11.1.0-1",
4
4
  "description": "Shared type definitions used by the Mattermost web app",
5
5
  "keywords": [
6
6
  "mattermost"