diff --git a/app/definitions/ITeam.ts b/app/definitions/ITeam.ts index 3b1774054..ae5f9544c 100644 --- a/app/definitions/ITeam.ts +++ b/app/definitions/ITeam.ts @@ -1,5 +1,6 @@ import { IRocketChatRecord } from './IRocketChatRecord'; import { IUser } from './IUser'; +import { IServerRoomItem } from './IRoom'; export enum TEAM_TYPE { PUBLIC = 0, @@ -46,3 +47,16 @@ export interface ITeamStats { totalTeams: number; teamStats: Array; } + +export interface IServerTeamUpdateRoom + extends Omit< + IServerRoomItem, + 'topic' | 'joinCodeRequired' | 'description' | 'jitsiTimeout' | 'usersCount' | 'e2eKeyId' | 'avatarETag' + > { + broadcast: boolean; + msgs: number; + default: boolean; + sysMes: boolean; + teamId: string; + teamDefault: boolean; +} diff --git a/app/definitions/rest/v1/teams.ts b/app/definitions/rest/v1/teams.ts index 103989232..334aec723 100644 --- a/app/definitions/rest/v1/teams.ts +++ b/app/definitions/rest/v1/teams.ts @@ -1,10 +1,13 @@ import { IRoom } from '../../IRoom'; -import { ITeam, TEAM_TYPE } from '../../ITeam'; +import { IServerTeamUpdateRoom, ITeam, TEAM_TYPE } from '../../ITeam'; export type TeamsEndpoints = { 'teams.removeRoom': { POST: (params: { roomId: string; teamId: string }) => { room: IRoom }; }; + 'teams.updateRoom': { + POST: (params: { roomId: string; isDefault: boolean }) => { room: IServerTeamUpdateRoom }; + }; 'teams.convertToChannel': { POST: (params: { teamId: string; roomsToRemove?: string[] }) => {}; }; diff --git a/app/lib/methods/logout.ts b/app/lib/methods/logout.ts index fefd1769b..0e53ed123 100644 --- a/app/lib/methods/logout.ts +++ b/app/lib/methods/logout.ts @@ -13,7 +13,7 @@ import { E2E_PRIVATE_KEY, E2E_PUBLIC_KEY, E2E_RANDOM_PASSWORD_KEY } from '../enc import UserPreferences from '../userPreferences'; import { ICertificate, IRocketChat } from '../../definitions'; -async function removeServerKeys({ server, userId }: { server: string; userId: string | null }) { +async function removeServerKeys({ server, userId }: { server: string; userId?: string | null }) { await UserPreferences.removeItem(`${RocketChat.TOKEN_KEY}-${server}`); if (userId) { await UserPreferences.removeItem(`${RocketChat.TOKEN_KEY}-${userId}`); diff --git a/app/lib/rocketchat/services/restApi.ts b/app/lib/rocketchat/services/restApi.ts index dbf1a8de6..99afcd452 100644 --- a/app/lib/rocketchat/services/restApi.ts +++ b/app/lib/rocketchat/services/restApi.ts @@ -191,10 +191,8 @@ export const removeTeamMember = ({ teamId, userId, rooms }: { teamId: string; us ...(rooms?.length && { rooms }) }); -export const updateTeamRoom = ({ roomId, isDefault }: { roomId: string; isDefault: boolean }): any => +export const updateTeamRoom = ({ roomId, isDefault }: { roomId: string; isDefault: boolean }) => // RC 3.13.0 - // TODO: missing definitions from server - // @ts-ignore sdk.post('teams.updateRoom', { roomId, isDefault }); export const deleteTeam = ({ teamId, roomsToRemove }: { teamId: string; roomsToRemove: string[] }): any =>