From 14d6d53cc90dd8d1f8267b445badfdb0eafdc616 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Espino=20Garc=C3=ADa?= Date: Sat, 16 Apr 2022 15:44:11 +0200 Subject: [PATCH] [Gekidou] Move managers (#6171) * Move managers to their own folder * Fix lint * Fix unit tests Co-authored-by: Elias Nahum --- .eslintrc.json | 2 +- app/actions/remote/apps.ts | 2 +- app/actions/remote/category.ts | 2 +- app/actions/remote/channel.ts | 2 +- app/actions/remote/command.ts | 2 +- app/actions/remote/custom_emoji.ts | 2 +- app/actions/remote/entry/common.ts | 2 +- app/actions/remote/entry/login.ts | 2 +- app/actions/remote/file.ts | 2 +- app/actions/remote/general.ts | 2 +- app/actions/remote/groups.ts | 2 +- app/actions/remote/post.ts | 2 +- app/actions/remote/preference.ts | 2 +- app/actions/remote/reactions.ts | 2 +- app/actions/remote/retry.ts | 2 +- app/actions/remote/role.ts | 2 +- app/actions/remote/search.ts | 2 +- app/actions/remote/session.ts | 4 ++-- app/actions/remote/systems.ts | 2 +- app/actions/remote/team.ts | 2 +- app/actions/remote/thread.ts | 2 +- app/actions/remote/user.ts | 2 +- app/actions/websocket/users.ts | 2 +- app/client/rest/base.ts | 2 +- .../app_command_parser/app_command_parser.ts | 2 +- .../app_slash_suggestion/app_slash_suggestion.tsx | 2 +- .../autocomplete/slash_suggestion/slash_suggestion.tsx | 4 ++-- app/components/emoji/index.tsx | 2 +- app/components/post_draft/draft_handler/draft_handler.tsx | 2 +- app/components/post_draft/send_handler/send_handler.tsx | 2 +- app/components/post_draft/uploads/index.tsx | 2 +- app/components/post_draft/uploads/upload_item/index.tsx | 2 +- .../post_draft/uploads/upload_item/upload_remove.tsx | 2 +- app/components/post_list/post/avatar/avatar.tsx | 2 +- app/components/post_list/post/body/files/document_file.tsx | 2 +- app/components/profile_picture/image.tsx | 2 +- .../team_sidebar/team_list/team_item/team_icon.tsx | 2 +- app/init/credentials.ts | 2 +- app/{init => managers}/analytics.ts | 0 app/{init => managers}/draft_upload_manager/index.test.ts | 4 ++-- app/{init => managers}/draft_upload_manager/index.ts | 0 app/{init => managers}/global_event_handler.ts | 6 +++--- app/{init => managers}/integrations_manager.ts | 0 app/{init => managers}/network_manager.ts | 0 app/{init => managers}/websocket_manager.ts | 0 .../channel_post_list/intro/direct_channel/group/group.tsx | 2 +- .../edit_profile/components/edit_profile_picture.tsx | 2 +- .../edit_profile/components/profile_image_picker.tsx | 2 +- app/screens/in_app_notification/icon.tsx | 2 +- app/screens/server/index.tsx | 2 +- app/screens/sso/sso_with_redirect_url.tsx | 2 +- babel.config.js | 1 + tsconfig.json | 1 + 53 files changed, 53 insertions(+), 51 deletions(-) rename app/{init => managers}/analytics.ts (100%) rename app/{init => managers}/draft_upload_manager/index.test.ts (99%) rename app/{init => managers}/draft_upload_manager/index.ts (100%) rename app/{init => managers}/global_event_handler.ts (97%) rename app/{init => managers}/integrations_manager.ts (100%) rename app/{init => managers}/network_manager.ts (100%) rename app/{init => managers}/websocket_manager.ts (100%) diff --git a/.eslintrc.json b/.eslintrc.json index 47c6378d08..c89e2035d0 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -68,7 +68,7 @@ "newlines-between": "always", "pathGroups": [ { - "pattern": "{@(@actions|@app|@assets|@client|@components|@constants|@context|@database|@helpers|@hooks|@init|@queries|@screens|@selectors|@share|@store|@telemetry|@typings|@test|@utils)/**,@(@constants|@i18n|@notifications|@store|@websocket)}", + "pattern": "{@(@actions|@app|@assets|@client|@components|@constants|@context|@database|@helpers|@hooks|@init|@managers|@queries|@screens|@selectors|@share|@store|@telemetry|@typings|@test|@utils)/**,@(@constants|@i18n|@notifications|@store|@websocket)}", "group": "external", "position": "after" }, diff --git a/app/actions/remote/apps.ts b/app/actions/remote/apps.ts index 9168243c07..ccd5af144f 100644 --- a/app/actions/remote/apps.ts +++ b/app/actions/remote/apps.ts @@ -8,7 +8,7 @@ import ClientError from '@client/rest/error'; import CompassIcon from '@components/compass_icon'; import {Screens} from '@constants'; import {AppCallResponseTypes, AppCallTypes} from '@constants/apps'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {showModal} from '@screens/navigation'; import EphemeralStore from '@store/ephemeral_store'; import {makeCallErrorResponse} from '@utils/apps'; diff --git a/app/actions/remote/category.ts b/app/actions/remote/category.ts index 47e24b3f0c..f1a5869f08 100644 --- a/app/actions/remote/category.ts +++ b/app/actions/remote/category.ts @@ -2,7 +2,7 @@ // See LICENSE.txt for license information. import {storeCategories} from '@actions/local/category'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {forceLogoutIfNecessary} from './session'; diff --git a/app/actions/remote/channel.ts b/app/actions/remote/channel.ts index 9f07ca7dc4..467d76843a 100644 --- a/app/actions/remote/channel.ts +++ b/app/actions/remote/channel.ts @@ -11,7 +11,7 @@ import {General, Preferences} from '@constants'; import DatabaseManager from '@database/manager'; import {privateChannelJoinPrompt} from '@helpers/api/channel'; import {getTeammateNameDisplaySetting} from '@helpers/api/preference'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {prepareMyChannelsForTeam, getChannelById, getChannelByName, getMyChannel, getChannelInfo} from '@queries/servers/channel'; import {queryPreferencesByCategoryAndName} from '@queries/servers/preference'; import {getCommonSystemValues, getCurrentTeamId, getCurrentUserId} from '@queries/servers/system'; diff --git a/app/actions/remote/command.ts b/app/actions/remote/command.ts index 5019d5ee5e..7368da48b0 100644 --- a/app/actions/remote/command.ts +++ b/app/actions/remote/command.ts @@ -9,7 +9,7 @@ import {Client} from '@client/rest'; import {SYSTEM_IDENTIFIERS} from '@constants/database'; import DeepLinkTypes from '@constants/deep_linking'; import DatabaseManager from '@database/manager'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {getChannelById} from '@queries/servers/channel'; import {getConfig, getCurrentTeamId} from '@queries/servers/system'; import {getTeammateNameDisplay, queryUsersByUsername} from '@queries/servers/user'; diff --git a/app/actions/remote/custom_emoji.ts b/app/actions/remote/custom_emoji.ts index b713ccf0f3..8f407ec03e 100644 --- a/app/actions/remote/custom_emoji.ts +++ b/app/actions/remote/custom_emoji.ts @@ -5,7 +5,7 @@ import {forceLogoutIfNecessary} from '@actions/remote/session'; import {Client} from '@client/rest'; import {Emoji, General} from '@constants'; import DatabaseManager from '@database/manager'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {queryCustomEmojisByName} from '@queries/servers/custom_emoji'; export const fetchCustomEmojis = async (serverUrl: string, page = 0, perPage = General.PAGE_SIZE_DEFAULT, sort = Emoji.SORT_BY_NAME) => { diff --git a/app/actions/remote/entry/common.ts b/app/actions/remote/entry/common.ts index f3b34e0f5e..e74d57895f 100644 --- a/app/actions/remote/entry/common.ts +++ b/app/actions/remote/entry/common.ts @@ -12,7 +12,7 @@ import DatabaseManager from '@database/manager'; import {getPreferenceValue, getTeammateNameDisplaySetting} from '@helpers/api/preference'; import {selectDefaultTeam} from '@helpers/api/team'; import {DEFAULT_LOCALE} from '@i18n'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {queryAllServers} from '@queries/app/servers'; import {queryAllChannelsForTeam} from '@queries/servers/channel'; import {getConfig} from '@queries/servers/system'; diff --git a/app/actions/remote/entry/login.ts b/app/actions/remote/entry/login.ts index ece0c63bdd..700caf8803 100644 --- a/app/actions/remote/entry/login.ts +++ b/app/actions/remote/entry/login.ts @@ -11,7 +11,7 @@ import {Preferences} from '@constants'; import DatabaseManager from '@database/manager'; import {getPreferenceValue} from '@helpers/api/preference'; import {selectDefaultTeam} from '@helpers/api/team'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {prepareModels} from '@queries/servers/entry'; import {prepareCommonSystemValues} from '@queries/servers/system'; import {addChannelToTeamHistory, addTeamToTeamHistory} from '@queries/servers/team'; diff --git a/app/actions/remote/file.ts b/app/actions/remote/file.ts index 19a97b7ecf..feae6f6691 100644 --- a/app/actions/remote/file.ts +++ b/app/actions/remote/file.ts @@ -6,7 +6,7 @@ import {ClientResponse, ClientResponseError} from '@mattermost/react-native-netw import {Client} from '@client/rest'; import ClientError from '@client/rest/error'; import {DOWNLOAD_TIMEOUT} from '@constants/network'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {forceLogoutIfNecessary} from './session'; diff --git a/app/actions/remote/general.ts b/app/actions/remote/general.ts index ac969ed51b..d9acf9be77 100644 --- a/app/actions/remote/general.ts +++ b/app/actions/remote/general.ts @@ -4,7 +4,7 @@ import {SYSTEM_IDENTIFIERS} from '@constants/database'; import DatabaseManager from '@database/manager'; import {t} from '@i18n'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {getExpandedLinks} from '@queries/servers/system'; import {forceLogoutIfNecessary} from './session'; diff --git a/app/actions/remote/groups.ts b/app/actions/remote/groups.ts index 6705933d81..508eaa1cff 100644 --- a/app/actions/remote/groups.ts +++ b/app/actions/remote/groups.ts @@ -2,7 +2,7 @@ // See LICENSE.txt for license information. import {Client} from '@client/rest'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; export const getGroupsForAutocomplete = async (serverUrl: string, channelId: string) => { let client: Client; diff --git a/app/actions/remote/post.ts b/app/actions/remote/post.ts index bb0a74fe21..795b40dc1f 100644 --- a/app/actions/remote/post.ts +++ b/app/actions/remote/post.ts @@ -16,7 +16,7 @@ import DatabaseManager from '@database/manager'; import {filterPostsInOrderedArray} from '@helpers/api/post'; import {getNeededAtMentionedUsernames} from '@helpers/api/user'; import {extractRecordsForTable} from '@helpers/database'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {prepareMissingChannelsForAllTeams, queryAllMyChannel} from '@queries/servers/channel'; import {queryAllCustomEmojis} from '@queries/servers/custom_emoji'; import {getPostById, getRecentPostsInChannel} from '@queries/servers/post'; diff --git a/app/actions/remote/preference.ts b/app/actions/remote/preference.ts index f30d160f9f..725558e131 100644 --- a/app/actions/remote/preference.ts +++ b/app/actions/remote/preference.ts @@ -3,7 +3,7 @@ import {Preferences} from '@constants'; import DatabaseManager from '@database/manager'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {queryPreferencesByCategoryAndName} from '@queries/servers/preference'; import {getCurrentUserId} from '@queries/servers/system'; diff --git a/app/actions/remote/reactions.ts b/app/actions/remote/reactions.ts index 1d95b88863..0684b7de51 100644 --- a/app/actions/remote/reactions.ts +++ b/app/actions/remote/reactions.ts @@ -5,7 +5,7 @@ import {Model} from '@nozbe/watermelondb'; import {addRecentReaction} from '@actions/local/reactions'; import DatabaseManager from '@database/manager'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {getRecentPostsInChannel, getRecentPostsInThread} from '@queries/servers/post'; import {queryReaction} from '@queries/servers/reaction'; import {getCurrentChannelId, getCurrentUserId} from '@queries/servers/system'; diff --git a/app/actions/remote/retry.ts b/app/actions/remote/retry.ts index df04b6f418..1cf7538591 100644 --- a/app/actions/remote/retry.ts +++ b/app/actions/remote/retry.ts @@ -5,7 +5,7 @@ import {Preferences} from '@constants'; import DatabaseManager from '@database/manager'; import {getPreferenceValue, getTeammateNameDisplaySetting} from '@helpers/api/preference'; import {selectDefaultTeam} from '@helpers/api/team'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {prepareCategories, prepareCategoryChannels} from '@queries/servers/categories'; import {prepareMyChannelsForTeam} from '@queries/servers/channel'; import {prepareMyPreferences, queryPreferencesByCategoryAndName} from '@queries/servers/preference'; diff --git a/app/actions/remote/role.ts b/app/actions/remote/role.ts index 8a903a6dc5..63d8bdf369 100644 --- a/app/actions/remote/role.ts +++ b/app/actions/remote/role.ts @@ -2,7 +2,7 @@ // See LICENSE.txt for license information. import DatabaseManager from '@database/manager'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {queryRoles} from '@queries/servers/role'; import {forceLogoutIfNecessary} from './session'; diff --git a/app/actions/remote/search.ts b/app/actions/remote/search.ts index 70e7c8fb1d..2a3c9e3648 100644 --- a/app/actions/remote/search.ts +++ b/app/actions/remote/search.ts @@ -3,7 +3,7 @@ import {SYSTEM_IDENTIFIERS} from '@constants/database'; import DatabaseManager from '@database/manager'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {prepareMissingChannelsForAllTeams} from '@queries/servers/channel'; import {getCurrentUser} from '@queries/servers/user'; import {processPostsFetched} from '@utils/post'; diff --git a/app/actions/remote/session.ts b/app/actions/remote/session.ts index 5d8116e88e..7ae70b6641 100644 --- a/app/actions/remote/session.ts +++ b/app/actions/remote/session.ts @@ -8,8 +8,8 @@ import {Database, Events} from '@constants'; import {SYSTEM_IDENTIFIERS} from '@constants/database'; import DatabaseManager from '@database/manager'; import {getServerCredentials} from '@init/credentials'; -import NetworkManager from '@init/network_manager'; -import WebsocketManager from '@init/websocket_manager'; +import NetworkManager from '@managers/network_manager'; +import WebsocketManager from '@managers/websocket_manager'; import {queryDeviceToken} from '@queries/app/global'; import {getCurrentUserId, getCommonSystemValues} from '@queries/servers/system'; import {getCSRFFromCookie} from '@utils/security'; diff --git a/app/actions/remote/systems.ts b/app/actions/remote/systems.ts index 0b3dada704..2a1cf5f5de 100644 --- a/app/actions/remote/systems.ts +++ b/app/actions/remote/systems.ts @@ -8,7 +8,7 @@ import {forceLogoutIfNecessary} from '@actions/remote/session'; import {SYSTEM_IDENTIFIERS} from '@constants/database'; import DatabaseManager from '@database/manager'; import {getServerCredentials} from '@init/credentials'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {getCommonSystemValues} from '@queries/servers/system'; import type ClientError from '@client/rest/error'; diff --git a/app/actions/remote/team.ts b/app/actions/remote/team.ts index 7c50027c6e..94dc000740 100644 --- a/app/actions/remote/team.ts +++ b/app/actions/remote/team.ts @@ -7,7 +7,7 @@ import {DeviceEventEmitter} from 'react-native'; import {removeUserFromTeam as localRemoveUserFromTeam} from '@actions/local/team'; import {Events} from '@constants'; import DatabaseManager from '@database/manager'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {prepareCategories, prepareCategoryChannels} from '@queries/servers/categories'; import {prepareMyChannelsForTeam, getDefaultChannelForTeam} from '@queries/servers/channel'; import {prepareCommonSystemValues, getCurrentTeamId, getWebSocketLastDisconnected} from '@queries/servers/system'; diff --git a/app/actions/remote/thread.ts b/app/actions/remote/thread.ts index c12ae4e398..78a61abcce 100644 --- a/app/actions/remote/thread.ts +++ b/app/actions/remote/thread.ts @@ -5,7 +5,7 @@ import {markTeamThreadsAsRead, processReceivedThreads, switchToThread, updateThr import {fetchPostThread} from '@actions/remote/post'; import {General} from '@constants'; import DatabaseManager from '@database/manager'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {getChannelById} from '@queries/servers/channel'; import {getPostById} from '@queries/servers/post'; import {getCommonSystemValues} from '@queries/servers/system'; diff --git a/app/actions/remote/user.ts b/app/actions/remote/user.ts index f7269f61ab..574420373f 100644 --- a/app/actions/remote/user.ts +++ b/app/actions/remote/user.ts @@ -13,7 +13,7 @@ import {fetchRolesIfNeeded} from '@actions/remote/role'; import {General} from '@constants'; import DatabaseManager from '@database/manager'; import {debounce} from '@helpers/api/general'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {getMembersCountByChannelsId, queryChannelsByTypes} from '@queries/servers/channel'; import {getCurrentTeamId, getCurrentUserId} from '@queries/servers/system'; import {getCurrentUser, getUserById, prepareUsers, queryAllUsers, queryUsersById, queryUsersByUsername} from '@queries/servers/user'; diff --git a/app/actions/websocket/users.ts b/app/actions/websocket/users.ts index 0ff5f2f3ae..2914620931 100644 --- a/app/actions/websocket/users.ts +++ b/app/actions/websocket/users.ts @@ -9,7 +9,7 @@ import {fetchMe, fetchUsersByIds} from '@actions/remote/user'; import {General, Events, Preferences} from '@constants'; import DatabaseManager from '@database/manager'; import {getTeammateNameDisplaySetting} from '@helpers/api/preference'; -import WebsocketManager from '@init/websocket_manager'; +import WebsocketManager from '@managers/websocket_manager'; import {queryChannelsByTypes, queryUserChannelsByTypes} from '@queries/servers/channel'; import {queryPreferencesByCategoryAndName} from '@queries/servers/preference'; import {getCommonSystemValues} from '@queries/servers/system'; diff --git a/app/client/rest/base.ts b/app/client/rest/base.ts index 39ff759771..079c0178ed 100644 --- a/app/client/rest/base.ts +++ b/app/client/rest/base.ts @@ -5,8 +5,8 @@ import {DeviceEventEmitter} from 'react-native'; import {Events} from '@constants'; import {t} from '@i18n'; -import {Analytics, create} from '@init/analytics'; import {setServerCredentials} from '@init/credentials'; +import {Analytics, create} from '@managers/analytics'; import {semverFromServerVersion} from '@utils/server'; import * as ClientConstants from './constants'; diff --git a/app/components/autocomplete/slash_suggestion/app_command_parser/app_command_parser.ts b/app/components/autocomplete/slash_suggestion/app_command_parser/app_command_parser.ts index 4f69940b7a..2d99214ea9 100644 --- a/app/components/autocomplete/slash_suggestion/app_command_parser/app_command_parser.ts +++ b/app/components/autocomplete/slash_suggestion/app_command_parser/app_command_parser.ts @@ -9,7 +9,7 @@ import {fetchChannelById, fetchChannelByName, searchChannels} from '@actions/rem import {fetchUsersByIds, fetchUsersByUsernames, searchUsers} from '@actions/remote/user'; import {AppCallResponseTypes, AppCallTypes, AppFieldTypes, COMMAND_SUGGESTION_ERROR} from '@constants/apps'; import DatabaseManager from '@database/manager'; -import IntegrationsManager from '@init/integrations_manager'; +import IntegrationsManager from '@managers/integrations_manager'; import {getChannelById, queryChannelsByNames} from '@queries/servers/channel'; import {getCurrentTeamId} from '@queries/servers/system'; import {getUserById, queryUsersByUsername} from '@queries/servers/user'; diff --git a/app/components/autocomplete/slash_suggestion/app_slash_suggestion/app_slash_suggestion.tsx b/app/components/autocomplete/slash_suggestion/app_slash_suggestion/app_slash_suggestion.tsx index be7a6c902c..ab1b45fc90 100644 --- a/app/components/autocomplete/slash_suggestion/app_slash_suggestion/app_slash_suggestion.tsx +++ b/app/components/autocomplete/slash_suggestion/app_slash_suggestion/app_slash_suggestion.tsx @@ -11,7 +11,7 @@ import ChannelMentionItem from '@components/autocomplete/channel_mention_item'; import {COMMAND_SUGGESTION_CHANNEL, COMMAND_SUGGESTION_USER} from '@constants/apps'; import {useServerUrl} from '@context/server'; import {useTheme} from '@context/theme'; -import analytics from '@init/analytics'; +import analytics from '@managers/analytics'; import ChannelModel from '@typings/database/models/servers/channel'; import UserModel from '@typings/database/models/servers/user'; import {makeStyleSheetFromTheme} from '@utils/theme'; diff --git a/app/components/autocomplete/slash_suggestion/slash_suggestion.tsx b/app/components/autocomplete/slash_suggestion/slash_suggestion.tsx index 18960b21e0..d6d466984e 100644 --- a/app/components/autocomplete/slash_suggestion/slash_suggestion.tsx +++ b/app/components/autocomplete/slash_suggestion/slash_suggestion.tsx @@ -12,8 +12,8 @@ import { import {fetchSuggestions} from '@actions/remote/command'; import {useServerUrl} from '@context/server'; import {useTheme} from '@context/theme'; -import analytics from '@init/analytics'; -import IntegrationsManager from '@init/integrations_manager'; +import analytics from '@managers/analytics'; +import IntegrationsManager from '@managers/integrations_manager'; import {makeStyleSheetFromTheme} from '@utils/theme'; import {AppCommandParser} from './app_command_parser/app_command_parser'; diff --git a/app/components/emoji/index.tsx b/app/components/emoji/index.tsx index d97a2d87c5..a13983e5d7 100644 --- a/app/components/emoji/index.tsx +++ b/app/components/emoji/index.tsx @@ -16,7 +16,7 @@ import {of as of$} from 'rxjs'; import {switchMap} from 'rxjs/operators'; import {useServerUrl} from '@context/server'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {queryCustomEmojisByName} from '@queries/servers/custom_emoji'; import {observeConfigBooleanValue} from '@queries/servers/system'; import {EmojiIndicesByAlias, Emojis} from '@utils/emoji'; diff --git a/app/components/post_draft/draft_handler/draft_handler.tsx b/app/components/post_draft/draft_handler/draft_handler.tsx index 1a024e06f8..b74b230caa 100644 --- a/app/components/post_draft/draft_handler/draft_handler.tsx +++ b/app/components/post_draft/draft_handler/draft_handler.tsx @@ -6,7 +6,7 @@ import {useIntl} from 'react-intl'; import {addFilesToDraft, removeDraft} from '@actions/local/draft'; import {useServerUrl} from '@context/server'; -import DraftUploadManager from '@init/draft_upload_manager'; +import DraftUploadManager from '@managers/draft_upload_manager'; import {fileMaxWarning, fileSizeWarning, uploadDisabledWarning} from '@utils/file'; import SendHandler from '../send_handler'; diff --git a/app/components/post_draft/send_handler/send_handler.tsx b/app/components/post_draft/send_handler/send_handler.tsx index 765427ed09..2214ffa9c2 100644 --- a/app/components/post_draft/send_handler/send_handler.tsx +++ b/app/components/post_draft/send_handler/send_handler.tsx @@ -13,7 +13,7 @@ import {setStatus} from '@actions/remote/user'; import {Events, Screens} from '@constants'; import {NOTIFY_ALL_MEMBERS} from '@constants/post_draft'; import {useServerUrl} from '@context/server'; -import DraftUploadManager from '@init/draft_upload_manager'; +import DraftUploadManager from '@managers/draft_upload_manager'; import * as DraftUtils from '@utils/draft'; import {isReactionMatch} from '@utils/emoji/helpers'; import {preventDoubleTap} from '@utils/tap'; diff --git a/app/components/post_draft/uploads/index.tsx b/app/components/post_draft/uploads/index.tsx index 6d7f07efb0..7c96dcc105 100644 --- a/app/components/post_draft/uploads/index.tsx +++ b/app/components/post_draft/uploads/index.tsx @@ -12,7 +12,7 @@ import Animated, {useAnimatedStyle, useSharedValue, withTiming} from 'react-nati import {GalleryInit} from '@context/gallery'; import {useTheme} from '@context/theme'; -import DraftUploadManager from '@init/draft_upload_manager'; +import DraftUploadManager from '@managers/draft_upload_manager'; import {fileToGalleryItem, openGalleryAtIndex} from '@utils/gallery'; import {makeStyleSheetFromTheme} from '@utils/theme'; diff --git a/app/components/post_draft/uploads/upload_item/index.tsx b/app/components/post_draft/uploads/upload_item/index.tsx index 34041a0751..ba9e9e2543 100644 --- a/app/components/post_draft/uploads/upload_item/index.tsx +++ b/app/components/post_draft/uploads/upload_item/index.tsx @@ -13,7 +13,7 @@ import {useServerUrl} from '@context/server'; import {useTheme} from '@context/theme'; import useDidUpdate from '@hooks/did_update'; import {useGalleryItem} from '@hooks/gallery'; -import DraftUploadManager from '@init/draft_upload_manager'; +import DraftUploadManager from '@managers/draft_upload_manager'; import {isImage} from '@utils/file'; import {changeOpacity} from '@utils/theme'; diff --git a/app/components/post_draft/uploads/upload_item/upload_remove.tsx b/app/components/post_draft/uploads/upload_item/upload_remove.tsx index b3c836c0bf..8d64321a7b 100644 --- a/app/components/post_draft/uploads/upload_item/upload_remove.tsx +++ b/app/components/post_draft/uploads/upload_item/upload_remove.tsx @@ -9,7 +9,7 @@ import CompassIcon from '@components/compass_icon'; import TouchableWithFeedback from '@components/touchable_with_feedback'; import {useServerUrl} from '@context/server'; import {useTheme} from '@context/theme'; -import DraftUploadManager from '@init/draft_upload_manager'; +import DraftUploadManager from '@managers/draft_upload_manager'; import {makeStyleSheetFromTheme, changeOpacity} from '@utils/theme'; type Props = { diff --git a/app/components/post_list/post/avatar/avatar.tsx b/app/components/post_list/post/avatar/avatar.tsx index 6f6417d31f..910716a59c 100644 --- a/app/components/post_list/post/avatar/avatar.tsx +++ b/app/components/post_list/post/avatar/avatar.tsx @@ -11,7 +11,7 @@ import ProfilePicture from '@components/profile_picture'; import {View as ViewConstant} from '@constants'; import {useServerUrl} from '@context/server'; import {useTheme} from '@context/theme'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {showModal} from '@screens/navigation'; import {preventDoubleTap} from '@utils/tap'; diff --git a/app/components/post_list/post/body/files/document_file.tsx b/app/components/post_list/post/body/files/document_file.tsx index a77acefc42..f098653497 100644 --- a/app/components/post_list/post/body/files/document_file.tsx +++ b/app/components/post_list/post/body/files/document_file.tsx @@ -12,7 +12,7 @@ import tinyColor from 'tinycolor2'; import ProgressBar from '@components/progress_bar'; import {DOWNLOAD_TIMEOUT} from '@constants/network'; import {useServerUrl} from '@context/server'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {alertDownloadDocumentDisabled, alertDownloadFailed, alertFailedToOpenDocument} from '@utils/document'; import {fileExists, getLocalFilePathFromFile} from '@utils/file'; import {emptyFunction} from '@utils/general'; diff --git a/app/components/profile_picture/image.tsx b/app/components/profile_picture/image.tsx index cc9362bbe3..2750e234aa 100644 --- a/app/components/profile_picture/image.tsx +++ b/app/components/profile_picture/image.tsx @@ -8,7 +8,7 @@ import CompassIcon from '@components/compass_icon'; import {ACCOUNT_OUTLINE_IMAGE} from '@constants/profile'; import {useServerUrl} from '@context/server'; import {useTheme} from '@context/theme'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {changeOpacity, makeStyleSheetFromTheme} from '@utils/theme'; import type {Client} from '@client/rest'; diff --git a/app/components/team_sidebar/team_list/team_item/team_icon.tsx b/app/components/team_sidebar/team_list/team_item/team_icon.tsx index a5aa0df2a3..05cf951996 100644 --- a/app/components/team_sidebar/team_list/team_item/team_icon.tsx +++ b/app/components/team_sidebar/team_list/team_item/team_icon.tsx @@ -7,7 +7,7 @@ import FastImage from 'react-native-fast-image'; import {useServerUrl} from '@context/server'; import {useTheme} from '@context/theme'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {makeStyleSheetFromTheme} from '@utils/theme'; type Props = { diff --git a/app/init/credentials.ts b/app/init/credentials.ts index 2a7506f28c..dd0645f1b0 100644 --- a/app/init/credentials.ts +++ b/app/init/credentials.ts @@ -5,7 +5,7 @@ import {Platform} from 'react-native'; import * as KeyChain from 'react-native-keychain'; import DatabaseManager from '@database/manager'; -import * as analytics from '@init/analytics'; +import * as analytics from '@managers/analytics'; import {getIOSAppGroupDetails} from '@utils/mattermost_managed'; import type {ServerCredential} from '@typings/credentials'; diff --git a/app/init/analytics.ts b/app/managers/analytics.ts similarity index 100% rename from app/init/analytics.ts rename to app/managers/analytics.ts diff --git a/app/init/draft_upload_manager/index.test.ts b/app/managers/draft_upload_manager/index.test.ts similarity index 99% rename from app/init/draft_upload_manager/index.test.ts rename to app/managers/draft_upload_manager/index.test.ts index 8a712db4c0..686ba1de14 100644 --- a/app/init/draft_upload_manager/index.test.ts +++ b/app/managers/draft_upload_manager/index.test.ts @@ -18,8 +18,8 @@ const {DraftUploadManager} = exportedForTesting; const url = 'baseHandler.test.com'; const mockClient = TestHelper.createClient(); -jest.mock('@init/network_manager', () => { - const original = jest.requireActual('@init/network_manager'); +jest.mock('@managers/network_manager', () => { + const original = jest.requireActual('@managers/network_manager'); return { ...original, getClient: (serverUrl: string) => { diff --git a/app/init/draft_upload_manager/index.ts b/app/managers/draft_upload_manager/index.ts similarity index 100% rename from app/init/draft_upload_manager/index.ts rename to app/managers/draft_upload_manager/index.ts diff --git a/app/init/global_event_handler.ts b/app/managers/global_event_handler.ts similarity index 97% rename from app/init/global_event_handler.ts rename to app/managers/global_event_handler.ts index 6fc39ea408..692fa23e6d 100644 --- a/app/init/global_event_handler.ts +++ b/app/managers/global_event_handler.ts @@ -10,12 +10,12 @@ import LocalConfig from '@assets/config.json'; import {Events, Sso} from '@constants'; import DatabaseManager from '@database/manager'; import {DEFAULT_LOCALE, getTranslations, resetMomentLocale, t} from '@i18n'; -import * as analytics from '@init/analytics'; import {getServerCredentials, removeServerCredentials} from '@init/credentials'; import {getLaunchPropsFromDeepLink, relaunchApp} from '@init/launch'; -import NetworkManager from '@init/network_manager'; import PushNotifications from '@init/push_notifications'; -import WebsocketManager from '@init/websocket_manager'; +import * as analytics from '@managers/analytics'; +import NetworkManager from '@managers/network_manager'; +import WebsocketManager from '@managers/websocket_manager'; import {getCurrentUser} from '@queries/servers/user'; import EphemeralStore from '@store/ephemeral_store'; import {LaunchType} from '@typings/launch'; diff --git a/app/init/integrations_manager.ts b/app/managers/integrations_manager.ts similarity index 100% rename from app/init/integrations_manager.ts rename to app/managers/integrations_manager.ts diff --git a/app/init/network_manager.ts b/app/managers/network_manager.ts similarity index 100% rename from app/init/network_manager.ts rename to app/managers/network_manager.ts diff --git a/app/init/websocket_manager.ts b/app/managers/websocket_manager.ts similarity index 100% rename from app/init/websocket_manager.ts rename to app/managers/websocket_manager.ts diff --git a/app/screens/channel/channel_post_list/intro/direct_channel/group/group.tsx b/app/screens/channel/channel_post_list/intro/direct_channel/group/group.tsx index cb37ac5638..d4190d3ae7 100644 --- a/app/screens/channel/channel_post_list/intro/direct_channel/group/group.tsx +++ b/app/screens/channel/channel_post_list/intro/direct_channel/group/group.tsx @@ -7,7 +7,7 @@ import {View} from 'react-native'; import FastImage from 'react-native-fast-image'; import {useServerUrl} from '@context/server'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {makeStyleSheetFromTheme} from '@utils/theme'; import type {Client} from '@client/rest'; diff --git a/app/screens/edit_profile/components/edit_profile_picture.tsx b/app/screens/edit_profile/components/edit_profile_picture.tsx index 2e028784f0..1daef07acd 100644 --- a/app/screens/edit_profile/components/edit_profile_picture.tsx +++ b/app/screens/edit_profile/components/edit_profile_picture.tsx @@ -10,7 +10,7 @@ import {ACCOUNT_OUTLINE_IMAGE} from '@constants/profile'; import {useServerUrl} from '@context/server'; import {useTheme} from '@context/theme'; import useDidUpdate from '@hooks/did_update'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {dismissBottomSheet} from '@screens/navigation'; import {changeOpacity, makeStyleSheetFromTheme} from '@utils/theme'; diff --git a/app/screens/edit_profile/components/profile_image_picker.tsx b/app/screens/edit_profile/components/profile_image_picker.tsx index b0914cc309..63ed9be593 100644 --- a/app/screens/edit_profile/components/profile_image_picker.tsx +++ b/app/screens/edit_profile/components/profile_image_picker.tsx @@ -10,7 +10,7 @@ import {Client} from '@client/rest'; import CompassIcon from '@components/compass_icon'; import {useServerUrl} from '@context/server'; import {useTheme} from '@context/theme'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import PanelItem from '@screens/edit_profile/components/panel_item'; import {bottomSheet} from '@screens/navigation'; import PickerUtil from '@utils/file/file_picker'; diff --git a/app/screens/in_app_notification/icon.tsx b/app/screens/in_app_notification/icon.tsx index d5c61e1a36..ceac5a03e5 100644 --- a/app/screens/in_app_notification/icon.tsx +++ b/app/screens/in_app_notification/icon.tsx @@ -9,7 +9,7 @@ import {of as of$} from 'rxjs'; import {switchMap} from 'rxjs/operators'; import CompassIcon from '@components/compass_icon'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {observeConfig} from '@queries/servers/system'; import {observeUser} from '@queries/servers/user'; import {WithDatabaseArgs} from '@typings/database/database'; diff --git a/app/screens/server/index.tsx b/app/screens/server/index.tsx index 639b0eac8b..a149744096 100644 --- a/app/screens/server/index.tsx +++ b/app/screens/server/index.tsx @@ -18,7 +18,7 @@ import AppVersion from '@components/app_version'; import {Screens, Sso} from '@constants'; import DatabaseManager from '@database/manager'; import {t} from '@i18n'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {queryServerByDisplayName, queryServerByIdentifier} from '@queries/app/servers'; import Background from '@screens/background'; import {dismissModal, goToScreen, loginAnimationOptions} from '@screens/navigation'; diff --git a/app/screens/sso/sso_with_redirect_url.tsx b/app/screens/sso/sso_with_redirect_url.tsx index 7d11ed35bd..3dfe53b641 100644 --- a/app/screens/sso/sso_with_redirect_url.tsx +++ b/app/screens/sso/sso_with_redirect_url.tsx @@ -12,7 +12,7 @@ import urlParse from 'url-parse'; import FormattedText from '@components/formatted_text'; import {Sso} from '@constants'; -import NetworkManager from '@init/network_manager'; +import NetworkManager from '@managers/network_manager'; import {buttonBackgroundStyle, buttonTextStyle} from '@utils/buttonStyles'; import {changeOpacity, makeStyleSheetFromTheme} from '@utils/theme'; import {typography} from '@utils/typography'; diff --git a/babel.config.js b/babel.config.js index d74953cda3..13d961d0f2 100644 --- a/babel.config.js +++ b/babel.config.js @@ -32,6 +32,7 @@ module.exports = { '@hooks': './app/hooks', '@i18n': './app/i18n', '@init': './app/init', + '@managers': './app/managers', '@notifications': './app/notifications', '@queries': './app/queries', '@screens': './app/screens', diff --git a/tsconfig.json b/tsconfig.json index fc819385af..e3f4288a72 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -46,6 +46,7 @@ "@hooks/*": ["app/hooks/*"], "@i18n": ["app/i18n/index"], "@init/*": ["app/init/*"], + "@managers/*": ["app/managers/*"], "@notifications": ["app/notifications/index"], "@queries/*": ["app/queries/*"], "@screens/*": ["app/screens/*"],