Exemple #1
0
        public async Task <IActionResult> PutCampaign(Guid id, Campaign campaign)
        {
            if (id != campaign.Id)
            {
                return(BadRequest());
            }

            _context.Entry(campaign).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!CampaignExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Exemple #2
0
        public async Task RemoveDeadRefreshTokens()
        {
            var tokensToDelete = _context.RefreshTokens.Where(x => x.IsRevoked || x.ExpiryDate < DateTime.UtcNow).ToArray();

            if (tokensToDelete is not null && tokensToDelete.Length > 0)
            {
                _context.RefreshTokens.RemoveRange(tokensToDelete);
                await _context.SaveChangesAsync();

                _logger.LogInformation($"Removed {tokensToDelete.Length} refresh tokens.");
            }
        }
Exemple #3
0
        public async Task <IActionResult> RevokeToken([FromBody] TokenRequestDto tokenRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new AuthResult()
                {
                    Success = false,
                    Errors = new List <string>()
                    {
                        "Invalid payload."
                    }
                }));
            }

            var username = User.FindFirst(ClaimTypes.NameIdentifier).Value;

            var user = await _userManager.FindByNameAsync(username);

            if (user is not null)
            {
                var token = await _context.RefreshTokens
                            .FirstOrDefaultAsync(x =>
                                                 x.UserId == user.Id &&
                                                 x.Token == tokenRequest.RefreshToken
                                                 );

                if (token is not null)
                {
                    token.IsRevoked = true;
                    await _context.SaveChangesAsync();

                    return(Ok());
                }
            }

            return(BadRequest());
        }
Exemple #4
0
 public Task <int> Add(Tracking vehicle)
 {
     _dbContext.Tracking.Add(vehicle);
     return(_dbContext.SaveChangesAsync());
 }
Exemple #5
0
 public async Task SaveChanges()
 {
     await _db.SaveChangesAsync();
 }