public ActionResult <IEnumerable <string> > PostCategories(TokenOnlyRequest token)
 {
     _logger.LogTrace($"{Request.HttpContext.Connection.RemoteIpAddress}: POST {Request.Host}{Request.Path}");
     _authHandler.CheckToken(token.Token);
     //ToList required because of an interface limitation of C#
     return(_serverManager.GetSources().ToList());
 }
        public ActionResult <AuthenticateResponse> PostAuthenticate(TokenOnlyRequest token)
        {
            _logger.LogTrace($"{Request.HttpContext.Connection.RemoteIpAddress}: POST {Request.Host}{Request.Path}");
            var username = _authHandler.CheckToken(token.Token);

            return(new AuthenticateResponse(username));
        }
        public PresetResponse PostPresets(TokenOnlyRequest token)
        {
            _logger.LogTrace($"{Request.HttpContext.Connection.RemoteIpAddress}: POST {Request.Host}{Request.Path}");
            _authHandler.CheckToken(token.Token);
            return(new PresetResponse
            {
                AudioPresets = _serverManager.GetAudioPresets(), VideoPresets = _serverManager.GetVideoPresets()
            });

            /*return new Dictionary<string, IEnumerable<Preset>>
             * {
             *  {"video", _serverManager.GetVideoPresets()},
             *  {"audio", _serverManager.GetAudioPresets()}
             * };*/
        }
 public ActionResult <LogoutResponse> PostLogout(TokenOnlyRequest token)
 {
     _logger.LogTrace($"{Request.HttpContext.Connection.RemoteIpAddress}: POST {Request.Host}{Request.Path}");
     _authHandler.LogoutUser(token.Token);
     return(new LogoutResponse(true));
 }