RocketChat/Rocket.Chat

View on GitHub
apps/meteor/app/utils/client/getRoomAvatarURL.ts

Summary

Maintainability
A
0 mins
Test Coverage
import type { IRoom } from '@rocket.chat/core-typings';

import { settings } from '../../settings/client';
import { getAvatarURL } from './getAvatarURL';

export const getRoomAvatarURL = ({ roomId, cache = '' }: { roomId: IRoom['_id']; cache: IRoom['avatarETag'] }) => {
    const externalSource = (settings.get('Accounts_RoomAvatarExternalProviderUrl') || '').trim().replace(/\/$/, '');
    if (externalSource && typeof externalSource === 'string') {
        return externalSource.replace('{roomId}', roomId);
    }

    if (!roomId) {
        return;
    }

    return getAvatarURL({ roomId, cache });
};