From 63e6b0f6264c865a5cf178253ad61e67633fb11c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Espino=20Garc=C3=ADa?= Date: Mon, 19 Dec 2022 10:32:05 +0100 Subject: [PATCH] Fix MM46418 (#6796) --- app/queries/servers/user.ts | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/app/queries/servers/user.ts b/app/queries/servers/user.ts index 3279ec117..f8ff40b2e 100644 --- a/app/queries/servers/user.ts +++ b/app/queries/servers/user.ts @@ -2,14 +2,12 @@ // See LICENSE.txt for license information. import {Database, Q} from '@nozbe/watermelondb'; -import {combineLatest, Observable, of as of$} from 'rxjs'; +import {combineLatest, of as of$} from 'rxjs'; import {distinctUntilChanged, switchMap} from 'rxjs/operators'; import {Preferences} from '@constants'; import {MM_TABLES} from '@constants/database'; import {getTeammateNameDisplaySetting} from '@helpers/api/preference'; -import {observeMyChannel} from '@queries/servers/channel'; -import {isChannelAdmin} from '@utils/user'; import {queryPreferencesByCategoryAndName} from './preference'; import {observeCurrentUserId, observeLicense, getCurrentUserId, getConfig, getLicense, observeConfigValue} from './system'; @@ -106,24 +104,17 @@ export const observeUserIsTeamAdmin = (database: Database, userId: string, teamI const id = `${teamId}-${userId}`; return database.get(TEAM_MEMBERSHIP).query( Q.where('id', Q.eq(id)), - ).observe().pipe( + ).observeWithColumns(['scheme_admin']).pipe( switchMap((tm) => of$(tm.length ? tm[0].schemeAdmin : false)), ); }; export const observeUserIsChannelAdmin = (database: Database, userId: string, channelId: string) => { const id = `${channelId}-${userId}`; - const myChannelRoles = observeMyChannel(database, channelId).pipe( - switchMap((mc) => of$(mc?.roles || '')), - distinctUntilChanged(), - ); - const channelSchemeAdmin = database.get(CHANNEL_MEMBERSHIP).query( + return database.get(CHANNEL_MEMBERSHIP).query( Q.where('id', Q.eq(id)), - ).observe().pipe( + ).observeWithColumns(['scheme_admin']).pipe( switchMap((cm) => of$(cm.length ? cm[0].schemeAdmin : false)), distinctUntilChanged(), ); - return combineLatest([myChannelRoles, channelSchemeAdmin]).pipe( - switchMap(([mcr, csa]) => of$(isChannelAdmin(mcr) || csa)), - ) as Observable; };