public async Task <IActionResult> BlockAccount(BlockAccountRequest request) { var response = await mediator.Send(request); Log.Information($"User #{HttpContext.GetCurrentUserId()} blocked account #{request.AccountId}"); return(this.CreateResponse(response)); }
public async Task <IActionResult> BlockAccount(BlockAccountRequest request) { var response = await mediator.Send(request); logger.LogResponse( $"Admin #{HttpContext.GetCurrentUserId()} changed block status for user #{request.UserId} to: {(response.IsBlocked ? "BLOCKED" : "NOT_BLOCKED")}", response.Error); return(this.CreateResponse(response)); }
private IEnumerable <Ban> InitBans(BlockAccountRequest request) => request.Serials.Select(serial => new BanBuilder() .BanAccount(request.AccountId) .BanSerial(serial) .ByAdmin(httpContextReader.CurrentUserId) .SetReason(request.Reason) .Build()) .Concat(request.Ips.Select(ip => new BanBuilder() .BanAccount(request.AccountId) .BanIp(ip) .ByAdmin(httpContextReader.CurrentUserId) .SetReason(request.Reason) .Build()));
public async Task <bool> BlockAccount(BlockAccountRequest request) { if (!await rolesService.IsPermitted(httpContextReader.CurrentUserId, Constants.AllOwnersRoles)) { throw new NoPermissionsException(ErrorMessages.NotAllowedMessage); } var bansToInsert = InitBans(request).ToList(); return(await InsertBansInTransaction(bansToInsert, request.AccountId) ? true : throw new DatabaseException(ErrorMessages.DatabaseTransactionErrorMessage)); }
public void SetUp() { user = new User(); request = new BlockAccountRequest { AccountId = 1, Reason = It.IsNotNull <string>(), Serials = new List <string> { "1", "2" }, Ips = new List <string> { "1", "2" } }; var gameItems = new List <GameItem> { new GameItem() }; database = new Mock <IDatabase>(); banService = new Mock <IBanService>(); serialService = new Mock <IReadOnlySerialService>(); roleService = new Mock <IRolesService>(); httpContextReader = new Mock <IHttpContextReader>(); database.Setup(d => d.BeginTransaction()).Returns(new DatabaseTransaction()); database.Setup(d => d.UserRepository.FindById(It.IsAny <int>())).ReturnsAsync(user); database.Setup(d => d.UserRepository.Update(It.IsAny <User>())).ReturnsAsync(true); database.Setup(d => d.UserRepository.GetUserWithCharacters(It.IsNotNull <int>())).ReturnsAsync(user); database.Setup(d => d.GameItemRepository.GetAccountItems(It.IsNotNull <IEnumerable <int> >())) .ReturnsAsync(gameItems); database.Setup(d => d.CharacterRepository.DeleteRange(It.IsNotNull <IEnumerable <Character> >())) .ReturnsAsync(true); database.Setup(d => d.EstateRepository.DeleteRange(It.IsNotNull <IEnumerable <Estate> >())).ReturnsAsync(true); database.Setup(d => d.VehicleRepository.DeleteRange(It.IsNotNull <IEnumerable <Vehicle> >())) .ReturnsAsync(true); database.Setup(d => d.GameItemRepository.DeleteRange(It.IsNotNull <IEnumerable <GameItem> >())) .ReturnsAsync(true); banService.Setup(bs => bs.AddBan(It.IsNotNull <Ban>())).ReturnsAsync(new Ban()); serialService.Setup(ss => ss.SerialExists(It.IsNotNull <string>(), It.IsNotNull <int>())) .ReturnsAsync(true); roleService.Setup(rs => rs.IsPermitted(It.IsNotNull <int>(), Constants.AllOwnersRoles)) .ReturnsAsync(true); userManager = new UserManager(database.Object, banService.Object, serialService.Object, roleService.Object, httpContextReader.Object); }
public void SetUp() { request = new BlockAccountRequest(); userManager = new Mock <IUserManager>(); var httpContextReader = new Mock <IHttpContextReader>(); var notifier = new Mock <INotifier>(); var hubManager = new Mock <IHubManager <NotifierHub> >(); var mapper = new Mock <IMapper>(); userManager.Setup(um => um.BlockAccount(It.IsNotNull <BlockAccountRequest>())) .ReturnsAsync(true); blockAccountCommand = new BlockAccountCommand(userManager.Object, httpContextReader.Object, notifier.Object, hubManager.Object, mapper.Object); }