コード例 #1
0
        public async Task <IHttpActionResult> Revoke([FromBody] RevokePermissionsRouteValues routeValues)
        {
            if (routeValues.Ukprn == null)
            {
                ModelState.AddModelError(nameof(routeValues.Ukprn), "A Ukprn needs to be supplied");
            }

            if (string.IsNullOrWhiteSpace(routeValues.AccountLegalEntityPublicHashedId))
            {
                ModelState.AddModelError(nameof(routeValues.AccountLegalEntityPublicHashedId), "A Public Hashed Id for an Account Legal Entity needs to be supplied");
            }

            if (routeValues.OperationsToRevoke == null || routeValues.OperationsToRevoke.Length == 0)
            {
                ModelState.AddModelError(nameof(routeValues.OperationsToRevoke), "One or more operations need to be supplied");
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var command = new RevokePermissionsCommand(
                ukprn: routeValues.Ukprn.Value,
                accountLegalEntityPublicHashedId: routeValues.AccountLegalEntityPublicHashedId,
                operationsToRevoke: routeValues.OperationsToRevoke);
            await _mediator.Send(command);

            return(Ok());
        }
コード例 #2
0
        public RevokeTestsFixture()
        {
            RevokePermissionsRouteValues = new RevokePermissionsRouteValues(
                ukprn: 299792458,
                accountLegalEntityPublicHashedId: "DEADBEEF",
                operationsToRevoke: new[] { Operation.Recruitment });

            Mediator = new Mock <IMediator>();
            Mediator
            .Setup(x => x.Send(It.IsAny <RevokePermissionsCommand>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(Unit.Value);

            PermissionsController = new PermissionsController(Mediator.Object);
        }