// 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 IAccountSettingsRepository { bool PutSettings(TLAccountSettingsState state); ValueTask GetSettingsAsync(long userId); bool PutAutoDownloadSettings(TLAutoDownloadSettingsState state); ValueTask GetAutoDownloadSettingsAsync( long userId); bool PutAutoSaveSettings(TLAutoSaveSettingsState state); ValueTask GetAutoSaveSettingsAsync(long userId, int scope, int peerType, long peerId); ValueTask> GetAutoSaveSettingsAsync(long userId); bool DeleteAutoSaveSettings(long userId, int scope, int peerType, long peerId); bool PutTakeoutSession(TLTakeoutSessionState state); ValueTask GetTakeoutSessionAsync(long id); ValueTask GetTakeoutSessionByAuthKeyAsync( long authKeyId); bool DeleteTakeoutSession(long id); bool PutProfile(TLAccountProfileState state); ValueTask GetProfileAsync(long userId); bool PutCloseFriend(TLCloseFriendState state); ValueTask> GetCloseFriendsAsync( long userId); ValueTask IsCloseFriendAsync(long userId, long closeFriendId); bool DeleteCloseFriends(long userId); bool PutContactToken(TLContactTokenState state); ValueTask GetContactTokenAsync(string token); ValueTask> GetContactTokensAsync( long userId); bool DeleteContactToken(long userId, string token); bool PutWallpaperCatalog(TLWallpaperCatalogState state); ValueTask GetWallpaperCatalogAsync(long id); ValueTask GetWallpaperCatalogBySlugAsync( string slug); ValueTask> GetWallpaperCatalogAsync(); bool PutAccountWallpaper(TLAccountWallpaperState state); ValueTask GetAccountWallpaperAsync(long userId, long wallpaperId); ValueTask> GetAccountWallpapersAsync(long userId); bool DeleteAccountWallpaper(long userId, long wallpaperId); bool DeleteAccountWallpapers(long userId); bool PutThemeCatalog(TLThemeCatalogState state); ValueTask GetThemeCatalogAsync(long id); ValueTask GetThemeCatalogBySlugAsync(string slug); ValueTask> GetThemeCatalogAsync(); bool DeleteThemeCatalog(long id, string slug); bool PutAccountTheme(TLAccountThemeState state); ValueTask GetAccountThemeAsync(long userId, long themeId); ValueTask> GetAccountThemesAsync( long userId); bool DeleteAccountTheme(long userId, long themeId); bool DeleteAccountThemes(long userId); bool PutRingtones(TLAccountRingtonesState state); ValueTask GetRingtonesAsync(long userId); bool PutProfileMusic(TLProfileMusicState state); ValueTask GetProfileMusicAsync(long userId); }