// SPDX-License-Identifier: AGPL-3.0-or-later // Copyright (C) 2022-2026 Aykut Alparslan KOC using Ferrite.TL.baseLayer.dto; namespace Ferrite.Data.Repositories; public interface IDialogOrganizationRepository { bool PutPeerState(TLDialogPeerState state); ValueTask GetPeerStateAsync(long userId, int peerType, long peerId); ValueTask> GetPeerStatesAsync(long userId); bool DeletePeerState(long userId, int peerType, long peerId); bool PutFilter(TLDialogFilterState state); ValueTask GetFilterAsync(long userId, int filterId); ValueTask> GetFiltersAsync(long userId); bool DeleteFilter(long userId, int filterId); bool PutSettings(TLDialogFilterSettings settings); ValueTask GetSettingsAsync(long userId); bool PutInvite(TLChatlistInviteState invite); ValueTask GetInviteAsync(long ownerUserId, int filterId, string slug); ValueTask GetInviteBySlugAsync(string slug); ValueTask> GetInvitesAsync( long ownerUserId, int filterId); bool DeleteInvite(long ownerUserId, int filterId, string slug); bool PutImport(TLImportedChatlistState import); ValueTask GetImportAsync(long userId, int filterId); ValueTask> GetImportsAsync(long userId); bool DeleteImport(long userId, int filterId); }