RocketChat/Rocket.Chat

View on GitHub
apps/meteor/client/views/room/composer/hooks/useMessageComposerIsAnonymous.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { useSetting, useUserId } from '@rocket.chat/ui-contexts';

export const useMessageComposerIsAnonymous = (): boolean => {
    const isAnonymousReadEnabled = useSetting('Accounts_AllowAnonymousRead');
    const isAnonymousWriteEnabled = useSetting('Accounts_AllowAnonymousWrite');

    const uid = useUserId();

    if (!uid && !isAnonymousReadEnabled && !isAnonymousWriteEnabled) {
        throw new Error('Anonymous access is disabled');
    }
    return Boolean(!uid);
};