From 8de8524288c4f4b260e590ead82e9adff6163d88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Alberto=20Leiva=20Obando?= Date: Fri, 22 Nov 2024 13:20:22 -0600 Subject: [PATCH 1/9] ADMINAPI-1085 [SPIKE]: Create a shared library code for Admin API and Admin Console - Create EdFi.Ods.AdminApi.Common library - Move common components to the shared library - Remove redundant code --- Application/Ed-Fi-ODS-AdminApi.sln | 10 ++ .../EdFi.Ods.AdminApi.AdminConsole.csproj | 4 + .../Features/Healthcheck/AddHealthCheck.cs | 6 +- .../Features/Healthcheck/ReadHealthcheck.cs | 10 +- .../Features/Instances/AddInstance.cs | 6 +- .../Features/Instances/ReadInstances.cs | 14 +- .../Features/Permissions/AddPermissions.cs | 6 +- .../Features/Permissions/ReadPermissions.cs | 14 +- .../Features/Steps/AddStep.cs | 6 +- .../Features/Steps/ReadSteps.cs | 14 +- .../Features/Tenants/AddTenant.cs | 6 +- .../Features/Tenants/ReadTenants.cs | 10 +- .../Features/UserProfiles/AddUserProfile.cs | 6 +- .../Features/UserProfiles/ReadUserProfiles.cs | 14 +- .../DataAccess/Models/HealthCheck.cs | 2 +- .../DataAccess/Models/Instance.cs | 2 +- .../DataAccess/Models/Permission.cs | 2 +- .../Infrastructure/DataAccess/Models/Step.cs | 2 +- .../DataAccess/Models/Tenant.cs | 2 +- .../DataAccess/Models/UserProfile.cs | 2 +- .../AdminApiAdminConsoleException.cs | 27 --- .../ErrorHandling/NotFoundException.cs | 24 --- .../Helper/AdminConsoleFeatureHelper.cs | 15 ++ .../Queries/GetHealthCheckQuery.cs | 2 +- .../EdFi.Ods.AdminApi.AdminConsole/Misc.cs | 165 ------------------ .../EdFi.Ods.AdminApi.Common.csproj | 34 ++++ .../Features/AdminApiError.cs | 3 +- .../Features/FeatureCommonConstants.cs | 13 ++ .../Features/IFeature.cs | 2 +- .../Helpers/AppSettings.cs | 30 ++-- .../Infrastructure/AdminApiEndpointBuilder.cs | 39 +++-- .../Infrastructure/AdminApiVersions.cs | 22 +-- .../Infrastructure/CommonQueryParams.cs | 78 ++++----- .../Infrastructure/Context/ContextProvider.cs | 2 +- .../Infrastructure/Context/ContextStorage.cs | 2 +- ...eworkCoreDatabaseModelBuilderExtensions.cs | 2 +- .../Infrastructure/DatabaseEngineEnum.cs | 4 +- .../EndpointRouteBuilderExtensions.cs | 14 +- .../ErrorHandling/AdminApiException.cs | 2 +- .../ErrorHandling/NotFoundException.cs | 2 +- .../OdsApiConnectionException.cs | 2 +- .../Extensions/IConfigurationExtensions.cs | 5 +- .../Extensions/StringExtensions.cs | 55 +++--- .../Helpers/ConnectionStringHelper.cs | 90 +++++----- .../Helpers/FeaturesExtensions.cs} | 8 +- .../Infrastructure/Helpers/FeaturesHelper.cs | 28 +++ .../Helpers/QueryStringMappingHelper.cs | 64 +++---- .../Helpers/SortingDirectionHelper.cs | 20 +-- .../Helpers/StringToJsonDocumentConverter.cs | 2 +- .../Infrastructure/OperationalContext.cs | 2 +- .../Infrastructure/ValidatorExtensions.cs | 2 +- .../DeleteClaimSetCommandTests.cs | 2 +- .../EditClaimSetCommandTests.cs | 3 +- .../GetApplicationsByClaimSetIdQueryTests.cs | 1 + .../GetClaimSetByIdQueryTests.cs | 2 +- .../AddApplicationCommandTests.cs | 4 +- .../DeleteApplicationCommandTests.cs | 1 + .../CommandTests/DeleteVendorCommandTests.cs | 1 + .../EditApplicationCommandTests.cs | 1 + .../EditOdsInstanceContextTests.cs | 2 +- .../EditOdsInstanceDerivativeTests.cs | 2 +- .../RegenerateApiClientSecretCommandTests.cs | 3 +- .../QueryTests/GetAllActionsQueryTests.cs | 1 + .../QueryTests/GetAllApplicationsQuery.cs | 3 +- .../QueryTests/GetAllClaimSetsQueryTests.cs | 1 + ...GetApplicationByOdsInstanceIdQueryTests.cs | 3 +- .../GetApplicationsByVendorIdQueryTests.cs | 3 +- .../QueryTests/GetAuthStrategiesQueryTest.cs | 1 + .../GetOdsInstancesContextQueryTests.cs | 1 + .../GetOdsInstancesDerivativeQueryTests.cs | 1 + .../QueryTests/GetOdsInstancesQueryTests.cs | 1 + .../QueryTests/GetProfilesQueryTests.cs | 1 + .../QueryTests/GetResourceClaimsQueryTests.cs | 1 + .../QueryTests/GetVendorsQueryTests.cs | 1 + .../EdFi.Ods.AdminApi.DBTests/Testing.cs | 2 +- .../AdminConsole/DatabaseBuilderExtension.cs | 3 +- .../EdFi.Ods.AdminApi.csproj | 1 + .../Features/Actions/ReadActions.cs | 2 + .../Features/Applications/AddApplication.cs | 4 +- .../Applications/DeleteApplication.cs | 5 +- .../Features/Applications/EditApplication.cs | 2 + .../Features/Applications/ReadApplication.cs | 6 +- .../ReadApplicationsByOdsInstance.cs | 2 + .../Applications/ReadApplicationsByVendor.cs | 2 + .../ResetApplicationCredentials.cs | 2 + .../ReadAuthorizationStrategy.cs | 2 + .../Features/ClaimSets/AddClaimSet.cs | 2 + .../Features/ClaimSets/CopyClaimSet.cs | 4 +- .../Features/ClaimSets/DeleteClaimSet.cs | 7 +- .../Features/ClaimSets/EditClaimSet.cs | 4 +- .../Features/ClaimSets/ExportClaimSet.cs | 2 + .../Features/ClaimSets/ImportClaimSet.cs | 2 + .../Features/ClaimSets/ReadClaimSets.cs | 4 +- .../ResourceClaims/DeleteResourceClaim.cs | 4 +- .../ResourceClaims/EditAuthStrategy.cs | 4 +- .../EditResourceClaimActions.cs | 2 + .../Features/Connect/ConnectController.cs | 5 +- .../Features/Connect/RegisterService.cs | 1 + .../Features/Connect/TokenService.cs | 2 +- .../Features/FeatureConstants.cs | 3 - .../EdFi.Ods.AdminApi/Features/IFeature.cs | 11 -- .../Features/Information/ReadInformation.cs | 4 +- .../AddOdsInstanceContext.cs | 2 + .../DeleteOdsInstanceContext.cs | 4 +- .../EditOdsInstanceContext.cs | 2 + .../ReadOdsInstanceContext.cs | 2 + .../AddOdsInstanceDerivative.cs | 7 +- .../DeleteOdsInstanceDerivative.cs | 4 +- .../EditOdsInstanceDerivative.cs | 7 +- .../ReadOdsInstanceDerivative.cs | 2 + .../Features/OdsInstances/AddOdsInstance.cs | 7 +- .../OdsInstances/DeleteOdsInstance.cs | 5 +- .../Features/OdsInstances/EditOdsInstance.cs | 7 +- .../Features/OdsInstances/ReadOdsInstance.cs | 2 + .../Features/Profiles/AddProfile.cs | 2 + .../Features/Profiles/DeleteProfile.cs | 4 +- .../Features/Profiles/EditProfile.cs | 2 + .../Features/Profiles/ReadProfile.cs | 4 +- .../Features/RequestLoggingMiddleware.cs | 2 +- .../ResourceClaims/ReadResourceClaims.cs | 4 +- .../Features/Vendors/AddVendor.cs | 2 + .../Features/Vendors/DeleteVendor.cs | 5 +- .../Features/Vendors/EditVendor.cs | 2 + .../Features/Vendors/ReadVendor.cs | 4 +- .../Infrastructure/AdminApiDbContext.cs | 2 + .../Infrastructure/AutoMapper/Converters.cs | 2 +- .../Commands/AddApplicationCommand.cs | 5 +- .../Commands/AddOdsInstanceContextCommand.cs | 2 +- .../AddOdsInstanceDerivativeCommand.cs | 2 +- .../Commands/DeleteApplicationCommand.cs | 2 +- .../Commands/DeleteOdsInstanceCommand.cs | 2 +- .../DeleteOdsInstanceContextCommand.cs | 2 +- .../DeleteOdsInstanceDerivativeCommand.cs | 2 +- .../Database/Commands/DeleteProfileCommand.cs | 2 +- .../Database/Commands/DeleteVendorCommand.cs | 2 +- .../Commands/EditApplicationCommand.cs | 2 +- .../Commands/EditOdsInstanceCommand.cs | 2 +- .../Commands/EditOdsInstanceContextCommand.cs | 2 +- .../EditOdsInstanceDerivativeCommand.cs | 2 +- .../Database/Commands/EditProfileCommand.cs | 2 +- .../Database/Commands/EditVendorCommand.cs | 2 +- .../RegenerateApiClientSecretCommand.cs | 2 +- .../Database/Queries/GetAllActionsQuery.cs | 4 +- .../Queries/GetAllApplicationsQuery.cs | 4 +- .../Database/Queries/GetAllClaimSetsQuery.cs | 4 +- .../Queries/GetApplicationByIdQuery.cs | 2 +- .../GetApplicationsByOdsInstanceIdQuery.cs | 2 +- .../Queries/GetApplicationsByVendorIdQuery.cs | 2 +- .../Queries/GetAuthStrategiesQuery.cs | 4 +- .../Queries/GetOdsInstanceContextByIdQuery.cs | 2 +- .../Queries/GetOdsInstanceContextsQuery.cs | 4 +- .../GetOdsInstanceDerivativeByIdQuery.cs | 2 +- .../Queries/GetOdsInstanceDerivativesQuery.cs | 4 +- .../Database/Queries/GetOdsInstanceQuery.cs | 2 +- .../Database/Queries/GetOdsInstancesQuery.cs | 4 +- .../Database/Queries/GetProfileByIdQuery.cs | 2 +- .../Database/Queries/GetProfilesQuery.cs | 4 +- .../GetResourceClaimByResourceClaimIdQuery.cs | 2 +- .../Queries/GetResourceClaimsQuery.cs | 4 +- .../Database/Queries/GetVendorsQuery.cs | 4 +- .../Queries/ValidateApplicationExistsQuery.cs | 4 +- .../ListExplicitSchemaDocumentFilter.cs | 1 + .../SwaggerDefaultParameterFilter.cs | 3 +- .../Documentation/TagByResourceUrlFilter.cs | 1 + .../Extensions/QueryExtensions.cs | 2 +- .../Helpers/AdminApiFeatureHelper.cs | 15 ++ .../Helpers/HealthCheckServiceExtensions.cs | 4 +- .../Helpers/IEnumerableExtensions.cs | 2 +- .../TenantIdentificationMiddleware.cs | 4 +- .../Security/SecurityExtensions.cs | 3 +- .../ClaimSetEditor/DeleteClaimSetCommand.cs | 2 +- .../ClaimSetEditor/EditClaimSetCommand.cs | 2 +- .../ClaimSetEditor/GetClaimSetByIdQuery.cs | 2 +- .../Services/OdsApiValidator.cs | 2 +- .../WebApplicationBuilderExtensions.cs | 6 +- .../WebApplicationExtensions.cs | 7 +- Application/EdFi.Ods.AdminApi/Program.cs | 1 + .../CommandTests/AddInstanceCommandTests.cs | 2 +- .../CommandTests/AddPermissionCommandTests.cs | 2 +- .../CommandTests/AddStepCommandTests.cs | 2 +- .../AddUserProfileCommandTests.cs | 2 +- .../Queries/GetInstanceByIdQueryTests.cs | 2 +- .../GetInstanceByTenantIdQueryTests.cs | 2 +- .../Queries/GetPermissionByIdQueryTests.cs | 2 +- .../GetPermissionByTenantIdQueryTests.cs | 2 +- .../Database/Queries/GetStepByIdQueryTests.cs | 2 +- .../Queries/GetStepsByTenantIdQueryTests.cs | 2 +- .../Queries/GetUserProfileByIdQueryTests.cs | 2 +- .../GetUserProfilesByTenantIdQueryTests.cs | 2 +- .../EdFi.Ods.AdminConsole.DBTests/Testing.cs | 2 +- 190 files changed, 690 insertions(+), 606 deletions(-) delete mode 100644 Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/ErrorHandling/AdminApiAdminConsoleException.cs delete mode 100644 Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/ErrorHandling/NotFoundException.cs create mode 100644 Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/Helper/AdminConsoleFeatureHelper.cs delete mode 100644 Application/EdFi.Ods.AdminApi.AdminConsole/Misc.cs create mode 100644 Application/EdFi.Ods.AdminApi.Common/EdFi.Ods.AdminApi.Common.csproj rename Application/{EdFi.Ods.AdminApi => EdFi.Ods.AdminApi.Common}/Features/AdminApiError.cs (95%) create mode 100644 Application/EdFi.Ods.AdminApi.Common/Features/FeatureCommonConstants.cs rename Application/{EdFi.Ods.AdminApi.AdminConsole => EdFi.Ods.AdminApi.Common}/Features/IFeature.cs (88%) rename Application/{EdFi.Ods.AdminApi => EdFi.Ods.AdminApi.Common}/Helpers/AppSettings.cs (92%) rename Application/{EdFi.Ods.AdminApi => EdFi.Ods.AdminApi.Common}/Infrastructure/AdminApiEndpointBuilder.cs (87%) rename Application/{EdFi.Ods.AdminApi => EdFi.Ods.AdminApi.Common}/Infrastructure/AdminApiVersions.cs (94%) rename Application/{EdFi.Ods.AdminApi => EdFi.Ods.AdminApi.Common}/Infrastructure/CommonQueryParams.cs (90%) rename Application/{EdFi.Ods.AdminApi => EdFi.Ods.AdminApi.Common}/Infrastructure/Context/ContextProvider.cs (93%) rename Application/{EdFi.Ods.AdminApi => EdFi.Ods.AdminApi.Common}/Infrastructure/Context/ContextStorage.cs (93%) rename Application/{EdFi.Ods.AdminApi => EdFi.Ods.AdminApi.Common}/Infrastructure/Database/EntityFrameworkCoreDatabaseModelBuilderExtensions.cs (96%) rename Application/{EdFi.Ods.AdminApi => EdFi.Ods.AdminApi.Common}/Infrastructure/DatabaseEngineEnum.cs (93%) rename Application/{EdFi.Ods.AdminApi => EdFi.Ods.AdminApi.Common}/Infrastructure/EndpointRouteBuilderExtensions.cs (88%) rename Application/{EdFi.Ods.AdminApi => EdFi.Ods.AdminApi.Common}/Infrastructure/ErrorHandling/AdminApiException.cs (93%) rename Application/{EdFi.Ods.AdminApi => EdFi.Ods.AdminApi.Common}/Infrastructure/ErrorHandling/NotFoundException.cs (91%) rename Application/{EdFi.Ods.AdminApi => EdFi.Ods.AdminApi.Common}/Infrastructure/ErrorHandling/OdsApiConnectionException.cs (94%) rename Application/{EdFi.Ods.AdminApi => EdFi.Ods.AdminApi.Common}/Infrastructure/Extensions/IConfigurationExtensions.cs (85%) rename Application/{EdFi.Ods.AdminApi => EdFi.Ods.AdminApi.Common}/Infrastructure/Extensions/StringExtensions.cs (80%) rename Application/{EdFi.Ods.AdminApi => EdFi.Ods.AdminApi.Common}/Infrastructure/Helpers/ConnectionStringHelper.cs (94%) rename Application/{EdFi.Ods.AdminApi/Infrastructure/Helpers/FeaturesHelper.cs => EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/FeaturesExtensions.cs} (80%) create mode 100644 Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/FeaturesHelper.cs rename Application/{EdFi.Ods.AdminApi => EdFi.Ods.AdminApi.Common}/Infrastructure/Helpers/QueryStringMappingHelper.cs (93%) rename Application/{EdFi.Ods.AdminApi => EdFi.Ods.AdminApi.Common}/Infrastructure/Helpers/SortingDirectionHelper.cs (94%) rename Application/{EdFi.Ods.AdminApi.AdminConsole => EdFi.Ods.AdminApi.Common/Infrastructure}/Helpers/StringToJsonDocumentConverter.cs (94%) rename Application/{EdFi.Ods.AdminApi => EdFi.Ods.AdminApi.Common}/Infrastructure/OperationalContext.cs (89%) rename Application/{EdFi.Ods.AdminApi => EdFi.Ods.AdminApi.Common}/Infrastructure/ValidatorExtensions.cs (92%) delete mode 100644 Application/EdFi.Ods.AdminApi/Features/IFeature.cs create mode 100644 Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/AdminApiFeatureHelper.cs diff --git a/Application/Ed-Fi-ODS-AdminApi.sln b/Application/Ed-Fi-ODS-AdminApi.sln index ed874cb99..21c329fa5 100644 --- a/Application/Ed-Fi-ODS-AdminApi.sln +++ b/Application/Ed-Fi-ODS-AdminApi.sln @@ -23,6 +23,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EdFi.Ods.AdminApi.AdminCons EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EdFi.Ods.AdminConsole.DBTests", "EdFi.Ods.AdminConsole.DBTests\EdFi.Ods.AdminConsole.DBTests.csproj", "{A2DC17AC-66C2-4119-BB47-4266E8ACB055}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EdFi.Ods.AdminApi.Common", "EdFi.Ods.AdminApi.Common\EdFi.Ods.AdminApi.Common.csproj", "{C9C86866-562B-4EA3-9AAC-F3297F0754D6}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -71,6 +73,14 @@ Global {A2DC17AC-66C2-4119-BB47-4266E8ACB055}.Release|Any CPU.Build.0 = Release|Any CPU {A2DC17AC-66C2-4119-BB47-4266E8ACB055}.Release|x64.ActiveCfg = Release|Any CPU {A2DC17AC-66C2-4119-BB47-4266E8ACB055}.Release|x64.Build.0 = Release|Any CPU + {C9C86866-562B-4EA3-9AAC-F3297F0754D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C9C86866-562B-4EA3-9AAC-F3297F0754D6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C9C86866-562B-4EA3-9AAC-F3297F0754D6}.Debug|x64.ActiveCfg = Debug|Any CPU + {C9C86866-562B-4EA3-9AAC-F3297F0754D6}.Debug|x64.Build.0 = Debug|Any CPU + {C9C86866-562B-4EA3-9AAC-F3297F0754D6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C9C86866-562B-4EA3-9AAC-F3297F0754D6}.Release|Any CPU.Build.0 = Release|Any CPU + {C9C86866-562B-4EA3-9AAC-F3297F0754D6}.Release|x64.ActiveCfg = Release|Any CPU + {C9C86866-562B-4EA3-9AAC-F3297F0754D6}.Release|x64.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/EdFi.Ods.AdminApi.AdminConsole.csproj b/Application/EdFi.Ods.AdminApi.AdminConsole/EdFi.Ods.AdminApi.AdminConsole.csproj index 7beb0b105..edab5ccb5 100644 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/EdFi.Ods.AdminApi.AdminConsole.csproj +++ b/Application/EdFi.Ods.AdminApi.AdminConsole/EdFi.Ods.AdminApi.AdminConsole.csproj @@ -40,4 +40,8 @@ + + + + diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Healthcheck/AddHealthCheck.cs b/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Healthcheck/AddHealthCheck.cs index 24b7abab0..f8991fd1d 100644 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Healthcheck/AddHealthCheck.cs +++ b/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Healthcheck/AddHealthCheck.cs @@ -5,6 +5,8 @@ using System.ComponentModel.DataAnnotations; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.HealthChecks.Commands; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using FluentValidation; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing; @@ -16,9 +18,9 @@ public class AddHealthCheck : IFeature { public void MapEndpoints(IEndpointRouteBuilder endpoints) { - AdminApiAdminConsoleEndpointBuilder.MapPost(endpoints, "/healthcheck", Execute) + AdminApiEndpointBuilder.MapPost(endpoints, "/healthcheck", Execute) .WithRouteOptions(b => b.WithResponseCode(201)) - .BuildForVersions(); + .BuildForVersions(AdminApiVersions.AdminConsole); } public async Task Execute(Validator validator, IAddHealthCheckCommand addHealthCheckCommand, AddHealthCheckRequest request) diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Healthcheck/ReadHealthcheck.cs b/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Healthcheck/ReadHealthcheck.cs index a59a8ad49..a5c5f494d 100644 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Healthcheck/ReadHealthcheck.cs +++ b/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Healthcheck/ReadHealthcheck.cs @@ -6,6 +6,8 @@ using AutoMapper; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.DataAccess.Models; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.HealthChecks.Queries; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing; @@ -15,11 +17,11 @@ public class ReadHealthcheck : IFeature { public void MapEndpoints(IEndpointRouteBuilder endpoints) { - AdminApiAdminConsoleEndpointBuilder.MapGet(endpoints, "/healthcheck", GetHealthchecks) - .BuildForVersions(); + AdminApiEndpointBuilder.MapGet(endpoints, "/healthcheck", GetHealthchecks) + .BuildForVersions(AdminApiVersions.AdminConsole); - AdminApiAdminConsoleEndpointBuilder.MapGet(endpoints, "/healthcheck/{tenantId}", GetHealthcheck) - .BuildForVersions(); + AdminApiEndpointBuilder.MapGet(endpoints, "/healthcheck/{tenantId}", GetHealthcheck) + .BuildForVersions(AdminApiVersions.AdminConsole); } internal async Task GetHealthcheck(IMapper mapper, IGetHealthCheckQuery getHealthCheckQuery, int tenantId) diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Instances/AddInstance.cs b/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Instances/AddInstance.cs index 36dd8429a..1b1d54dd6 100644 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Instances/AddInstance.cs +++ b/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Instances/AddInstance.cs @@ -5,6 +5,8 @@ using System.ComponentModel.DataAnnotations; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.Instances.Commands; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using FluentValidation; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing; @@ -15,9 +17,9 @@ public class AddInstance : IFeature { public void MapEndpoints(IEndpointRouteBuilder endpoints) { - AdminApiAdminConsoleEndpointBuilder.MapPost(endpoints, "/instances", Execute) + AdminApiEndpointBuilder.MapPost(endpoints, "/instances", Execute) .WithRouteOptions(b => b.WithResponseCode(201)) - .BuildForVersions(); + .BuildForVersions(AdminApiVersions.AdminConsole); } public async Task Execute(Validator validator, IAddInstanceCommand addInstanceCommand, AddInstanceRequest request) diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Instances/ReadInstances.cs b/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Instances/ReadInstances.cs index fb0a29f0a..9ba39bac9 100644 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Instances/ReadInstances.cs +++ b/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Instances/ReadInstances.cs @@ -8,6 +8,8 @@ using System.Text.Json; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.DataAccess.Models; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.Instances.Queries; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Routing; @@ -18,16 +20,16 @@ public class ReadInstances : IFeature { public void MapEndpoints(IEndpointRouteBuilder endpoints) { - AdminApiAdminConsoleEndpointBuilder.MapGet(endpoints, "/instances", GetInstances) - .BuildForVersions(); + AdminApiEndpointBuilder.MapGet(endpoints, "/instances", GetInstances) + .BuildForVersions(AdminApiVersions.AdminConsole); - AdminApiAdminConsoleEndpointBuilder.MapGet(endpoints, "/instances/{tenantId}/{id}", GetInstanceById) + AdminApiEndpointBuilder.MapGet(endpoints, "/instances/{tenantId}/{id}", GetInstanceById) .WithRouteOptions(b => b.WithResponse(200)) - .BuildForVersions(); + .BuildForVersions(AdminApiVersions.AdminConsole); - AdminApiAdminConsoleEndpointBuilder.MapGet(endpoints, "/instances/{tenantId}", GetInstancesByTenantId) + AdminApiEndpointBuilder.MapGet(endpoints, "/instances/{tenantId}", GetInstancesByTenantId) .WithRouteOptions(b => b.WithResponse(200)) - .BuildForVersions(); + .BuildForVersions(AdminApiVersions.AdminConsole); } internal async Task GetInstances([FromServices] IGetInstancesQuery getInstancesQuery) diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Permissions/AddPermissions.cs b/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Permissions/AddPermissions.cs index 63a3370a1..9ce3f6925 100644 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Permissions/AddPermissions.cs +++ b/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Permissions/AddPermissions.cs @@ -6,6 +6,8 @@ using System.ComponentModel.DataAnnotations; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.Instances.Commands; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.Permissions.Commands; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using FluentValidation; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing; @@ -16,9 +18,9 @@ public class AddPermission: IFeature { public void MapEndpoints(IEndpointRouteBuilder endpoints) { - AdminApiAdminConsoleEndpointBuilder.MapPost(endpoints, "/permissions", Execute) + AdminApiEndpointBuilder.MapPost(endpoints, "/permissions", Execute) .WithRouteOptions(b => b.WithResponseCode(201)) - .BuildForVersions(); + .BuildForVersions(AdminApiVersions.AdminConsole); } public async Task Execute(Validator validator, IAddPermissionCommand addPermissionCommand, AddPermissionRequest request) diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Permissions/ReadPermissions.cs b/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Permissions/ReadPermissions.cs index 852439761..8d5f60fce 100644 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Permissions/ReadPermissions.cs +++ b/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Permissions/ReadPermissions.cs @@ -10,6 +10,8 @@ using EdFi.Ods.AdminApi.AdminConsole.Features.Permissions; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.DataAccess.Models; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.Permissions.Queries; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Routing; @@ -21,16 +23,16 @@ public class ReadPermissions : IFeature { public void MapEndpoints(IEndpointRouteBuilder endpoints) { - AdminApiAdminConsoleEndpointBuilder.MapGet(endpoints, "/permissions", GetPermissions) - .BuildForVersions(); + AdminApiEndpointBuilder.MapGet(endpoints, "/permissions", GetPermissions) + .BuildForVersions(AdminApiVersions.AdminConsole); - AdminApiAdminConsoleEndpointBuilder.MapGet(endpoints, "/permissions/{tenantId}/{id}", GetPermissionById) + AdminApiEndpointBuilder.MapGet(endpoints, "/permissions/{tenantId}/{id}", GetPermissionById) .WithRouteOptions(b => b.WithResponse(200)) - .BuildForVersions(); + .BuildForVersions(AdminApiVersions.AdminConsole); - AdminApiAdminConsoleEndpointBuilder.MapGet(endpoints, "/permissions/{tenantId}", GetPermissionsByTenantId) + AdminApiEndpointBuilder.MapGet(endpoints, "/permissions/{tenantId}", GetPermissionsByTenantId) .WithRouteOptions(b => b.WithResponse(200)) - .BuildForVersions(); + .BuildForVersions(AdminApiVersions.AdminConsole); } internal async Task GetPermissions([FromServices] IGetPermissionsQuery getPermissionQuery) diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Steps/AddStep.cs b/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Steps/AddStep.cs index 04fa5f007..2ddef7ded 100644 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Steps/AddStep.cs +++ b/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Steps/AddStep.cs @@ -5,6 +5,8 @@ using System.ComponentModel.DataAnnotations; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.Steps.Commands; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using FluentValidation; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing; @@ -15,9 +17,9 @@ public class AddStep: IFeature { public void MapEndpoints(IEndpointRouteBuilder endpoints) { - AdminApiAdminConsoleEndpointBuilder.MapPost(endpoints, "/steps", Execute) + AdminApiEndpointBuilder.MapPost(endpoints, "/steps", Execute) .WithRouteOptions(b => b.WithResponseCode(201)) - .BuildForVersions(); + .BuildForVersions(AdminApiVersions.AdminConsole); } public async Task Execute(Validator validator, IAddStepCommand addStepCommand, AddStepRequest request) diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Steps/ReadSteps.cs b/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Steps/ReadSteps.cs index 65c572b77..0735627b4 100644 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Steps/ReadSteps.cs +++ b/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Steps/ReadSteps.cs @@ -8,6 +8,8 @@ using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.DataAccess.Models; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.Permissions.Queries; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.Steps.Queries; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Routing; @@ -18,16 +20,16 @@ public class ReadSteps : IFeature { public void MapEndpoints(IEndpointRouteBuilder endpoints) { - AdminApiAdminConsoleEndpointBuilder.MapGet(endpoints, "/steps", GetSteps) - .BuildForVersions(); + AdminApiEndpointBuilder.MapGet(endpoints, "/steps", GetSteps) + .BuildForVersions(AdminApiVersions.AdminConsole); - AdminApiAdminConsoleEndpointBuilder.MapGet(endpoints, "/steps/{tenantId}/{id}", GetStepById) + AdminApiEndpointBuilder.MapGet(endpoints, "/steps/{tenantId}/{id}", GetStepById) .WithRouteOptions(b => b.WithResponse(200)) - .BuildForVersions(); + .BuildForVersions(AdminApiVersions.AdminConsole); - AdminApiAdminConsoleEndpointBuilder.MapGet(endpoints, "/steps/{tenantId}", GetStepsByTenantId) + AdminApiEndpointBuilder.MapGet(endpoints, "/steps/{tenantId}", GetStepsByTenantId) .WithRouteOptions(b => b.WithResponse(200)) - .BuildForVersions(); + .BuildForVersions(AdminApiVersions.AdminConsole); } internal async Task GetSteps([FromServices] IGetStepsQuery getStepsQuery) diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Tenants/AddTenant.cs b/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Tenants/AddTenant.cs index 5d042aab3..897c69b4c 100644 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Tenants/AddTenant.cs +++ b/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Tenants/AddTenant.cs @@ -10,6 +10,8 @@ using System.Text; using System.Threading.Tasks; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.Tenants.Commands; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using FluentValidation; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing; @@ -20,9 +22,9 @@ public class AddTenant : IFeature { public void MapEndpoints(IEndpointRouteBuilder endpoints) { - AdminApiAdminConsoleEndpointBuilder.MapPost(endpoints, "/tenants", Execute) + AdminApiEndpointBuilder.MapPost(endpoints, "/tenants", Execute) .WithRouteOptions(b => b.WithResponseCode(201)) - .BuildForVersions(); + .BuildForVersions(AdminApiVersions.AdminConsole); } public async Task Execute(Validator validator, IAddTenantCommand addTenantCommand, AddTenantRequest request) diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Tenants/ReadTenants.cs b/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Tenants/ReadTenants.cs index 7e20b1034..a3aeca33b 100644 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Tenants/ReadTenants.cs +++ b/Application/EdFi.Ods.AdminApi.AdminConsole/Features/Tenants/ReadTenants.cs @@ -7,6 +7,8 @@ using System.Text.Json; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.DataAccess.Models; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.Tenants.Queries; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing; using Newtonsoft.Json; @@ -17,11 +19,11 @@ public class ReadTenants : IFeature { public void MapEndpoints(IEndpointRouteBuilder endpoints) { - AdminApiAdminConsoleEndpointBuilder.MapGet(endpoints, "/tenants", GetTenants) - .BuildForVersions(); + AdminApiEndpointBuilder.MapGet(endpoints, "/tenants", GetTenants) + .BuildForVersions(AdminApiVersions.AdminConsole); - AdminApiAdminConsoleEndpointBuilder.MapGet(endpoints, "/tenants/{tenantId}", GetTenantsByTenantId) - .BuildForVersions(); + AdminApiEndpointBuilder.MapGet(endpoints, "/tenants/{tenantId}", GetTenantsByTenantId) + .BuildForVersions(AdminApiVersions.AdminConsole); } internal async Task GetTenants(IGetTenantsQuery getTenantQuery) diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/Features/UserProfiles/AddUserProfile.cs b/Application/EdFi.Ods.AdminApi.AdminConsole/Features/UserProfiles/AddUserProfile.cs index 2e3d5320c..0da411ded 100644 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/Features/UserProfiles/AddUserProfile.cs +++ b/Application/EdFi.Ods.AdminApi.AdminConsole/Features/UserProfiles/AddUserProfile.cs @@ -5,6 +5,8 @@ using System.ComponentModel.DataAnnotations; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.UserProfiles.Commands; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using FluentValidation; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing; @@ -15,9 +17,9 @@ public class AddUserProfile : IFeature { public void MapEndpoints(IEndpointRouteBuilder endpoints) { - AdminApiAdminConsoleEndpointBuilder.MapPost(endpoints, "/userprofile", Execute) + AdminApiEndpointBuilder.MapPost(endpoints, "/userprofile", Execute) .WithRouteOptions(b => b.WithResponseCode(201)) - .BuildForVersions(); + .BuildForVersions(AdminApiVersions.AdminConsole); } public async Task Execute(Validator validator, IAddUserProfileCommand addUserProfileCommand, AddUserProfileRequest request) diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/Features/UserProfiles/ReadUserProfiles.cs b/Application/EdFi.Ods.AdminApi.AdminConsole/Features/UserProfiles/ReadUserProfiles.cs index 9df133b51..d32d4c377 100644 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/Features/UserProfiles/ReadUserProfiles.cs +++ b/Application/EdFi.Ods.AdminApi.AdminConsole/Features/UserProfiles/ReadUserProfiles.cs @@ -8,6 +8,8 @@ using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.DataAccess.Models; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.Permissions.Queries; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.UserProfiles.Queries; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing; @@ -17,16 +19,16 @@ public class ReadUserProfiles : IFeature { public void MapEndpoints(IEndpointRouteBuilder endpoints) { - AdminApiAdminConsoleEndpointBuilder.MapGet(endpoints, "/userprofile", GetUserProfiles) - .BuildForVersions(); + AdminApiEndpointBuilder.MapGet(endpoints, "/userprofile", GetUserProfiles) + .BuildForVersions(AdminApiVersions.AdminConsole); - AdminApiAdminConsoleEndpointBuilder.MapGet(endpoints, "/userprofile/{tenantId}/{id}", GetUserProfileById) + AdminApiEndpointBuilder.MapGet(endpoints, "/userprofile/{tenantId}/{id}", GetUserProfileById) .WithRouteOptions(b => b.WithResponse(200)) - .BuildForVersions(); + .BuildForVersions(AdminApiVersions.AdminConsole); - AdminApiAdminConsoleEndpointBuilder.MapGet(endpoints, "/userprofile/{tenantId}", GetUserProfilesByTenant) + AdminApiEndpointBuilder.MapGet(endpoints, "/userprofile/{tenantId}", GetUserProfilesByTenant) .WithRouteOptions(b => b.WithResponse(200)) - .BuildForVersions(); + .BuildForVersions(AdminApiVersions.AdminConsole); } internal async Task GetUserProfileById(IMapper mapper, IGetUserProfileByIdQuery getUserProfileQuery, int tenantId, int id) diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/DataAccess/Models/HealthCheck.cs b/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/DataAccess/Models/HealthCheck.cs index 22a1c2f23..dd4114465 100644 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/DataAccess/Models/HealthCheck.cs +++ b/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/DataAccess/Models/HealthCheck.cs @@ -4,7 +4,7 @@ // See the LICENSE and NOTICES files in the project root for more information. using System.Text.Json.Serialization; -using EdFi.Ods.AdminApi.AdminConsole.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; namespace EdFi.Ods.AdminApi.AdminConsole.Infrastructure.DataAccess.Models; diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/DataAccess/Models/Instance.cs b/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/DataAccess/Models/Instance.cs index 24728c4ff..0f8dacaeb 100644 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/DataAccess/Models/Instance.cs +++ b/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/DataAccess/Models/Instance.cs @@ -5,7 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; -using EdFi.Ods.AdminApi.AdminConsole.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; namespace EdFi.Ods.AdminApi.AdminConsole.Infrastructure.DataAccess.Models; diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/DataAccess/Models/Permission.cs b/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/DataAccess/Models/Permission.cs index ef4907107..ea363a504 100644 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/DataAccess/Models/Permission.cs +++ b/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/DataAccess/Models/Permission.cs @@ -5,7 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; -using EdFi.Ods.AdminApi.AdminConsole.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; namespace EdFi.Ods.AdminApi.AdminConsole.Infrastructure.DataAccess.Models; diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/DataAccess/Models/Step.cs b/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/DataAccess/Models/Step.cs index f3460e79a..18e1ca79c 100644 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/DataAccess/Models/Step.cs +++ b/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/DataAccess/Models/Step.cs @@ -5,7 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; -using EdFi.Ods.AdminApi.AdminConsole.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; namespace EdFi.Ods.AdminApi.AdminConsole.Infrastructure.DataAccess.Models; diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/DataAccess/Models/Tenant.cs b/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/DataAccess/Models/Tenant.cs index e74be4882..eea66b69a 100644 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/DataAccess/Models/Tenant.cs +++ b/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/DataAccess/Models/Tenant.cs @@ -10,7 +10,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using System.Threading.Tasks; -using EdFi.Ods.AdminApi.AdminConsole.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; namespace EdFi.Ods.AdminApi.AdminConsole.Infrastructure.DataAccess.Models; public class Tenant : IModel diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/DataAccess/Models/UserProfile.cs b/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/DataAccess/Models/UserProfile.cs index 34f67c1bf..1cfa9e4c5 100644 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/DataAccess/Models/UserProfile.cs +++ b/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/DataAccess/Models/UserProfile.cs @@ -10,7 +10,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using System.Threading.Tasks; -using EdFi.Ods.AdminApi.AdminConsole.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; namespace EdFi.Ods.AdminApi.AdminConsole.Infrastructure.DataAccess.Models; diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/ErrorHandling/AdminApiAdminConsoleException.cs b/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/ErrorHandling/AdminApiAdminConsoleException.cs deleted file mode 100644 index ce8ee7f23..000000000 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/ErrorHandling/AdminApiAdminConsoleException.cs +++ /dev/null @@ -1,27 +0,0 @@ -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. - -using System.Net; - -namespace EdFi.Ods.AdminApi.AdminConsole.Infrastructure.ErrorHandling; - -public interface IAdminApiAdminConsoleException -{ - string? Message { get; } - string? StackTrace { get; } - HttpStatusCode? StatusCode { get; } - bool AllowFeedback { get; } - bool IsStackTraceRelevant { get; } -} - -public class AdminApiAdminConsoleException : Exception, IAdminApiAdminConsoleException -{ - public AdminApiAdminConsoleException(string message) : base(message) { } - public AdminApiAdminConsoleException(string message, Exception innerException) : base(message, innerException) { } - - public HttpStatusCode? StatusCode { get; set; } - public bool AllowFeedback { get; set; } = true; - public bool IsStackTraceRelevant { get; set; } = false; -} diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/ErrorHandling/NotFoundException.cs b/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/ErrorHandling/NotFoundException.cs deleted file mode 100644 index 9e51e30ae..000000000 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/ErrorHandling/NotFoundException.cs +++ /dev/null @@ -1,24 +0,0 @@ -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. - -namespace EdFi.Ods.AdminApi.AdminConsole.Infrastructure.ErrorHandling; - -public interface INotFoundException -{ - public string Message { get; } -} - -public class NotFoundException : Exception, INotFoundException -{ - public string ResourceName { get; } - public T Id { get; } - - public NotFoundException(string resourceName, T id) - : base($"Not found: {resourceName} with ID {id}. It may have been recently deleted.") - { - ResourceName = resourceName; - Id = id; - } -} diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/Helper/AdminConsoleFeatureHelper.cs b/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/Helper/AdminConsoleFeatureHelper.cs new file mode 100644 index 000000000..b95bde8bb --- /dev/null +++ b/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/Helper/AdminConsoleFeatureHelper.cs @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: Apache-2.0 +// Licensed to the Ed-Fi Alliance under one or more agreements. +// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +// See the LICENSE and NOTICES files in the project root for more information. + +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure.Helpers; +using System.Reflection; + +namespace EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Helpers; + +public static class AdminConsoleFeatureHelper +{ + public static List GetFeatures() => FeatureHelper.GetFeatures(Assembly.GetExecutingAssembly()); +} diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/Services/HealthChecks/Queries/GetHealthCheckQuery.cs b/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/Services/HealthChecks/Queries/GetHealthCheckQuery.cs index f5860ab6e..c515cc2d4 100644 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/Services/HealthChecks/Queries/GetHealthCheckQuery.cs +++ b/Application/EdFi.Ods.AdminApi.AdminConsole/Infrastructure/Services/HealthChecks/Queries/GetHealthCheckQuery.cs @@ -4,7 +4,7 @@ // See the LICENSE and NOTICES files in the project root for more information. using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.DataAccess.Models; -using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Repositories; using Microsoft.EntityFrameworkCore; diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/Misc.cs b/Application/EdFi.Ods.AdminApi.AdminConsole/Misc.cs deleted file mode 100644 index ab01f778d..000000000 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/Misc.cs +++ /dev/null @@ -1,165 +0,0 @@ -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. - -using System.Reflection; -using EdFi.Ods.AdminApi.AdminConsole.Features; -using FluentValidation; -using Microsoft.AspNetCore.Builder; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing; -using Swashbuckle.AspNetCore.Annotations; - - -namespace EdFi.Ods.AdminApi.AdminConsole; - -public class AdminApiAdminConsoleEndpointBuilder -{ - private AdminApiAdminConsoleEndpointBuilder(IEndpointRouteBuilder endpoints, - HttpVerb verb, string route, Delegate handler) - { - _endpoints = endpoints; - _verb = verb; - _route = route.Trim('/'); - _handler = handler; - _pluralResourceName = _route.Split('/')[0]; - } - - private readonly IEndpointRouteBuilder _endpoints; - private readonly HttpVerb? _verb; - private readonly string _route; - private readonly Delegate? _handler; - private readonly List> _routeOptions = new(); - private readonly string _pluralResourceName; - private bool _allowAnonymous = false; - - public static AdminApiAdminConsoleEndpointBuilder MapGet(IEndpointRouteBuilder endpoints, string route, Delegate handler) - => new(endpoints, HttpVerb.GET, route, handler); - - public static AdminApiAdminConsoleEndpointBuilder MapPost(IEndpointRouteBuilder endpoints, string route, Delegate handler) - => new(endpoints, HttpVerb.POST, route, handler); - - public static AdminApiAdminConsoleEndpointBuilder MapPut(IEndpointRouteBuilder endpoints, string route, Delegate handler) - => new(endpoints, HttpVerb.PUT, route, handler); - - public static AdminApiAdminConsoleEndpointBuilder MapDelete(IEndpointRouteBuilder endpoints, string route, Delegate handler) - => new(endpoints, HttpVerb.DELETE, route, handler); - - public AdminApiAdminConsoleEndpointBuilder WithRouteOptions(Action routeHandlerBuilderAction) - { - _routeOptions.Add(routeHandlerBuilderAction); - return this; - } - - public void BuildForVersions() - { - var version = "adminconsole"; - if (_route == null) - throw new InvalidOperationException("Invalid endpoint registration. Route must be specified"); - if (_handler == null) - throw new InvalidOperationException("Invalid endpoint registration. Handler must be specified"); - - - if (version == null) - throw new ArgumentException("Version cannot be null"); - - var versionedRoute = $"/{version}/{_route}"; - - var builder = _verb switch - { - HttpVerb.GET => _endpoints.MapGet(versionedRoute, _handler), - HttpVerb.POST => _endpoints.MapPost(versionedRoute, _handler), - HttpVerb.PUT => _endpoints.MapPut(versionedRoute, _handler), - HttpVerb.DELETE => _endpoints.MapDelete(versionedRoute, _handler), - _ => throw new ArgumentOutOfRangeException($"Unconfigured HTTP verb for mapping: {_verb}") - }; - - if (_allowAnonymous) - { - builder.AllowAnonymous(); - } - else - { - builder.RequireAuthorization(); - } - - builder.WithGroupName(version.ToString()); - builder.WithResponseCode(401, "Unauthorized. The request requires authentication"); - builder.WithResponseCode(403, "Forbidden. The request is authenticated, but not authorized to access this resource"); - builder.WithResponseCode(409, "Conflict. The request is authenticated, but it has a conflict with an existing element"); - builder.WithResponseCode(500, "FeatureConstants.InternalServerErrorResponseDescription"); - - if (_route.Contains("id", StringComparison.InvariantCultureIgnoreCase)) - { - builder.WithResponseCode(404, "Not found. A resource with given identifier could not be found."); - } - - if (_verb is HttpVerb.PUT or HttpVerb.POST) - { - builder.WithResponseCode(400, "FeatureConstants.BadRequestResponseDescription"); - } - - foreach (var action in _routeOptions) - { - action(builder); - } - - } - - - public AdminApiAdminConsoleEndpointBuilder AllowAnonymous() - { - _allowAnonymous = true; - return this; - } - - private enum HttpVerb { GET, POST, PUT, DELETE } -} - -public static class EndpointRouteBuilderExtensions -{ - public static RouteHandlerBuilder WithResponseCode(this RouteHandlerBuilder builder, int code, string? description = null) - { - builder.Produces(code); - builder.WithMetadata(new SwaggerResponseAttribute(code, description)); - return builder; - } - - public static RouteHandlerBuilder WithResponse(this RouteHandlerBuilder builder, int code, string? description = null) - { - builder.Produces(code, responseType: typeof(T)); - builder.WithMetadata(new SwaggerResponseAttribute(code, description, typeof(T))); - return builder; - } -} - -public static class FeaturesHelper -{ - public static List GetFeatures() - { - var featureInterface = typeof(IFeature); - var featureImpls = Assembly.GetExecutingAssembly().GetTypes() - .Where(p => featureInterface.IsAssignableFrom(p) && p.IsClass); - - var features = new List(); - - foreach (var featureImpl in featureImpls) - { - if (Activator.CreateInstance(featureImpl) is IFeature feature) - features.Add(feature); - } - return features; - } -} - -public static class ValidatorExtensions -{ - public static async Task GuardAsync(this IValidator validator, TRequest request) - { - var validationResult = await validator.ValidateAsync(request); - - if (!validationResult.IsValid) - throw new ValidationException(validationResult.Errors); - } -} diff --git a/Application/EdFi.Ods.AdminApi.Common/EdFi.Ods.AdminApi.Common.csproj b/Application/EdFi.Ods.AdminApi.Common/EdFi.Ods.AdminApi.Common.csproj new file mode 100644 index 000000000..6c74df6f8 --- /dev/null +++ b/Application/EdFi.Ods.AdminApi.Common/EdFi.Ods.AdminApi.Common.csproj @@ -0,0 +1,34 @@ + + + + net8.0 + enable + enable + + + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + + + + + + diff --git a/Application/EdFi.Ods.AdminApi/Features/AdminApiError.cs b/Application/EdFi.Ods.AdminApi.Common/Features/AdminApiError.cs similarity index 95% rename from Application/EdFi.Ods.AdminApi/Features/AdminApiError.cs rename to Application/EdFi.Ods.AdminApi.Common/Features/AdminApiError.cs index 495bdc056..d3bbb9ee3 100644 --- a/Application/EdFi.Ods.AdminApi/Features/AdminApiError.cs +++ b/Application/EdFi.Ods.AdminApi.Common/Features/AdminApiError.cs @@ -4,9 +4,10 @@ // See the LICENSE and NOTICES files in the project root for more information. using FluentValidation.Results; +using Microsoft.AspNetCore.Http; using Swashbuckle.AspNetCore.Annotations; -namespace EdFi.Ods.AdminApi.Features; +namespace EdFi.Ods.AdminApi.Common.Features; [SwaggerSchema(Title = "AdminApiError", Description = "Wrapper schema for all error responses")] public class AdminApiError diff --git a/Application/EdFi.Ods.AdminApi.Common/Features/FeatureCommonConstants.cs b/Application/EdFi.Ods.AdminApi.Common/Features/FeatureCommonConstants.cs new file mode 100644 index 000000000..441beff47 --- /dev/null +++ b/Application/EdFi.Ods.AdminApi.Common/Features/FeatureCommonConstants.cs @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: Apache-2.0 +// Licensed to the Ed-Fi Alliance under one or more agreements. +// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +// See the LICENSE and NOTICES files in the project root for more information. + +namespace EdFi.Ods.AdminApi.Common.Features; + +public static class FeatureCommonConstants +{ + public const string DeletedSuccessResponseDescription = "Resource was successfully deleted."; + public const string InternalServerErrorResponseDescription = "Internal server error. An unhandled error occurred on the server. See the response body for details."; + public const string BadRequestResponseDescription = "Bad Request. The request was invalid and cannot be completed. See the response body for details."; +} diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/Features/IFeature.cs b/Application/EdFi.Ods.AdminApi.Common/Features/IFeature.cs similarity index 88% rename from Application/EdFi.Ods.AdminApi.AdminConsole/Features/IFeature.cs rename to Application/EdFi.Ods.AdminApi.Common/Features/IFeature.cs index f3a6daee8..52e42d6a6 100644 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/Features/IFeature.cs +++ b/Application/EdFi.Ods.AdminApi.Common/Features/IFeature.cs @@ -5,7 +5,7 @@ using Microsoft.AspNetCore.Routing; -namespace EdFi.Ods.AdminApi.AdminConsole.Features; +namespace EdFi.Ods.AdminApi.Common.Features; public interface IFeature { diff --git a/Application/EdFi.Ods.AdminApi/Helpers/AppSettings.cs b/Application/EdFi.Ods.AdminApi.Common/Helpers/AppSettings.cs similarity index 92% rename from Application/EdFi.Ods.AdminApi/Helpers/AppSettings.cs rename to Application/EdFi.Ods.AdminApi.Common/Helpers/AppSettings.cs index 58b706ef5..3d0c16881 100644 --- a/Application/EdFi.Ods.AdminApi/Helpers/AppSettings.cs +++ b/Application/EdFi.Ods.AdminApi.Common/Helpers/AppSettings.cs @@ -1,20 +1,20 @@ -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. - -namespace EdFi.Ods.AdminApi.Helpers; +// SPDX-License-Identifier: Apache-2.0 +// Licensed to the Ed-Fi Alliance under one or more agreements. +// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +// See the LICENSE and NOTICES files in the project root for more information. + +namespace EdFi.Ods.AdminApi.Common.Helpers; public class AppSettings { public int DefaultPageSizeOffset { get; set; } - public int DefaultPageSizeLimit { get; set; } - public string? DatabaseEngine { get; set; } - public bool MultiTenancy { get; set; } + public int DefaultPageSizeLimit { get; set; } + public string? DatabaseEngine { get; set; } + public bool MultiTenancy { get; set; } public bool PreventDuplicateApplications { get; set; } -} - -public class SwaggerSettings -{ - public bool EnableSwagger { get; set; } - public string? DefaultTenant { get; set; } +} + +public class SwaggerSettings +{ + public bool EnableSwagger { get; set; } + public string? DefaultTenant { get; set; } } diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/AdminApiEndpointBuilder.cs b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/AdminApiEndpointBuilder.cs similarity index 87% rename from Application/EdFi.Ods.AdminApi/Infrastructure/AdminApiEndpointBuilder.cs rename to Application/EdFi.Ods.AdminApi.Common/Infrastructure/AdminApiEndpointBuilder.cs index fa8729ae4..15141e789 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/AdminApiEndpointBuilder.cs +++ b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/AdminApiEndpointBuilder.cs @@ -3,13 +3,15 @@ // The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. // See the LICENSE and NOTICES files in the project root for more information. -using EdFi.Ods.AdminApi.Features; -using EdFi.Ods.AdminApi.Helpers; -using EdFi.Ods.AdminApi.Infrastructure.Documentation; -using EdFi.Ods.AdminApi.Infrastructure.Extensions; +using EdFi.Ods.AdminApi.Common.Helpers; using Swashbuckle.AspNetCore.Annotations; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Routing; +using EdFi.Ods.AdminApi.Common.Infrastructure.Extensions; -namespace EdFi.Ods.AdminApi.Infrastructure; +namespace EdFi.Ods.AdminApi.Common.Infrastructure; public class AdminApiEndpointBuilder { @@ -44,6 +46,10 @@ public static AdminApiEndpointBuilder MapDelete(IEndpointRouteBuilder endpoints, => new(endpoints, HttpVerb.DELETE, route, handler); public void BuildForVersions(params AdminApiVersions.AdminApiVersion[] versions) + { + BuildForVersions(string.Empty, versions); + } + public void BuildForVersions(string authorizationPolicy, params AdminApiVersions.AdminApiVersion[] versions) { if (versions.Length == 0) throw new ArgumentException("Must register for at least 1 version"); @@ -74,14 +80,21 @@ public void BuildForVersions(params AdminApiVersions.AdminApiVersion[] versions) } else { - builder.RequireAuthorization(); + if (string.IsNullOrWhiteSpace(authorizationPolicy)) + { + builder.RequireAuthorization(authorizationPolicy); + } + else + { + builder.RequireAuthorization(); + } } builder.WithGroupName(version.ToString()); builder.WithResponseCode(401, "Unauthorized. The request requires authentication"); builder.WithResponseCode(403, "Forbidden. The request is authenticated, but not authorized to access this resource"); builder.WithResponseCode(409, "Conflict. The request is authenticated, but it has a conflict with an existing element"); - builder.WithResponseCode(500, FeatureConstants.InternalServerErrorResponseDescription); + builder.WithResponseCode(500, FeatureCommonConstants.InternalServerErrorResponseDescription); if (_route.Contains("id", StringComparison.InvariantCultureIgnoreCase)) { @@ -90,7 +103,7 @@ public void BuildForVersions(params AdminApiVersions.AdminApiVersion[] versions) if (_verb is HttpVerb.PUT or HttpVerb.POST) { - builder.WithResponseCode(400, FeatureConstants.BadRequestResponseDescription); + builder.WithResponseCode(400, FeatureCommonConstants.BadRequestResponseDescription); } foreach (var action in _routeOptions) @@ -115,8 +128,8 @@ public AdminApiEndpointBuilder WithDefaultSummaryAndDescription() HttpVerb.PUT => $"Updates {_pluralResourceName.ToSingleEntity()} based on the resource identifier.", HttpVerb.DELETE => $"Deletes an existing {_pluralResourceName.ToSingleEntity()} using the resource identifier.", _ => throw new ArgumentOutOfRangeException($"Unconfigured HTTP verb for default description {_verb}") - }; - + }; + var description = _verb switch { HttpVerb.GET => "This GET operation provides access to resources using the \"Get\" search pattern. The values of any properties of the resource that are specified will be used to return all matching results (if it exists).", @@ -133,10 +146,10 @@ public AdminApiEndpointBuilder WithSummary(string summary) { _routeOptions.Add(rhb => rhb.WithMetadata(new SwaggerOperationAttribute(summary))); return this; - } - + } + public AdminApiEndpointBuilder WithSummaryAndDescription(string summary, string description) - { + { _routeOptions.Add(rhb => rhb.WithMetadata(new SwaggerOperationAttribute(summary, description))); return this; } diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/AdminApiVersions.cs b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/AdminApiVersions.cs similarity index 94% rename from Application/EdFi.Ods.AdminApi/Infrastructure/AdminApiVersions.cs rename to Application/EdFi.Ods.AdminApi.Common/Infrastructure/AdminApiVersions.cs index dadee85ff..7c834414a 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/AdminApiVersions.cs +++ b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/AdminApiVersions.cs @@ -6,8 +6,10 @@ using System.Reflection; using Asp.Versioning.Builder; using Asp.Versioning.Conventions; +using Microsoft.AspNetCore.Builder; +using Microsoft.Extensions.Configuration; -namespace EdFi.Ods.AdminApi.Infrastructure; +namespace EdFi.Ods.AdminApi.Common.Infrastructure; public class AdminApiVersions { @@ -19,21 +21,21 @@ public class AdminApiVersions public static void Initialize(WebApplication app) { - if (_isInitialized) - throw new InvalidOperationException("Versions are already initialized"); + if (_isInitialized) + throw new InvalidOperationException("Versions are already initialized"); - if (app.Configuration.GetValue("AppSettings:EnableAdminConsoleAPI")) - { + if (app.Configuration.GetValue("AppSettings:EnableAdminConsoleAPI")) + { _versionSet = app.NewApiVersionSet() .HasApiVersion(V2.Version) .HasApiVersion(AdminConsole.Version) - .Build(); - } - else - { + .Build(); + } + else + { _versionSet = app.NewApiVersionSet() .HasApiVersion(V2.Version) - .Build(); + .Build(); } _isInitialized = true; } diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/CommonQueryParams.cs b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/CommonQueryParams.cs similarity index 90% rename from Application/EdFi.Ods.AdminApi/Infrastructure/CommonQueryParams.cs rename to Application/EdFi.Ods.AdminApi.Common/Infrastructure/CommonQueryParams.cs index 337d0d534..a8a5aba6b 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/CommonQueryParams.cs +++ b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/CommonQueryParams.cs @@ -1,39 +1,39 @@ -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. - -using EdFi.Ods.AdminApi.Infrastructure.Helpers; -using Microsoft.AspNetCore.Mvc; -using Microsoft.AspNetCore.Mvc.ModelBinding; - -namespace EdFi.Ods.AdminApi.Infrastructure; - -public struct CommonQueryParams -{ - [FromQuery(Name = "offset")] - public int? Offset { get; set; } - [FromQuery(Name = "limit")] - public int? Limit { get; set; } - [FromQuery(Name = "orderBy")] - public string? OrderBy { get; set; } - [FromQuery(Name = "direction")] - public string? Direction { get; set; } - [BindNever] - public bool IsDescending => SortingDirectionHelper.IsDescendingSorting(Direction); - public CommonQueryParams() { } - public CommonQueryParams(int? offset, int? limit) - { - Offset = offset; - Limit = limit; - } - public CommonQueryParams(int? offset, int? limit, string? orderBy, string? direction) - { - Offset = offset; - Limit = limit; - OrderBy = orderBy; - Direction = SortingDirectionHelper.GetNonEmptyOrDefault(direction); - } - -} - +// SPDX-License-Identifier: Apache-2.0 +// Licensed to the Ed-Fi Alliance under one or more agreements. +// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +// See the LICENSE and NOTICES files in the project root for more information. + +using EdFi.Ods.AdminApi.Common.Infrastructure.Helpers; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.ModelBinding; + +namespace EdFi.Ods.AdminApi.Common.Infrastructure; + +public struct CommonQueryParams +{ + [FromQuery(Name = "offset")] + public int? Offset { get; set; } + [FromQuery(Name = "limit")] + public int? Limit { get; set; } + [FromQuery(Name = "orderBy")] + public string? OrderBy { get; set; } + [FromQuery(Name = "direction")] + public string? Direction { get; set; } + [BindNever] + public bool IsDescending => SortingDirectionHelper.IsDescendingSorting(Direction); + public CommonQueryParams() { } + public CommonQueryParams(int? offset, int? limit) + { + Offset = offset; + Limit = limit; + } + public CommonQueryParams(int? offset, int? limit, string? orderBy, string? direction) + { + Offset = offset; + Limit = limit; + OrderBy = orderBy; + Direction = SortingDirectionHelper.GetNonEmptyOrDefault(direction); + } + +} + diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Context/ContextProvider.cs b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Context/ContextProvider.cs similarity index 93% rename from Application/EdFi.Ods.AdminApi/Infrastructure/Context/ContextProvider.cs rename to Application/EdFi.Ods.AdminApi.Common/Infrastructure/Context/ContextProvider.cs index 6d490e3a8..ff24e8f4a 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Context/ContextProvider.cs +++ b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Context/ContextProvider.cs @@ -3,7 +3,7 @@ // The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. // See the LICENSE and NOTICES files in the project root for more information. -namespace EdFi.Ods.AdminApi.Infrastructure.Context; +namespace EdFi.Ods.AdminApi.Common.Infrastructure.Context; public interface IContextProvider { diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Context/ContextStorage.cs b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Context/ContextStorage.cs similarity index 93% rename from Application/EdFi.Ods.AdminApi/Infrastructure/Context/ContextStorage.cs rename to Application/EdFi.Ods.AdminApi.Common/Infrastructure/Context/ContextStorage.cs index 745d75394..f51d0a881 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Context/ContextStorage.cs +++ b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Context/ContextStorage.cs @@ -5,7 +5,7 @@ using System.Collections; -namespace EdFi.Ods.AdminApi.Infrastructure.Context +namespace EdFi.Ods.AdminApi.Common.Infrastructure.Context { public interface IContextStorage { diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/EntityFrameworkCoreDatabaseModelBuilderExtensions.cs b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Database/EntityFrameworkCoreDatabaseModelBuilderExtensions.cs similarity index 96% rename from Application/EdFi.Ods.AdminApi/Infrastructure/Database/EntityFrameworkCoreDatabaseModelBuilderExtensions.cs rename to Application/EdFi.Ods.AdminApi.Common/Infrastructure/Database/EntityFrameworkCoreDatabaseModelBuilderExtensions.cs index 4cd84401e..f1f9a13d9 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/EntityFrameworkCoreDatabaseModelBuilderExtensions.cs +++ b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Database/EntityFrameworkCoreDatabaseModelBuilderExtensions.cs @@ -6,7 +6,7 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata; -namespace EdFi.Ods.AdminApi.Infrastructure.Database; +namespace EdFi.Ods.AdminApi.Common.Infrastructure.Database; public static class EntityFrameworkCoreDatabaseModelBuilderExtensions { diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/DatabaseEngineEnum.cs b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/DatabaseEngineEnum.cs similarity index 93% rename from Application/EdFi.Ods.AdminApi/Infrastructure/DatabaseEngineEnum.cs rename to Application/EdFi.Ods.AdminApi.Common/Infrastructure/DatabaseEngineEnum.cs index a832692a6..486c36caf 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/DatabaseEngineEnum.cs +++ b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/DatabaseEngineEnum.cs @@ -1,9 +1,9 @@ -namespace EdFi.Ods.AdminApi.Infrastructure; +namespace EdFi.Ods.AdminApi.Common.Infrastructure; public static class DatabaseEngineEnum { public const string SqlServer = "SqlServer"; - public const string PostgreSql = "PostgreSql"; + public const string PostgreSql = "PostgreSql"; public const string SqlServerCollation = "Latin1_General_100_BIN2_UTF8"; public static string Parse(string value) diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/EndpointRouteBuilderExtensions.cs b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/EndpointRouteBuilderExtensions.cs similarity index 88% rename from Application/EdFi.Ods.AdminApi/Infrastructure/EndpointRouteBuilderExtensions.cs rename to Application/EdFi.Ods.AdminApi.Common/Infrastructure/EndpointRouteBuilderExtensions.cs index 6f9c9ecde..d39696a4e 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/EndpointRouteBuilderExtensions.cs +++ b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/EndpointRouteBuilderExtensions.cs @@ -1,11 +1,13 @@ -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. - +// SPDX-License-Identifier: Apache-2.0 +// Licensed to the Ed-Fi Alliance under one or more agreements. +// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +// See the LICENSE and NOTICES files in the project root for more information. + +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Http; using Swashbuckle.AspNetCore.Annotations; -namespace EdFi.Ods.AdminApi.Infrastructure; +namespace EdFi.Ods.AdminApi.Common.Infrastructure; public static class EndpointRouteBuilderExtensions { diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/ErrorHandling/AdminApiException.cs b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/ErrorHandling/AdminApiException.cs similarity index 93% rename from Application/EdFi.Ods.AdminApi/Infrastructure/ErrorHandling/AdminApiException.cs rename to Application/EdFi.Ods.AdminApi.Common/Infrastructure/ErrorHandling/AdminApiException.cs index f6843e415..22cdec064 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/ErrorHandling/AdminApiException.cs +++ b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/ErrorHandling/AdminApiException.cs @@ -5,7 +5,7 @@ using System.Net; -namespace EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +namespace EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; public interface IAdminApiException { diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/ErrorHandling/NotFoundException.cs b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/ErrorHandling/NotFoundException.cs similarity index 91% rename from Application/EdFi.Ods.AdminApi/Infrastructure/ErrorHandling/NotFoundException.cs rename to Application/EdFi.Ods.AdminApi.Common/Infrastructure/ErrorHandling/NotFoundException.cs index d3357b063..fec49603a 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/ErrorHandling/NotFoundException.cs +++ b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/ErrorHandling/NotFoundException.cs @@ -3,7 +3,7 @@ // The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. // See the LICENSE and NOTICES files in the project root for more information. -namespace EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +namespace EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; public interface INotFoundException { diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/ErrorHandling/OdsApiConnectionException.cs b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/ErrorHandling/OdsApiConnectionException.cs similarity index 94% rename from Application/EdFi.Ods.AdminApi/Infrastructure/ErrorHandling/OdsApiConnectionException.cs rename to Application/EdFi.Ods.AdminApi.Common/Infrastructure/ErrorHandling/OdsApiConnectionException.cs index c47b145ab..6d856b06a 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/ErrorHandling/OdsApiConnectionException.cs +++ b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/ErrorHandling/OdsApiConnectionException.cs @@ -5,7 +5,7 @@ using System.Net; -namespace EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +namespace EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; public class OdsApiConnectionException : Exception, IAdminApiException { diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Extensions/IConfigurationExtensions.cs b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Extensions/IConfigurationExtensions.cs similarity index 85% rename from Application/EdFi.Ods.AdminApi/Infrastructure/Extensions/IConfigurationExtensions.cs rename to Application/EdFi.Ods.AdminApi.Common/Infrastructure/Extensions/IConfigurationExtensions.cs index 794d78d2d..1ce1515fe 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Extensions/IConfigurationExtensions.cs +++ b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Extensions/IConfigurationExtensions.cs @@ -3,9 +3,10 @@ // The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. // See the LICENSE and NOTICES files in the project root for more information. -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; +using Microsoft.Extensions.Configuration; -namespace EdFi.Ods.AdminApi.Infrastructure.Extensions; +namespace EdFi.Ods.AdminApi.Common.Infrastructure.Extensions; public static class IConfigurationExtensions { diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Extensions/StringExtensions.cs b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Extensions/StringExtensions.cs similarity index 80% rename from Application/EdFi.Ods.AdminApi/Infrastructure/Extensions/StringExtensions.cs rename to Application/EdFi.Ods.AdminApi.Common/Infrastructure/Extensions/StringExtensions.cs index e1c2b0e07..b8d0d0de1 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Extensions/StringExtensions.cs +++ b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Extensions/StringExtensions.cs @@ -1,8 +1,13 @@ +// SPDX-License-Identifier: Apache-2.0 +// Licensed to the Ed-Fi Alliance under one or more agreements. +// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +// See the LICENSE and NOTICES files in the project root for more information. + using System.Globalization; -using System.Text; -using System.Text.RegularExpressions; - -namespace EdFi.Ods.AdminApi.Infrastructure.Extensions; +using System.Text; +using System.Text.RegularExpressions; + +namespace EdFi.Ods.AdminApi.Common.Infrastructure.Extensions; public static class StringExtensions { @@ -21,25 +26,25 @@ public static string ToDelimiterSeparated(this IEnumerable inputStrings, return listOfStrings.Any() ? string.Join(separator, listOfStrings) : string.Empty; - } - - public static object ToJsonObjectResponseDeleted(this string input) - { - return new { title = $"{input} deleted successfully" }; - } - - public static string ToPascalCase(this string input) - { - var matches = Regex.Match(input, "^(?^[a-z]+|[A-Z]+|[A-Z][a-z]+)+$"); - var groupWords = matches.Groups["word"]; - - var thread = Thread.CurrentThread.CurrentCulture.TextInfo; - var stringBuilder = new StringBuilder(); - foreach (var captureWord in groupWords.Captures.Cast()) - stringBuilder.Append(thread.ToTitleCase(captureWord.Value.ToLower())); - return stringBuilder.ToString(); - } - -} - + } + + public static object ToJsonObjectResponseDeleted(this string input) + { + return new { title = $"{input} deleted successfully" }; + } + + public static string ToPascalCase(this string input) + { + var matches = Regex.Match(input, "^(?^[a-z]+|[A-Z]+|[A-Z][a-z]+)+$"); + var groupWords = matches.Groups["word"]; + + var thread = Thread.CurrentThread.CurrentCulture.TextInfo; + var stringBuilder = new StringBuilder(); + foreach (var captureWord in groupWords.Captures.Cast()) + stringBuilder.Append(thread.ToTitleCase(captureWord.Value.ToLower())); + return stringBuilder.ToString(); + } + +} + diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/ConnectionStringHelper.cs b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/ConnectionStringHelper.cs similarity index 94% rename from Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/ConnectionStringHelper.cs rename to Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/ConnectionStringHelper.cs index 0c95c685a..64cf9d644 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/ConnectionStringHelper.cs +++ b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/ConnectionStringHelper.cs @@ -1,49 +1,49 @@ -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. - -using log4net; -using Microsoft.Data.SqlClient; -using Npgsql; - -namespace EdFi.Ods.AdminApi.Infrastructure.Helpers; - -public static class ConnectionStringHelper +// SPDX-License-Identifier: Apache-2.0 +// Licensed to the Ed-Fi Alliance under one or more agreements. +// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +// See the LICENSE and NOTICES files in the project root for more information. + +using log4net; +using Microsoft.Data.SqlClient; +using Npgsql; + +namespace EdFi.Ods.AdminApi.Common.Infrastructure.Helpers; + +public static class ConnectionStringHelper { - private static readonly ILog _log = LogManager.GetLogger(typeof(ConnectionStringHelper)); - public static bool ValidateConnectionString(string databaseEngine, string? connectionString) - { - bool result = true; - if (databaseEngine.ToLowerInvariant() == DatabaseEngineEnum.SqlServer.ToLowerInvariant()) - { - try - { - _ = new SqlConnectionStringBuilder(connectionString); - } - catch (Exception ex) - { - if (ex is ArgumentException || - ex is FormatException || - ex is KeyNotFoundException) - { + private static readonly ILog _log = LogManager.GetLogger(typeof(ConnectionStringHelper)); + public static bool ValidateConnectionString(string databaseEngine, string? connectionString) + { + bool result = true; + if (databaseEngine.ToLowerInvariant() == DatabaseEngineEnum.SqlServer.ToLowerInvariant()) + { + try + { + _ = new SqlConnectionStringBuilder(connectionString); + } + catch (Exception ex) + { + if (ex is ArgumentException || + ex is FormatException || + ex is KeyNotFoundException) + { result = false; - _log.Error(ex); - } - } - } - else if (databaseEngine.ToLowerInvariant() == DatabaseEngineEnum.PostgreSql.ToLowerInvariant()) - { - try - { - _ = new NpgsqlConnectionStringBuilder(connectionString); + _log.Error(ex); + } + } + } + else if (databaseEngine.ToLowerInvariant() == DatabaseEngineEnum.PostgreSql.ToLowerInvariant()) + { + try + { + _ = new NpgsqlConnectionStringBuilder(connectionString); } - catch (ArgumentException ex) - { + catch (ArgumentException ex) + { result = false; - _log.Error(ex); - } - } - return result; - } -} + _log.Error(ex); + } + } + return result; + } +} diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/FeaturesHelper.cs b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/FeaturesExtensions.cs similarity index 80% rename from Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/FeaturesHelper.cs rename to Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/FeaturesExtensions.cs index 0a21137bb..f4fe39aa3 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/FeaturesHelper.cs +++ b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/FeaturesExtensions.cs @@ -3,14 +3,14 @@ // The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. // See the LICENSE and NOTICES files in the project root for more information. -using EdFi.Ods.AdminApi.Features; +using EdFi.Ods.AdminApi.Common.Features; using System.Reflection; -namespace EdFi.Ods.AdminApi.Infrastructure.Helpers; +namespace EdFi.Ods.AdminApi.Common.Infrastructure.Helpers; -public static class FeaturesHelper +public static class FeatureExtensions { - public static List GetFeatures() + public static List GetFeatures2() { var featureInterface = typeof(IFeature); var featureImpls = Assembly.GetExecutingAssembly().GetTypes() diff --git a/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/FeaturesHelper.cs b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/FeaturesHelper.cs new file mode 100644 index 000000000..243a91bfb --- /dev/null +++ b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/FeaturesHelper.cs @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: Apache-2.0 +// Licensed to the Ed-Fi Alliance under one or more agreements. +// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +// See the LICENSE and NOTICES files in the project root for more information. + +using EdFi.Ods.AdminApi.Common.Features; +using System.Reflection; + +namespace EdFi.Ods.AdminApi.Common.Infrastructure.Helpers; + +public static class FeatureHelper +{ + public static List GetFeatures(Assembly executingAssembly) + { + var featureInterface = typeof(IFeature); + var featureImpls = executingAssembly.GetTypes() + .Where(p => featureInterface.IsAssignableFrom(p) && p.IsClass); + + var features = new List(); + + foreach (var featureImpl in featureImpls) + { + if (Activator.CreateInstance(featureImpl) is IFeature feature) + features.Add(feature); + } + return features; + } +} diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/QueryStringMappingHelper.cs b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/QueryStringMappingHelper.cs similarity index 93% rename from Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/QueryStringMappingHelper.cs rename to Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/QueryStringMappingHelper.cs index f74ae4722..0627535d0 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/QueryStringMappingHelper.cs +++ b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/QueryStringMappingHelper.cs @@ -1,32 +1,32 @@ -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. - -using System.Linq.Expressions; -using FluentValidation; -using FluentValidation.Results; - -namespace EdFi.Ods.AdminApi.Infrastructure.Helpers; - -public static class QueryStringMappingHelper -{ - public static Expression> GetColumnToOrderBy(this Dictionary>> mapping, string? orderBy) - { - orderBy = orderBy ?? string.Empty; - Expression>? result; - - if (mapping == null) - throw new ArgumentNullException(nameof(mapping)); - - if (string.IsNullOrEmpty(orderBy)) - return mapping.First().Value; - - if (!mapping.TryGetValue(orderBy.ToLowerInvariant(), out result)) - { - throw new ValidationException([new ValidationFailure(nameof(orderBy), $"The orderBy value {orderBy} is not allowed. The allowed values are {string.Join(",", mapping.Keys)}")]); - } - - return result; - } -} +// SPDX-License-Identifier: Apache-2.0 +// Licensed to the Ed-Fi Alliance under one or more agreements. +// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +// See the LICENSE and NOTICES files in the project root for more information. + +using System.Linq.Expressions; +using FluentValidation; +using FluentValidation.Results; + +namespace EdFi.Ods.AdminApi.Common.Infrastructure.Helpers; + +public static class QueryStringMappingHelper +{ + public static Expression> GetColumnToOrderBy(this Dictionary>> mapping, string? orderBy) + { + orderBy = orderBy ?? string.Empty; + Expression>? result; + + if (mapping == null) + throw new ArgumentNullException(nameof(mapping)); + + if (string.IsNullOrEmpty(orderBy)) + return mapping.First().Value; + + if (!mapping.TryGetValue(orderBy.ToLowerInvariant(), out result)) + { + throw new ValidationException([new ValidationFailure(nameof(orderBy), $"The orderBy value {orderBy} is not allowed. The allowed values are {string.Join(",", mapping.Keys)}")]); + } + + return result; + } +} diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/SortingDirectionHelper.cs b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/SortingDirectionHelper.cs similarity index 94% rename from Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/SortingDirectionHelper.cs rename to Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/SortingDirectionHelper.cs index f51e20b45..fee8d061b 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/SortingDirectionHelper.cs +++ b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/SortingDirectionHelper.cs @@ -6,7 +6,7 @@ using System.ComponentModel; using System.Runtime.Serialization; -namespace EdFi.Ods.AdminApi.Infrastructure.Helpers; +namespace EdFi.Ods.AdminApi.Common.Infrastructure.Helpers; public static class SortingDirectionHelper { @@ -22,15 +22,15 @@ public enum Direction } public static bool IsDescendingSorting(string? direction) - { - direction = GetNonEmptyOrDefault(direction); - - bool result = direction.ToLowerInvariant() switch - { - "asc" or "ascending" => false, - "desc" or "descending" => true, - _ => false, - }; + { + direction = GetNonEmptyOrDefault(direction); + + bool result = direction.ToLowerInvariant() switch + { + "asc" or "ascending" => false, + "desc" or "descending" => true, + _ => false, + }; return result; } diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/Helpers/StringToJsonDocumentConverter.cs b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/StringToJsonDocumentConverter.cs similarity index 94% rename from Application/EdFi.Ods.AdminApi.AdminConsole/Helpers/StringToJsonDocumentConverter.cs rename to Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/StringToJsonDocumentConverter.cs index 5b55a8611..87a378ed4 100644 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/Helpers/StringToJsonDocumentConverter.cs +++ b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/StringToJsonDocumentConverter.cs @@ -11,7 +11,7 @@ using System.Text.Json.Serialization; using System.Threading.Tasks; -namespace EdFi.Ods.AdminApi.AdminConsole.Helpers +namespace EdFi.Ods.AdminApi.Common.Helpers { public class StringToJsonDocumentConverter : JsonConverter { diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/OperationalContext.cs b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/OperationalContext.cs similarity index 89% rename from Application/EdFi.Ods.AdminApi/Infrastructure/OperationalContext.cs rename to Application/EdFi.Ods.AdminApi.Common/Infrastructure/OperationalContext.cs index 295e9b293..2bf13890c 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/OperationalContext.cs +++ b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/OperationalContext.cs @@ -3,7 +3,7 @@ // The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. // See the LICENSE and NOTICES files in the project root for more information. -namespace EdFi.Ods.AdminApi.Infrastructure; +namespace EdFi.Ods.AdminApi.Common.Infrastructure; public static class OperationalContext { diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/ValidatorExtensions.cs b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/ValidatorExtensions.cs similarity index 92% rename from Application/EdFi.Ods.AdminApi/Infrastructure/ValidatorExtensions.cs rename to Application/EdFi.Ods.AdminApi.Common/Infrastructure/ValidatorExtensions.cs index 47503a009..265bfa9c8 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/ValidatorExtensions.cs +++ b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/ValidatorExtensions.cs @@ -5,7 +5,7 @@ using FluentValidation; -namespace EdFi.Ods.AdminApi.Infrastructure; +namespace EdFi.Ods.AdminApi.Common.Infrastructure; public static class ValidatorExtensions { diff --git a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/DeleteClaimSetCommandTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/DeleteClaimSetCommandTests.cs index 789739955..4e54466a2 100644 --- a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/DeleteClaimSetCommandTests.cs +++ b/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/DeleteClaimSetCommandTests.cs @@ -4,7 +4,7 @@ // See the LICENSE and NOTICES files in the project root for more information. using EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using Moq; using NUnit.Framework; using Shouldly; diff --git a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/EditClaimSetCommandTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/EditClaimSetCommandTests.cs index 15fa7656b..86f6a3bf4 100644 --- a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/EditClaimSetCommandTests.cs +++ b/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/EditClaimSetCommandTests.cs @@ -6,7 +6,7 @@ using EdFi.Ods.AdminApi.Features.ClaimSets; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using EdFi.Security.DataAccess.Contexts; using NUnit.Framework; using Shouldly; @@ -14,6 +14,7 @@ using System.Linq; using ClaimSet = EdFi.Security.DataAccess.Models.ClaimSet; using VendorApplication = EdFi.Admin.DataAccess.Models.Application; +using EdFi.Ods.AdminApi.Common.Infrastructure; namespace EdFi.Ods.AdminApi.DBTests.ClaimSetEditorTests; diff --git a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetApplicationsByClaimSetIdQueryTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetApplicationsByClaimSetIdQueryTests.cs index 5650dd7f3..2ade65c63 100644 --- a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetApplicationsByClaimSetIdQueryTests.cs +++ b/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetApplicationsByClaimSetIdQueryTests.cs @@ -13,6 +13,7 @@ using ClaimSet = EdFi.Security.DataAccess.Models.ClaimSet; using VendorApplication = EdFi.Admin.DataAccess.Models.Application; using EdFi.Ods.AdminApi.Infrastructure; +using EdFi.Ods.AdminApi.Common.Infrastructure; namespace EdFi.Ods.AdminApi.DBTests.ClaimSetEditorTests; diff --git a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetClaimSetByIdQueryTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetClaimSetByIdQueryTests.cs index c9039b8c6..f4876194f 100644 --- a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetClaimSetByIdQueryTests.cs +++ b/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetClaimSetByIdQueryTests.cs @@ -4,7 +4,7 @@ // See the LICENSE and NOTICES files in the project root for more information. using EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using EdFi.Security.DataAccess.Contexts; using NUnit.Framework; using Shouldly; diff --git a/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/AddApplicationCommandTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/AddApplicationCommandTests.cs index fcf35f998..6bf9ece53 100644 --- a/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/AddApplicationCommandTests.cs +++ b/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/AddApplicationCommandTests.cs @@ -4,9 +4,9 @@ // See the LICENSE and NOTICES files in the project root for more information. using EdFi.Admin.DataAccess.Models; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; using EdFi.Ods.AdminApi.Infrastructure.Database.Commands; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Options; using NUnit.Framework; diff --git a/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/DeleteApplicationCommandTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/DeleteApplicationCommandTests.cs index 858384c35..967dab7af 100644 --- a/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/DeleteApplicationCommandTests.cs +++ b/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/DeleteApplicationCommandTests.cs @@ -4,6 +4,7 @@ // See the LICENSE and NOTICES files in the project root for more information. using EdFi.Admin.DataAccess.Models; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Commands; using Microsoft.EntityFrameworkCore; diff --git a/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/DeleteVendorCommandTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/DeleteVendorCommandTests.cs index 8261bb266..839245693 100644 --- a/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/DeleteVendorCommandTests.cs +++ b/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/DeleteVendorCommandTests.cs @@ -10,6 +10,7 @@ using EdFi.Admin.DataAccess.Models; using VendorUser = EdFi.Admin.DataAccess.Models.User; using EdFi.Ods.AdminApi.Infrastructure; +using EdFi.Ods.AdminApi.Common.Infrastructure; namespace EdFi.Ods.AdminApi.DBTests.Database.CommandTests; diff --git a/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/EditApplicationCommandTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/EditApplicationCommandTests.cs index 7e7bfb770..5246cdecf 100644 --- a/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/EditApplicationCommandTests.cs +++ b/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/EditApplicationCommandTests.cs @@ -4,6 +4,7 @@ // See the LICENSE and NOTICES files in the project root for more information. using EdFi.Admin.DataAccess.Models; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Commands; using Microsoft.EntityFrameworkCore; diff --git a/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/EditOdsInstanceContextTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/EditOdsInstanceContextTests.cs index 0cf49eb60..2ed69faf3 100644 --- a/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/EditOdsInstanceContextTests.cs +++ b/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/EditOdsInstanceContextTests.cs @@ -9,7 +9,7 @@ using NUnit.Framework; using Shouldly; using Microsoft.EntityFrameworkCore; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; namespace EdFi.Ods.AdminApi.DBTests.Database.CommandTests; diff --git a/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/EditOdsInstanceDerivativeTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/EditOdsInstanceDerivativeTests.cs index ff8ac5273..565c5989c 100644 --- a/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/EditOdsInstanceDerivativeTests.cs +++ b/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/EditOdsInstanceDerivativeTests.cs @@ -9,7 +9,7 @@ using NUnit.Framework; using Shouldly; using Microsoft.EntityFrameworkCore; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; namespace EdFi.Ods.AdminApi.DBTests.Database.CommandTests; diff --git a/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/RegenerateApiClientSecretCommandTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/RegenerateApiClientSecretCommandTests.cs index fd32b8286..3a539f4d6 100644 --- a/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/RegenerateApiClientSecretCommandTests.cs +++ b/Application/EdFi.Ods.AdminApi.DBTests/Database/CommandTests/RegenerateApiClientSecretCommandTests.cs @@ -9,10 +9,11 @@ using EdFi.Admin.DataAccess.Models; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Commands; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using NUnit.Framework; using Shouldly; using VendorUser = EdFi.Admin.DataAccess.Models.User; +using EdFi.Ods.AdminApi.Common.Infrastructure; namespace EdFi.Ods.AdminApi.DBTests.Database.CommandTests; diff --git a/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetAllActionsQueryTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetAllActionsQueryTests.cs index 9edca79ef..8c7bbbc76 100644 --- a/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetAllActionsQueryTests.cs +++ b/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetAllActionsQueryTests.cs @@ -4,6 +4,7 @@ // See the LICENSE and NOTICES files in the project root for more information. using System.Linq; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; using NUnit.Framework; diff --git a/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetAllApplicationsQuery.cs b/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetAllApplicationsQuery.cs index 049e4474d..5d83ea8b0 100644 --- a/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetAllApplicationsQuery.cs +++ b/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetAllApplicationsQuery.cs @@ -6,7 +6,8 @@ using System; using System.Threading.Tasks; using EdFi.Admin.DataAccess.Models; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; using Microsoft.Extensions.Options; diff --git a/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetAllClaimSetsQueryTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetAllClaimSetsQueryTests.cs index c8e5fb72f..83680b0d0 100644 --- a/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetAllClaimSetsQueryTests.cs +++ b/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetAllClaimSetsQueryTests.cs @@ -5,6 +5,7 @@ using System; using System.Linq; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; using EdFi.Security.DataAccess.Models; diff --git a/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetApplicationByOdsInstanceIdQueryTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetApplicationByOdsInstanceIdQueryTests.cs index c67a219d2..bc1212d56 100644 --- a/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetApplicationByOdsInstanceIdQueryTests.cs +++ b/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetApplicationByOdsInstanceIdQueryTests.cs @@ -11,7 +11,8 @@ using VendorUser = EdFi.Admin.DataAccess.Models.User; using System.Collections.Generic; using System.Linq; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure; namespace EdFi.Ods.AdminApi.DBTests.Database.QueryTests; diff --git a/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetApplicationsByVendorIdQueryTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetApplicationsByVendorIdQueryTests.cs index 62fba21b0..5dee3ec43 100644 --- a/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetApplicationsByVendorIdQueryTests.cs +++ b/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetApplicationsByVendorIdQueryTests.cs @@ -10,7 +10,8 @@ using System.Linq; using EdFi.Admin.DataAccess.Models; using EdFi.Ods.AdminApi.Infrastructure; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure; namespace EdFi.Ods.AdminApi.DBTests.Database.QueryTests; diff --git a/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetAuthStrategiesQueryTest.cs b/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetAuthStrategiesQueryTest.cs index 1bd5f4b9d..4fb4fcaef 100644 --- a/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetAuthStrategiesQueryTest.cs +++ b/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetAuthStrategiesQueryTest.cs @@ -4,6 +4,7 @@ // See the LICENSE and NOTICES files in the project root for more information. using System.Linq; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; using EdFi.Security.DataAccess.Contexts; diff --git a/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetOdsInstancesContextQueryTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetOdsInstancesContextQueryTests.cs index a47c0ede7..f08693d80 100644 --- a/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetOdsInstancesContextQueryTests.cs +++ b/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetOdsInstancesContextQueryTests.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.Linq; using EdFi.Admin.DataAccess.Models; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; using NUnit.Framework; diff --git a/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetOdsInstancesDerivativeQueryTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetOdsInstancesDerivativeQueryTests.cs index 24298cfa0..5ae7c33f9 100644 --- a/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetOdsInstancesDerivativeQueryTests.cs +++ b/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetOdsInstancesDerivativeQueryTests.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.Linq; using EdFi.Admin.DataAccess.Models; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; using NUnit.Framework; diff --git a/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetOdsInstancesQueryTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetOdsInstancesQueryTests.cs index 5a08cca0e..948d695fe 100644 --- a/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetOdsInstancesQueryTests.cs +++ b/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetOdsInstancesQueryTests.cs @@ -4,6 +4,7 @@ // See the LICENSE and NOTICES files in the project root for more information. using EdFi.Admin.DataAccess.Models; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; using NUnit.Framework; diff --git a/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetProfilesQueryTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetProfilesQueryTests.cs index efaed4a33..1991df713 100644 --- a/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetProfilesQueryTests.cs +++ b/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetProfilesQueryTests.cs @@ -7,6 +7,7 @@ using System.Collections.Generic; using System.Linq; using EdFi.Admin.DataAccess.Models; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; using NUnit.Framework; diff --git a/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetResourceClaimsQueryTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetResourceClaimsQueryTests.cs index 7bc13e2fb..cbb55e43c 100644 --- a/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetResourceClaimsQueryTests.cs +++ b/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetResourceClaimsQueryTests.cs @@ -5,6 +5,7 @@ using System.Collections.Generic; using System.Linq; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; using NUnit.Framework; diff --git a/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetVendorsQueryTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetVendorsQueryTests.cs index 4a0aba989..7f2f69d25 100644 --- a/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetVendorsQueryTests.cs +++ b/Application/EdFi.Ods.AdminApi.DBTests/Database/QueryTests/GetVendorsQueryTests.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.Linq; using EdFi.Admin.DataAccess.Models; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; using NUnit.Framework; diff --git a/Application/EdFi.Ods.AdminApi.DBTests/Testing.cs b/Application/EdFi.Ods.AdminApi.DBTests/Testing.cs index 628203028..0edb1bfba 100644 --- a/Application/EdFi.Ods.AdminApi.DBTests/Testing.cs +++ b/Application/EdFi.Ods.AdminApi.DBTests/Testing.cs @@ -3,7 +3,7 @@ // The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. // See the LICENSE and NOTICES files in the project root for more information. -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; using Microsoft.AspNetCore.Builder; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; diff --git a/Application/EdFi.Ods.AdminApi/AdminConsole/DatabaseBuilderExtension.cs b/Application/EdFi.Ods.AdminApi/AdminConsole/DatabaseBuilderExtension.cs index c90faa5e7..126b31df6 100644 --- a/Application/EdFi.Ods.AdminApi/AdminConsole/DatabaseBuilderExtension.cs +++ b/Application/EdFi.Ods.AdminApi/AdminConsole/DatabaseBuilderExtension.cs @@ -7,7 +7,8 @@ using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.DataAccess.Contexts; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.DataAccess.Contexts.AdminConsoleMsSql; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.DataAccess.Contexts.AdminConsolePgSql; -using EdFi.Ods.AdminApi.Infrastructure.Context; +using EdFi.Ods.AdminApi.Common.Infrastructure.Context; +using EdFi.Ods.AdminApi.Common.Infrastructure.Extensions; using EdFi.Ods.AdminApi.Infrastructure.Extensions; using EdFi.Ods.AdminApi.Infrastructure.MultiTenancy; using Microsoft.EntityFrameworkCore; diff --git a/Application/EdFi.Ods.AdminApi/EdFi.Ods.AdminApi.csproj b/Application/EdFi.Ods.AdminApi/EdFi.Ods.AdminApi.csproj index 17be9bbb5..b419367e6 100644 --- a/Application/EdFi.Ods.AdminApi/EdFi.Ods.AdminApi.csproj +++ b/Application/EdFi.Ods.AdminApi/EdFi.Ods.AdminApi.csproj @@ -50,5 +50,6 @@ + diff --git a/Application/EdFi.Ods.AdminApi/Features/Actions/ReadActions.cs b/Application/EdFi.Ods.AdminApi/Features/Actions/ReadActions.cs index 87ea73f37..de22246a7 100644 --- a/Application/EdFi.Ods.AdminApi/Features/Actions/ReadActions.cs +++ b/Application/EdFi.Ods.AdminApi/Features/Actions/ReadActions.cs @@ -4,6 +4,8 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; using EdFi.Ods.AdminApi.Infrastructure.Extensions; diff --git a/Application/EdFi.Ods.AdminApi/Features/Applications/AddApplication.cs b/Application/EdFi.Ods.AdminApi/Features/Applications/AddApplication.cs index 44fd98b4f..2fac13a7d 100644 --- a/Application/EdFi.Ods.AdminApi/Features/Applications/AddApplication.cs +++ b/Application/EdFi.Ods.AdminApi/Features/Applications/AddApplication.cs @@ -5,7 +5,9 @@ using AutoMapper; using EdFi.Admin.DataAccess.Contexts; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Helpers; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Commands; using EdFi.Ods.AdminApi.Infrastructure.Database.Commands; diff --git a/Application/EdFi.Ods.AdminApi/Features/Applications/DeleteApplication.cs b/Application/EdFi.Ods.AdminApi/Features/Applications/DeleteApplication.cs index 654d612c5..e8daeb4a6 100644 --- a/Application/EdFi.Ods.AdminApi/Features/Applications/DeleteApplication.cs +++ b/Application/EdFi.Ods.AdminApi/Features/Applications/DeleteApplication.cs @@ -3,6 +3,9 @@ // The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. // See the LICENSE and NOTICES files in the project root for more information. +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; +using EdFi.Ods.AdminApi.Common.Infrastructure.Extensions; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Commands; using EdFi.Ods.AdminApi.Infrastructure.Extensions; @@ -15,7 +18,7 @@ public void MapEndpoints(IEndpointRouteBuilder endpoints) { AdminApiEndpointBuilder.MapDelete(endpoints, "/applications/{id}", Handle) .WithDefaultSummaryAndDescription() - .WithRouteOptions(b => b.WithResponseCode(200, FeatureConstants.DeletedSuccessResponseDescription)) + .WithRouteOptions(b => b.WithResponseCode(200, FeatureCommonConstants.DeletedSuccessResponseDescription)) .BuildForVersions(AdminApiVersions.V2); } diff --git a/Application/EdFi.Ods.AdminApi/Features/Applications/EditApplication.cs b/Application/EdFi.Ods.AdminApi/Features/Applications/EditApplication.cs index 475a0ef3b..a975f9dc5 100644 --- a/Application/EdFi.Ods.AdminApi/Features/Applications/EditApplication.cs +++ b/Application/EdFi.Ods.AdminApi/Features/Applications/EditApplication.cs @@ -5,6 +5,8 @@ using AutoMapper; using EdFi.Admin.DataAccess.Contexts; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Commands; using EdFi.Ods.AdminApi.Infrastructure.Database.Commands; diff --git a/Application/EdFi.Ods.AdminApi/Features/Applications/ReadApplication.cs b/Application/EdFi.Ods.AdminApi/Features/Applications/ReadApplication.cs index c43c84d6f..592c785ee 100644 --- a/Application/EdFi.Ods.AdminApi/Features/Applications/ReadApplication.cs +++ b/Application/EdFi.Ods.AdminApi/Features/Applications/ReadApplication.cs @@ -4,16 +4,18 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; +using EdFi.Ods.AdminApi.Common.Features; using EdFi.Ods.AdminApi.Features.Vendors; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using EdFi.Ods.AdminApi.Infrastructure.Extensions; using EdFi.Ods.AdminApi.Infrastructure.Helpers; using Microsoft.AspNetCore.Mvc.ApplicationModels; using Microsoft.Extensions.Options; using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database; +using EdFi.Ods.AdminApi.Common.Infrastructure; namespace EdFi.Ods.AdminApi.Features.Applications; diff --git a/Application/EdFi.Ods.AdminApi/Features/Applications/ReadApplicationsByOdsInstance.cs b/Application/EdFi.Ods.AdminApi/Features/Applications/ReadApplicationsByOdsInstance.cs index 7f24da630..f0f9a0107 100644 --- a/Application/EdFi.Ods.AdminApi/Features/Applications/ReadApplicationsByOdsInstance.cs +++ b/Application/EdFi.Ods.AdminApi/Features/Applications/ReadApplicationsByOdsInstance.cs @@ -4,6 +4,8 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; diff --git a/Application/EdFi.Ods.AdminApi/Features/Applications/ReadApplicationsByVendor.cs b/Application/EdFi.Ods.AdminApi/Features/Applications/ReadApplicationsByVendor.cs index 1306be8aa..72a714eac 100644 --- a/Application/EdFi.Ods.AdminApi/Features/Applications/ReadApplicationsByVendor.cs +++ b/Application/EdFi.Ods.AdminApi/Features/Applications/ReadApplicationsByVendor.cs @@ -4,6 +4,8 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; diff --git a/Application/EdFi.Ods.AdminApi/Features/Applications/ResetApplicationCredentials.cs b/Application/EdFi.Ods.AdminApi/Features/Applications/ResetApplicationCredentials.cs index 06a390695..e2477900b 100644 --- a/Application/EdFi.Ods.AdminApi/Features/Applications/ResetApplicationCredentials.cs +++ b/Application/EdFi.Ods.AdminApi/Features/Applications/ResetApplicationCredentials.cs @@ -4,6 +4,8 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Commands; diff --git a/Application/EdFi.Ods.AdminApi/Features/AuthorizationStrategies/ReadAuthorizationStrategy.cs b/Application/EdFi.Ods.AdminApi/Features/AuthorizationStrategies/ReadAuthorizationStrategy.cs index 7694a1e9a..7a12fd948 100644 --- a/Application/EdFi.Ods.AdminApi/Features/AuthorizationStrategies/ReadAuthorizationStrategy.cs +++ b/Application/EdFi.Ods.AdminApi/Features/AuthorizationStrategies/ReadAuthorizationStrategy.cs @@ -4,6 +4,8 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; using EdFi.Ods.AdminApi.Infrastructure.Extensions; diff --git a/Application/EdFi.Ods.AdminApi/Features/ClaimSets/AddClaimSet.cs b/Application/EdFi.Ods.AdminApi/Features/ClaimSets/AddClaimSet.cs index d119669e1..2913c7cd5 100644 --- a/Application/EdFi.Ods.AdminApi/Features/ClaimSets/AddClaimSet.cs +++ b/Application/EdFi.Ods.AdminApi/Features/ClaimSets/AddClaimSet.cs @@ -4,6 +4,8 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; diff --git a/Application/EdFi.Ods.AdminApi/Features/ClaimSets/CopyClaimSet.cs b/Application/EdFi.Ods.AdminApi/Features/ClaimSets/CopyClaimSet.cs index bac6cf9ad..faf0afc93 100644 --- a/Application/EdFi.Ods.AdminApi/Features/ClaimSets/CopyClaimSet.cs +++ b/Application/EdFi.Ods.AdminApi/Features/ClaimSets/CopyClaimSet.cs @@ -4,10 +4,12 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using EdFi.Ods.AdminApp.Management.ClaimSetEditor; using FluentValidation; using Swashbuckle.AspNetCore.Annotations; diff --git a/Application/EdFi.Ods.AdminApi/Features/ClaimSets/DeleteClaimSet.cs b/Application/EdFi.Ods.AdminApi/Features/ClaimSets/DeleteClaimSet.cs index c9c555276..7288939cd 100644 --- a/Application/EdFi.Ods.AdminApi/Features/ClaimSets/DeleteClaimSet.cs +++ b/Application/EdFi.Ods.AdminApi/Features/ClaimSets/DeleteClaimSet.cs @@ -3,13 +3,16 @@ // The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. // See the LICENSE and NOTICES files in the project root for more information. +using EdFi.Ods.AdminApi.Common.Features; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using EdFi.Ods.AdminApi.Infrastructure.Extensions; using FluentValidation; using FluentValidation.Results; using Microsoft.AspNetCore.Mvc; +using EdFi.Ods.AdminApi.Common.Infrastructure; +using EdFi.Ods.AdminApi.Common.Infrastructure.Extensions; namespace EdFi.Ods.AdminApi.Features.ClaimSets; @@ -19,7 +22,7 @@ public void MapEndpoints(IEndpointRouteBuilder endpoints) { AdminApiEndpointBuilder.MapDelete(endpoints, "/claimSets/{id}", Handle) .WithDefaultSummaryAndDescription() - .WithRouteOptions(b => b.WithResponseCode(200, FeatureConstants.DeletedSuccessResponseDescription)) + .WithRouteOptions(b => b.WithResponseCode(200, FeatureCommonConstants.DeletedSuccessResponseDescription)) .BuildForVersions(AdminApiVersions.V2); } diff --git a/Application/EdFi.Ods.AdminApi/Features/ClaimSets/EditClaimSet.cs b/Application/EdFi.Ods.AdminApi/Features/ClaimSets/EditClaimSet.cs index 8e097fdfa..bc5622223 100644 --- a/Application/EdFi.Ods.AdminApi/Features/ClaimSets/EditClaimSet.cs +++ b/Application/EdFi.Ods.AdminApi/Features/ClaimSets/EditClaimSet.cs @@ -4,11 +4,13 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; using EdFi.Ods.AdminApi.Infrastructure.Documentation; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using FluentValidation; using FluentValidation.Results; using Swashbuckle.AspNetCore.Annotations; diff --git a/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ExportClaimSet.cs b/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ExportClaimSet.cs index 54d4faae0..ddbd44401 100644 --- a/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ExportClaimSet.cs +++ b/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ExportClaimSet.cs @@ -4,6 +4,8 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Features.Applications; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor; diff --git a/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ImportClaimSet.cs b/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ImportClaimSet.cs index cafbe2bac..d556574f7 100644 --- a/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ImportClaimSet.cs +++ b/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ImportClaimSet.cs @@ -4,6 +4,8 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; diff --git a/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ReadClaimSets.cs b/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ReadClaimSets.cs index 99c12c0c8..78e83a1e8 100644 --- a/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ReadClaimSets.cs +++ b/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ReadClaimSets.cs @@ -4,11 +4,13 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Features.Applications; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using EdFi.Ods.AdminApi.Infrastructure.Extensions; using EdFi.Ods.AdminApi.Infrastructure.Helpers; diff --git a/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ResourceClaims/DeleteResourceClaim.cs b/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ResourceClaims/DeleteResourceClaim.cs index 4efb9dc2f..b88a49702 100644 --- a/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ResourceClaims/DeleteResourceClaim.cs +++ b/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ResourceClaims/DeleteResourceClaim.cs @@ -4,11 +4,13 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; +using EdFi.Ods.AdminApi.Common.Features; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using FluentValidation; using FluentValidation.Results; +using EdFi.Ods.AdminApi.Common.Infrastructure; namespace EdFi.Ods.AdminApi.Features.ClaimSets.ResourceClaims; diff --git a/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ResourceClaims/EditAuthStrategy.cs b/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ResourceClaims/EditAuthStrategy.cs index c6df45d4f..b0498b18d 100644 --- a/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ResourceClaims/EditAuthStrategy.cs +++ b/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ResourceClaims/EditAuthStrategy.cs @@ -4,10 +4,12 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using FluentValidation; using FluentValidation.Results; using Swashbuckle.AspNetCore.Annotations; diff --git a/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ResourceClaims/EditResourceClaimActions.cs b/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ResourceClaims/EditResourceClaimActions.cs index ca39df979..7765df35d 100644 --- a/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ResourceClaims/EditResourceClaimActions.cs +++ b/Application/EdFi.Ods.AdminApi/Features/ClaimSets/ResourceClaims/EditResourceClaimActions.cs @@ -4,6 +4,8 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; diff --git a/Application/EdFi.Ods.AdminApi/Features/Connect/ConnectController.cs b/Application/EdFi.Ods.AdminApi/Features/Connect/ConnectController.cs index 6447ec903..426e708ca 100644 --- a/Application/EdFi.Ods.AdminApi/Features/Connect/ConnectController.cs +++ b/Application/EdFi.Ods.AdminApi/Features/Connect/ConnectController.cs @@ -3,6 +3,7 @@ // The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. // See the LICENSE and NOTICES files in the project root for more information. +using EdFi.Ods.AdminApi.Common.Features; using EdFi.Ods.AdminApi.Infrastructure.Security; using FluentValidation; using Microsoft.AspNetCore; @@ -14,8 +15,8 @@ namespace EdFi.Ods.AdminApi.Features.Connect; [AllowAnonymous] -[SwaggerResponse(400, FeatureConstants.BadRequestResponseDescription)] -[SwaggerResponse(500, FeatureConstants.InternalServerErrorResponseDescription)] +[SwaggerResponse(400, FeatureCommonConstants.BadRequestResponseDescription)] +[SwaggerResponse(500, FeatureCommonConstants.InternalServerErrorResponseDescription)] [Route(SecurityConstants.ConnectRoute)] public class ConnectController : Controller diff --git a/Application/EdFi.Ods.AdminApi/Features/Connect/RegisterService.cs b/Application/EdFi.Ods.AdminApi/Features/Connect/RegisterService.cs index c7d925fe9..e80939409 100644 --- a/Application/EdFi.Ods.AdminApi/Features/Connect/RegisterService.cs +++ b/Application/EdFi.Ods.AdminApi/Features/Connect/RegisterService.cs @@ -3,6 +3,7 @@ // The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. // See the LICENSE and NOTICES files in the project root for more information. +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Security; using FluentValidation; diff --git a/Application/EdFi.Ods.AdminApi/Features/Connect/TokenService.cs b/Application/EdFi.Ods.AdminApi/Features/Connect/TokenService.cs index 952394a7e..e5e0ab5f0 100644 --- a/Application/EdFi.Ods.AdminApi/Features/Connect/TokenService.cs +++ b/Application/EdFi.Ods.AdminApi/Features/Connect/TokenService.cs @@ -5,7 +5,7 @@ using System.Security.Authentication; using System.Security.Claims; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using Microsoft.AspNetCore.Authentication.JwtBearer; using OpenIddict.Abstractions; diff --git a/Application/EdFi.Ods.AdminApi/Features/FeatureConstants.cs b/Application/EdFi.Ods.AdminApi/Features/FeatureConstants.cs index f11d37694..0c6959c7a 100644 --- a/Application/EdFi.Ods.AdminApi/Features/FeatureConstants.cs +++ b/Application/EdFi.Ods.AdminApi/Features/FeatureConstants.cs @@ -26,9 +26,6 @@ public static class FeatureConstants public const string ClaimSetNameValidationMessage = "Please provide a valid claim set name."; public const string EdOrgIdsValidationMessage = "Please provide at least one education organization id."; public const string VendorIdValidationMessage = "Please provide valid vendor id."; - public const string DeletedSuccessResponseDescription = "Resource was successfully deleted."; - public const string InternalServerErrorResponseDescription = "Internal server error. An unhandled error occurred on the server. See the response body for details."; - public const string BadRequestResponseDescription = "Bad Request. The request was invalid and cannot be completed. See the response body for details."; public const string ClaimSetAlreadyExistsMessage = "A claim set with this name already exists in the database. Please enter a unique name."; public const string ClaimSetNameMaxLengthMessage = "The claim set name must be less than 255 characters."; public const string ClaimSetNotFound = "No such claim set exists in the database."; diff --git a/Application/EdFi.Ods.AdminApi/Features/IFeature.cs b/Application/EdFi.Ods.AdminApi/Features/IFeature.cs deleted file mode 100644 index 7f10c4402..000000000 --- a/Application/EdFi.Ods.AdminApi/Features/IFeature.cs +++ /dev/null @@ -1,11 +0,0 @@ -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. - -namespace EdFi.Ods.AdminApi.Features; - -public interface IFeature -{ - void MapEndpoints(IEndpointRouteBuilder endpoints); -} diff --git a/Application/EdFi.Ods.AdminApi/Features/Information/ReadInformation.cs b/Application/EdFi.Ods.AdminApi/Features/Information/ReadInformation.cs index b964d962d..916f13098 100644 --- a/Application/EdFi.Ods.AdminApi/Features/Information/ReadInformation.cs +++ b/Application/EdFi.Ods.AdminApi/Features/Information/ReadInformation.cs @@ -3,6 +3,8 @@ // The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. // See the LICENSE and NOTICES files in the project root for more information. +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Helpers; using Swashbuckle.AspNetCore.Annotations; @@ -16,7 +18,7 @@ public void MapEndpoints(IEndpointRouteBuilder endpoints) endpoints.MapGet("", GetInformation) .WithMetadata(new SwaggerOperationAttribute("Retrieve API informational metadata", null)) .WithResponse(200) - .WithResponseCode(500, FeatureConstants.InternalServerErrorResponseDescription) + .WithResponseCode(500, FeatureCommonConstants.InternalServerErrorResponseDescription) .WithTags("Information") .AllowAnonymous(); } diff --git a/Application/EdFi.Ods.AdminApi/Features/OdsInstanceContext/AddOdsInstanceContext.cs b/Application/EdFi.Ods.AdminApi/Features/OdsInstanceContext/AddOdsInstanceContext.cs index 582cf60d1..da6dbc11e 100644 --- a/Application/EdFi.Ods.AdminApi/Features/OdsInstanceContext/AddOdsInstanceContext.cs +++ b/Application/EdFi.Ods.AdminApi/Features/OdsInstanceContext/AddOdsInstanceContext.cs @@ -9,6 +9,8 @@ using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Commands; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; namespace EdFi.Ods.AdminApi.Features.OdsInstanceContext; public class AddOdsInstanceContext : IFeature diff --git a/Application/EdFi.Ods.AdminApi/Features/OdsInstanceContext/DeleteOdsInstanceContext.cs b/Application/EdFi.Ods.AdminApi/Features/OdsInstanceContext/DeleteOdsInstanceContext.cs index 1b0a1a0ad..9d579a91c 100644 --- a/Application/EdFi.Ods.AdminApi/Features/OdsInstanceContext/DeleteOdsInstanceContext.cs +++ b/Application/EdFi.Ods.AdminApi/Features/OdsInstanceContext/DeleteOdsInstanceContext.cs @@ -3,6 +3,8 @@ // The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. // See the LICENSE and NOTICES files in the project root for more information. +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Commands; @@ -14,7 +16,7 @@ public void MapEndpoints(IEndpointRouteBuilder endpoints) { AdminApiEndpointBuilder.MapDelete(endpoints, "/odsInstanceContexts/{id}", Handle) .WithDefaultSummaryAndDescription() - .WithRouteOptions(b => b.WithResponseCode(200, FeatureConstants.DeletedSuccessResponseDescription)) + .WithRouteOptions(b => b.WithResponseCode(200, FeatureCommonConstants.DeletedSuccessResponseDescription)) .BuildForVersions(AdminApiVersions.V2); } diff --git a/Application/EdFi.Ods.AdminApi/Features/OdsInstanceContext/EditOdsInstanceContext.cs b/Application/EdFi.Ods.AdminApi/Features/OdsInstanceContext/EditOdsInstanceContext.cs index f070141ba..3f0482d52 100644 --- a/Application/EdFi.Ods.AdminApi/Features/OdsInstanceContext/EditOdsInstanceContext.cs +++ b/Application/EdFi.Ods.AdminApi/Features/OdsInstanceContext/EditOdsInstanceContext.cs @@ -5,6 +5,8 @@ using AutoMapper; using EdFi.Admin.DataAccess.Contexts; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Commands; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; diff --git a/Application/EdFi.Ods.AdminApi/Features/OdsInstanceContext/ReadOdsInstanceContext.cs b/Application/EdFi.Ods.AdminApi/Features/OdsInstanceContext/ReadOdsInstanceContext.cs index 1fb62aa28..81820f954 100644 --- a/Application/EdFi.Ods.AdminApi/Features/OdsInstanceContext/ReadOdsInstanceContext.cs +++ b/Application/EdFi.Ods.AdminApi/Features/OdsInstanceContext/ReadOdsInstanceContext.cs @@ -4,6 +4,8 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; diff --git a/Application/EdFi.Ods.AdminApi/Features/OdsInstanceDerivative/AddOdsInstanceDerivative.cs b/Application/EdFi.Ods.AdminApi/Features/OdsInstanceDerivative/AddOdsInstanceDerivative.cs index 9766668e0..1627ec84a 100644 --- a/Application/EdFi.Ods.AdminApi/Features/OdsInstanceDerivative/AddOdsInstanceDerivative.cs +++ b/Application/EdFi.Ods.AdminApi/Features/OdsInstanceDerivative/AddOdsInstanceDerivative.cs @@ -4,11 +4,14 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Helpers; +using EdFi.Ods.AdminApi.Common.Infrastructure; +using EdFi.Ods.AdminApi.Common.Infrastructure.Helpers; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Commands; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using EdFi.Ods.AdminApi.Infrastructure.Helpers; using FluentValidation; using Microsoft.Extensions.Options; diff --git a/Application/EdFi.Ods.AdminApi/Features/OdsInstanceDerivative/DeleteOdsInstanceDerivative.cs b/Application/EdFi.Ods.AdminApi/Features/OdsInstanceDerivative/DeleteOdsInstanceDerivative.cs index c3696ad06..080ca7684 100644 --- a/Application/EdFi.Ods.AdminApi/Features/OdsInstanceDerivative/DeleteOdsInstanceDerivative.cs +++ b/Application/EdFi.Ods.AdminApi/Features/OdsInstanceDerivative/DeleteOdsInstanceDerivative.cs @@ -3,6 +3,8 @@ // The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. // See the LICENSE and NOTICES files in the project root for more information. +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Commands; @@ -14,7 +16,7 @@ public void MapEndpoints(IEndpointRouteBuilder endpoints) { AdminApiEndpointBuilder.MapDelete(endpoints, "/odsInstanceDerivatives/{id}", Handle) .WithDefaultSummaryAndDescription() - .WithRouteOptions(b => b.WithResponseCode(200, FeatureConstants.DeletedSuccessResponseDescription)) + .WithRouteOptions(b => b.WithResponseCode(200, FeatureCommonConstants.DeletedSuccessResponseDescription)) .BuildForVersions(AdminApiVersions.V2); } diff --git a/Application/EdFi.Ods.AdminApi/Features/OdsInstanceDerivative/EditOdsInstanceDerivative.cs b/Application/EdFi.Ods.AdminApi/Features/OdsInstanceDerivative/EditOdsInstanceDerivative.cs index cded1b432..06658082b 100644 --- a/Application/EdFi.Ods.AdminApi/Features/OdsInstanceDerivative/EditOdsInstanceDerivative.cs +++ b/Application/EdFi.Ods.AdminApi/Features/OdsInstanceDerivative/EditOdsInstanceDerivative.cs @@ -5,12 +5,15 @@ using AutoMapper; using EdFi.Admin.DataAccess.Contexts; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Helpers; +using EdFi.Ods.AdminApi.Common.Infrastructure; +using EdFi.Ods.AdminApi.Common.Infrastructure.Helpers; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Commands; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; using EdFi.Ods.AdminApi.Infrastructure.Documentation; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using EdFi.Ods.AdminApi.Infrastructure.Helpers; using FluentValidation; using Microsoft.Extensions.Options; diff --git a/Application/EdFi.Ods.AdminApi/Features/OdsInstanceDerivative/ReadOdsInstanceDerivative.cs b/Application/EdFi.Ods.AdminApi/Features/OdsInstanceDerivative/ReadOdsInstanceDerivative.cs index f5575d22c..95b90d5f4 100644 --- a/Application/EdFi.Ods.AdminApi/Features/OdsInstanceDerivative/ReadOdsInstanceDerivative.cs +++ b/Application/EdFi.Ods.AdminApi/Features/OdsInstanceDerivative/ReadOdsInstanceDerivative.cs @@ -4,6 +4,8 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; diff --git a/Application/EdFi.Ods.AdminApi/Features/OdsInstances/AddOdsInstance.cs b/Application/EdFi.Ods.AdminApi/Features/OdsInstances/AddOdsInstance.cs index deb95a0d5..b9b714bdd 100644 --- a/Application/EdFi.Ods.AdminApi/Features/OdsInstances/AddOdsInstance.cs +++ b/Application/EdFi.Ods.AdminApi/Features/OdsInstances/AddOdsInstance.cs @@ -4,11 +4,14 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Helpers; +using EdFi.Ods.AdminApi.Common.Infrastructure; +using EdFi.Ods.AdminApi.Common.Infrastructure.Helpers; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Commands; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using EdFi.Ods.AdminApi.Infrastructure.Helpers; using FluentValidation; using Microsoft.Extensions.Options; diff --git a/Application/EdFi.Ods.AdminApi/Features/OdsInstances/DeleteOdsInstance.cs b/Application/EdFi.Ods.AdminApi/Features/OdsInstances/DeleteOdsInstance.cs index a92e9f2c3..3c907675a 100644 --- a/Application/EdFi.Ods.AdminApi/Features/OdsInstances/DeleteOdsInstance.cs +++ b/Application/EdFi.Ods.AdminApi/Features/OdsInstances/DeleteOdsInstance.cs @@ -4,6 +4,9 @@ // See the LICENSE and NOTICES files in the project root for more information. using EdFi.Admin.DataAccess.Models; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; +using EdFi.Ods.AdminApi.Common.Infrastructure.Extensions; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Commands; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; @@ -18,7 +21,7 @@ public void MapEndpoints(IEndpointRouteBuilder endpoints) { AdminApiEndpointBuilder.MapDelete(endpoints, "/odsInstances/{id}", Handle) .WithDefaultSummaryAndDescription() - .WithRouteOptions(b => b.WithResponseCode(200, FeatureConstants.DeletedSuccessResponseDescription)) + .WithRouteOptions(b => b.WithResponseCode(200, FeatureCommonConstants.DeletedSuccessResponseDescription)) .BuildForVersions(AdminApiVersions.V2); } diff --git a/Application/EdFi.Ods.AdminApi/Features/OdsInstances/EditOdsInstance.cs b/Application/EdFi.Ods.AdminApi/Features/OdsInstances/EditOdsInstance.cs index 95e289efa..a21ee2273 100644 --- a/Application/EdFi.Ods.AdminApi/Features/OdsInstances/EditOdsInstance.cs +++ b/Application/EdFi.Ods.AdminApi/Features/OdsInstances/EditOdsInstance.cs @@ -4,12 +4,15 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Helpers; +using EdFi.Ods.AdminApi.Common.Infrastructure; +using EdFi.Ods.AdminApi.Common.Infrastructure.Helpers; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Commands; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; using EdFi.Ods.AdminApi.Infrastructure.Documentation; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using EdFi.Ods.AdminApi.Infrastructure.Helpers; using FluentValidation; using Microsoft.Extensions.Options; diff --git a/Application/EdFi.Ods.AdminApi/Features/OdsInstances/ReadOdsInstance.cs b/Application/EdFi.Ods.AdminApi/Features/OdsInstances/ReadOdsInstance.cs index 9eb7c1e4c..1e3e6fc1e 100644 --- a/Application/EdFi.Ods.AdminApi/Features/OdsInstances/ReadOdsInstance.cs +++ b/Application/EdFi.Ods.AdminApi/Features/OdsInstances/ReadOdsInstance.cs @@ -4,6 +4,8 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; using EdFi.Ods.AdminApi.Infrastructure.Extensions; diff --git a/Application/EdFi.Ods.AdminApi/Features/Profiles/AddProfile.cs b/Application/EdFi.Ods.AdminApi/Features/Profiles/AddProfile.cs index 3cd316e33..44052369c 100644 --- a/Application/EdFi.Ods.AdminApi/Features/Profiles/AddProfile.cs +++ b/Application/EdFi.Ods.AdminApi/Features/Profiles/AddProfile.cs @@ -4,6 +4,8 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Commands; using EdFi.Ods.AdminApi.Infrastructure.Documentation; diff --git a/Application/EdFi.Ods.AdminApi/Features/Profiles/DeleteProfile.cs b/Application/EdFi.Ods.AdminApi/Features/Profiles/DeleteProfile.cs index 1923bf0ae..79d19167f 100644 --- a/Application/EdFi.Ods.AdminApi/Features/Profiles/DeleteProfile.cs +++ b/Application/EdFi.Ods.AdminApi/Features/Profiles/DeleteProfile.cs @@ -3,6 +3,8 @@ // The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. // See the LICENSE and NOTICES files in the project root for more information. +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Commands; @@ -14,7 +16,7 @@ public void MapEndpoints(IEndpointRouteBuilder endpoints) { AdminApiEndpointBuilder.MapDelete(endpoints, "/profiles/{id}", Handle) .WithDefaultSummaryAndDescription() - .WithRouteOptions(b => b.WithResponseCode(200, FeatureConstants.DeletedSuccessResponseDescription)) + .WithRouteOptions(b => b.WithResponseCode(200, FeatureCommonConstants.DeletedSuccessResponseDescription)) .BuildForVersions(AdminApiVersions.V2); } diff --git a/Application/EdFi.Ods.AdminApi/Features/Profiles/EditProfile.cs b/Application/EdFi.Ods.AdminApi/Features/Profiles/EditProfile.cs index 6512b5dfd..5b82d286a 100644 --- a/Application/EdFi.Ods.AdminApi/Features/Profiles/EditProfile.cs +++ b/Application/EdFi.Ods.AdminApi/Features/Profiles/EditProfile.cs @@ -4,6 +4,8 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Commands; using EdFi.Ods.AdminApi.Infrastructure.Documentation; diff --git a/Application/EdFi.Ods.AdminApi/Features/Profiles/ReadProfile.cs b/Application/EdFi.Ods.AdminApi/Features/Profiles/ReadProfile.cs index 1dd332201..234d39658 100644 --- a/Application/EdFi.Ods.AdminApi/Features/Profiles/ReadProfile.cs +++ b/Application/EdFi.Ods.AdminApi/Features/Profiles/ReadProfile.cs @@ -4,9 +4,11 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using EdFi.Ods.AdminApi.Infrastructure.Extensions; using EdFi.Ods.AdminApi.Infrastructure.Helpers; diff --git a/Application/EdFi.Ods.AdminApi/Features/RequestLoggingMiddleware.cs b/Application/EdFi.Ods.AdminApi/Features/RequestLoggingMiddleware.cs index ccd032277..439280df7 100644 --- a/Application/EdFi.Ods.AdminApi/Features/RequestLoggingMiddleware.cs +++ b/Application/EdFi.Ods.AdminApi/Features/RequestLoggingMiddleware.cs @@ -4,7 +4,7 @@ // See the LICENSE and NOTICES files in the project root for more information. using EdFi.Common.Utils.Extensions; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using FluentValidation; using System.Net; using System.Text.Json; diff --git a/Application/EdFi.Ods.AdminApi/Features/ResourceClaims/ReadResourceClaims.cs b/Application/EdFi.Ods.AdminApi/Features/ResourceClaims/ReadResourceClaims.cs index edee101b5..e1e624b50 100644 --- a/Application/EdFi.Ods.AdminApi/Features/ResourceClaims/ReadResourceClaims.cs +++ b/Application/EdFi.Ods.AdminApi/Features/ResourceClaims/ReadResourceClaims.cs @@ -4,10 +4,12 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Features.ClaimSets; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using EdFi.Ods.AdminApi.Infrastructure.Extensions; using EdFi.Ods.AdminApi.Infrastructure.Helpers; diff --git a/Application/EdFi.Ods.AdminApi/Features/Vendors/AddVendor.cs b/Application/EdFi.Ods.AdminApi/Features/Vendors/AddVendor.cs index 32b45debc..7a3885995 100644 --- a/Application/EdFi.Ods.AdminApi/Features/Vendors/AddVendor.cs +++ b/Application/EdFi.Ods.AdminApi/Features/Vendors/AddVendor.cs @@ -4,6 +4,8 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Commands; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; diff --git a/Application/EdFi.Ods.AdminApi/Features/Vendors/DeleteVendor.cs b/Application/EdFi.Ods.AdminApi/Features/Vendors/DeleteVendor.cs index 8d42b24fd..be50a0fbf 100644 --- a/Application/EdFi.Ods.AdminApi/Features/Vendors/DeleteVendor.cs +++ b/Application/EdFi.Ods.AdminApi/Features/Vendors/DeleteVendor.cs @@ -3,6 +3,9 @@ // The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. // See the LICENSE and NOTICES files in the project root for more information. +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; +using EdFi.Ods.AdminApi.Common.Infrastructure.Extensions; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Commands; using EdFi.Ods.AdminApi.Infrastructure.Extensions; @@ -15,7 +18,7 @@ public void MapEndpoints(IEndpointRouteBuilder endpoints) { AdminApiEndpointBuilder.MapDelete(endpoints, "/vendors/{id}", Handle) .WithDefaultSummaryAndDescription() - .WithRouteOptions(b => b.WithResponseCode(200, FeatureConstants.DeletedSuccessResponseDescription)) + .WithRouteOptions(b => b.WithResponseCode(200, FeatureCommonConstants.DeletedSuccessResponseDescription)) .BuildForVersions(AdminApiVersions.V2); } diff --git a/Application/EdFi.Ods.AdminApi/Features/Vendors/EditVendor.cs b/Application/EdFi.Ods.AdminApi/Features/Vendors/EditVendor.cs index d6d9f5916..4817f4c85 100644 --- a/Application/EdFi.Ods.AdminApi/Features/Vendors/EditVendor.cs +++ b/Application/EdFi.Ods.AdminApi/Features/Vendors/EditVendor.cs @@ -4,6 +4,8 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Commands; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; diff --git a/Application/EdFi.Ods.AdminApi/Features/Vendors/ReadVendor.cs b/Application/EdFi.Ods.AdminApi/Features/Vendors/ReadVendor.cs index c502e70f1..1eaee3551 100644 --- a/Application/EdFi.Ods.AdminApi/Features/Vendors/ReadVendor.cs +++ b/Application/EdFi.Ods.AdminApi/Features/Vendors/ReadVendor.cs @@ -4,9 +4,11 @@ // See the LICENSE and NOTICES files in the project root for more information. using AutoMapper; +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using EdFi.Ods.AdminApi.Infrastructure.Extensions; using EdFi.Ods.AdminApi.Infrastructure.Helpers; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/AdminApiDbContext.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/AdminApiDbContext.cs index c15aca1ef..3f9d6321d 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/AdminApiDbContext.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/AdminApiDbContext.cs @@ -7,6 +7,8 @@ using EdFi.Ods.AdminApi.Infrastructure.Security; using EdFi.Ods.AdminApi.Infrastructure.Extensions; using Microsoft.EntityFrameworkCore; +using EdFi.Ods.AdminApi.Common.Infrastructure.Database; +using EdFi.Ods.AdminApi.Common.Infrastructure.Extensions; namespace EdFi.Ods.AdminApi.Infrastructure; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/AutoMapper/Converters.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/AutoMapper/Converters.cs index 50f77dabc..c56fc54a6 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/AutoMapper/Converters.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/AutoMapper/Converters.cs @@ -6,7 +6,7 @@ using AutoMapper; using EdFi.Admin.DataAccess.Contexts; using EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; namespace EdFi.Ods.AdminApi.Infrastructure.AutoMapper; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/AddApplicationCommand.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/AddApplicationCommand.cs index 7f0102b02..ed38d8079 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/AddApplicationCommand.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/AddApplicationCommand.cs @@ -7,9 +7,9 @@ using System.Net; using EdFi.Admin.DataAccess.Contexts; using EdFi.Admin.DataAccess.Models; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using FluentValidation; using Microsoft.AspNetCore.Http; using Microsoft.EntityFrameworkCore; @@ -17,6 +17,7 @@ using Polly; using static System.Reflection.Metadata.BlobBuilder; using static EdFi.Ods.AdminApi.Features.Applications.AddApplication; +using EdFi.Ods.AdminApi.Common.Infrastructure; namespace EdFi.Ods.AdminApi.Infrastructure.Database.Commands; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/AddOdsInstanceContextCommand.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/AddOdsInstanceContextCommand.cs index 279d1a0da..7af2cebe4 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/AddOdsInstanceContextCommand.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/AddOdsInstanceContextCommand.cs @@ -5,7 +5,7 @@ using EdFi.Admin.DataAccess.Contexts; using EdFi.Admin.DataAccess.Models; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; namespace EdFi.Ods.AdminApi.Infrastructure.Database.Commands; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/AddOdsInstanceDerivativeCommand.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/AddOdsInstanceDerivativeCommand.cs index 007ec0b09..e47e0eff4 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/AddOdsInstanceDerivativeCommand.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/AddOdsInstanceDerivativeCommand.cs @@ -5,7 +5,7 @@ using EdFi.Admin.DataAccess.Contexts; using EdFi.Admin.DataAccess.Models; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; namespace EdFi.Ods.AdminApi.Infrastructure.Database.Commands; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/DeleteApplicationCommand.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/DeleteApplicationCommand.cs index e6e605c1c..230166925 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/DeleteApplicationCommand.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/DeleteApplicationCommand.cs @@ -5,7 +5,7 @@ using EdFi.Admin.DataAccess.Contexts; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using Microsoft.EntityFrameworkCore; namespace EdFi.Ods.AdminApi.Infrastructure.Database.Commands; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/DeleteOdsInstanceCommand.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/DeleteOdsInstanceCommand.cs index d08c9f2ff..f4e2cee6c 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/DeleteOdsInstanceCommand.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/DeleteOdsInstanceCommand.cs @@ -4,7 +4,7 @@ // See the LICENSE and NOTICES files in the project root for more information. using EdFi.Admin.DataAccess.Contexts; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; namespace EdFi.Ods.AdminApi.Infrastructure.Database.Commands; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/DeleteOdsInstanceContextCommand.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/DeleteOdsInstanceContextCommand.cs index f9624ddbf..d37d7d2cd 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/DeleteOdsInstanceContextCommand.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/DeleteOdsInstanceContextCommand.cs @@ -4,7 +4,7 @@ // See the LICENSE and NOTICES files in the project root for more information. using EdFi.Admin.DataAccess.Contexts; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; namespace EdFi.Ods.AdminApi.Infrastructure.Database.Commands; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/DeleteOdsInstanceDerivativeCommand.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/DeleteOdsInstanceDerivativeCommand.cs index ea907f0ea..4cbf3b2a2 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/DeleteOdsInstanceDerivativeCommand.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/DeleteOdsInstanceDerivativeCommand.cs @@ -4,7 +4,7 @@ // See the LICENSE and NOTICES files in the project root for more information. using EdFi.Admin.DataAccess.Contexts; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; namespace EdFi.Ods.AdminApi.Infrastructure.Database.Commands; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/DeleteProfileCommand.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/DeleteProfileCommand.cs index 500da8b72..dc259db35 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/DeleteProfileCommand.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/DeleteProfileCommand.cs @@ -4,7 +4,7 @@ // See the LICENSE and NOTICES files in the project root for more information. using EdFi.Admin.DataAccess.Contexts; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; namespace EdFi.Ods.AdminApi.Infrastructure.Database.Commands; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/DeleteVendorCommand.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/DeleteVendorCommand.cs index 714546897..cf2aa567d 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/DeleteVendorCommand.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/DeleteVendorCommand.cs @@ -5,7 +5,7 @@ using EdFi.Admin.DataAccess.Contexts; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using Microsoft.EntityFrameworkCore; namespace EdFi.Ods.AdminApi.Infrastructure.Database.Commands; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/EditApplicationCommand.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/EditApplicationCommand.cs index 6049c8cda..f7bb3ce64 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/EditApplicationCommand.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/EditApplicationCommand.cs @@ -6,7 +6,7 @@ using EdFi.Admin.DataAccess.Contexts; using EdFi.Admin.DataAccess.Models; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using Microsoft.EntityFrameworkCore; namespace EdFi.Ods.AdminApi.Infrastructure.Database.Commands; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/EditOdsInstanceCommand.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/EditOdsInstanceCommand.cs index 396dfeb0c..cb2496d4b 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/EditOdsInstanceCommand.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/EditOdsInstanceCommand.cs @@ -6,7 +6,7 @@ using EdFi.Admin.DataAccess.Contexts; using EdFi.Admin.DataAccess.Models; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; namespace EdFi.Ods.AdminApi.Infrastructure.Database.Commands; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/EditOdsInstanceContextCommand.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/EditOdsInstanceContextCommand.cs index 971517cf3..2fa77e3b5 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/EditOdsInstanceContextCommand.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/EditOdsInstanceContextCommand.cs @@ -5,7 +5,7 @@ using EdFi.Admin.DataAccess.Contexts; using EdFi.Admin.DataAccess.Models; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using Microsoft.EntityFrameworkCore; namespace EdFi.Ods.AdminApi.Infrastructure.Database.Commands; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/EditOdsInstanceDerivativeCommand.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/EditOdsInstanceDerivativeCommand.cs index 95c7e0d7e..4c178b9f3 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/EditOdsInstanceDerivativeCommand.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/EditOdsInstanceDerivativeCommand.cs @@ -5,7 +5,7 @@ using EdFi.Admin.DataAccess.Contexts; using EdFi.Admin.DataAccess.Models; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using Microsoft.EntityFrameworkCore; namespace EdFi.Ods.AdminApi.Infrastructure.Database.Commands; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/EditProfileCommand.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/EditProfileCommand.cs index f75ab2b05..5bdfef887 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/EditProfileCommand.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/EditProfileCommand.cs @@ -5,7 +5,7 @@ using EdFi.Admin.DataAccess.Contexts; using EdFi.Admin.DataAccess.Models; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; namespace EdFi.Ods.AdminApi.Infrastructure.Database.Commands; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/EditVendorCommand.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/EditVendorCommand.cs index 9b67de0d1..6b023c2d9 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/EditVendorCommand.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/EditVendorCommand.cs @@ -6,7 +6,7 @@ using EdFi.Admin.DataAccess.Contexts; using EdFi.Admin.DataAccess.Models; using EdFi.Ods.AdminApi.Infrastructure.Database.Queries; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using Microsoft.EntityFrameworkCore; using VendorUser = EdFi.Admin.DataAccess.Models.User; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/RegenerateApiClientSecretCommand.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/RegenerateApiClientSecretCommand.cs index 1af003f73..034dbf80e 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/RegenerateApiClientSecretCommand.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Commands/RegenerateApiClientSecretCommand.cs @@ -5,7 +5,7 @@ using EdFi.Admin.DataAccess.Contexts; using EdFi.Admin.DataAccess.Models; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using Microsoft.EntityFrameworkCore; namespace EdFi.Ods.AdminApi.Infrastructure.Database.Commands; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetAllActionsQuery.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetAllActionsQuery.cs index 191779ed7..048a055ec 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetAllActionsQuery.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetAllActionsQuery.cs @@ -4,7 +4,9 @@ // See the LICENSE and NOTICES files in the project root for more information. using System.Linq.Expressions; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; +using EdFi.Ods.AdminApi.Common.Infrastructure; +using EdFi.Ods.AdminApi.Common.Infrastructure.Helpers; using EdFi.Ods.AdminApi.Infrastructure.Extensions; using EdFi.Ods.AdminApi.Infrastructure.Helpers; using EdFi.Security.DataAccess.Contexts; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetAllApplicationsQuery.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetAllApplicationsQuery.cs index 2be7e99fa..a3b90b87e 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetAllApplicationsQuery.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetAllApplicationsQuery.cs @@ -6,7 +6,9 @@ using System.Linq.Expressions; using EdFi.Admin.DataAccess.Contexts; using EdFi.Admin.DataAccess.Models; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; +using EdFi.Ods.AdminApi.Common.Infrastructure; +using EdFi.Ods.AdminApi.Common.Infrastructure.Helpers; using EdFi.Ods.AdminApi.Infrastructure.Extensions; using EdFi.Ods.AdminApi.Infrastructure.Helpers; using Microsoft.EntityFrameworkCore; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetAllClaimSetsQuery.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetAllClaimSetsQuery.cs index eb7f5b8f9..dfb0b5bfe 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetAllClaimSetsQuery.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetAllClaimSetsQuery.cs @@ -4,7 +4,9 @@ // See the LICENSE and NOTICES files in the project root for more information. using System.Linq.Expressions; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; +using EdFi.Ods.AdminApi.Common.Infrastructure; +using EdFi.Ods.AdminApi.Common.Infrastructure.Helpers; using EdFi.Ods.AdminApi.Infrastructure.Extensions; using EdFi.Ods.AdminApi.Infrastructure.Helpers; using EdFi.Security.DataAccess.Contexts; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetApplicationByIdQuery.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetApplicationByIdQuery.cs index 940602743..e71f08e4e 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetApplicationByIdQuery.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetApplicationByIdQuery.cs @@ -5,7 +5,7 @@ using EdFi.Admin.DataAccess.Contexts; using EdFi.Admin.DataAccess.Models; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using Microsoft.EntityFrameworkCore; namespace EdFi.Ods.AdminApi.Infrastructure.Database.Queries; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetApplicationsByOdsInstanceIdQuery.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetApplicationsByOdsInstanceIdQuery.cs index 9465619f1..5905c3a56 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetApplicationsByOdsInstanceIdQuery.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetApplicationsByOdsInstanceIdQuery.cs @@ -5,7 +5,7 @@ using EdFi.Admin.DataAccess.Contexts; using EdFi.Admin.DataAccess.Models; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using Microsoft.EntityFrameworkCore; namespace EdFi.Ods.AdminApi.Infrastructure.Database.Queries; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetApplicationsByVendorIdQuery.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetApplicationsByVendorIdQuery.cs index 1d0400176..885cc80b2 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetApplicationsByVendorIdQuery.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetApplicationsByVendorIdQuery.cs @@ -5,7 +5,7 @@ using EdFi.Admin.DataAccess.Contexts; using EdFi.Admin.DataAccess.Models; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using Microsoft.EntityFrameworkCore; namespace EdFi.Ods.AdminApi.Infrastructure.Database.Queries; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetAuthStrategiesQuery.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetAuthStrategiesQuery.cs index 46373a2fd..6e0b9732a 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetAuthStrategiesQuery.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetAuthStrategiesQuery.cs @@ -4,7 +4,9 @@ // See the LICENSE and NOTICES files in the project root for more information. using System.Linq.Expressions; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; +using EdFi.Ods.AdminApi.Common.Infrastructure; +using EdFi.Ods.AdminApi.Common.Infrastructure.Helpers; using EdFi.Ods.AdminApi.Infrastructure.Extensions; using EdFi.Ods.AdminApi.Infrastructure.Helpers; using EdFi.Security.DataAccess.Contexts; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetOdsInstanceContextByIdQuery.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetOdsInstanceContextByIdQuery.cs index 1bc0a5c02..ca3339a4e 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetOdsInstanceContextByIdQuery.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetOdsInstanceContextByIdQuery.cs @@ -5,7 +5,7 @@ using EdFi.Admin.DataAccess.Contexts; using EdFi.Admin.DataAccess.Models; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using Microsoft.EntityFrameworkCore; namespace EdFi.Ods.AdminApi.Infrastructure.Database.Queries; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetOdsInstanceContextsQuery.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetOdsInstanceContextsQuery.cs index 0e41fb756..5e5a9bcd3 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetOdsInstanceContextsQuery.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetOdsInstanceContextsQuery.cs @@ -6,7 +6,9 @@ using System.Linq.Expressions; using EdFi.Admin.DataAccess.Contexts; using EdFi.Admin.DataAccess.Models; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; +using EdFi.Ods.AdminApi.Common.Infrastructure; +using EdFi.Ods.AdminApi.Common.Infrastructure.Helpers; using EdFi.Ods.AdminApi.Infrastructure.Extensions; using EdFi.Ods.AdminApi.Infrastructure.Helpers; using Microsoft.EntityFrameworkCore; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetOdsInstanceDerivativeByIdQuery.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetOdsInstanceDerivativeByIdQuery.cs index 8c239faac..edceffaa9 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetOdsInstanceDerivativeByIdQuery.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetOdsInstanceDerivativeByIdQuery.cs @@ -5,7 +5,7 @@ using EdFi.Admin.DataAccess.Contexts; using EdFi.Admin.DataAccess.Models; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using Microsoft.EntityFrameworkCore; namespace EdFi.Ods.AdminApi.Infrastructure.Database.Queries; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetOdsInstanceDerivativesQuery.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetOdsInstanceDerivativesQuery.cs index 2facd35e8..721a178b0 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetOdsInstanceDerivativesQuery.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetOdsInstanceDerivativesQuery.cs @@ -6,7 +6,9 @@ using System.Linq.Expressions; using EdFi.Admin.DataAccess.Contexts; using EdFi.Admin.DataAccess.Models; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; +using EdFi.Ods.AdminApi.Common.Infrastructure; +using EdFi.Ods.AdminApi.Common.Infrastructure.Helpers; using EdFi.Ods.AdminApi.Infrastructure.Extensions; using EdFi.Ods.AdminApi.Infrastructure.Helpers; using Microsoft.EntityFrameworkCore; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetOdsInstanceQuery.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetOdsInstanceQuery.cs index f657c763d..e837bedeb 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetOdsInstanceQuery.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetOdsInstanceQuery.cs @@ -5,7 +5,7 @@ using EdFi.Admin.DataAccess.Contexts; using EdFi.Admin.DataAccess.Models; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using Microsoft.EntityFrameworkCore; namespace EdFi.Ods.AdminApi.Infrastructure.Database.Queries; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetOdsInstancesQuery.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetOdsInstancesQuery.cs index 0f8586b5f..2e26ae983 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetOdsInstancesQuery.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetOdsInstancesQuery.cs @@ -6,7 +6,9 @@ using System.Linq.Expressions; using EdFi.Admin.DataAccess.Contexts; using EdFi.Admin.DataAccess.Models; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; +using EdFi.Ods.AdminApi.Common.Infrastructure; +using EdFi.Ods.AdminApi.Common.Infrastructure.Helpers; using EdFi.Ods.AdminApi.Infrastructure.Extensions; using EdFi.Ods.AdminApi.Infrastructure.Helpers; using Microsoft.EntityFrameworkCore; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetProfileByIdQuery.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetProfileByIdQuery.cs index 7790382c2..f9172fa57 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetProfileByIdQuery.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetProfileByIdQuery.cs @@ -5,7 +5,7 @@ using EdFi.Admin.DataAccess.Contexts; using EdFi.Admin.DataAccess.Models; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; namespace EdFi.Ods.AdminApi.Infrastructure.Database.Queries; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetProfilesQuery.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetProfilesQuery.cs index eec5e1668..859506262 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetProfilesQuery.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetProfilesQuery.cs @@ -6,7 +6,9 @@ using System.Linq.Expressions; using EdFi.Admin.DataAccess.Contexts; using EdFi.Admin.DataAccess.Models; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; +using EdFi.Ods.AdminApi.Common.Infrastructure; +using EdFi.Ods.AdminApi.Common.Infrastructure.Helpers; using EdFi.Ods.AdminApi.Infrastructure.Extensions; using EdFi.Ods.AdminApi.Infrastructure.Helpers; using Microsoft.EntityFrameworkCore; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetResourceClaimByResourceClaimIdQuery.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetResourceClaimByResourceClaimIdQuery.cs index 3619da36a..afafe373f 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetResourceClaimByResourceClaimIdQuery.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetResourceClaimByResourceClaimIdQuery.cs @@ -4,7 +4,7 @@ // See the LICENSE and NOTICES files in the project root for more information. using EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using EdFi.Security.DataAccess.Contexts; namespace EdFi.Ods.AdminApi.Infrastructure.Database.Queries; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetResourceClaimsQuery.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetResourceClaimsQuery.cs index 0d7325c13..8d07d695e 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetResourceClaimsQuery.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetResourceClaimsQuery.cs @@ -4,7 +4,9 @@ // See the LICENSE and NOTICES files in the project root for more information. using System.Linq.Expressions; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; +using EdFi.Ods.AdminApi.Common.Infrastructure; +using EdFi.Ods.AdminApi.Common.Infrastructure.Helpers; using EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor; using EdFi.Ods.AdminApi.Infrastructure.Extensions; using EdFi.Ods.AdminApi.Infrastructure.Helpers; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetVendorsQuery.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetVendorsQuery.cs index 4bf5ca18d..287a54593 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetVendorsQuery.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/GetVendorsQuery.cs @@ -6,7 +6,9 @@ using System.Linq.Expressions; using EdFi.Admin.DataAccess.Contexts; using EdFi.Admin.DataAccess.Models; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; +using EdFi.Ods.AdminApi.Common.Infrastructure; +using EdFi.Ods.AdminApi.Common.Infrastructure.Helpers; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.Extensions; using EdFi.Ods.AdminApi.Infrastructure.Helpers; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/ValidateApplicationExistsQuery.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/ValidateApplicationExistsQuery.cs index 95fbeea75..0cd0c762d 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/ValidateApplicationExistsQuery.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Database/Queries/ValidateApplicationExistsQuery.cs @@ -6,9 +6,9 @@ using System.Net; using EdFi.Admin.DataAccess.Contexts; using EdFi.Admin.DataAccess.Models; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; using EdFi.Ods.AdminApi.Infrastructure.Database.Commands; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using Microsoft.EntityFrameworkCore; namespace EdFi.Ods.AdminApi.Infrastructure.Database.Queries; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Documentation/ListExplicitSchemaDocumentFilter.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Documentation/ListExplicitSchemaDocumentFilter.cs index 23f6c666b..bb6dce808 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Documentation/ListExplicitSchemaDocumentFilter.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Documentation/ListExplicitSchemaDocumentFilter.cs @@ -3,6 +3,7 @@ // The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. // See the LICENSE and NOTICES files in the project root for more information. +using EdFi.Ods.AdminApi.Common.Features; using EdFi.Ods.AdminApi.Features; using EdFi.Ods.AdminApi.Features.Connect; using Microsoft.OpenApi.Models; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Documentation/SwaggerDefaultParameterFilter.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Documentation/SwaggerDefaultParameterFilter.cs index c50bd3fa4..49e61fce0 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Documentation/SwaggerDefaultParameterFilter.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Documentation/SwaggerDefaultParameterFilter.cs @@ -4,12 +4,13 @@ // See the LICENSE and NOTICES files in the project root for more information. using EdFi.Ods.AdminApi.Features; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; using EdFi.Ods.AdminApi.Infrastructure.Helpers; using Microsoft.Extensions.Options; using Microsoft.OpenApi.Any; using Microsoft.OpenApi.Models; using Swashbuckle.AspNetCore.SwaggerGen; +using EdFi.Ods.AdminApi.Common.Infrastructure.Helpers; namespace EdFi.Ods.AdminApi.Infrastructure.Documentation; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Documentation/TagByResourceUrlFilter.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Documentation/TagByResourceUrlFilter.cs index 5453e0ed3..3ced3f5be 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Documentation/TagByResourceUrlFilter.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Documentation/TagByResourceUrlFilter.cs @@ -4,6 +4,7 @@ // See the LICENSE and NOTICES files in the project root for more information. using System.Text.RegularExpressions; +using EdFi.Ods.AdminApi.Common.Infrastructure.Extensions; using EdFi.Ods.AdminApi.Infrastructure.Extensions; using Microsoft.OpenApi.Models; using Swashbuckle.AspNetCore.SwaggerGen; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Extensions/QueryExtensions.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Extensions/QueryExtensions.cs index f2beb2290..c9850edd6 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Extensions/QueryExtensions.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Extensions/QueryExtensions.cs @@ -5,7 +5,7 @@ using System.Linq.Expressions; using System.Reflection; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; using Microsoft.Extensions.Options; namespace EdFi.Ods.AdminApi.Infrastructure.Extensions diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/AdminApiFeatureHelper.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/AdminApiFeatureHelper.cs new file mode 100644 index 000000000..3601dd50f --- /dev/null +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/AdminApiFeatureHelper.cs @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: Apache-2.0 +// Licensed to the Ed-Fi Alliance under one or more agreements. +// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +// See the LICENSE and NOTICES files in the project root for more information. + +using EdFi.Ods.AdminApi.Common.Features; +using EdFi.Ods.AdminApi.Common.Infrastructure.Helpers; +using System.Reflection; + +namespace EdFi.Ods.AdminApi.Infrastructure.Helpers; + +public static class AdminApiFeatureHelper +{ + public static List GetFeatures() => FeatureHelper.GetFeatures(Assembly.GetExecutingAssembly()); +} diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/HealthCheckServiceExtensions.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/HealthCheckServiceExtensions.cs index 806cb6bfb..59332db06 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/HealthCheckServiceExtensions.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/HealthCheckServiceExtensions.cs @@ -3,9 +3,11 @@ // The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. // See the LICENSE and NOTICES files in the project root for more information. -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using EdFi.Ods.AdminApi.Infrastructure.MultiTenancy; using EdFi.Ods.AdminApi.Infrastructure.Extensions; +using EdFi.Ods.AdminApi.Common.Infrastructure; +using EdFi.Ods.AdminApi.Common.Infrastructure.Extensions; namespace EdFi.Ods.AdminApi.Infrastructure; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/IEnumerableExtensions.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/IEnumerableExtensions.cs index e2b320082..bd17cab63 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/IEnumerableExtensions.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Helpers/IEnumerableExtensions.cs @@ -5,7 +5,7 @@ using EdFi.Admin.DataAccess.Models; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; using Microsoft.Extensions.Options; namespace EdFi.Ods.AdminApi.Infrastructure.Helpers; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/MultiTenancy/TenantIdentificationMiddleware.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/MultiTenancy/TenantIdentificationMiddleware.cs index 138f22d83..555810193 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/MultiTenancy/TenantIdentificationMiddleware.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/MultiTenancy/TenantIdentificationMiddleware.cs @@ -3,8 +3,8 @@ // The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. // See the LICENSE and NOTICES files in the project root for more information. -using EdFi.Ods.AdminApi.Helpers; -using EdFi.Ods.AdminApi.Infrastructure.Context; +using EdFi.Ods.AdminApi.Common.Helpers; +using EdFi.Ods.AdminApi.Common.Infrastructure.Context; using FluentValidation; using FluentValidation.Results; using Microsoft.Extensions.Options; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Security/SecurityExtensions.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Security/SecurityExtensions.cs index fff879086..db2b11a0e 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Security/SecurityExtensions.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Security/SecurityExtensions.cs @@ -4,7 +4,8 @@ // See the LICENSE and NOTICES files in the project root for more information. using EdFi.Ods.AdminApi.Features.Connect; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.Extensions; using EdFi.Ods.AdminApi.Infrastructure.Extensions; using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.AspNetCore.Authorization; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Services/ClaimSetEditor/DeleteClaimSetCommand.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Services/ClaimSetEditor/DeleteClaimSetCommand.cs index 1f7c1c557..d96f7d364 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Services/ClaimSetEditor/DeleteClaimSetCommand.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Services/ClaimSetEditor/DeleteClaimSetCommand.cs @@ -3,7 +3,7 @@ // The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. // See the LICENSE and NOTICES files in the project root for more information. -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using EdFi.Security.DataAccess.Contexts; namespace EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Services/ClaimSetEditor/EditClaimSetCommand.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Services/ClaimSetEditor/EditClaimSetCommand.cs index 6ae65fb06..c1001e312 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Services/ClaimSetEditor/EditClaimSetCommand.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Services/ClaimSetEditor/EditClaimSetCommand.cs @@ -4,7 +4,7 @@ // See the LICENSE and NOTICES files in the project root for more information. using EdFi.Admin.DataAccess.Contexts; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using EdFi.Security.DataAccess.Contexts; namespace EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Services/ClaimSetEditor/GetClaimSetByIdQuery.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Services/ClaimSetEditor/GetClaimSetByIdQuery.cs index 934017937..2d4e534d6 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Services/ClaimSetEditor/GetClaimSetByIdQuery.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Services/ClaimSetEditor/GetClaimSetByIdQuery.cs @@ -3,7 +3,7 @@ // The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. // See the LICENSE and NOTICES files in the project root for more information. -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using EdFi.Security.DataAccess.Contexts; namespace EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/Services/OdsApiValidator.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/Services/OdsApiValidator.cs index e74f567a8..62974cdfc 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/Services/OdsApiValidator.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/Services/OdsApiValidator.cs @@ -4,7 +4,7 @@ // See the LICENSE and NOTICES files in the project root for more information. using System.Net; -using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling; +using EdFi.Ods.AdminApi.Common.Infrastructure.ErrorHandling; using EdFi.Ods.AdminApi.Infrastructure.Services; using Newtonsoft.Json; using Newtonsoft.Json.Linq; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/WebApplicationBuilderExtensions.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/WebApplicationBuilderExtensions.cs index bf7aa7dd8..044ca5c0c 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/WebApplicationBuilderExtensions.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/WebApplicationBuilderExtensions.cs @@ -18,9 +18,11 @@ using Microsoft.OpenApi.Models; using FluentValidation; using EdFi.Ods.AdminApi.Infrastructure.MultiTenancy; -using EdFi.Ods.AdminApi.Helpers; -using EdFi.Ods.AdminApi.Infrastructure.Context; +using EdFi.Ods.AdminApi.Common.Helpers; +using EdFi.Ods.AdminApi.Common.Infrastructure.Context; using EdFi.Common.Extensions; +using EdFi.Ods.AdminApi.Common.Infrastructure; +using EdFi.Ods.AdminApi.Common.Infrastructure.Extensions; namespace EdFi.Ods.AdminApi.Infrastructure; diff --git a/Application/EdFi.Ods.AdminApi/Infrastructure/WebApplicationExtensions.cs b/Application/EdFi.Ods.AdminApi/Infrastructure/WebApplicationExtensions.cs index a00e828e9..1c2189c5b 100644 --- a/Application/EdFi.Ods.AdminApi/Infrastructure/WebApplicationExtensions.cs +++ b/Application/EdFi.Ods.AdminApi/Infrastructure/WebApplicationExtensions.cs @@ -2,6 +2,9 @@ // Licensed to the Ed-Fi Alliance under one or more agreements. // The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. // See the LICENSE and NOTICES files in the project root for more information. +using EdFi.Ods.AdminApi.Common.Infrastructure.Helpers; +using AdminApiFeatures = EdFi.Ods.AdminApi.Infrastructure.Helpers; +using AdminConsoleFeatures = EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Helpers; namespace EdFi.Ods.AdminApi.Infrastructure; @@ -11,7 +14,7 @@ public static void MapFeatureEndpoints(this WebApplication application) { application.UseEndpoints(endpoints => { - foreach (var routeBuilder in Helpers.FeaturesHelper.GetFeatures()) + foreach (var routeBuilder in AdminApiFeatures.AdminApiFeatureHelper.GetFeatures()) { routeBuilder.MapEndpoints(endpoints); } @@ -22,7 +25,7 @@ public static void MapAdminConsoleFeatureEndpoints(this WebApplication applicati { application.UseEndpoints(endpoints => { - foreach (var routeBuilder in EdFi.Ods.AdminApi.AdminConsole.FeaturesHelper.GetFeatures()) + foreach (var routeBuilder in AdminConsoleFeatures.AdminConsoleFeatureHelper.GetFeatures()) { routeBuilder.MapEndpoints(endpoints); } diff --git a/Application/EdFi.Ods.AdminApi/Program.cs b/Application/EdFi.Ods.AdminApi/Program.cs index 98413704d..258ad4196 100644 --- a/Application/EdFi.Ods.AdminApi/Program.cs +++ b/Application/EdFi.Ods.AdminApi/Program.cs @@ -5,6 +5,7 @@ using AspNetCoreRateLimit; using EdFi.Ods.AdminApi.AdminConsole; +using EdFi.Ods.AdminApi.Common.Infrastructure; using EdFi.Ods.AdminApi.Features; using EdFi.Ods.AdminApi.Infrastructure; using EdFi.Ods.AdminApi.Infrastructure.MultiTenancy; diff --git a/Application/EdFi.Ods.AdminConsole.DBTests/Database/CommandTests/AddInstanceCommandTests.cs b/Application/EdFi.Ods.AdminConsole.DBTests/Database/CommandTests/AddInstanceCommandTests.cs index 47d9bb60d..c183190fb 100644 --- a/Application/EdFi.Ods.AdminConsole.DBTests/Database/CommandTests/AddInstanceCommandTests.cs +++ b/Application/EdFi.Ods.AdminConsole.DBTests/Database/CommandTests/AddInstanceCommandTests.cs @@ -12,7 +12,7 @@ using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Repositories; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.Instances.Commands; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; using Microsoft.Extensions.Options; using NUnit.Framework; using Shouldly; diff --git a/Application/EdFi.Ods.AdminConsole.DBTests/Database/CommandTests/AddPermissionCommandTests.cs b/Application/EdFi.Ods.AdminConsole.DBTests/Database/CommandTests/AddPermissionCommandTests.cs index 1e317eed7..60ea83b13 100644 --- a/Application/EdFi.Ods.AdminConsole.DBTests/Database/CommandTests/AddPermissionCommandTests.cs +++ b/Application/EdFi.Ods.AdminConsole.DBTests/Database/CommandTests/AddPermissionCommandTests.cs @@ -12,7 +12,7 @@ using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Repositories; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.Permissions.Commands; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; using Microsoft.Extensions.Options; using NUnit.Framework; using Shouldly; diff --git a/Application/EdFi.Ods.AdminConsole.DBTests/Database/CommandTests/AddStepCommandTests.cs b/Application/EdFi.Ods.AdminConsole.DBTests/Database/CommandTests/AddStepCommandTests.cs index f83c8e0fb..ff9ac1079 100644 --- a/Application/EdFi.Ods.AdminConsole.DBTests/Database/CommandTests/AddStepCommandTests.cs +++ b/Application/EdFi.Ods.AdminConsole.DBTests/Database/CommandTests/AddStepCommandTests.cs @@ -12,7 +12,7 @@ using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Repositories; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.Steps.Commands; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; using Microsoft.Extensions.Options; using NUnit.Framework; using Shouldly; diff --git a/Application/EdFi.Ods.AdminConsole.DBTests/Database/CommandTests/AddUserProfileCommandTests.cs b/Application/EdFi.Ods.AdminConsole.DBTests/Database/CommandTests/AddUserProfileCommandTests.cs index d52a9bc65..2ef72aa51 100644 --- a/Application/EdFi.Ods.AdminConsole.DBTests/Database/CommandTests/AddUserProfileCommandTests.cs +++ b/Application/EdFi.Ods.AdminConsole.DBTests/Database/CommandTests/AddUserProfileCommandTests.cs @@ -12,7 +12,7 @@ using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Repositories; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.UserProfiles.Commands; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; using Microsoft.Extensions.Options; using NUnit.Framework; using Shouldly; diff --git a/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetInstanceByIdQueryTests.cs b/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetInstanceByIdQueryTests.cs index d49fc544d..35ef55976 100644 --- a/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetInstanceByIdQueryTests.cs +++ b/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetInstanceByIdQueryTests.cs @@ -11,7 +11,7 @@ using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.Instances.Commands; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.Instances.Queries; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; using Microsoft.Extensions.Options; using NUnit.Framework; using Shouldly; diff --git a/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetInstanceByTenantIdQueryTests.cs b/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetInstanceByTenantIdQueryTests.cs index 0db3a1dd7..22373fcc5 100644 --- a/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetInstanceByTenantIdQueryTests.cs +++ b/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetInstanceByTenantIdQueryTests.cs @@ -12,7 +12,7 @@ using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.Instances.Commands; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.Instances.Queries; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; using Microsoft.Extensions.Options; using NUnit.Framework; using Shouldly; diff --git a/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetPermissionByIdQueryTests.cs b/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetPermissionByIdQueryTests.cs index 0e1e01843..af8dd5623 100644 --- a/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetPermissionByIdQueryTests.cs +++ b/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetPermissionByIdQueryTests.cs @@ -10,7 +10,7 @@ using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.Permissions.Commands; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.Permissions.Queries; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; using Microsoft.Extensions.Options; using NUnit.Framework; using Shouldly; diff --git a/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetPermissionByTenantIdQueryTests.cs b/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetPermissionByTenantIdQueryTests.cs index 0d5abcc3c..c4dae470d 100644 --- a/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetPermissionByTenantIdQueryTests.cs +++ b/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetPermissionByTenantIdQueryTests.cs @@ -11,7 +11,7 @@ using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.Permissions.Commands; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.Permissions.Queries; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; using Microsoft.Extensions.Options; using NUnit.Framework; using Shouldly; diff --git a/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetStepByIdQueryTests.cs b/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetStepByIdQueryTests.cs index dce8e7568..a3d5ccedd 100644 --- a/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetStepByIdQueryTests.cs +++ b/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetStepByIdQueryTests.cs @@ -10,7 +10,7 @@ using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.Steps.Commands; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.Steps.Queries; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; using Microsoft.Extensions.Options; using NUnit.Framework; using Shouldly; diff --git a/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetStepsByTenantIdQueryTests.cs b/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetStepsByTenantIdQueryTests.cs index 7267ed7ff..86e40064d 100644 --- a/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetStepsByTenantIdQueryTests.cs +++ b/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetStepsByTenantIdQueryTests.cs @@ -11,7 +11,7 @@ using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.Steps.Commands; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.Steps.Queries; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; using Microsoft.Extensions.Options; using NUnit.Framework; using Shouldly; diff --git a/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetUserProfileByIdQueryTests.cs b/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetUserProfileByIdQueryTests.cs index 3f2b818e7..ed5676207 100644 --- a/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetUserProfileByIdQueryTests.cs +++ b/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetUserProfileByIdQueryTests.cs @@ -10,7 +10,7 @@ using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.UserProfiles.Commands; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.UserProfiles.Queries; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; using Microsoft.Extensions.Options; using NUnit.Framework; using Shouldly; diff --git a/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetUserProfilesByTenantIdQueryTests.cs b/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetUserProfilesByTenantIdQueryTests.cs index 81b91556a..ffc823671 100644 --- a/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetUserProfilesByTenantIdQueryTests.cs +++ b/Application/EdFi.Ods.AdminConsole.DBTests/Database/Queries/GetUserProfilesByTenantIdQueryTests.cs @@ -11,7 +11,7 @@ using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.UserProfiles.Commands; using EdFi.Ods.AdminApi.AdminConsole.Infrastructure.Services.UserProfiles.Queries; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; using Microsoft.Extensions.Options; using NUnit.Framework; using Shouldly; diff --git a/Application/EdFi.Ods.AdminConsole.DBTests/Testing.cs b/Application/EdFi.Ods.AdminConsole.DBTests/Testing.cs index 9cf7e460a..335ce8271 100644 --- a/Application/EdFi.Ods.AdminConsole.DBTests/Testing.cs +++ b/Application/EdFi.Ods.AdminConsole.DBTests/Testing.cs @@ -4,7 +4,7 @@ // See the LICENSE and NOTICES files in the project root for more information. using EdFi.Ods.AdminApi.AdminConsole.Helpers; -using EdFi.Ods.AdminApi.Helpers; +using EdFi.Ods.AdminApi.Common.Helpers; using FakeItEasy; using Microsoft.AspNetCore.Builder; using Microsoft.EntityFrameworkCore; From 616729d3d36218caf5c545983f4670c28864dd4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Alberto=20Leiva=20Obando?= Date: Fri, 22 Nov 2024 15:27:00 -0600 Subject: [PATCH 2/9] Fix CORS settings --- .../Infrastructure/Helpers/CorsSettings.cs | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/CorsSettings.cs diff --git a/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/CorsSettings.cs b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/CorsSettings.cs new file mode 100644 index 000000000..e4321b91c --- /dev/null +++ b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/CorsSettings.cs @@ -0,0 +1,39 @@ +<<<<<<<< HEAD:Application/EdFi.Ods.AdminApi.AdminConsole/Helpers/CorsSettings.cs +// SPDX-License-Identifier: Apache-2.0 +// Licensed to the Ed-Fi Alliance under one or more agreements. +// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +// See the LICENSE and NOTICES files in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace EdFi.Ods.AdminApi.AdminConsole.Helpers; + +public class CorsSettings +{ + public bool EnableCors { get; set; } + public string[] AllowedOrigins { get; set; } = new string[0]; +} +======== +// SPDX-License-Identifier: Apache-2.0 +// Licensed to the Ed-Fi Alliance under one or more agreements. +// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +// See the LICENSE and NOTICES files in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace EdFi.Ods.AdminApi.Common.Helpers; + +public class CorsSettings +{ + public bool EnableCors { get; set; } + public string[] AllowedOrigins { get; set; } +} +>>>>>>>> a7de2d9b (Fix CORS settings):Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/CorsSettings.cs From 2bc9204da5fd67a15ef292916c736ae98d8a3e11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Alberto=20Leiva=20Obando?= Date: Mon, 25 Nov 2024 13:23:18 -0600 Subject: [PATCH 3/9] Update nugets to fix vulnerabilities --- .../EdFi.Ods.AdminApi.AdminConsole.csproj | 6 ++++-- .../EdFi.Ods.AdminApi.Common.csproj | 3 +++ .../EdFi.Ods.AdminApi.DBTests.csproj | 5 ++++- .../EdFi.Ods.AdminApi.UnitTests.csproj | 5 ++++- Application/EdFi.Ods.AdminApi/EdFi.Ods.AdminApi.csproj | 6 ++++-- .../EdFi.Ods.AdminConsole.DBTests.csproj | 5 ++++- 6 files changed, 23 insertions(+), 7 deletions(-) diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/EdFi.Ods.AdminApi.AdminConsole.csproj b/Application/EdFi.Ods.AdminApi.AdminConsole/EdFi.Ods.AdminApi.AdminConsole.csproj index edab5ccb5..b70a5adaa 100644 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/EdFi.Ods.AdminApi.AdminConsole.csproj +++ b/Application/EdFi.Ods.AdminApi.AdminConsole/EdFi.Ods.AdminApi.AdminConsole.csproj @@ -27,13 +27,15 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + + + - + diff --git a/Application/EdFi.Ods.AdminApi.Common/EdFi.Ods.AdminApi.Common.csproj b/Application/EdFi.Ods.AdminApi.Common/EdFi.Ods.AdminApi.Common.csproj index 6c74df6f8..f0a6c082a 100644 --- a/Application/EdFi.Ods.AdminApi.Common/EdFi.Ods.AdminApi.Common.csproj +++ b/Application/EdFi.Ods.AdminApi.Common/EdFi.Ods.AdminApi.Common.csproj @@ -18,9 +18,12 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive + + + diff --git a/Application/EdFi.Ods.AdminApi.DBTests/EdFi.Ods.AdminApi.DBTests.csproj b/Application/EdFi.Ods.AdminApi.DBTests/EdFi.Ods.AdminApi.DBTests.csproj index 1aa0e331c..28890c036 100644 --- a/Application/EdFi.Ods.AdminApi.DBTests/EdFi.Ods.AdminApi.DBTests.csproj +++ b/Application/EdFi.Ods.AdminApi.DBTests/EdFi.Ods.AdminApi.DBTests.csproj @@ -7,10 +7,12 @@ - + + + @@ -21,6 +23,7 @@ + diff --git a/Application/EdFi.Ods.AdminApi.UnitTests/EdFi.Ods.AdminApi.UnitTests.csproj b/Application/EdFi.Ods.AdminApi.UnitTests/EdFi.Ods.AdminApi.UnitTests.csproj index 2ad5a0193..54ed4ec37 100644 --- a/Application/EdFi.Ods.AdminApi.UnitTests/EdFi.Ods.AdminApi.UnitTests.csproj +++ b/Application/EdFi.Ods.AdminApi.UnitTests/EdFi.Ods.AdminApi.UnitTests.csproj @@ -5,8 +5,10 @@ Copyright © 2023 Ed-Fi Alliance - + + + @@ -14,6 +16,7 @@ runtime; build; native; contentfiles; analyzers; buildtransitive + diff --git a/Application/EdFi.Ods.AdminApi/EdFi.Ods.AdminApi.csproj b/Application/EdFi.Ods.AdminApi/EdFi.Ods.AdminApi.csproj index b419367e6..149f518d8 100644 --- a/Application/EdFi.Ods.AdminApi/EdFi.Ods.AdminApi.csproj +++ b/Application/EdFi.Ods.AdminApi/EdFi.Ods.AdminApi.csproj @@ -32,10 +32,12 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + + + @@ -46,7 +48,7 @@ - + diff --git a/Application/EdFi.Ods.AdminConsole.DBTests/EdFi.Ods.AdminConsole.DBTests.csproj b/Application/EdFi.Ods.AdminConsole.DBTests/EdFi.Ods.AdminConsole.DBTests.csproj index 863000e8f..35af76605 100644 --- a/Application/EdFi.Ods.AdminConsole.DBTests/EdFi.Ods.AdminConsole.DBTests.csproj +++ b/Application/EdFi.Ods.AdminConsole.DBTests/EdFi.Ods.AdminConsole.DBTests.csproj @@ -5,10 +5,12 @@ - + + + @@ -19,6 +21,7 @@ + From 2f29ae6d0174f7c154c52ca1aec2e9c594c7c39f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Alberto=20Leiva=20Obando?= Date: Mon, 25 Nov 2024 13:47:00 -0600 Subject: [PATCH 4/9] Update version --- .../EdFi.Ods.AdminApi.AdminConsole.csproj | 14 +++++++++++--- .../EdFi.Ods.AdminApi.Common.csproj | 14 +++++++++++--- .../Infrastructure/Helpers/CorsSettings.cs | 2 +- .../Helpers/StringToJsonDocumentConverter.cs | 10 +++++----- .../EdFi.Ods.AdminApi.DBTests.csproj | 6 ++++-- .../EdFi.Ods.AdminApi.UnitTests.csproj | 4 +++- .../EdFi.Ods.AdminApi/EdFi.Ods.AdminApi.csproj | 6 +++--- .../EdFi.Ods.AdminConsole.DBTests.csproj | 6 ++++-- 8 files changed, 42 insertions(+), 20 deletions(-) diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/EdFi.Ods.AdminApi.AdminConsole.csproj b/Application/EdFi.Ods.AdminApi.AdminConsole/EdFi.Ods.AdminApi.AdminConsole.csproj index b70a5adaa..15bc29f7e 100644 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/EdFi.Ods.AdminApi.AdminConsole.csproj +++ b/Application/EdFi.Ods.AdminApi.AdminConsole/EdFi.Ods.AdminApi.AdminConsole.csproj @@ -6,6 +6,14 @@ enable + + False + + + + False + + @@ -30,11 +38,11 @@ - + - - + + diff --git a/Application/EdFi.Ods.AdminApi.Common/EdFi.Ods.AdminApi.Common.csproj b/Application/EdFi.Ods.AdminApi.Common/EdFi.Ods.AdminApi.Common.csproj index f0a6c082a..3266c447f 100644 --- a/Application/EdFi.Ods.AdminApi.Common/EdFi.Ods.AdminApi.Common.csproj +++ b/Application/EdFi.Ods.AdminApi.Common/EdFi.Ods.AdminApi.Common.csproj @@ -6,6 +6,14 @@ enable + + True + + + + True + + @@ -20,9 +28,9 @@ - - - + + + diff --git a/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/CorsSettings.cs b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/CorsSettings.cs index e4321b91c..22703a280 100644 --- a/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/CorsSettings.cs +++ b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/CorsSettings.cs @@ -34,6 +34,6 @@ namespace EdFi.Ods.AdminApi.Common.Helpers; public class CorsSettings { public bool EnableCors { get; set; } - public string[] AllowedOrigins { get; set; } + public string[]? AllowedOrigins { get; set; } } >>>>>>>> a7de2d9b (Fix CORS settings):Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/CorsSettings.cs diff --git a/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/StringToJsonDocumentConverter.cs b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/StringToJsonDocumentConverter.cs index 87a378ed4..6888ee507 100644 --- a/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/StringToJsonDocumentConverter.cs +++ b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/StringToJsonDocumentConverter.cs @@ -15,14 +15,14 @@ namespace EdFi.Ods.AdminApi.Common.Helpers { public class StringToJsonDocumentConverter : JsonConverter { - public override string Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) - { - return reader.GetString(); - } +#pragma warning disable CS8603 // Possible null reference return. + public override string Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) => reader.GetString(); +#pragma warning restore CS8603 // Possible null reference return. public override void Write(Utf8JsonWriter writer, string value, JsonSerializerOptions options) { - JsonDocument jsonDocument = JsonDocument.Parse(value); jsonDocument.WriteTo(writer); + JsonDocument jsonDocument = JsonDocument.Parse(value); + jsonDocument.WriteTo(writer); } } } diff --git a/Application/EdFi.Ods.AdminApi.DBTests/EdFi.Ods.AdminApi.DBTests.csproj b/Application/EdFi.Ods.AdminApi.DBTests/EdFi.Ods.AdminApi.DBTests.csproj index 28890c036..dfc7d66c2 100644 --- a/Application/EdFi.Ods.AdminApi.DBTests/EdFi.Ods.AdminApi.DBTests.csproj +++ b/Application/EdFi.Ods.AdminApi.DBTests/EdFi.Ods.AdminApi.DBTests.csproj @@ -12,7 +12,7 @@ - + @@ -22,7 +22,9 @@ - + + + diff --git a/Application/EdFi.Ods.AdminApi.UnitTests/EdFi.Ods.AdminApi.UnitTests.csproj b/Application/EdFi.Ods.AdminApi.UnitTests/EdFi.Ods.AdminApi.UnitTests.csproj index 54ed4ec37..26171395c 100644 --- a/Application/EdFi.Ods.AdminApi.UnitTests/EdFi.Ods.AdminApi.UnitTests.csproj +++ b/Application/EdFi.Ods.AdminApi.UnitTests/EdFi.Ods.AdminApi.UnitTests.csproj @@ -8,7 +8,7 @@ - + @@ -16,6 +16,8 @@ runtime; build; native; contentfiles; analyzers; buildtransitive + + diff --git a/Application/EdFi.Ods.AdminApi/EdFi.Ods.AdminApi.csproj b/Application/EdFi.Ods.AdminApi/EdFi.Ods.AdminApi.csproj index 149f518d8..b3c235725 100644 --- a/Application/EdFi.Ods.AdminApi/EdFi.Ods.AdminApi.csproj +++ b/Application/EdFi.Ods.AdminApi/EdFi.Ods.AdminApi.csproj @@ -37,15 +37,15 @@ - + runtime; build; native; contentfiles; analyzers; buildtransitive all - - + + diff --git a/Application/EdFi.Ods.AdminConsole.DBTests/EdFi.Ods.AdminConsole.DBTests.csproj b/Application/EdFi.Ods.AdminConsole.DBTests/EdFi.Ods.AdminConsole.DBTests.csproj index 35af76605..e40000d20 100644 --- a/Application/EdFi.Ods.AdminConsole.DBTests/EdFi.Ods.AdminConsole.DBTests.csproj +++ b/Application/EdFi.Ods.AdminConsole.DBTests/EdFi.Ods.AdminConsole.DBTests.csproj @@ -10,7 +10,7 @@ - + @@ -20,7 +20,9 @@ - + + + From dbf3f51349f2bfa6e57b578806a4b0d756cf1583 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Alberto=20Leiva=20Obando?= Date: Mon, 25 Nov 2024 14:30:24 -0600 Subject: [PATCH 5/9] Rebase from main branch --- .../Helpers/CorsSettings.cs | 18 ---------------- .../Infrastructure/Helpers/CorsSettings.cs | 21 ------------------- 2 files changed, 39 deletions(-) delete mode 100644 Application/EdFi.Ods.AdminApi.AdminConsole/Helpers/CorsSettings.cs diff --git a/Application/EdFi.Ods.AdminApi.AdminConsole/Helpers/CorsSettings.cs b/Application/EdFi.Ods.AdminApi.AdminConsole/Helpers/CorsSettings.cs deleted file mode 100644 index 46f733880..000000000 --- a/Application/EdFi.Ods.AdminApi.AdminConsole/Helpers/CorsSettings.cs +++ /dev/null @@ -1,18 +0,0 @@ -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace EdFi.Ods.AdminApi.AdminConsole.Helpers; - -public class CorsSettings -{ - public bool EnableCors { get; set; } - public string[] AllowedOrigins { get; set; } = new string[0]; -} diff --git a/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/CorsSettings.cs b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/CorsSettings.cs index 22703a280..1c53791ae 100644 --- a/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/CorsSettings.cs +++ b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/CorsSettings.cs @@ -1,4 +1,3 @@ -<<<<<<<< HEAD:Application/EdFi.Ods.AdminApi.AdminConsole/Helpers/CorsSettings.cs // SPDX-License-Identifier: Apache-2.0 // Licensed to the Ed-Fi Alliance under one or more agreements. // The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. @@ -17,23 +16,3 @@ public class CorsSettings public bool EnableCors { get; set; } public string[] AllowedOrigins { get; set; } = new string[0]; } -======== -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace EdFi.Ods.AdminApi.Common.Helpers; - -public class CorsSettings -{ - public bool EnableCors { get; set; } - public string[]? AllowedOrigins { get; set; } -} ->>>>>>>> a7de2d9b (Fix CORS settings):Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/CorsSettings.cs From ac23993ed01648a3960517d99db71858d73f1d7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Alberto=20Leiva=20Obando?= Date: Mon, 25 Nov 2024 14:40:06 -0600 Subject: [PATCH 6/9] Update docker files to include the new library --- Docker/dev.mssql.Dockerfile | 1 + Docker/dev.pgsql.Dockerfile | 1 + 2 files changed, 2 insertions(+) diff --git a/Docker/dev.mssql.Dockerfile b/Docker/dev.mssql.Dockerfile index d4e65d7b0..4f72d508d 100644 --- a/Docker/dev.mssql.Dockerfile +++ b/Docker/dev.mssql.Dockerfile @@ -14,6 +14,7 @@ WORKDIR /source COPY --from=assets ./Application/NuGet.Config EdFi.Ods.AdminApi/ COPY --from=assets ./Application/EdFi.Ods.AdminApi EdFi.Ods.AdminApi/ COPY --from=assets ./Application/EdFi.Ods.AdminApi.AdminConsole EdFi.Ods.AdminApi.AdminConsole/ +COPY --from=assets ./Application/EdFi.Ods.AdminApi.Common EdFi.Ods.AdminApi.Common/ WORKDIR /source/EdFi.Ods.AdminApi RUN export ASPNETCORE_ENVIRONMENT=$ASPNETCORE_ENVIRONMENT diff --git a/Docker/dev.pgsql.Dockerfile b/Docker/dev.pgsql.Dockerfile index f8f3a71a2..31765e19b 100644 --- a/Docker/dev.pgsql.Dockerfile +++ b/Docker/dev.pgsql.Dockerfile @@ -14,6 +14,7 @@ WORKDIR /source COPY Application/NuGet.Config EdFi.Ods.AdminApi/ COPY Application/EdFi.Ods.AdminApi EdFi.Ods.AdminApi/ COPY Application/EdFi.Ods.AdminApi.AdminConsole EdFi.Ods.AdminApi.AdminConsole/ +COPY Application/EdFi.Ods.AdminApi.Common EdFi.Ods.AdminApi.Common/ WORKDIR /source/EdFi.Ods.AdminApi RUN export ASPNETCORE_ENVIRONMENT=$ASPNETCORE_ENVIRONMENT From 894ec0d9beb708324159aba53e15875b1a27cb12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Alberto=20Leiva=20Obando?= Date: Tue, 26 Nov 2024 08:46:25 -0600 Subject: [PATCH 7/9] Update workflow to include new library --- .github/workflows/on-pullrequest-dockerfile-ac.yml | 1 + .github/workflows/on-pullrequest-dockerfile.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/on-pullrequest-dockerfile-ac.yml b/.github/workflows/on-pullrequest-dockerfile-ac.yml index 844dacfd9..caa50945a 100644 --- a/.github/workflows/on-pullrequest-dockerfile-ac.yml +++ b/.github/workflows/on-pullrequest-dockerfile-ac.yml @@ -53,6 +53,7 @@ mkdir Docker/Application cp -r ./Application/EdFi.Ods.AdminApi ./Docker/Application cp -r ./Application/EdFi.Ods.AdminApi.AdminConsole ./Docker/Application + cp -r ./Application/EdFi.Ods.AdminApi.Common ./Docker/Application cp ./Application/NuGet.Config ./Docker/Application - uses: hadolint/hadolint-action@54c9adbab1582c2ef04b2016b760714a4bfde3cf # v3.1.0 diff --git a/.github/workflows/on-pullrequest-dockerfile.yml b/.github/workflows/on-pullrequest-dockerfile.yml index 516316c75..79fda4f3f 100644 --- a/.github/workflows/on-pullrequest-dockerfile.yml +++ b/.github/workflows/on-pullrequest-dockerfile.yml @@ -50,6 +50,7 @@ jobs: mkdir Docker/Application cp -r ./Application/EdFi.Ods.AdminApi ./Docker/Application cp -r ./Application/EdFi.Ods.AdminApi.AdminConsole ./Docker/Application + cp -r ./Application/EdFi.Ods.AdminApi.Common ./Docker/Application cp ./Application/NuGet.Config ./Docker/Application - name: Set Version Numbers From c97d428dbadbc4aa2bc4f89d3b5ed3cd7aa5aba6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Alberto=20Leiva=20Obando?= Date: Tue, 26 Nov 2024 13:44:33 -0600 Subject: [PATCH 8/9] Update yml files to include the new library --- .github/workflows/api-e2e-mssql-multitenant.yml | 3 +++ .github/workflows/api-e2e-mssql-singletenant.yml | 3 +++ .github/workflows/api-e2e-pgsql-multitenant.yml | 3 +++ .github/workflows/api-e2e-pgsql-singletenant.yml | 1 + 4 files changed, 10 insertions(+) diff --git a/.github/workflows/api-e2e-mssql-multitenant.yml b/.github/workflows/api-e2e-mssql-multitenant.yml index de3ccc7b4..339f968ee 100644 --- a/.github/workflows/api-e2e-mssql-multitenant.yml +++ b/.github/workflows/api-e2e-mssql-multitenant.yml @@ -43,6 +43,9 @@ jobs: - name: Copy admin console folder to docker context run: cp -r ../EdFi.Ods.AdminApi.AdminConsole ../../Docker/Application + - name: Copy admin api common folder to docker context + run: cp -r ../EdFi.Ods.AdminApi.Common ../../Docker/Application + - name: Copy nuget config to docker context run: cp ../NuGet.Config ../../Docker/Application diff --git a/.github/workflows/api-e2e-mssql-singletenant.yml b/.github/workflows/api-e2e-mssql-singletenant.yml index 9c10a0f22..9b603e09c 100644 --- a/.github/workflows/api-e2e-mssql-singletenant.yml +++ b/.github/workflows/api-e2e-mssql-singletenant.yml @@ -43,6 +43,9 @@ jobs: - name: Copy admin console folder to docker context run: cp -r ../EdFi.Ods.AdminApi.AdminConsole ../../Docker/Application + - name: Copy admin api common folder to docker context + run: cp -r ../EdFi.Ods.AdminApi.Common ../../Docker/Application + - name: Copy nuget config to docker context run: cp ../NuGet.Config ../../Docker/Application diff --git a/.github/workflows/api-e2e-pgsql-multitenant.yml b/.github/workflows/api-e2e-pgsql-multitenant.yml index 513bd423f..7726cdd18 100644 --- a/.github/workflows/api-e2e-pgsql-multitenant.yml +++ b/.github/workflows/api-e2e-pgsql-multitenant.yml @@ -43,6 +43,9 @@ jobs: - name: Copy admin console folder to docker context run: cp -r ../EdFi.Ods.AdminApi.AdminConsole ../../Docker/Application + - name: Copy admin api common folder to docker context + run: cp -r ../EdFi.Ods.AdminApi.Common ../../Docker/Application + - name: Copy nuget config to docker context run: cp ../NuGet.Config ../../Docker/Application diff --git a/.github/workflows/api-e2e-pgsql-singletenant.yml b/.github/workflows/api-e2e-pgsql-singletenant.yml index fa300f5e4..d1b9f8470 100644 --- a/.github/workflows/api-e2e-pgsql-singletenant.yml +++ b/.github/workflows/api-e2e-pgsql-singletenant.yml @@ -40,6 +40,7 @@ jobs: mkdir ../../Docker/Application cp -r ../EdFi.Ods.AdminApi ../../Docker/Application cp -r ../EdFi.Ods.AdminApi.AdminConsole ../../Docker/Application + cp -r ../EdFi.Ods.AdminApi.Common ../../Docker/Application - name: Copy nuget config to docker context run: cp ../NuGet.Config ../../Docker/Application From 718aa5d0518db914b98743815ad7c00714e70306 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Alberto=20Leiva=20Obando?= Date: Wed, 27 Nov 2024 20:38:39 -0600 Subject: [PATCH 9/9] Delete FeaturesExtensions.cs Removed unused class --- .../Helpers/FeaturesExtensions.cs | 28 ------------------- 1 file changed, 28 deletions(-) delete mode 100644 Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/FeaturesExtensions.cs diff --git a/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/FeaturesExtensions.cs b/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/FeaturesExtensions.cs deleted file mode 100644 index f4fe39aa3..000000000 --- a/Application/EdFi.Ods.AdminApi.Common/Infrastructure/Helpers/FeaturesExtensions.cs +++ /dev/null @@ -1,28 +0,0 @@ -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. - -using EdFi.Ods.AdminApi.Common.Features; -using System.Reflection; - -namespace EdFi.Ods.AdminApi.Common.Infrastructure.Helpers; - -public static class FeatureExtensions -{ - public static List GetFeatures2() - { - var featureInterface = typeof(IFeature); - var featureImpls = Assembly.GetExecutingAssembly().GetTypes() - .Where(p => featureInterface.IsAssignableFrom(p) && p.IsClass); - - var features = new List(); - - foreach (var featureImpl in featureImpls) - { - if (Activator.CreateInstance(featureImpl) is IFeature feature) - features.Add(feature); - } - return features; - } -}