public async Task RemoveModerator(string moderatorTwitchUsername)
        {
            var model = new DeleteModeratorModel {
                ModeratorTwitchUsername = moderatorTwitchUsername
            };

            Channel = await apiGateway.Delete <ChannelModel, DeleteModeratorModel>(model, "channels", routeValues : new string[] { CurrentlySelectedChannelName, "moderators" }).ConfigureAwait(false);

            NotifyStateChanged();
        }
        public async Task <IActionResult> DeleteModerator([FromRoute] string channelName, [FromBody] DeleteModeratorModel model)
        {
            var result = await channelService.DeleteModeratorFromChannel(channelName, model.ModeratorTwitchUsername, ApplicationContext).ConfigureAwait(false);

            if (result.State == ResultState.AccessDenied)
            {
                return(Unauthorized());
            }

            if (result.State == ResultState.NoContent)
            {
                return(NoContent());
            }

            return(Ok(result.Data.Map()));
        }