diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json new file mode 100644 index 000000000..a4713c52b --- /dev/null +++ b/.config/dotnet-tools.json @@ -0,0 +1,12 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "csharpier": { + "version": "0.27.3", + "commands": [ + "dotnet-csharpier" + ] + } + } +} \ No newline at end of file diff --git a/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ClaimSetModel.cs b/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ClaimSetModel.cs index 31a5393c9..8328d83a3 100644 --- a/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ClaimSetModel.cs +++ b/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ClaimSetModel.cs @@ -44,14 +44,26 @@ public class ClaimSetResourceClaimModel public List AuthorizationStrategyOverridesForCRUD { get; set; } [SwaggerSchema(Description = "Children are collection of ResourceClaim")] - public List Children { get; set; } + public List Children { get; set; } public ClaimSetResourceClaimModel() { - Children = new List(); + Children = new List(); DefaultAuthorizationStrategiesForCRUD = new List(); AuthorizationStrategyOverridesForCRUD = new List(); Actions = new List(); } +} + + +public class ChildrenClaimSetResource: ClaimSetResourceClaimModel +{ + [SwaggerSchema(Description = "Children are collection of ResourceClaim")] + public new List Children { get; set; } + + public ChildrenClaimSetResource() + { + Children = new List(); + } } [SwaggerSchema(Title = "ResourceClaimModel")] public class ResourceClaimModel diff --git a/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ImportClaimSet.cs b/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ImportClaimSet.cs index 7ed13a4ed..684d93bca 100644 --- a/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ImportClaimSet.cs +++ b/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ImportClaimSet.cs @@ -64,7 +64,8 @@ public class Validator : AbstractValidator public Validator(IGetAllClaimSetsQuery getAllClaimSetsQuery, IGetResourceClaimsAsFlatListQuery getResourceClaimsAsFlatListQuery, IGetAllAuthorizationStrategiesQuery getAllAuthorizationStrategiesQuery, - IGetAllActionsQuery getAllActionsQuery) + IGetAllActionsQuery getAllActionsQuery, + IMapper mapper) { _getAllClaimSetsQuery = getAllClaimSetsQuery; @@ -92,7 +93,7 @@ public Validator(IGetAllClaimSetsQuery getAllClaimSetsQuery, foreach (var resourceClaim in claimSet.ResourceClaims) { resourceClaimValidator.Validate(resourceClaims, actions, authStrategyNames, - resourceClaim, claimSet.ResourceClaims, context, claimSet.Name); + resourceClaim, mapper.Map>(claimSet.ResourceClaims), context, claimSet.Name); } } }); diff --git a/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ResourceClaimValidator.cs b/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ResourceClaimValidator.cs index d9c3bfb5b..44043658e 100644 --- a/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ResourceClaimValidator.cs +++ b/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ResourceClaimValidator.cs @@ -17,7 +17,7 @@ public ResourceClaimValidator() } public void Validate(Lookup dbResourceClaims, List dbActions, - List dbAuthStrategies, ClaimSetResourceClaimModel resourceClaim, List existingResourceClaims, + List dbAuthStrategies, ClaimSetResourceClaimModel resourceClaim, List existingResourceClaims, ValidationContext context, string? claimSetName) { context.MessageFormatter.AppendArgument("ClaimSetName", claimSetName); @@ -55,7 +55,7 @@ private static void ValidateIfExist(ValidationContext context, string prop } } - private static void ValidateDuplicateResourceClaim(ClaimSetResourceClaimModel resourceClaim, List existingResourceClaims, ValidationContext context, string propertyName) + private static void ValidateDuplicateResourceClaim(ClaimSetResourceClaimModel resourceClaim, List existingResourceClaims, ValidationContext context, string propertyName) { if (existingResourceClaims.Count(x => x.Name == resourceClaim.Name) > 1) { diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/AutoMapper/AdminApiMappingProfile.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/AutoMapper/AdminApiMappingProfile.cs index eb4b72e07..b3fe43a78 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/AutoMapper/AdminApiMappingProfile.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/AutoMapper/AdminApiMappingProfile.cs @@ -77,6 +77,13 @@ public AdminApiMappingProfile() .ForMember(dst => dst.DefaultAuthorizationStrategiesForCRUD, opt => opt.MapFrom(src => src.DefaultAuthStrategiesForCRUD)) .ForMember(dst => dst.Children, opt => opt.MapFrom(src => src.Children)); + CreateMap() + .ForMember(dst => dst.Name, opt => opt.MapFrom(src => src.Name)) + .ForMember(dst => dst.Actions, opt => opt.MapFrom(src => src.Actions)) + .ForMember(dst => dst.AuthorizationStrategyOverridesForCRUD, opt => opt.MapFrom(src => src.AuthorizationStrategyOverridesForCRUD)) + .ForMember(dst => dst.DefaultAuthorizationStrategiesForCRUD, opt => opt.MapFrom(src => src.DefaultAuthorizationStrategiesForCRUD)) + .ForMember(dst => dst.Children, opt => opt.MapFrom(src => src.Children)); + CreateMap() .ForMember(dst => dst.ClaimSetId, opt => opt.MapFrom(src => src.ClaimSetId)) .ForMember(dst => dst.ResourceClaim, opt => opt.MapFrom()); diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/HealthCheckServiceExtensions.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/HealthCheckServiceExtensions.cs index 60c9d545b..86e71765e 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/HealthCheckServiceExtensions.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/HealthCheckServiceExtensions.cs @@ -25,7 +25,7 @@ public static IServiceCollection AddHealthCheck(this IServiceCollection services else { connectionStrings = new() { - { "SingleTenant", configuration.GetConnectionString(dbName) }}; + { "SingleTenant", configuration.GetConnectionString(dbName) ?? string.Empty }}; } if (!string.IsNullOrEmpty(databaseEngine))