mattermost-redux
Version:
Common code (API client, Redux stores, logic, utility functions) for building a Mattermost client
86 lines (83 loc) • 2.61 kB
text/typescript
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import {AdminState} from './admin';
import {Bot} from './bots';
import {ChannelsState} from './channels';
import {ChannelCategoriesState} from './channel_categories';
import {CloudState} from './cloud';
import {EmojisState} from './emojis';
import {FilesState} from './files';
import {GeneralState} from './general';
import {GroupsState} from './groups';
import {IntegrationsState} from './integrations';
import {JobsState} from './jobs';
import {PostsState} from './posts';
import {PreferenceType} from './preferences';
import {
AdminRequestsStatuses, ChannelsRequestsStatuses,
FilesRequestsStatuses, GeneralRequestsStatuses,
JobsRequestsStatuses, PostsRequestsStatuses,
RolesRequestsStatuses, TeamsRequestsStatuses,
UsersRequestsStatuses,
} from './requests';
import {Role} from './roles';
import {SchemesState} from './schemes';
import {SearchState} from './search';
import {TeamsState} from './teams';
import {ThreadsState} from './threads';
import {Typing} from './typing';
import {UsersState} from './users';
import {Dictionary} from './utilities';
export type GlobalState = {
entities: {
general: GeneralState;
users: UsersState;
teams: TeamsState;
channels: ChannelsState;
posts: PostsState;
threads: ThreadsState;
bots: {
accounts: Dictionary<Bot>;
};
preferences: {
myPreferences: {
[x: string]: PreferenceType;
};
};
admin: AdminState;
jobs: JobsState;
search: SearchState;
integrations: IntegrationsState;
files: FilesState;
emojis: EmojisState;
typing: Typing;
roles: {
roles: {
[x: string]: Role;
};
pending: Set<string>;
};
schemes: SchemesState;
gifs: any;
groups: GroupsState;
channelCategories: ChannelCategoriesState;
cloud: CloudState;
};
errors: any[];
requests: {
channels: ChannelsRequestsStatuses;
general: GeneralRequestsStatuses;
posts: PostsRequestsStatuses;
teams: TeamsRequestsStatuses;
users: UsersRequestsStatuses;
admin: AdminRequestsStatuses;
files: FilesRequestsStatuses;
roles: RolesRequestsStatuses;
jobs: JobsRequestsStatuses;
};
websocket: {
connected: boolean;
lastConnectAt: number;
lastDisconnectAt: number;
};
};