* Android and iOS requirements * external types * babel config for calls, package.json for calls dependencies * state in rxJS; tests * actions, client/rest, websocket events, constants * webrtc connection logic * calls components / screens * handle peer destroyed gracefully * PR comments * remove ViewPropTypes from mocks; no need to ignore error in LogBox * calls.d.ts -> calls.ts; i18-extract * @app/products/calls -> @calls * PR comments; test cleanup * Revert "remove ViewPropTypes from mocks; no need to ignore error in LogBox" This reverts commit f9bd171a544de9c02da8387455f904b3840fc5dc. * working on typing withServerUrl * added exportedForInternalUse instead of commenting "internal export" * better switchToThread in call_screen * i18n * typed withServerUrl
70 lines
2.3 KiB
TypeScript
70 lines
2.3 KiB
TypeScript
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
import ClientCalls, {ClientCallsMix} from '@calls/client/rest';
|
|
import ClientPlugins, {ClientPluginsMix} from '@client/rest/plugins';
|
|
import mix from '@utils/mix';
|
|
|
|
import ClientApps, {ClientAppsMix} from './apps';
|
|
import ClientBase from './base';
|
|
import ClientCategories, {ClientCategoriesMix} from './categories';
|
|
import ClientChannels, {ClientChannelsMix} from './channels';
|
|
import {DEFAULT_LIMIT_AFTER, DEFAULT_LIMIT_BEFORE, HEADER_X_VERSION_ID} from './constants';
|
|
import ClientEmojis, {ClientEmojisMix} from './emojis';
|
|
import ClientFiles, {ClientFilesMix} from './files';
|
|
import ClientGeneral, {ClientGeneralMix} from './general';
|
|
import ClientGroups, {ClientGroupsMix} from './groups';
|
|
import ClientIntegrations, {ClientIntegrationsMix} from './integrations';
|
|
import ClientPosts, {ClientPostsMix} from './posts';
|
|
import ClientPreferences, {ClientPreferencesMix} from './preferences';
|
|
import ClientTeams, {ClientTeamsMix} from './teams';
|
|
import ClientThreads, {ClientThreadsMix} from './threads';
|
|
import ClientTos, {ClientTosMix} from './tos';
|
|
import ClientUsers, {ClientUsersMix} from './users';
|
|
|
|
import type {APIClientInterface} from '@mattermost/react-native-network-client';
|
|
|
|
interface Client extends ClientBase,
|
|
ClientAppsMix,
|
|
ClientCategoriesMix,
|
|
ClientChannelsMix,
|
|
ClientEmojisMix,
|
|
ClientFilesMix,
|
|
ClientGeneralMix,
|
|
ClientGroupsMix,
|
|
ClientIntegrationsMix,
|
|
ClientPostsMix,
|
|
ClientPreferencesMix,
|
|
ClientTeamsMix,
|
|
ClientThreadsMix,
|
|
ClientTosMix,
|
|
ClientUsersMix,
|
|
ClientCallsMix,
|
|
ClientPluginsMix
|
|
{}
|
|
|
|
class Client extends mix(ClientBase).with(
|
|
ClientApps,
|
|
ClientCategories,
|
|
ClientChannels,
|
|
ClientEmojis,
|
|
ClientFiles,
|
|
ClientGeneral,
|
|
ClientGroups,
|
|
ClientIntegrations,
|
|
ClientPosts,
|
|
ClientPreferences,
|
|
ClientTeams,
|
|
ClientThreads,
|
|
ClientTos,
|
|
ClientUsers,
|
|
ClientCalls,
|
|
ClientPlugins,
|
|
) {
|
|
// eslint-disable-next-line no-useless-constructor
|
|
constructor(apiClient: APIClientInterface, serverUrl: string, bearerToken?: string, csrfToken?: string) {
|
|
super(apiClient, serverUrl, bearerToken, csrfToken);
|
|
}
|
|
}
|
|
|
|
export {Client, DEFAULT_LIMIT_AFTER, DEFAULT_LIMIT_BEFORE, HEADER_X_VERSION_ID};
|