2021-08-27 11:03:47 -04:00
|
|
|
using System.Collections.Generic;
|
2020-12-22 13:15:26 +01:00
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
using Myriad.Types;
|
|
|
|
|
|
|
|
namespace Myriad.Cache
|
|
|
|
{
|
|
|
|
public interface IDiscordCache
|
|
|
|
{
|
2021-11-21 19:42:35 -05:00
|
|
|
public ValueTask SaveOwnUser(ulong userId);
|
2020-12-22 13:15:26 +01:00
|
|
|
public ValueTask SaveGuild(Guild guild);
|
|
|
|
public ValueTask SaveChannel(Channel channel);
|
|
|
|
public ValueTask SaveUser(User user);
|
2021-11-21 12:06:08 -05:00
|
|
|
public ValueTask SaveSelfMember(ulong guildId, GuildMemberPartial member);
|
2020-12-22 13:15:26 +01:00
|
|
|
public ValueTask SaveRole(ulong guildId, Role role);
|
2021-03-18 11:28:11 +01:00
|
|
|
public ValueTask SaveDmChannelStub(ulong channelId);
|
2020-12-22 13:15:26 +01:00
|
|
|
|
|
|
|
public ValueTask RemoveGuild(ulong guildId);
|
|
|
|
public ValueTask RemoveChannel(ulong channelId);
|
|
|
|
public ValueTask RemoveUser(ulong userId);
|
|
|
|
public ValueTask RemoveRole(ulong guildId, ulong roleId);
|
|
|
|
|
2021-11-21 19:42:35 -05:00
|
|
|
public Task<ulong> GetOwnUser();
|
2021-11-18 13:11:02 -05:00
|
|
|
public Task<Guild?> TryGetGuild(ulong guildId);
|
|
|
|
public Task<Channel?> TryGetChannel(ulong channelId);
|
|
|
|
public Task<Channel?> TryGetDmChannel(ulong userId);
|
|
|
|
public Task<User?> TryGetUser(ulong userId);
|
2021-11-21 12:06:08 -05:00
|
|
|
public Task<GuildMemberPartial?> TryGetSelfMember(ulong guildId);
|
2021-11-18 13:11:02 -05:00
|
|
|
public Task<Role?> TryGetRole(ulong roleId);
|
2020-12-22 13:15:26 +01:00
|
|
|
|
|
|
|
public IAsyncEnumerable<Guild> GetAllGuilds();
|
2021-11-17 20:41:02 -05:00
|
|
|
public Task<IEnumerable<Channel>> GetGuildChannels(ulong guildId);
|
2020-12-22 13:15:26 +01:00
|
|
|
}
|
|
|
|
}
|