public override void OnAuthorization(HttpActionContext actionContext)
        {
            var container             = Bootstrapper.Container;
            var authenticationService = container.Resolve <IAccountService>();

            var token = RequestExtractor.GetToken(actionContext.Request);

            if (string.IsNullOrEmpty(token))
            {
                throw new UnauthorizedException(Messages.Forbidden);
            }

            var authorization = authenticationService.GetUserAuthorization(token);

            if (authorization == null)
            {
                throw new UnauthorizedException(Messages.Forbidden);
            }

            if (!authorization.IsAdmin && _requiresAdmin)
            {
                throw new ForbiddenException(Messages.Forbidden);
            }
        }
Example #2
0
 public SongsDiscoverModel Discover(string name, int count)
 {
     return(_songService.DiscoverRelatedSongs(name, RequestExtractor.GetToken(Request), count));
 }
Example #3
0
 public bool TogglePreference([FromUri] string id)
 {
     return(_songService.ToggleUserSongPreference(id, RequestExtractor.GetToken(Request)));
 }
Example #4
0
 public IEnumerable <SongItemModel> GetRecommendationsById([FromUri] string id, int count)
 {
     return(_songService.GetSongRecommendations(id, RequestExtractor.GetToken(Request), count));
 }
Example #5
0
 public void Logout()
 {
     _accountService.Logout(RequestExtractor.GetToken(Request));
 }