mattermost-redux
Version:
Common code (API client, Redux stores, logic, utility functions) for building a Mattermost client
50 lines (44 loc) • 1.66 kB
text/typescript
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import {Audit} from './audits';
import {Compliance} from './compliance';
import {AdminConfig, EnvironmentConfig} from './config';
import {MixedUnlinkedGroupRedux} from './groups';
import {PluginRedux, PluginStatusRedux} from './plugins';
import {SamlCertificateStatus, SamlMetadataResponse} from './saml';
import {Team} from './teams';
import {UserAccessToken, UserProfile} from './users';
import {Dictionary, RelationOneToOne} from './utilities';
export type ConsoleAccess = {
read: Record<string, boolean>;
write: Record<string, boolean>;
}
export type AdminState = {
logs: string[];
audits: Dictionary<Audit>;
config: Partial<AdminConfig>;
environmentConfig: Partial<EnvironmentConfig>;
complianceReports: Dictionary<Compliance>;
ldapGroups: Dictionary<MixedUnlinkedGroupRedux>;
ldapGroupsCount: number;
userAccessTokens: Dictionary<UserAccessToken>;
clusterInfo: ClusterInfo[];
samlCertStatus?: SamlCertificateStatus;
analytics?: Dictionary<number | AnalyticsRow[]>;
teamAnalytics?: RelationOneToOne<Team, Dictionary<number | AnalyticsRow[]>>;
userAccessTokensByUser?: RelationOneToOne<UserProfile, Dictionary<UserAccessToken>>;
plugins?: Dictionary<PluginRedux>;
pluginStatuses?: Dictionary<PluginStatusRedux>;
samlMetadataResponse?: SamlMetadataResponse;
};
export type ClusterInfo = {
id: string;
version: string;
config_hash: string;
ipaddress: string;
hostname: string;
};
export type AnalyticsRow = {
name: string;
value: number;
};