public async Task <bool> UpdateWelcomePluginAsync(string guildId, WelcomePluginDto welcomePluginDto, User user) { try { var guild = await _guildService.GetByGuildIdAsync(guildId); var discordGuild = await _botService.GetGuildAsync(guildId); var member = await discordGuild.GetMemberAsync(ulong.Parse(user.UserId)); var hasPermission = await CheckIfHasPermissionAsync(member, discordGuild, guild); if (!hasPermission) { return(false); } var initiator = await _userService.GetByUsernameAndDiscriminatorAsync(user.UserName, user.Discriminator); if (guild.WelcomePlugin.IsEnabled != welcomePluginDto.IsEnabled) { guild.WelcomePlugin.IsEnabled = welcomePluginDto.IsEnabled; } guild.WelcomePlugin.WelcomeMessage = welcomePluginDto.WelcomeMessage; guild.WelcomePlugin.PrivateWelcomeMessage = welcomePluginDto.PrivateWelcomeMessage; guild.WelcomePlugin.RolesToGive = welcomePluginDto.RolesToGive; guild.WelcomePlugin.LeaveMessage = welcomePluginDto.LeaveMessage; await _logService.AddAsync("CHANGED_WELCOME_PLUGIN_SETTINGS", ActionType.Update, initiator, guildId); await _pluginRepository.SaveAllAsync(); return(true); } catch (Exception e) { Console.WriteLine(e); return(false); } }
public async Task <IActionResult> UpdateWelcomePlugin([FromRoute] string guildId, [FromBody] WelcomePluginDto welcomePluginDto) { var result = await _pluginService.UpdateWelcomePluginAsync(guildId, welcomePluginDto, await _userManager.GetUserAsync(User)); if (!result) { return(BadRequest()); } return(Ok()); }