public async Task <ApiResult <PagedResponse <Quote> > > GetApprovedQuotes([FromQuery] string?guildsFilter, [FromQuery] PagingFilter pagingFilter) { ValidatePagingFilter(pagingFilter); var userGuilds = (await _natsDiscordService.GetMutualGuildsFor(UserDiscordId)).Select(x => x.Id.ToString()); var filter = guildsFilter?.Split(",").Where(x => userGuilds.Contains(x)) ?? userGuilds; return(Ok(await _natsQuoteService.FindApproved(filter, pagingFilter))); }
public async Task <ApiResult <IEnumerable <Guild> > > GetGuilds() { var mutualGuilds = await _natsDiscordService.GetMutualGuildsFor(UserDiscordId); var guilds = new List <Guild>(); foreach (var guild in mutualGuilds) { var isMod = await _natsDiscordService.IsModeratorInGuild(UserDiscordId, guild.Id); guilds.Add(new Guild { Id = guild.Id.ToString(), Description = guild.Description, Name = guild.Name, IsModerator = isMod, SystemChannelId = guild.SystemChannelId.ToString(), IconUrl = guild.IconUrl, }); } return(Ok(guilds)); }