Beispiel #1
0
        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)));
        }
Beispiel #2
0
        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));
        }