Beispiel #1
0
        public async Task <IActionResult> Delete([FromQuery] string validatorId)
        {
            if (string.IsNullOrEmpty(validatorId))
            {
                return(BadRequest("No validatorId provided"));
            }

            var validatorDefinition = validatorManager.GetValidatorDefinition(validatorId);

            if (validatorDefinition == null)
            {
                return(NotFound());
            }

            // Authroize
            var loggedInUsername    = UsernameNormalizer.Normalize(HttpContext.User.Identity.Name);
            var resourceDescription = new ManageValidatorsResourceDescription(
                ValidatorManagementAction.Delete,
                validatorDefinition.Submitter,
                validatorDefinition.DataType);
            var authorizationResult = await authorizationModule.AuthorizeAsync(resourceDescription, loggedInUsername);

            if (!authorizationResult.IsAuthorized)
            {
                return(StatusCode((int)HttpStatusCode.Unauthorized, "Not authorized"));
            }

            if (!validatorManager.DeleteValidator(validatorId))
            {
                return(StatusCode((int)HttpStatusCode.NotFound));
            }
            apiEventLogger.Log(LogLevel.Info, $"User '{authorizationResult.User.UserName}' deleted validator with ID '{validatorId}'");
            return(Ok());
        }
Beispiel #2
0
        public async Task <IActionResult> GetAll([FromQuery] string dataType = null)
        {
            // Authroize
            var loggedInUsername    = UsernameNormalizer.Normalize(HttpContext.User.Identity.Name);
            var resourceDescription = new ManageValidatorsResourceDescription(ValidatorManagementAction.ListAll, null, null);
            var authorizationResult = await authorizationModule.AuthorizeAsync(resourceDescription, loggedInUsername);

            if (!authorizationResult.IsAuthorized)
            {
                return(StatusCode((int)HttpStatusCode.Unauthorized, "Not authorized"));
            }

            var validatorDefinitions = await validatorManager.GetAllValidatorDefinitions(dataType);

            return(new ContentResult
            {
                ContentType = Conventions.JsonContentType,
                Content = JsonConvert.SerializeObject(validatorDefinitions),
                StatusCode = (int)HttpStatusCode.OK
            });
        }