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); } }
public SongsDiscoverModel Discover(string name, int count) { return(_songService.DiscoverRelatedSongs(name, RequestExtractor.GetToken(Request), count)); }
public bool TogglePreference([FromUri] string id) { return(_songService.ToggleUserSongPreference(id, RequestExtractor.GetToken(Request))); }
public IEnumerable <SongItemModel> GetRecommendationsById([FromUri] string id, int count) { return(_songService.GetSongRecommendations(id, RequestExtractor.GetToken(Request), count)); }
public void Logout() { _accountService.Logout(RequestExtractor.GetToken(Request)); }