public async Task <ActionResult> Logout([FromBody] UserIdentifiedDTO userIdentifiedDTO) { string username = userIdentifiedDTO.Username; string authTokenString = userIdentifiedDTO.AuthToken; Account accountToFind = _smallPostersContext.Accounts.FirstOrDefault(a => a.Username == username); if (accountToFind == null) { return(StatusCode(StatusCodes.Status400BadRequest)); } string hashedAuthTokenString = HashPair.Generate(authTokenString, accountToFind.Salt); AuthToken authToken = _smallPostersContext.AuthTokens.FirstOrDefault (a => a.HashedValue == hashedAuthTokenString && a.AccountId == accountToFind.Id); if (authToken == null) { return(StatusCode(StatusCodes.Status404NotFound)); } else { authToken.IsValid = false; await _smallPostersContext.SaveChangesAsync(); return(StatusCode(StatusCodes.Status200OK)); } }
public async Task <ActionResult <ICollection <CompleteAdDTO> > > GetMyAds(UserIdentifiedDTO userIdentifiedDTO) { string username = userIdentifiedDTO.Username; string authTokenString = userIdentifiedDTO.AuthToken; Models.Account accountToFind = await _adService.GetUser(username, authTokenString); if (accountToFind == null) { return(StatusCode(StatusCodes.Status401Unauthorized)); } return(await _smallPostersContext.Ads.Include(a => a.Category).Include(a => a.Creator) .Where(a => a.CreatorId == accountToFind.Id).Select(a => new CompleteAdDTO(a)).ToListAsync()); }