[MM-14093] Rename 'team' to 'server' and 'tab' to 'view' in most cases, some additional cleanup (#2711)

* Rename MattermostTeam -> UniqueServer, MattermostTab -> UniqueView

* Rename 'team' to 'server'

* Some further cleanup

* Rename weirdly named function

* Rename 'tab' to 'view' in most instances

* Fix i18n

* PR feedback
This commit is contained in:
Devin Binnie
2023-05-08 09:17:01 -04:00
committed by GitHub
parent 9f75ddcf0f
commit 316beba950
110 changed files with 1698 additions and 1757 deletions

View File

@@ -12,7 +12,7 @@ import {ComparableCertificate} from 'types/certificate';
import {PermissionType, TrustedOrigin} from 'types/trustedOrigin';
import {Logger} from 'common/log';
import {TAB_MESSAGING} from 'common/tabs/TabView';
import {TAB_MESSAGING} from 'common/views/View';
import {isValidURL} from 'common/utils/url';
const log = new Logger('Validator');
@@ -206,45 +206,45 @@ function cleanURL(url: string): string {
return updatedURL;
}
function cleanTeam<T extends {name: string; url: string}>(team: T) {
function cleanServer<T extends {name: string; url: string}>(server: T) {
return {
...team,
url: cleanURL(team.url),
...server,
url: cleanURL(server.url),
};
}
function cleanTeamWithTabs(team: ConfigServer) {
function cleanServerWithViews(server: ConfigServer) {
return {
...cleanTeam(team),
tabs: team.tabs.map((tab) => {
...cleanServer(server),
tabs: server.tabs.map((view) => {
return {
...tab,
isOpen: tab.name === TAB_MESSAGING ? true : tab.isOpen,
...view,
isOpen: view.name === TAB_MESSAGING ? true : view.isOpen,
};
}),
};
}
function cleanTeams<T extends {name: string; url: string}>(teams: T[], func: (team: T) => T) {
let newTeams = teams;
if (Array.isArray(newTeams) && newTeams.length) {
function cleanServers<T extends {name: string; url: string}>(servers: T[], func: (server: T) => T) {
let newServers = servers;
if (Array.isArray(newServers) && newServers.length) {
// first replace possible backslashes with forward slashes
newTeams = newTeams.map((team) => func(team));
newServers = newServers.map((server) => func(server));
// next filter out urls that are still invalid so all is not lost
newTeams = newTeams.filter(({url}) => isValidURL(url));
newServers = newServers.filter(({url}) => isValidURL(url));
}
return newTeams;
return newServers;
}
// validate v.1 config.json
export function validateV1ConfigData(data: ConfigV1) {
data.teams = cleanTeams(data.teams, cleanTeam);
data.teams = cleanServers(data.teams, cleanServer);
return validateAgainstSchema(data, configDataSchemaV1);
}
export function validateV2ConfigData(data: ConfigV2) {
data.teams = cleanTeams(data.teams, cleanTeam);
data.teams = cleanServers(data.teams, cleanServer);
if (data.spellCheckerURL && !isValidURL(data.spellCheckerURL)) {
log.error('Invalid download location for spellchecker dictionary, removing from config');
delete data.spellCheckerURL;
@@ -253,7 +253,7 @@ export function validateV2ConfigData(data: ConfigV2) {
}
export function validateV3ConfigData(data: ConfigV3) {
data.teams = cleanTeams(data.teams, cleanTeamWithTabs);
data.teams = cleanServers(data.teams, cleanServerWithViews);
if (data.spellCheckerURL && !isValidURL(data.spellCheckerURL)) {
log.error('Invalid download location for spellchecker dictionary, removing from config');
delete data.spellCheckerURL;