From b2835f65c01b90db86194c7617898e53cc02bb09 Mon Sep 17 00:00:00 2001 From: Vincent Allen Date: Tue, 2 Sep 2025 09:27:23 -0400 Subject: [PATCH] Got most of admin panel working. Data issues fixed --- ...omponentsEndpointRouteBuilderExtensions.cs | 10 +- .../Account/IdentityNoOpEmailSender.cs | 4 +- .../Account/IdentityRedirectManager.cs | 4 +- ...RevalidatingAuthenticationStateProvider.cs | 6 +- .../Account/IdentityUserAccessor.cs | 4 +- .../Account/Pages/AccessDenied.razor | 5 +- .../Account/Pages/ConfirmEmail.razor | 3 +- .../Account/Pages/ConfirmEmailChange.razor | 3 +- .../Account/Pages/ExternalLogin.razor | 12 +- .../Account/Pages/ForgotPassword.razor | 37 +- .../Pages/ForgotPasswordConfirmation.razor | 7 +- .../Components/Account/Pages/Login.razor | 98 +- .../Account/Pages/LoginWith2fa.razor | 7 +- .../Account/Pages/LoginWithRecoveryCode.razor | 9 +- .../Account/Pages/Manage/ChangePassword.razor | 55 +- .../Account/Pages/Manage/Component.razor | 0 .../Account/Pages/Manage/Component1.razor | 0 .../Pages/Manage/DeletePersonalData.razor | 39 +- .../Account/Pages/Manage/Disable2fa.razor | 3 +- .../Account/Pages/Manage/Email.razor | 76 +- .../Pages/Manage/EnableAuthenticator.razor | 93 +- .../Account/Pages/Manage/ExternalLogins.razor | 5 +- .../Pages/Manage/GenerateRecoveryCodes.razor | 3 +- .../Account/Pages/Manage/Index.razor | 41 +- .../Account/Pages/Manage/PersonalData.razor | 34 +- .../Pages/Manage/ResetAuthenticator.razor | 37 +- .../Account/Pages/Manage/SetPassword.razor | 3 +- .../Manage/TwoFactorAuthentication.razor | 60 +- .../Account/Pages/Manage/_Imports.razor | 3 +- .../Components/Account/Pages/Register.razor | 71 +- .../Account/Pages/RegisterConfirmation.razor | 7 +- .../Pages/ResendEmailConfirmation.razor | 39 +- .../Account/Pages/ResetPassword.razor | 5 +- .../Pages/ResetPasswordConfirmation.razor | 2 +- .../Components/Account/Pages/_Imports.razor | 3 +- .../Account/Shared/ExternalLoginPicker.razor | 15 +- .../Account/Shared/ManageLayout.razor | 28 +- .../Account/Shared/ManageNavMenu.razor | 30 +- .../Account/Shared/StatusMessage.razor | 10 +- .../CustomComponents/UploadDropBox.razor | 1 - .../Components/HelperExtensions.cs | 11 + .../Administration/ArchiveConfiguration.razor | 43 + .../AddArchiveGroupingComponent.razor | 256 ++- .../ArchiveItems/AddGroupingDialog.razor | 32 + .../ArchiveEntryCreatorCard.razor | 436 ++-- .../ArchiveItems/ArchiveGroupingsTable.razor | 125 ++ .../ArtifactEntrySharedHelpers.cs | 316 +++ .../ArchiveItemValidationModel.cs | 37 - .../ArtifactEntryValidationModel.cs | 78 +- .../ArtifactGroupingValidationModel.cs | 72 +- .../Categories/CategoriesListComponent.razor | 62 +- .../Categories/CategoryCreatorDialog.razor | 1 + .../ArtifactGroupingRowElement.cs | 22 + .../ViewAddCategoriesComponent.razor | 31 +- .../Components/Pages/Auth.razor | 4 +- .../Data/ApplicationDbContext.cs | 9 - OpenArchival.Blazor/Data/ApplicationUser.cs | 10 - ...000000000_CreateIdentitySchema.Designer.cs | 279 --- .../ApplicationDbContextModelSnapshot.cs | 276 --- .../OpenArchival.Blazor.csproj | 1 - OpenArchival.Blazor/Program.cs | 124 +- OpenArchival.Blazor/appsettings.json | 2 +- .../net9.0/OpenArchival.Blazor.deps.json | 20 +- .../bin/Debug/net9.0/OpenArchival.Blazor.dll | Bin 375808 -> 370688 bytes .../bin/Debug/net9.0/OpenArchival.Blazor.exe | Bin 155648 -> 155648 bytes .../bin/Debug/net9.0/OpenArchival.Blazor.pdb | Bin 243576 -> 254816 bytes ...ival.Blazor.staticwebassets.endpoints.json | 2 +- ...chival.Blazor.staticwebassets.runtime.json | 2 +- .../net9.0/OpenArchival.DataAccess.deps.json | 361 ++-- .../Debug/net9.0/OpenArchival.DataAccess.dll | Bin 179712 -> 280576 bytes .../Debug/net9.0/OpenArchival.DataAccess.exe | Bin 155648 -> 155648 bytes .../Debug/net9.0/OpenArchival.DataAccess.pdb | Bin 50544 -> 65732 bytes .../bin/Debug/net9.0/System.Formats.Asn1.dll | Bin 96528 -> 0 bytes .../bin/Debug/net9.0/System.Text.Json.dll | Bin 617744 -> 0 bytes .../bin/Debug/net9.0/appsettings.json | 2 +- .../OpenArchival.Blazor.AssemblyInfo.cs | 2 +- ...enArchival.Blazor.AssemblyInfoInputs.cache | 2 +- ....GeneratedMSBuildEditorConfig.editorconfig | 138 +- .../net9.0/OpenArchival.Blazor.assets.cache | Bin 92203 -> 92008 bytes ...ival.Blazor.csproj.AssemblyReference.cache | Bin 45901 -> 36839 bytes ...ival.Blazor.csproj.CoreCompileInputs.cache | 2 +- ...rchival.Blazor.csproj.FileListAbsolute.txt | 404 ++++ .../obj/Debug/net9.0/OpenArchival.Blazor.dll | Bin 375808 -> 370688 bytes ...OpenArchival.Blazor.genruntimeconfig.cache | 2 +- .../obj/Debug/net9.0/OpenArchival.Blazor.pdb | Bin 243576 -> 254816 bytes .../OpenArchival.Blazor.sourcelink.json | 2 +- .../obj/Debug/net9.0/apphost.exe | Bin 155648 -> 155648 bytes .../obj/Debug/net9.0/rbcswa.dswa.cache.json | 2 +- .../Debug/net9.0/ref/OpenArchival.Blazor.dll | Bin 70656 -> 72192 bytes .../net9.0/refint/OpenArchival.Blazor.dll | Bin 70656 -> 72192 bytes .../obj/Debug/net9.0/rjimswa.dswa.cache.json | 2 +- .../Debug/net9.0/rjsmcshtml.dswa.cache.json | 2 +- .../Debug/net9.0/rjsmrazor.dswa.cache.json | 2 +- .../obj/Debug/net9.0/rpswa.dswa.cache.json | 2 +- .../staticwebassets.build.endpoints.json | 2 +- .../Debug/net9.0/staticwebassets.build.json | 2 +- .../net9.0/staticwebassets.build.json.cache | 2 +- .../net9.0/staticwebassets.development.json | 2 +- ...aticwebassets.references.upToDateCheck.txt | 131 ++ .../Debug/net9.0/staticwebassets.removed.txt | 1 - .../net9.0/staticwebassets.upToDateCheck.txt | 2 +- ...enArchival.Blazor.csproj.nuget.dgspec.json | 44 +- .../OpenArchival.Blazor.csproj.nuget.g.props | 2 +- OpenArchival.Blazor/obj/project.assets.json | 24 +- OpenArchival.Blazor/obj/project.nuget.cache | 4 +- OpenArchival.Core/DataObjects/ArchiveItem.cs | 35 - OpenArchival.Core/DataObjects/Category.cs | 23 - .../DataObjects/CategoryFieldOption.cs | 10 - OpenArchival.Core/DataObjects/FilePathInfo.cs | 14 - .../OpenArchival.Core.OLD.Remove.csproj | 9 - .../OpenArchival.Core.OLD.Remove.deps.json | 23 - .../net9.0/OpenArchival.Core.OLD.Remove.dll | Bin 11776 -> 0 bytes .../net9.0/OpenArchival.Core.OLD.Remove.pdb | Bin 12684 -> 0 bytes .../Debug/net9.0/OpenArchival.Core.deps.json | 23 - .../bin/Debug/net9.0/OpenArchival.Core.dll | Bin 11264 -> 0 bytes .../bin/Debug/net9.0/OpenArchival.Core.pdb | Bin 12656 -> 0 bytes ...CoreApp,Version=v9.0.AssemblyAttributes.cs | 4 - .../net9.0/OpenArchival.Core.AssemblyInfo.cs | 23 - ...OpenArchival.Core.AssemblyInfoInputs.cache | 1 - ....GeneratedMSBuildEditorConfig.editorconfig | 15 - .../OpenArchival.Core.GlobalUsings.g.cs | 8 - .../OpenArchival.Core.OLD.AssemblyInfo.cs | 23 - ...Archival.Core.OLD.AssemblyInfoInputs.cache | 1 - ....GeneratedMSBuildEditorConfig.editorconfig | 15 - .../OpenArchival.Core.OLD.GlobalUsings.g.cs | 8 - ...enArchival.Core.OLD.Remove.AssemblyInfo.cs | 23 - ...l.Core.OLD.Remove.AssemblyInfoInputs.cache | 1 - ....GeneratedMSBuildEditorConfig.editorconfig | 15 - ...Archival.Core.OLD.Remove.GlobalUsings.g.cs | 8 - .../OpenArchival.Core.OLD.Remove.assets.cache | Bin 236 -> 0 bytes ....OLD.Remove.csproj.CoreCompileInputs.cache | 1 - ...ore.OLD.Remove.csproj.FileListAbsolute.txt | 12 - .../net9.0/OpenArchival.Core.OLD.Remove.dll | Bin 11776 -> 0 bytes .../net9.0/OpenArchival.Core.OLD.Remove.pdb | Bin 12684 -> 0 bytes ...enArchival.Core.OLD.Remove.sourcelink.json | 1 - .../net9.0/OpenArchival.Core.OLD.assets.cache | Bin 236 -> 0 bytes .../net9.0/OpenArchival.Core.assets.cache | Bin 236 -> 0 bytes ...chival.Core.csproj.CoreCompileInputs.cache | 1 - ...nArchival.Core.csproj.FileListAbsolute.txt | 24 - .../obj/Debug/net9.0/OpenArchival.Core.dll | Bin 11264 -> 0 bytes .../obj/Debug/net9.0/OpenArchival.Core.pdb | Bin 12656 -> 0 bytes .../net9.0/OpenArchival.Core.sourcelink.json | 1 - .../ref/OpenArchival.Core.OLD.Remove.dll | Bin 10240 -> 0 bytes .../Debug/net9.0/ref/OpenArchival.Core.dll | Bin 9728 -> 0 bytes .../refint/OpenArchival.Core.OLD.Remove.dll | Bin 10240 -> 0 bytes .../Debug/net9.0/refint/OpenArchival.Core.dll | Bin 9728 -> 0 bytes ...l.Core.OLD.Remove.csproj.nuget.dgspec.json | 74 - ...hival.Core.OLD.Remove.csproj.nuget.g.props | 16 - ...val.Core.OLD.Remove.csproj.nuget.g.targets | 2 - ...Archival.Core.OLD.csproj.nuget.dgspec.json | 74 - ...OpenArchival.Core.OLD.csproj.nuget.g.props | 16 - ...enArchival.Core.OLD.csproj.nuget.g.targets | 2 - ...OpenArchival.Core.csproj.nuget.dgspec.json | 74 - .../OpenArchival.Core.csproj.nuget.g.props | 16 - .../OpenArchival.Core.csproj.nuget.g.targets | 2 - ...CoreApp,Version=v9.0.AssemblyAttributes.cs | 4 - .../net9.0/OpenArchival.Core.AssemblyInfo.cs | 23 - ...OpenArchival.Core.AssemblyInfoInputs.cache | 1 - ....GeneratedMSBuildEditorConfig.editorconfig | 15 - .../OpenArchival.Core.GlobalUsings.g.cs | 8 - .../net9.0/OpenArchival.Core.assets.cache | Bin 236 -> 0 bytes OpenArchival.Core/obj/project.assets.json | 80 - OpenArchival.Core/obj/project.nuget.cache | 8 - ...veDbContext.cs => ApplicationDbContext.cs} | 56 +- OpenArchival.DataAccess/IdentityDataSeeder.cs | 45 + .../20250806141452_AllModels.Designer.cs | 380 ---- ...6144037_AllModelsFixedComparer.Designer.cs | 380 ---- ...806174205_NullableParentArtifactEntryId.cs | 59 - .../20250807131954_AddStorageLocations.cs | 77 - .../Migrations/20250807180849_FixTypo.cs | 105 - ...> 20250812183602_InitalCreate.Designer.cs} | 80 +- ...dels.cs => 20250812183602_InitalCreate.cs} | 66 +- ...8_ChangedArtifactRelationships.Designer.cs | 422 ++++ ...0813011348_ChangedArtifactRelationships.cs | 82 + ...0813015341_AutoGenKeysEnabled.Designer.cs} | 164 +- ...s => 20250813015341_AutoGenKeysEnabled.cs} | 2 +- ...hangedArtifactRelationshipsNew.Designer.cs | 422 ++++ ...3023107_ChangedArtifactRelationshipsNew.cs | 22 + ...12_RemovedDuplicateCategories.Designer.cs} | 149 +- ...250813024912_RemovedDuplicateCategories.cs | 48 + ...RemovedDuplicateCategoriesNew.Designer.cs} | 151 +- ...813025148_RemovedDuplicateCategoriesNew.cs | 68 + ...250813153226_AddAuthentication.Designer.cs | 659 ++++++ .../20250813153226_AddAuthentication.cs | 94 +- ...0250828154443_AddedParentEntry.Designer.cs | 659 ++++++ .../20250828154443_AddedParentEntry.cs | 22 + .../20250828173516_AddedCascade.Designer.cs | 672 ++++++ .../Migrations/20250828173516_AddedCascade.cs | 50 + .../20250829171154_UniqueRowsSet.Designer.cs | 672 ++++++ ...ype.cs => 20250829171154_UniqueRowsSet.cs} | 2 +- ...50829182114_FixedCascadeDelete.Designer.cs | 672 ++++++ .../20250829182114_FixedCascadeDelete.cs | 22 + ...50829182730_fixedduplicateprop.Designer.cs | 661 ++++++ .../20250829182730_fixedduplicateprop.cs | 48 + ...50829200117_deduplicationadded.Designer.cs | 677 ++++++ .../20250829200117_deduplicationadded.cs | 132 ++ .../ArchiveDbContextModelSnapshot.cs | 423 +++- .../Models/ApplicationUser.cs | 9 + .../Models/ArchiveCategory.cs | 8 +- .../Models/ArtifactDefect.cs | 5 +- .../Models/ArtifactEntry.cs | 74 +- .../Models/ArtifactEntryTag.cs | 5 +- .../Models/ArtifactGrouping.cs | 33 +- .../Models/ArtifactStorageLocation.cs | 3 + .../Models/ArtifactType.cs | 3 + .../Models/FilePathListing.cs | 4 +- OpenArchival.DataAccess/Models/ListedName.cs | 10 +- .../OpenArchival.DataAccess.csproj | 7 +- OpenArchival.DataAccess/Program.cs | 2 +- .../Providers/ArchiveCategoryProvider.cs | 4 +- .../Providers/ArchiveEntryTagProvider.cs | 4 +- .../Providers/ArtifactDefectProvider.cs | 4 +- .../Providers/ArtifactGroupingProvider.cs | 42 +- .../ArtifactSotrageLocationProvider.cs | 61 +- .../Providers/ArtifactTypeProvider.cs | 4 +- .../Providers/FilePathListingProvider.cs | 4 +- .../Interfaces/IArtifactGroupingProvider.cs | 2 + .../Interfaces/IListedNameProvider.cs | 2 +- .../Providers/ListedNameProvider.cs | 12 +- ...osoft.AspNetCore.Cryptography.Internal.dll | Bin 0 -> 53536 bytes ....AspNetCore.Cryptography.KeyDerivation.dll | Bin 0 -> 23840 bytes ...spNetCore.Identity.EntityFrameworkCore.dll | Bin 0 -> 108832 bytes ...osoft.EntityFrameworkCore.Abstractions.dll | Bin 34888 -> 34872 bytes .../Microsoft.EntityFrameworkCore.Design.dll | Bin 623176 -> 623160 bytes ...crosoft.EntityFrameworkCore.Relational.dll | Bin 2142240 -> 2142240 bytes .../net9.0/Microsoft.EntityFrameworkCore.dll | Bin 2692152 -> 2692152 bytes ...rosoft.Extensions.Caching.Abstractions.dll | Bin 36648 -> 36664 bytes .../Microsoft.Extensions.Caching.Memory.dll | Bin 48944 -> 48912 bytes ....Extensions.Configuration.Abstractions.dll | Bin 29480 -> 29488 bytes ...sions.DependencyInjection.Abstractions.dll | Bin 65816 -> 65832 bytes ...crosoft.Extensions.DependencyInjection.dll | Bin 93456 -> 93448 bytes .../Microsoft.Extensions.DependencyModel.dll | Bin 85256 -> 85264 bytes .../Microsoft.Extensions.Identity.Core.dll | Bin 0 -> 177928 bytes .../Microsoft.Extensions.Identity.Stores.dll | Bin 0 -> 45320 bytes ...rosoft.Extensions.Logging.Abstractions.dll | Bin 67376 -> 67344 bytes .../net9.0/Microsoft.Extensions.Logging.dll | Bin 52536 -> 52488 bytes .../net9.0/Microsoft.Extensions.Options.dll | Bin 66352 -> 66336 bytes .../Microsoft.Extensions.Primitives.dll | Bin 45352 -> 45344 bytes .../net9.0/OpenArchival.DataAccess.deps.json | 361 ++-- .../Debug/net9.0/OpenArchival.DataAccess.dll | Bin 179712 -> 280576 bytes .../Debug/net9.0/OpenArchival.DataAccess.exe | Bin 155648 -> 155648 bytes .../Debug/net9.0/OpenArchival.DataAccess.pdb | Bin 50544 -> 65732 bytes .../OpenArchival.DataAccess.AssemblyInfo.cs | 2 +- ...chival.DataAccess.AssemblyInfoInputs.cache | 2 +- ....GeneratedMSBuildEditorConfig.editorconfig | 4 +- .../OpenArchival.DataAccess.assets.cache | Bin 55961 -> 59816 bytes ....DataAccess.csproj.AssemblyReference.cache | Bin 9057 -> 9808 bytes ....DataAccess.csproj.CoreCompileInputs.cache | 2 +- ...val.DataAccess.csproj.FileListAbsolute.txt | 301 +++ .../Debug/net9.0/OpenArchival.DataAccess.dll | Bin 179712 -> 280576 bytes ...Archival.DataAccess.genruntimeconfig.cache | 2 +- .../Debug/net9.0/OpenArchival.DataAccess.pdb | Bin 50544 -> 65732 bytes .../OpenArchival.DataAccess.sourcelink.json | 2 +- .../obj/Debug/net9.0/apphost.exe | Bin 155648 -> 155648 bytes .../net9.0/ref/OpenArchival.DataAccess.dll | Bin 44032 -> 51712 bytes .../net9.0/refint/OpenArchival.DataAccess.dll | Bin 44032 -> 51712 bytes .../Debug/net9.0/rjsmcshtml.dswa.cache.json | 2 +- .../Debug/net9.0/rjsmrazor.dswa.cache.json | 2 +- .../obj/Debug/net9.0/rpswa.dswa.cache.json | 2 +- ...chival.DataAccess.csproj.nuget.dgspec.json | 24 +- ...enArchival.DataAccess.csproj.nuget.g.props | 6 +- ...Archival.DataAccess.csproj.nuget.g.targets | 6 +- .../obj/project.assets.json | 416 ++-- .../obj/project.nuget.cache | 41 +- .../ArchiveStorageLocationProvider.cs | 63 - .../IArchiveStorageLocationProvider.cs | 20 - .../ArtifactAssociatedNamesProvider.cs | 69 - .../IArtifactAssociatedNamesProvider.cs | 20 - .../ArtifactTypes/ArtifactTypesProvider.cs | 63 - .../ArtifactTypes/IArtifactTypesProvider.cs | 20 - .../Category/CategoryProvider.cs | 122 -- .../Category/ICategoryProvider.cs | 24 - .../Defects/DefectsProvider.cs | 69 - .../Defects/IDefectsProvider.cs | 20 - .../FilePathProvider/FilePathProvider.cs | 61 - .../FilePathProvider/IFilePathProvider.cs | 18 - .../OpenArchival.Database.OLD.csproj | 41 - .../PostgresConnectionOptions.cs | 22 - OpenArchival.Database/Program.cs | 100 - OpenArchival.Database/Tables.cs | 83 - OpenArchival.Database/Tags/ITagsProvider.cs | 20 - OpenArchival.Database/Tags/TagsProvider.cs | 68 - .../appsettings.Development.json | 8 - OpenArchival.Database/appsettings.json | 19 - .../bin/Debug/net9.0/Dapper.dll | Bin 245760 -> 0 bytes ....Extensions.Configuration.Abstractions.dll | Bin 29480 -> 0 bytes ...rosoft.Extensions.Configuration.Binder.dll | Bin 44808 -> 0 bytes ...t.Extensions.Configuration.CommandLine.dll | Bin 26408 -> 0 bytes ...ons.Configuration.EnvironmentVariables.dll | Bin 21264 -> 0 bytes ...xtensions.Configuration.FileExtensions.dll | Bin 29480 -> 0 bytes ...icrosoft.Extensions.Configuration.Json.dll | Bin 28472 -> 0 bytes ...t.Extensions.Configuration.UserSecrets.dll | Bin 27432 -> 0 bytes .../Microsoft.Extensions.Configuration.dll | Bin 45368 -> 0 bytes ...sions.DependencyInjection.Abstractions.dll | Bin 65816 -> 0 bytes ...crosoft.Extensions.DependencyInjection.dll | Bin 93456 -> 0 bytes ...ft.Extensions.Diagnostics.Abstractions.dll | Bin 32008 -> 0 bytes .../Microsoft.Extensions.Diagnostics.dll | Bin 37160 -> 0 bytes ....Extensions.FileProviders.Abstractions.dll | Bin 23816 -> 0 bytes ...soft.Extensions.FileProviders.Physical.dll | Bin 46392 -> 0 bytes ...icrosoft.Extensions.FileSystemGlobbing.dll | Bin 46904 -> 0 bytes ...rosoft.Extensions.Hosting.Abstractions.dll | Bin 53544 -> 0 bytes .../net9.0/Microsoft.Extensions.Hosting.dll | Bin 72456 -> 0 bytes ...rosoft.Extensions.Logging.Abstractions.dll | Bin 67376 -> 0 bytes ...osoft.Extensions.Logging.Configuration.dll | Bin 29496 -> 0 bytes .../Microsoft.Extensions.Logging.Console.dll | Bin 75568 -> 0 bytes .../Microsoft.Extensions.Logging.Debug.dll | Bin 20264 -> 0 bytes .../Microsoft.Extensions.Logging.EventLog.dll | Bin 25872 -> 0 bytes ...crosoft.Extensions.Logging.EventSource.dll | Bin 35624 -> 0 bytes .../net9.0/Microsoft.Extensions.Logging.dll | Bin 52536 -> 0 bytes ...nsions.Options.ConfigurationExtensions.dll | Bin 22808 -> 0 bytes .../net9.0/Microsoft.Extensions.Options.dll | Bin 66352 -> 0 bytes .../Microsoft.Extensions.Primitives.dll | Bin 45352 -> 0 bytes .../net9.0/Npgsql.DependencyInjection.dll | Bin 14848 -> 0 bytes .../bin/Debug/net9.0/Npgsql.dll | Bin 1429504 -> 0 bytes .../bin/Debug/net9.0/OpenArchival.Core.dll | Bin 11264 -> 0 bytes .../bin/Debug/net9.0/OpenArchival.Core.pdb | Bin 12656 -> 0 bytes .../net9.0/OpenArchival.Database.deps.json | 674 ------ .../Debug/net9.0/OpenArchival.Database.dll | Bin 91648 -> 0 bytes .../Debug/net9.0/OpenArchival.Database.exe | Bin 158720 -> 0 bytes .../Debug/net9.0/OpenArchival.Database.pdb | Bin 26608 -> 0 bytes .../OpenArchival.Database.runtimeconfig.json | 12 - .../net9.0/System.Diagnostics.EventLog.dll | Bin 53544 -> 0 bytes .../Debug/net9.0/appsettings.Development.json | 8 - .../bin/Debug/net9.0/appsettings.json | 19 - .../System.Diagnostics.EventLog.Messages.dll | Bin 801032 -> 0 bytes .../net9.0/System.Diagnostics.EventLog.dll | Bin 174872 -> 0 bytes ...CoreApp,Version=v9.0.AssemblyAttributes.cs | 4 - .../Debug/net9.0/OpenArch.9D2D866F.Up2Date | 0 .../OpenArchival.Database.AssemblyInfo.cs | 23 - ...Archival.Database.AssemblyInfoInputs.cache | 1 - ....GeneratedMSBuildEditorConfig.editorconfig | 15 - .../OpenArchival.Database.GlobalUsings.g.cs | 8 - .../OpenArchival.Database.OLD.AssemblyInfo.cs | 23 - ...ival.Database.OLD.AssemblyInfoInputs.cache | 1 - ....GeneratedMSBuildEditorConfig.editorconfig | 15 - ...penArchival.Database.OLD.GlobalUsings.g.cs | 8 - .../OpenArchival.Database.OLD.assets.cache | Bin 23882 -> 0 bytes ...atabase.OLD.csproj.AssemblyReference.cache | Bin 20929 -> 0 bytes ...atabase.OLD.csproj.CoreCompileInputs.cache | 1 - ...l.Database.OLD.csproj.FileListAbsolute.txt | 6 - .../OpenArchival.Database.OLD.sourcelink.json | 1 - .../net9.0/OpenArchival.Database.assets.cache | Bin 23882 -> 0 bytes ...al.Database.csproj.AssemblyReference.cache | Bin 20929 -> 0 bytes ...val.Database.csproj.BuildWithSkipAnalyzers | 0 ...al.Database.csproj.CoreCompileInputs.cache | 1 - ...hival.Database.csproj.FileListAbsolute.txt | 106 - .../Debug/net9.0/OpenArchival.Database.dll | Bin 91648 -> 0 bytes ...enArchival.Database.genruntimeconfig.cache | 1 - .../Debug/net9.0/OpenArchival.Database.pdb | Bin 26608 -> 0 bytes .../OpenArchival.Database.sourcelink.json | 1 - .../obj/Debug/net9.0/apphost.exe | Bin 158720 -> 0 bytes .../net9.0/ref/OpenArchival.Database.dll | Bin 23552 -> 0 bytes .../net9.0/refint/OpenArchival.Database.dll | Bin 23552 -> 0 bytes ...ival.Database.OLD.csproj.nuget.dgspec.json | 100 - ...Archival.Database.OLD.csproj.nuget.g.props | 19 - ...chival.Database.OLD.csproj.nuget.g.targets | 9 - ...Archival.Database.csproj.nuget.dgspec.json | 170 -- ...OpenArchival.Database.csproj.nuget.g.props | 19 - ...enArchival.Database.csproj.nuget.g.targets | 9 - ...CoreApp,Version=v9.0.AssemblyAttributes.cs | 4 - .../OpenArchival.Database.AssemblyInfo.cs | 23 - ...Archival.Database.AssemblyInfoInputs.cache | 1 - ....GeneratedMSBuildEditorConfig.editorconfig | 15 - .../OpenArchival.Database.GlobalUsings.g.cs | 8 - .../net9.0/OpenArchival.Database.assets.cache | Bin 23882 -> 0 bytes ...al.Database.csproj.AssemblyReference.cache | Bin 20929 -> 0 bytes OpenArchival.Database/obj/project.assets.json | 1688 --------------- OpenArchival.Database/obj/project.nuget.cache | 40 - .../AddArchiveGroupingController.cs | 19 - .../IAddArchiveGroupingController.cs | 13 - .../OpenArchival.Controller.csproj | 17 - .../net9.0/OpenArchival.Controller.deps.json | 131 -- .../Debug/net9.0/OpenArchival.Controller.dll | Bin 4096 -> 0 bytes .../Debug/net9.0/OpenArchival.Controller.pdb | Bin 11360 -> 0 bytes ...CoreApp,Version=v9.0.AssemblyAttributes.cs | 4 - .../OpenArchival.Controller.AssemblyInfo.cs | 23 - ...chival.Controller.AssemblyInfoInputs.cache | 1 - ....GeneratedMSBuildEditorConfig.editorconfig | 15 - .../OpenArchival.Controller.GlobalUsings.g.cs | 8 - .../OpenArchival.Controller.assets.cache | Bin 23139 -> 0 bytes ....Controller.csproj.AssemblyReference.cache | Bin 16218 -> 0 bytes ....Controller.csproj.CoreCompileInputs.cache | 1 - ...val.Controller.csproj.FileListAbsolute.txt | 13 - .../Debug/net9.0/OpenArchival.Controller.dll | Bin 4096 -> 0 bytes .../Debug/net9.0/OpenArchival.Controller.pdb | Bin 11360 -> 0 bytes .../OpenArchival.Controller.sourcelink.json | 1 - .../OpenArchivel.Controller.AssemblyInfo.cs | 23 - ...chivel.Controller.AssemblyInfoInputs.cache | 1 - ....GeneratedMSBuildEditorConfig.editorconfig | 15 - .../OpenArchivel.Controller.GlobalUsings.g.cs | 8 - .../OpenArchivel.Controller.assets.cache | Bin 229 -> 0 bytes .../net9.0/ref/OpenArchival.Controller.dll | Bin 5120 -> 0 bytes .../net9.0/refint/OpenArchival.Controller.dll | Bin 5120 -> 0 bytes ...chival.Controller.csproj.nuget.dgspec.json | 179 -- ...enArchival.Controller.csproj.nuget.g.props | 23 - ...Archival.Controller.csproj.nuget.g.targets | 8 - ...chivel.Controller.csproj.nuget.dgspec.json | 73 - ...enArchivel.Controller.csproj.nuget.g.props | 16 - ...Archivel.Controller.csproj.nuget.g.targets | 2 - .../obj/project.assets.json | 1833 ----------------- .../obj/project.nuget.cache | 42 - 401 files changed, 10478 insertions(+), 10675 deletions(-) rename OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.OLD.Remove.csproj.BuildWithSkipAnalyzers => OpenArchival.Blazor/Components/Account/Pages/Manage/Component.razor (100%) rename OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.csproj.BuildWithSkipAnalyzers => OpenArchival.Blazor/Components/Account/Pages/Manage/Component1.razor (100%) create mode 100644 OpenArchival.Blazor/Components/HelperExtensions.cs create mode 100644 OpenArchival.Blazor/Components/Pages/Administration/ArchiveConfiguration.razor create mode 100644 OpenArchival.Blazor/Components/Pages/Administration/ArchiveItems/AddGroupingDialog.razor create mode 100644 OpenArchival.Blazor/Components/Pages/Administration/ArchiveItems/ArchiveGroupingsTable.razor create mode 100644 OpenArchival.Blazor/Components/Pages/Administration/ArchiveItems/ArtifactEntrySharedHelpers.cs delete mode 100644 OpenArchival.Blazor/Components/Pages/Administration/ArchiveItems/ValidationModels/ArchiveItemValidationModel.cs create mode 100644 OpenArchival.Blazor/Components/Pages/Administration/Categories/ValidationModels/ArtifactGroupingRowElement.cs delete mode 100644 OpenArchival.Blazor/Data/ApplicationDbContext.cs delete mode 100644 OpenArchival.Blazor/Data/ApplicationUser.cs delete mode 100644 OpenArchival.Blazor/Data/Migrations/00000000000000_CreateIdentitySchema.Designer.cs delete mode 100644 OpenArchival.Blazor/Data/Migrations/ApplicationDbContextModelSnapshot.cs delete mode 100644 OpenArchival.Blazor/bin/Debug/net9.0/System.Formats.Asn1.dll delete mode 100644 OpenArchival.Blazor/bin/Debug/net9.0/System.Text.Json.dll delete mode 100644 OpenArchival.Core/DataObjects/ArchiveItem.cs delete mode 100644 OpenArchival.Core/DataObjects/Category.cs delete mode 100644 OpenArchival.Core/DataObjects/CategoryFieldOption.cs delete mode 100644 OpenArchival.Core/DataObjects/FilePathInfo.cs delete mode 100644 OpenArchival.Core/OpenArchival.Core.OLD.Remove.csproj delete mode 100644 OpenArchival.Core/bin/Debug/net9.0/OpenArchival.Core.OLD.Remove.deps.json delete mode 100644 OpenArchival.Core/bin/Debug/net9.0/OpenArchival.Core.OLD.Remove.dll delete mode 100644 OpenArchival.Core/bin/Debug/net9.0/OpenArchival.Core.OLD.Remove.pdb delete mode 100644 OpenArchival.Core/bin/Debug/net9.0/OpenArchival.Core.deps.json delete mode 100644 OpenArchival.Core/bin/Debug/net9.0/OpenArchival.Core.dll delete mode 100644 OpenArchival.Core/bin/Debug/net9.0/OpenArchival.Core.pdb delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.AssemblyInfo.cs delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.AssemblyInfoInputs.cache delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.GeneratedMSBuildEditorConfig.editorconfig delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.GlobalUsings.g.cs delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.OLD.AssemblyInfo.cs delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.OLD.AssemblyInfoInputs.cache delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.OLD.GeneratedMSBuildEditorConfig.editorconfig delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.OLD.GlobalUsings.g.cs delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.OLD.Remove.AssemblyInfo.cs delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.OLD.Remove.AssemblyInfoInputs.cache delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.OLD.Remove.GeneratedMSBuildEditorConfig.editorconfig delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.OLD.Remove.GlobalUsings.g.cs delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.OLD.Remove.assets.cache delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.OLD.Remove.csproj.CoreCompileInputs.cache delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.OLD.Remove.csproj.FileListAbsolute.txt delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.OLD.Remove.dll delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.OLD.Remove.pdb delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.OLD.Remove.sourcelink.json delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.OLD.assets.cache delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.assets.cache delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.csproj.CoreCompileInputs.cache delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.csproj.FileListAbsolute.txt delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.dll delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.pdb delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.sourcelink.json delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/ref/OpenArchival.Core.OLD.Remove.dll delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/ref/OpenArchival.Core.dll delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/refint/OpenArchival.Core.OLD.Remove.dll delete mode 100644 OpenArchival.Core/obj/Debug/net9.0/refint/OpenArchival.Core.dll delete mode 100644 OpenArchival.Core/obj/OpenArchival.Core.OLD.Remove.csproj.nuget.dgspec.json delete mode 100644 OpenArchival.Core/obj/OpenArchival.Core.OLD.Remove.csproj.nuget.g.props delete mode 100644 OpenArchival.Core/obj/OpenArchival.Core.OLD.Remove.csproj.nuget.g.targets delete mode 100644 OpenArchival.Core/obj/OpenArchival.Core.OLD.csproj.nuget.dgspec.json delete mode 100644 OpenArchival.Core/obj/OpenArchival.Core.OLD.csproj.nuget.g.props delete mode 100644 OpenArchival.Core/obj/OpenArchival.Core.OLD.csproj.nuget.g.targets delete mode 100644 OpenArchival.Core/obj/OpenArchival.Core.csproj.nuget.dgspec.json delete mode 100644 OpenArchival.Core/obj/OpenArchival.Core.csproj.nuget.g.props delete mode 100644 OpenArchival.Core/obj/OpenArchival.Core.csproj.nuget.g.targets delete mode 100644 OpenArchival.Core/obj/Release/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs delete mode 100644 OpenArchival.Core/obj/Release/net9.0/OpenArchival.Core.AssemblyInfo.cs delete mode 100644 OpenArchival.Core/obj/Release/net9.0/OpenArchival.Core.AssemblyInfoInputs.cache delete mode 100644 OpenArchival.Core/obj/Release/net9.0/OpenArchival.Core.GeneratedMSBuildEditorConfig.editorconfig delete mode 100644 OpenArchival.Core/obj/Release/net9.0/OpenArchival.Core.GlobalUsings.g.cs delete mode 100644 OpenArchival.Core/obj/Release/net9.0/OpenArchival.Core.assets.cache delete mode 100644 OpenArchival.Core/obj/project.assets.json delete mode 100644 OpenArchival.Core/obj/project.nuget.cache rename OpenArchival.DataAccess/{ArchiveDbContext.cs => ApplicationDbContext.cs} (54%) create mode 100644 OpenArchival.DataAccess/IdentityDataSeeder.cs delete mode 100644 OpenArchival.DataAccess/Migrations/20250806141452_AllModels.Designer.cs delete mode 100644 OpenArchival.DataAccess/Migrations/20250806144037_AllModelsFixedComparer.Designer.cs delete mode 100644 OpenArchival.DataAccess/Migrations/20250806174205_NullableParentArtifactEntryId.cs delete mode 100644 OpenArchival.DataAccess/Migrations/20250807131954_AddStorageLocations.cs delete mode 100644 OpenArchival.DataAccess/Migrations/20250807180849_FixTypo.cs rename OpenArchival.DataAccess/Migrations/{20250807180849_FixTypo.Designer.cs => 20250812183602_InitalCreate.Designer.cs} (98%) rename OpenArchival.DataAccess/Migrations/{20250806141452_AllModels.cs => 20250812183602_InitalCreate.cs} (83%) create mode 100644 OpenArchival.DataAccess/Migrations/20250813011348_ChangedArtifactRelationships.Designer.cs create mode 100644 OpenArchival.DataAccess/Migrations/20250813011348_ChangedArtifactRelationships.cs rename OpenArchival.DataAccess/Migrations/{20250806174205_NullableParentArtifactEntryId.Designer.cs => 20250813015341_AutoGenKeysEnabled.Designer.cs} (82%) rename OpenArchival.DataAccess/Migrations/{20250806144037_AllModelsFixedComparer.cs => 20250813015341_AutoGenKeysEnabled.cs} (86%) create mode 100644 OpenArchival.DataAccess/Migrations/20250813023107_ChangedArtifactRelationshipsNew.Designer.cs create mode 100644 OpenArchival.DataAccess/Migrations/20250813023107_ChangedArtifactRelationshipsNew.cs rename OpenArchival.DataAccess/Migrations/{20250807132100_FixType.Designer.cs => 20250813024912_RemovedDuplicateCategories.Designer.cs} (89%) create mode 100644 OpenArchival.DataAccess/Migrations/20250813024912_RemovedDuplicateCategories.cs rename OpenArchival.DataAccess/Migrations/{20250807131954_AddStorageLocations.Designer.cs => 20250813025148_RemovedDuplicateCategoriesNew.Designer.cs} (89%) create mode 100644 OpenArchival.DataAccess/Migrations/20250813025148_RemovedDuplicateCategoriesNew.cs create mode 100644 OpenArchival.DataAccess/Migrations/20250813153226_AddAuthentication.Designer.cs rename OpenArchival.Blazor/Data/Migrations/00000000000000_CreateIdentitySchema.cs => OpenArchival.DataAccess/Migrations/20250813153226_AddAuthentication.cs (70%) create mode 100644 OpenArchival.DataAccess/Migrations/20250828154443_AddedParentEntry.Designer.cs create mode 100644 OpenArchival.DataAccess/Migrations/20250828154443_AddedParentEntry.cs create mode 100644 OpenArchival.DataAccess/Migrations/20250828173516_AddedCascade.Designer.cs create mode 100644 OpenArchival.DataAccess/Migrations/20250828173516_AddedCascade.cs create mode 100644 OpenArchival.DataAccess/Migrations/20250829171154_UniqueRowsSet.Designer.cs rename OpenArchival.DataAccess/Migrations/{20250807132100_FixType.cs => 20250829171154_UniqueRowsSet.cs} (88%) create mode 100644 OpenArchival.DataAccess/Migrations/20250829182114_FixedCascadeDelete.Designer.cs create mode 100644 OpenArchival.DataAccess/Migrations/20250829182114_FixedCascadeDelete.cs create mode 100644 OpenArchival.DataAccess/Migrations/20250829182730_fixedduplicateprop.Designer.cs create mode 100644 OpenArchival.DataAccess/Migrations/20250829182730_fixedduplicateprop.cs create mode 100644 OpenArchival.DataAccess/Migrations/20250829200117_deduplicationadded.Designer.cs create mode 100644 OpenArchival.DataAccess/Migrations/20250829200117_deduplicationadded.cs create mode 100644 OpenArchival.DataAccess/Models/ApplicationUser.cs create mode 100644 OpenArchival.DataAccess/bin/Debug/net9.0/Microsoft.AspNetCore.Cryptography.Internal.dll create mode 100644 OpenArchival.DataAccess/bin/Debug/net9.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll create mode 100644 OpenArchival.DataAccess/bin/Debug/net9.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll create mode 100644 OpenArchival.DataAccess/bin/Debug/net9.0/Microsoft.Extensions.Identity.Core.dll create mode 100644 OpenArchival.DataAccess/bin/Debug/net9.0/Microsoft.Extensions.Identity.Stores.dll delete mode 100644 OpenArchival.Database/ArchiveStorageLocation/ArchiveStorageLocationProvider.cs delete mode 100644 OpenArchival.Database/ArchiveStorageLocation/IArchiveStorageLocationProvider.cs delete mode 100644 OpenArchival.Database/ArtifactAssociatedNames/ArtifactAssociatedNamesProvider.cs delete mode 100644 OpenArchival.Database/ArtifactAssociatedNames/IArtifactAssociatedNamesProvider.cs delete mode 100644 OpenArchival.Database/ArtifactTypes/ArtifactTypesProvider.cs delete mode 100644 OpenArchival.Database/ArtifactTypes/IArtifactTypesProvider.cs delete mode 100644 OpenArchival.Database/Category/CategoryProvider.cs delete mode 100644 OpenArchival.Database/Category/ICategoryProvider.cs delete mode 100644 OpenArchival.Database/Defects/DefectsProvider.cs delete mode 100644 OpenArchival.Database/Defects/IDefectsProvider.cs delete mode 100644 OpenArchival.Database/FilePathProvider/FilePathProvider.cs delete mode 100644 OpenArchival.Database/FilePathProvider/IFilePathProvider.cs delete mode 100644 OpenArchival.Database/OpenArchival.Database.OLD.csproj delete mode 100644 OpenArchival.Database/PostgresConnectionOptions.cs delete mode 100644 OpenArchival.Database/Program.cs delete mode 100644 OpenArchival.Database/Tables.cs delete mode 100644 OpenArchival.Database/Tags/ITagsProvider.cs delete mode 100644 OpenArchival.Database/Tags/TagsProvider.cs delete mode 100644 OpenArchival.Database/appsettings.Development.json delete mode 100644 OpenArchival.Database/appsettings.json delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Dapper.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Microsoft.Extensions.Configuration.Abstractions.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Microsoft.Extensions.Configuration.Binder.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Microsoft.Extensions.Configuration.CommandLine.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Microsoft.Extensions.Configuration.FileExtensions.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Microsoft.Extensions.Configuration.Json.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Microsoft.Extensions.Configuration.UserSecrets.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Microsoft.Extensions.Configuration.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Microsoft.Extensions.DependencyInjection.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Microsoft.Extensions.Diagnostics.Abstractions.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Microsoft.Extensions.Diagnostics.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Microsoft.Extensions.FileProviders.Abstractions.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Microsoft.Extensions.FileProviders.Physical.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Microsoft.Extensions.FileSystemGlobbing.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Microsoft.Extensions.Hosting.Abstractions.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Microsoft.Extensions.Hosting.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Microsoft.Extensions.Logging.Abstractions.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Microsoft.Extensions.Logging.Configuration.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Microsoft.Extensions.Logging.Console.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Microsoft.Extensions.Logging.Debug.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Microsoft.Extensions.Logging.EventLog.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Microsoft.Extensions.Logging.EventSource.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Microsoft.Extensions.Logging.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Microsoft.Extensions.Options.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Microsoft.Extensions.Primitives.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Npgsql.DependencyInjection.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/Npgsql.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/OpenArchival.Core.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/OpenArchival.Core.pdb delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/OpenArchival.Database.deps.json delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/OpenArchival.Database.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/OpenArchival.Database.exe delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/OpenArchival.Database.pdb delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/OpenArchival.Database.runtimeconfig.json delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/System.Diagnostics.EventLog.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/appsettings.Development.json delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/appsettings.json delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/runtimes/win/lib/net9.0/System.Diagnostics.EventLog.Messages.dll delete mode 100644 OpenArchival.Database/bin/Debug/net9.0/runtimes/win/lib/net9.0/System.Diagnostics.EventLog.dll delete mode 100644 OpenArchival.Database/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs delete mode 100644 OpenArchival.Database/obj/Debug/net9.0/OpenArch.9D2D866F.Up2Date delete mode 100644 OpenArchival.Database/obj/Debug/net9.0/OpenArchival.Database.AssemblyInfo.cs delete mode 100644 OpenArchival.Database/obj/Debug/net9.0/OpenArchival.Database.AssemblyInfoInputs.cache delete mode 100644 OpenArchival.Database/obj/Debug/net9.0/OpenArchival.Database.GeneratedMSBuildEditorConfig.editorconfig delete mode 100644 OpenArchival.Database/obj/Debug/net9.0/OpenArchival.Database.GlobalUsings.g.cs delete mode 100644 OpenArchival.Database/obj/Debug/net9.0/OpenArchival.Database.OLD.AssemblyInfo.cs delete mode 100644 OpenArchival.Database/obj/Debug/net9.0/OpenArchival.Database.OLD.AssemblyInfoInputs.cache delete mode 100644 OpenArchival.Database/obj/Debug/net9.0/OpenArchival.Database.OLD.GeneratedMSBuildEditorConfig.editorconfig delete mode 100644 OpenArchival.Database/obj/Debug/net9.0/OpenArchival.Database.OLD.GlobalUsings.g.cs delete mode 100644 OpenArchival.Database/obj/Debug/net9.0/OpenArchival.Database.OLD.assets.cache delete mode 100644 OpenArchival.Database/obj/Debug/net9.0/OpenArchival.Database.OLD.csproj.AssemblyReference.cache delete mode 100644 OpenArchival.Database/obj/Debug/net9.0/OpenArchival.Database.OLD.csproj.CoreCompileInputs.cache delete mode 100644 OpenArchival.Database/obj/Debug/net9.0/OpenArchival.Database.OLD.csproj.FileListAbsolute.txt delete mode 100644 OpenArchival.Database/obj/Debug/net9.0/OpenArchival.Database.OLD.sourcelink.json delete mode 100644 OpenArchival.Database/obj/Debug/net9.0/OpenArchival.Database.assets.cache delete mode 100644 OpenArchival.Database/obj/Debug/net9.0/OpenArchival.Database.csproj.AssemblyReference.cache delete mode 100644 OpenArchival.Database/obj/Debug/net9.0/OpenArchival.Database.csproj.BuildWithSkipAnalyzers delete mode 100644 OpenArchival.Database/obj/Debug/net9.0/OpenArchival.Database.csproj.CoreCompileInputs.cache delete mode 100644 OpenArchival.Database/obj/Debug/net9.0/OpenArchival.Database.csproj.FileListAbsolute.txt delete mode 100644 OpenArchival.Database/obj/Debug/net9.0/OpenArchival.Database.dll delete mode 100644 OpenArchival.Database/obj/Debug/net9.0/OpenArchival.Database.genruntimeconfig.cache delete mode 100644 OpenArchival.Database/obj/Debug/net9.0/OpenArchival.Database.pdb delete mode 100644 OpenArchival.Database/obj/Debug/net9.0/OpenArchival.Database.sourcelink.json delete mode 100644 OpenArchival.Database/obj/Debug/net9.0/apphost.exe delete mode 100644 OpenArchival.Database/obj/Debug/net9.0/ref/OpenArchival.Database.dll delete mode 100644 OpenArchival.Database/obj/Debug/net9.0/refint/OpenArchival.Database.dll delete mode 100644 OpenArchival.Database/obj/OpenArchival.Database.OLD.csproj.nuget.dgspec.json delete mode 100644 OpenArchival.Database/obj/OpenArchival.Database.OLD.csproj.nuget.g.props delete mode 100644 OpenArchival.Database/obj/OpenArchival.Database.OLD.csproj.nuget.g.targets delete mode 100644 OpenArchival.Database/obj/OpenArchival.Database.csproj.nuget.dgspec.json delete mode 100644 OpenArchival.Database/obj/OpenArchival.Database.csproj.nuget.g.props delete mode 100644 OpenArchival.Database/obj/OpenArchival.Database.csproj.nuget.g.targets delete mode 100644 OpenArchival.Database/obj/Release/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs delete mode 100644 OpenArchival.Database/obj/Release/net9.0/OpenArchival.Database.AssemblyInfo.cs delete mode 100644 OpenArchival.Database/obj/Release/net9.0/OpenArchival.Database.AssemblyInfoInputs.cache delete mode 100644 OpenArchival.Database/obj/Release/net9.0/OpenArchival.Database.GeneratedMSBuildEditorConfig.editorconfig delete mode 100644 OpenArchival.Database/obj/Release/net9.0/OpenArchival.Database.GlobalUsings.g.cs delete mode 100644 OpenArchival.Database/obj/Release/net9.0/OpenArchival.Database.assets.cache delete mode 100644 OpenArchival.Database/obj/Release/net9.0/OpenArchival.Database.csproj.AssemblyReference.cache delete mode 100644 OpenArchival.Database/obj/project.assets.json delete mode 100644 OpenArchival.Database/obj/project.nuget.cache delete mode 100644 OpenArchivel.Controller/AddArchiveGroupingController.cs delete mode 100644 OpenArchivel.Controller/IAddArchiveGroupingController.cs delete mode 100644 OpenArchivel.Controller/OpenArchival.Controller.csproj delete mode 100644 OpenArchivel.Controller/bin/Debug/net9.0/OpenArchival.Controller.deps.json delete mode 100644 OpenArchivel.Controller/bin/Debug/net9.0/OpenArchival.Controller.dll delete mode 100644 OpenArchivel.Controller/bin/Debug/net9.0/OpenArchival.Controller.pdb delete mode 100644 OpenArchivel.Controller/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs delete mode 100644 OpenArchivel.Controller/obj/Debug/net9.0/OpenArchival.Controller.AssemblyInfo.cs delete mode 100644 OpenArchivel.Controller/obj/Debug/net9.0/OpenArchival.Controller.AssemblyInfoInputs.cache delete mode 100644 OpenArchivel.Controller/obj/Debug/net9.0/OpenArchival.Controller.GeneratedMSBuildEditorConfig.editorconfig delete mode 100644 OpenArchivel.Controller/obj/Debug/net9.0/OpenArchival.Controller.GlobalUsings.g.cs delete mode 100644 OpenArchivel.Controller/obj/Debug/net9.0/OpenArchival.Controller.assets.cache delete mode 100644 OpenArchivel.Controller/obj/Debug/net9.0/OpenArchival.Controller.csproj.AssemblyReference.cache delete mode 100644 OpenArchivel.Controller/obj/Debug/net9.0/OpenArchival.Controller.csproj.CoreCompileInputs.cache delete mode 100644 OpenArchivel.Controller/obj/Debug/net9.0/OpenArchival.Controller.csproj.FileListAbsolute.txt delete mode 100644 OpenArchivel.Controller/obj/Debug/net9.0/OpenArchival.Controller.dll delete mode 100644 OpenArchivel.Controller/obj/Debug/net9.0/OpenArchival.Controller.pdb delete mode 100644 OpenArchivel.Controller/obj/Debug/net9.0/OpenArchival.Controller.sourcelink.json delete mode 100644 OpenArchivel.Controller/obj/Debug/net9.0/OpenArchivel.Controller.AssemblyInfo.cs delete mode 100644 OpenArchivel.Controller/obj/Debug/net9.0/OpenArchivel.Controller.AssemblyInfoInputs.cache delete mode 100644 OpenArchivel.Controller/obj/Debug/net9.0/OpenArchivel.Controller.GeneratedMSBuildEditorConfig.editorconfig delete mode 100644 OpenArchivel.Controller/obj/Debug/net9.0/OpenArchivel.Controller.GlobalUsings.g.cs delete mode 100644 OpenArchivel.Controller/obj/Debug/net9.0/OpenArchivel.Controller.assets.cache delete mode 100644 OpenArchivel.Controller/obj/Debug/net9.0/ref/OpenArchival.Controller.dll delete mode 100644 OpenArchivel.Controller/obj/Debug/net9.0/refint/OpenArchival.Controller.dll delete mode 100644 OpenArchivel.Controller/obj/OpenArchival.Controller.csproj.nuget.dgspec.json delete mode 100644 OpenArchivel.Controller/obj/OpenArchival.Controller.csproj.nuget.g.props delete mode 100644 OpenArchivel.Controller/obj/OpenArchival.Controller.csproj.nuget.g.targets delete mode 100644 OpenArchivel.Controller/obj/OpenArchivel.Controller.csproj.nuget.dgspec.json delete mode 100644 OpenArchivel.Controller/obj/OpenArchivel.Controller.csproj.nuget.g.props delete mode 100644 OpenArchivel.Controller/obj/OpenArchivel.Controller.csproj.nuget.g.targets delete mode 100644 OpenArchivel.Controller/obj/project.assets.json delete mode 100644 OpenArchivel.Controller/obj/project.nuget.cache diff --git a/OpenArchival.Blazor/Components/Account/IdentityComponentsEndpointRouteBuilderExtensions.cs b/OpenArchival.Blazor/Components/Account/IdentityComponentsEndpointRouteBuilderExtensions.cs index 8fc0f09..394a8ea 100644 --- a/OpenArchival.Blazor/Components/Account/IdentityComponentsEndpointRouteBuilderExtensions.cs +++ b/OpenArchival.Blazor/Components/Account/IdentityComponentsEndpointRouteBuilderExtensions.cs @@ -1,14 +1,14 @@ +using System.Security.Claims; +using System.Text.Json; +using OpenArchival.Blazor.Components.Account.Pages.Manage; +using OpenArchival.Blazor.Components.Account.Pages; +using OpenArchival.DataAccess; using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Components.Authorization; using Microsoft.AspNetCore.Http.Extensions; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Primitives; -using OpenArchival.Blazor.Components.Account.Pages; -using OpenArchival.Blazor.Components.Account.Pages.Manage; -using OpenArchival.Blazor.Data; -using System.Security.Claims; -using System.Text.Json; namespace Microsoft.AspNetCore.Routing { diff --git a/OpenArchival.Blazor/Components/Account/IdentityNoOpEmailSender.cs b/OpenArchival.Blazor/Components/Account/IdentityNoOpEmailSender.cs index d8f1b5b..d9b22a4 100644 --- a/OpenArchival.Blazor/Components/Account/IdentityNoOpEmailSender.cs +++ b/OpenArchival.Blazor/Components/Account/IdentityNoOpEmailSender.cs @@ -1,8 +1,8 @@ +using OpenArchival.DataAccess; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Identity.UI.Services; -using OpenArchival.Blazor.Data; -namespace OpenArchival.Blazor.Components.Account +namespace MyAppName.WebApp.Components.Account { // Remove the "else if (EmailSender is IdentityNoOpEmailSender)" block from RegisterConfirmation.razor after updating with a real implementation. internal sealed class IdentityNoOpEmailSender : IEmailSender diff --git a/OpenArchival.Blazor/Components/Account/IdentityRedirectManager.cs b/OpenArchival.Blazor/Components/Account/IdentityRedirectManager.cs index 0b52ad3..a2d6419 100644 --- a/OpenArchival.Blazor/Components/Account/IdentityRedirectManager.cs +++ b/OpenArchival.Blazor/Components/Account/IdentityRedirectManager.cs @@ -1,7 +1,7 @@ -using Microsoft.AspNetCore.Components; using System.Diagnostics.CodeAnalysis; +using Microsoft.AspNetCore.Components; -namespace OpenArchival.Blazor.Components.Account +namespace MyAppName.WebApp.Components.Account { internal sealed class IdentityRedirectManager(NavigationManager navigationManager) { diff --git a/OpenArchival.Blazor/Components/Account/IdentityRevalidatingAuthenticationStateProvider.cs b/OpenArchival.Blazor/Components/Account/IdentityRevalidatingAuthenticationStateProvider.cs index eed8388..c9fb218 100644 --- a/OpenArchival.Blazor/Components/Account/IdentityRevalidatingAuthenticationStateProvider.cs +++ b/OpenArchival.Blazor/Components/Account/IdentityRevalidatingAuthenticationStateProvider.cs @@ -1,11 +1,11 @@ +using System.Security.Claims; +using OpenArchival.DataAccess; using Microsoft.AspNetCore.Components.Authorization; using Microsoft.AspNetCore.Components.Server; using Microsoft.AspNetCore.Identity; using Microsoft.Extensions.Options; -using OpenArchival.Blazor.Data; -using System.Security.Claims; -namespace OpenArchival.Blazor.Components.Account +namespace MyAppName.WebApp.Components.Account { // This is a server-side AuthenticationStateProvider that revalidates the security stamp for the connected user // every 30 minutes an interactive circuit is connected. diff --git a/OpenArchival.Blazor/Components/Account/IdentityUserAccessor.cs b/OpenArchival.Blazor/Components/Account/IdentityUserAccessor.cs index 7284d83..81053ea 100644 --- a/OpenArchival.Blazor/Components/Account/IdentityUserAccessor.cs +++ b/OpenArchival.Blazor/Components/Account/IdentityUserAccessor.cs @@ -1,7 +1,7 @@ +using OpenArchival.DataAccess; using Microsoft.AspNetCore.Identity; -using OpenArchival.Blazor.Data; -namespace OpenArchival.Blazor.Components.Account +namespace MyAppName.WebApp.Components.Account { internal sealed class IdentityUserAccessor(UserManager userManager, IdentityRedirectManager redirectManager) { diff --git a/OpenArchival.Blazor/Components/Account/Pages/AccessDenied.razor b/OpenArchival.Blazor/Components/Account/Pages/AccessDenied.razor index db67a6f..905dec3 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/AccessDenied.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/AccessDenied.razor @@ -2,4 +2,7 @@ Access denied -You do not have access to this resource. +
+

Access denied

+

You do not have access to this resource.

+
diff --git a/OpenArchival.Blazor/Components/Account/Pages/ConfirmEmail.razor b/OpenArchival.Blazor/Components/Account/Pages/ConfirmEmail.razor index d092670..e76d6fa 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/ConfirmEmail.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/ConfirmEmail.razor @@ -3,7 +3,8 @@ @using System.Text @using Microsoft.AspNetCore.Identity @using Microsoft.AspNetCore.WebUtilities -@using OpenArchival.Blazor.Data +@using MyAppName.WebApp.Components.Account +@using OpenArchival.DataAccess @inject UserManager UserManager @inject IdentityRedirectManager RedirectManager diff --git a/OpenArchival.Blazor/Components/Account/Pages/ConfirmEmailChange.razor b/OpenArchival.Blazor/Components/Account/Pages/ConfirmEmailChange.razor index 7298373..69ae3aa 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/ConfirmEmailChange.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/ConfirmEmailChange.razor @@ -3,7 +3,8 @@ @using System.Text @using Microsoft.AspNetCore.Identity @using Microsoft.AspNetCore.WebUtilities -@using OpenArchival.Blazor.Data +@using MyAppName.WebApp.Components.Account +@using OpenArchival.DataAccess @inject UserManager UserManager @inject SignInManager SignInManager diff --git a/OpenArchival.Blazor/Components/Account/Pages/ExternalLogin.razor b/OpenArchival.Blazor/Components/Account/Pages/ExternalLogin.razor index 5625ceb..7decf73 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/ExternalLogin.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/ExternalLogin.razor @@ -6,7 +6,9 @@ @using System.Text.Encodings.Web @using Microsoft.AspNetCore.Identity @using Microsoft.AspNetCore.WebUtilities -@using OpenArchival.Blazor.Data +@using MyAppName.WebApp.Components.Account +@using OpenArchival.DataAccess +@using OpenArchival.Blazor.Components.Account.Pages; @inject SignInManager SignInManager @inject UserManager UserManager @@ -21,7 +23,7 @@

Register

Associate your @ProviderDisplayName account.

- +
You've successfully authenticated with @ProviderDisplayName. @@ -105,8 +107,8 @@ // Sign in the user with this external login provider if the user already has a login. var result = await SignInManager.ExternalLoginSignInAsync( - externalLoginInfo!.LoginProvider, - externalLoginInfo!.ProviderKey, + externalLoginInfo.LoginProvider, + externalLoginInfo.ProviderKey, isPersistent: false, bypassTwoFactor: true); @@ -174,7 +176,7 @@ message = $"Error: {string.Join(",", result.Errors.Select(error => error.Description))}"; } - private static ApplicationUser CreateUser() + private ApplicationUser CreateUser() { try { diff --git a/OpenArchival.Blazor/Components/Account/Pages/ForgotPassword.razor b/OpenArchival.Blazor/Components/Account/Pages/ForgotPassword.razor index e992d6f..81f04b5 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/ForgotPassword.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/ForgotPassword.razor @@ -5,7 +5,8 @@ @using System.Text.Encodings.Web @using Microsoft.AspNetCore.Identity @using Microsoft.AspNetCore.WebUtilities -@using OpenArchival.Blazor.Data +@using MyAppName.WebApp.Components.Account +@using OpenArchival.DataAccess @inject UserManager UserManager @inject IEmailSender EmailSender @@ -14,24 +15,24 @@ Forgot your password? -Forgot your password? -Enter your email. +

Forgot your password?

+

Enter your email.

+
+
+
+ + + - - - - - - - - - - Reset password - - - +
+ + + +
+ +
+
+
@code { [SupplyParameterFromForm] diff --git a/OpenArchival.Blazor/Components/Account/Pages/ForgotPasswordConfirmation.razor b/OpenArchival.Blazor/Components/Account/Pages/ForgotPasswordConfirmation.razor index 31f70ce..a771a3a 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/ForgotPasswordConfirmation.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/ForgotPasswordConfirmation.razor @@ -2,6 +2,7 @@ Forgot password confirmation -Forgot password confirmation - -Please check your email to reset your password. +

Forgot password confirmation

+

+ Please check your email to reset your password. +

diff --git a/OpenArchival.Blazor/Components/Account/Pages/Login.razor b/OpenArchival.Blazor/Components/Account/Pages/Login.razor index e68286d..18ce30d 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/Login.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/Login.razor @@ -3,7 +3,8 @@ @using System.ComponentModel.DataAnnotations @using Microsoft.AspNetCore.Authentication @using Microsoft.AspNetCore.Identity -@using OpenArchival.Blazor.Data +@using MyAppName.WebApp.Components.Account +@using OpenArchival.DataAccess @inject SignInManager SignInManager @inject ILogger Logger @@ -12,50 +13,57 @@ Log in -Log in - - - - - - - - Use a local account to log in. - - - - - - - - - - Remember me - - - Log in - - - - - - - Forgot your password?
- { ["ReturnUrl"] = ReturnUrl }))">Register as a new user
- Resend email confirmation -
-
-
- - Use another service to log in. - - - -
+

Log in

+
+
+
+ + + +

Use a local account to log in.

+
+ +
+ + + +
+
+ + + +
+
+ +
+
+ +
+ +
+
+
+
+
+

Use another service to log in.

+
+ +
+
+
@code { private string? errorMessage; diff --git a/OpenArchival.Blazor/Components/Account/Pages/LoginWith2fa.razor b/OpenArchival.Blazor/Components/Account/Pages/LoginWith2fa.razor index d7ad199..4747619 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/LoginWith2fa.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/LoginWith2fa.razor @@ -2,7 +2,8 @@ @using System.ComponentModel.DataAnnotations @using Microsoft.AspNetCore.Identity -@using OpenArchival.Blazor.Data +@using MyAppName.WebApp.Components.Account +@using OpenArchival.DataAccess @inject SignInManager SignInManager @inject UserManager UserManager @@ -12,7 +13,7 @@ Two-factor authentication

Two-factor authentication

- +

Your login is protected with an authenticator app. Enter your authenticator code below.

@@ -41,7 +42,7 @@

Don't have access to your authenticator device? You can - log in with a recovery code. + log in with a recovery code.

@code { diff --git a/OpenArchival.Blazor/Components/Account/Pages/LoginWithRecoveryCode.razor b/OpenArchival.Blazor/Components/Account/Pages/LoginWithRecoveryCode.razor index 8942e53..e27c53e 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/LoginWithRecoveryCode.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/LoginWithRecoveryCode.razor @@ -2,7 +2,8 @@ @using System.ComponentModel.DataAnnotations @using Microsoft.AspNetCore.Identity -@using OpenArchival.Blazor.Data +@using MyAppName.WebApp.Components.Account +@using OpenArchival.DataAccess @inject SignInManager SignInManager @inject UserManager UserManager @@ -12,7 +13,7 @@ Recovery code verification

Recovery code verification

- +

You have requested to log in with a recovery code. This login will not be remembered until you provide @@ -24,8 +25,8 @@

- - + +
diff --git a/OpenArchival.Blazor/Components/Account/Pages/Manage/ChangePassword.razor b/OpenArchival.Blazor/Components/Account/Pages/Manage/ChangePassword.razor index 6456022..98d3a26 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/Manage/ChangePassword.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/Manage/ChangePassword.razor @@ -2,7 +2,8 @@ @using System.ComponentModel.DataAnnotations @using Microsoft.AspNetCore.Identity -@using OpenArchival.Blazor.Data +@using MyAppName.WebApp.Components.Account +@using OpenArchival.DataAccess @inject UserManager UserManager @inject SignInManager SignInManager @@ -12,34 +13,32 @@ Change password -Change password - +

Change password

- - - - - - - - - - - - - - - - Update password - - - +
+
+ + + +
+ + + +
+
+ + + +
+
+ + + +
+ +
+
+
@code { private string? message; diff --git a/OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.OLD.Remove.csproj.BuildWithSkipAnalyzers b/OpenArchival.Blazor/Components/Account/Pages/Manage/Component.razor similarity index 100% rename from OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.OLD.Remove.csproj.BuildWithSkipAnalyzers rename to OpenArchival.Blazor/Components/Account/Pages/Manage/Component.razor diff --git a/OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.csproj.BuildWithSkipAnalyzers b/OpenArchival.Blazor/Components/Account/Pages/Manage/Component1.razor similarity index 100% rename from OpenArchival.Core/obj/Debug/net9.0/OpenArchival.Core.csproj.BuildWithSkipAnalyzers rename to OpenArchival.Blazor/Components/Account/Pages/Manage/Component1.razor diff --git a/OpenArchival.Blazor/Components/Account/Pages/Manage/DeletePersonalData.razor b/OpenArchival.Blazor/Components/Account/Pages/Manage/DeletePersonalData.razor index a286201..920d974 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/Manage/DeletePersonalData.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/Manage/DeletePersonalData.razor @@ -2,7 +2,8 @@ @using System.ComponentModel.DataAnnotations @using Microsoft.AspNetCore.Identity -@using OpenArchival.Blazor.Data +@using MyAppName.WebApp.Components.Account +@using OpenArchival.DataAccess @inject UserManager UserManager @inject SignInManager SignInManager @@ -12,31 +13,31 @@ Delete Personal Data -Delete personal data - - - Deleting this data will permanently remove your account, and this cannot be recovered. - +

Delete Personal Data

- - + - +
+ + + @if (requirePassword) { - - - +
+ + + +
} - - Delete data and close my account - - -
+ + +
@code { private string? message; diff --git a/OpenArchival.Blazor/Components/Account/Pages/Manage/Disable2fa.razor b/OpenArchival.Blazor/Components/Account/Pages/Manage/Disable2fa.razor index 854f98b..3413f42 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/Manage/Disable2fa.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/Manage/Disable2fa.razor @@ -1,7 +1,8 @@ @page "/Account/Manage/Disable2fa" @using Microsoft.AspNetCore.Identity -@using OpenArchival.Blazor.Data +@using MyAppName.WebApp.Components.Account +@using OpenArchival.DataAccess @inject UserManager UserManager @inject IdentityUserAccessor UserAccessor diff --git a/OpenArchival.Blazor/Components/Account/Pages/Manage/Email.razor b/OpenArchival.Blazor/Components/Account/Pages/Manage/Email.razor index b3e2ec8..4df1c95 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/Manage/Email.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/Manage/Email.razor @@ -5,7 +5,8 @@ @using System.Text.Encodings.Web @using Microsoft.AspNetCore.Identity @using Microsoft.AspNetCore.WebUtilities -@using OpenArchival.Blazor.Data +@using MyAppName.WebApp.Components.Account +@using OpenArchival.DataAccess @inject UserManager UserManager @inject IEmailSender EmailSender @@ -14,43 +15,44 @@ Manage email -Manage email +

Manage email

- - -
- - - - - - - - @if (isEmailConfirmed) - { - - - - } - else - { - - - - - Send verification email - - } - - - - - - - Change email - - - + +
+
+
+ + + + + + @if (isEmailConfirmed) + { +
+ +
+ ✓ +
+ +
+ } + else + { +
+ + + +
+ } +
+ + + +
+ +
+
+
@code { private string? message; diff --git a/OpenArchival.Blazor/Components/Account/Pages/Manage/EnableAuthenticator.razor b/OpenArchival.Blazor/Components/Account/Pages/Manage/EnableAuthenticator.razor index 12e582c..b0d7aa5 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/Manage/EnableAuthenticator.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/Manage/EnableAuthenticator.razor @@ -5,7 +5,8 @@ @using System.Text @using System.Text.Encodings.Web @using Microsoft.AspNetCore.Identity -@using OpenArchival.Blazor.Data +@using MyAppName.WebApp.Components.Account +@using OpenArchival.DataAccess @inject UserManager UserManager @inject IdentityUserAccessor UserAccessor @@ -21,55 +22,49 @@ } else { - Configure authenticator app - - - To use an authenticator app go through the following steps: - -
    -
  1. - - Download a two-factor authenticator app like Microsoft Authenticator for - Android and - iOS or - Google Authenticator for - Android and - iOS. - -
  2. -
  3. - - Scan the QR Code or enter this key into your two factor authenticator app. Spaces and casing do not matter: - - - @sharedKey - - - Learn how to enable QR code generation. - - -
    -
  4. -
  5. - - Once you have scanned the QR code or input the key above, your two factor authentication app will provide you - with a unique code. Enter the code in the confirmation box below. - - - - - - - - - - Verify - - - -
  6. -
+

Configure authenticator app

+
+

To use an authenticator app go through the following steps:

+
    +
  1. +

    + Download a two-factor authenticator app like Microsoft Authenticator for + Android and + iOS or + Google Authenticator for + Android and + iOS. +

    +
  2. +
  3. +

    Scan the QR Code or enter this key @sharedKey into your two factor authenticator app. Spaces and casing do not matter.

    + +
    +
    +
  4. +
  5. +

    + Once you have scanned the QR code or input the key above, your two factor authentication app will provide you + with a unique code. Enter the code in the confirmation box below. +

    +
    +
    + + +
    + + + +
    + + +
    +
    +
    +
  6. +
+
} @code { diff --git a/OpenArchival.Blazor/Components/Account/Pages/Manage/ExternalLogins.razor b/OpenArchival.Blazor/Components/Account/Pages/Manage/ExternalLogins.razor index 19c7497..0566f3b 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/Manage/ExternalLogins.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/Manage/ExternalLogins.razor @@ -2,7 +2,8 @@ @using Microsoft.AspNetCore.Authentication @using Microsoft.AspNetCore.Identity -@using OpenArchival.Blazor.Data +@using MyAppName.WebApp.Components.Account +@using OpenArchival.DataAccess @inject UserManager UserManager @inject SignInManager SignInManager @@ -47,7 +48,7 @@ @if (otherLogins?.Count > 0) {

Add another service to log in.

- +
diff --git a/OpenArchival.Blazor/Components/Account/Pages/Manage/GenerateRecoveryCodes.razor b/OpenArchival.Blazor/Components/Account/Pages/Manage/GenerateRecoveryCodes.razor index 728b69a..24af3a5 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/Manage/GenerateRecoveryCodes.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/Manage/GenerateRecoveryCodes.razor @@ -1,7 +1,8 @@ @page "/Account/Manage/GenerateRecoveryCodes" @using Microsoft.AspNetCore.Identity -@using OpenArchival.Blazor.Data +@using MyAppName.WebApp.Components.Account +@using OpenArchival.DataAccess @inject UserManager UserManager @inject IdentityUserAccessor UserAccessor diff --git a/OpenArchival.Blazor/Components/Account/Pages/Manage/Index.razor b/OpenArchival.Blazor/Components/Account/Pages/Manage/Index.razor index b7dacb3..ce00408 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/Manage/Index.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/Manage/Index.razor @@ -2,7 +2,8 @@ @using System.ComponentModel.DataAnnotations @using Microsoft.AspNetCore.Identity -@using OpenArchival.Blazor.Data +@using MyAppName.WebApp.Components.Account +@using OpenArchival.DataAccess @inject UserManager UserManager @inject SignInManager SignInManager @@ -11,27 +12,27 @@ Profile -Profile - +

Profile

- - - - - - - - - - - - Save - - - +
+
+ + + +
+ + +
+
+ + + +
+ +
+
+
@code { private ApplicationUser user = default!; diff --git a/OpenArchival.Blazor/Components/Account/Pages/Manage/PersonalData.razor b/OpenArchival.Blazor/Components/Account/Pages/Manage/PersonalData.razor index 5f3c009..3ee11c8 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/Manage/PersonalData.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/Manage/PersonalData.razor @@ -1,34 +1,28 @@ @page "/Account/Manage/PersonalData" +@using MyAppName.WebApp.Components.Account @inject IdentityUserAccessor UserAccessor Personal Data -Personal data - +

Personal Data

- - - - Your account contains personal data that you have given us. This page allows you to download or delete that data. - - - - - Deleting this data will permanently remove your account, and this cannot be recovered. - - - +
+
+

Your account contains personal data that you have given us. This page allows you to download or delete that data.

+

+ Deleting this data will permanently remove your account, and this cannot be recovered. +

- Download + - - - Delete - - +

+ Delete +

+
+
@code { [CascadingParameter] diff --git a/OpenArchival.Blazor/Components/Account/Pages/Manage/ResetAuthenticator.razor b/OpenArchival.Blazor/Components/Account/Pages/Manage/ResetAuthenticator.razor index 2729e6b..a2448a6 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/Manage/ResetAuthenticator.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/Manage/ResetAuthenticator.razor @@ -1,7 +1,8 @@ @page "/Account/Manage/ResetAuthenticator" @using Microsoft.AspNetCore.Identity -@using OpenArchival.Blazor.Data +@using MyAppName.WebApp.Components.Account +@using OpenArchival.DataAccess @inject UserManager UserManager @inject SignInManager SignInManager @@ -11,24 +12,24 @@ Reset authenticator key -Reset authenticator key - - - - If you reset your authenticator key your authenticator app will not work until you reconfigure it. - - - - This process disables 2FA until you verify your authenticator app. - If you do not complete your authenticator app configuration you may lose access to your account. - - -
- - - Reset authenticator key - +

Reset authenticator key

+ +
+
+ + + +
@code { [CascadingParameter] diff --git a/OpenArchival.Blazor/Components/Account/Pages/Manage/SetPassword.razor b/OpenArchival.Blazor/Components/Account/Pages/Manage/SetPassword.razor index 4aa78dd..e0b11db 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/Manage/SetPassword.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/Manage/SetPassword.razor @@ -2,7 +2,8 @@ @using System.ComponentModel.DataAnnotations @using Microsoft.AspNetCore.Identity -@using OpenArchival.Blazor.Data +@using MyAppName.WebApp.Components.Account +@using OpenArchival.DataAccess @inject UserManager UserManager @inject SignInManager SignInManager diff --git a/OpenArchival.Blazor/Components/Account/Pages/Manage/TwoFactorAuthentication.razor b/OpenArchival.Blazor/Components/Account/Pages/Manage/TwoFactorAuthentication.razor index f411e80..b093fb0 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/Manage/TwoFactorAuthentication.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/Manage/TwoFactorAuthentication.razor @@ -2,7 +2,8 @@ @using Microsoft.AspNetCore.Http.Features @using Microsoft.AspNetCore.Identity -@using OpenArchival.Blazor.Data +@using MyAppName.WebApp.Components.Account +@using OpenArchival.DataAccess @inject UserManager UserManager @inject SignInManager SignInManager @@ -11,72 +12,63 @@ Two-factor authentication (2FA) -Two-factor authentication (2FA) - - +

Two-factor authentication (2FA)

@if (canTrack) { if (is2faEnabled) { if (recoveryCodesLeft == 0) { - You have no recovery codes left. - - - You must generate a new set of recovery codes - before you can log in with a recovery code. - +
+ You have no recovery codes left. +

You must generate a new set of recovery codes before you can log in with a recovery code.

+
} else if (recoveryCodesLeft == 1) { - You have 1 recovery code left. - - - You can generate a new set of recovery codes. - +
+ You have 1 recovery code left. +

You can generate a new set of recovery codes.

+
} else if (recoveryCodesLeft <= 3) { - You have @recoveryCodesLeft recovery codes left. - - - You should generate a new set of recovery codes. - +
+ You have @recoveryCodesLeft recovery codes left. +

You should generate a new set of recovery codes.

+
} if (isMachineRemembered) {
- - Forget this browser + } - Disable 2FA
- Reset recovery codes + Disable 2FA + Reset recovery codes } - Authenticator app - +

Authenticator app

@if (!hasAuthenticator) { - Add authenticator app
+ Add authenticator app } else { - Set up authenticator app
- Reset authenticator app + Set up authenticator app + Reset authenticator app } } else { - Privacy and cookie policy have not been accepted. - - - You must accept the policy before you can enable two factor authentication. - +
+ Privacy and cookie policy have not been accepted. +

You must accept the policy before you can enable two factor authentication.

+
} @code { diff --git a/OpenArchival.Blazor/Components/Account/Pages/Manage/_Imports.razor b/OpenArchival.Blazor/Components/Account/Pages/Manage/_Imports.razor index ada5bb0..0bf10c9 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/Manage/_Imports.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/Manage/_Imports.razor @@ -1,2 +1,3 @@ -@layout ManageLayout +@using OpenArchival.Blazor.Components.Account.Shared +@layout ManageLayout @attribute [Microsoft.AspNetCore.Authorization.Authorize] diff --git a/OpenArchival.Blazor/Components/Account/Pages/Register.razor b/OpenArchival.Blazor/Components/Account/Pages/Register.razor index a7af505..568bc94 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/Register.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/Register.razor @@ -5,7 +5,8 @@ @using System.Text.Encodings.Web @using Microsoft.AspNetCore.Identity @using Microsoft.AspNetCore.WebUtilities -@using OpenArchival.Blazor.Data +@using MyAppName.WebApp.Components.Account +@using OpenArchival.DataAccess @inject UserManager UserManager @inject IUserStore UserStore @@ -17,43 +18,42 @@ Register -Register +

Register

- - +
+
- - Create a new account. - - - - - - - - - - - - - Register - - +

Create a new account.

+
+ +
+ + + +
+
+ + + +
+
+ + + +
+
- - - Use another service to register. - - - +
+
+
+

Use another service to register.

+
+ +
+
+
@code { private IEnumerable? identityErrors; @@ -73,8 +73,9 @@ await UserStore.SetUserNameAsync(user, Input.Email, CancellationToken.None); var emailStore = GetEmailStore(); await emailStore.SetEmailAsync(user, Input.Email, CancellationToken.None); - var result = await UserManager.CreateAsync(user, Input.Password); + await UserManager.AddToRoleAsync(user, "User"); + var result = await UserManager.CreateAsync(user, Input.Password); if (!result.Succeeded) { identityErrors = result.Errors; @@ -103,7 +104,7 @@ RedirectManager.RedirectTo(ReturnUrl); } - private static ApplicationUser CreateUser() + private ApplicationUser CreateUser() { try { diff --git a/OpenArchival.Blazor/Components/Account/Pages/RegisterConfirmation.razor b/OpenArchival.Blazor/Components/Account/Pages/RegisterConfirmation.razor index cf7317f..626bab0 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/RegisterConfirmation.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/RegisterConfirmation.razor @@ -3,7 +3,8 @@ @using System.Text @using Microsoft.AspNetCore.Identity @using Microsoft.AspNetCore.WebUtilities -@using OpenArchival.Blazor.Data +@using MyAppName.WebApp.Components.Account +@using OpenArchival.DataAccess @inject UserManager UserManager @inject IEmailSender EmailSender @@ -19,8 +20,8 @@ @if (emailConfirmationLink is not null) {

- This app does not currently have a real email sender registered, see these docs for how to configure a real email sender. - Normally this would be emailed: Click here to confirm your account + This app does not currently have a real email sender registered, see these docs for how to configure a real email sender. + Normally this would be emailed: Click here to confirm your account

} else diff --git a/OpenArchival.Blazor/Components/Account/Pages/ResendEmailConfirmation.razor b/OpenArchival.Blazor/Components/Account/Pages/ResendEmailConfirmation.razor index 407b07e..a6e3b96 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/ResendEmailConfirmation.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/ResendEmailConfirmation.razor @@ -5,7 +5,8 @@ @using System.Text.Encodings.Web @using Microsoft.AspNetCore.Identity @using Microsoft.AspNetCore.WebUtilities -@using OpenArchival.Blazor.Data +@using MyAppName.WebApp.Components.Account +@using OpenArchival.DataAccess @inject UserManager UserManager @inject IEmailSender EmailSender @@ -14,26 +15,24 @@ Resend email confirmation -Resend email confirmation - -Enter your email. - +

Resend email confirmation

+

Enter your email.

+
- - - - - - - - - - Resend - - - +
+
+ + + +
+ + + +
+ +
+
+
@code { private string? message; diff --git a/OpenArchival.Blazor/Components/Account/Pages/ResetPassword.razor b/OpenArchival.Blazor/Components/Account/Pages/ResetPassword.razor index d2643a5..df42934 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/ResetPassword.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/ResetPassword.razor @@ -4,7 +4,8 @@ @using System.Text @using Microsoft.AspNetCore.Identity @using Microsoft.AspNetCore.WebUtilities -@using OpenArchival.Blazor.Data +@using MyAppName.WebApp.Components.Account +@using OpenArchival.DataAccess @inject IdentityRedirectManager RedirectManager @inject UserManager UserManager @@ -13,7 +14,7 @@

Reset password

Reset your password.

- +
diff --git a/OpenArchival.Blazor/Components/Account/Pages/ResetPasswordConfirmation.razor b/OpenArchival.Blazor/Components/Account/Pages/ResetPasswordConfirmation.razor index 2554ddb..247e96e 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/ResetPasswordConfirmation.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/ResetPasswordConfirmation.razor @@ -3,5 +3,5 @@

Reset password confirmation

- Your password has been reset. Please click here to log in. + Your password has been reset. Please click here to log in.

diff --git a/OpenArchival.Blazor/Components/Account/Pages/_Imports.razor b/OpenArchival.Blazor/Components/Account/Pages/_Imports.razor index 2ec20b6..1643a07 100644 --- a/OpenArchival.Blazor/Components/Account/Pages/_Imports.razor +++ b/OpenArchival.Blazor/Components/Account/Pages/_Imports.razor @@ -1,3 +1,2 @@ -@using MudBlazor -@using OpenArchival.Blazor.Components.Account.Shared +@using OpenArchival.Blazor.Components.Account.Shared @attribute [ExcludeFromInteractiveRouting] diff --git a/OpenArchival.Blazor/Components/Account/Shared/ExternalLoginPicker.razor b/OpenArchival.Blazor/Components/Account/Shared/ExternalLoginPicker.razor index 580ae81..28892f4 100644 --- a/OpenArchival.Blazor/Components/Account/Shared/ExternalLoginPicker.razor +++ b/OpenArchival.Blazor/Components/Account/Shared/ExternalLoginPicker.razor @@ -1,18 +1,19 @@ @using Microsoft.AspNetCore.Authentication @using Microsoft.AspNetCore.Identity -@using MudBlazor -@using OpenArchival.Blazor.Data +@using MyAppName.WebApp.Components.Account +@using OpenArchival.DataAccess @inject SignInManager SignInManager @inject IdentityRedirectManager RedirectManager @if (externalLogins.Length == 0) { - There are no external authentication services configured. - - See this article - about setting up this ASP.NET application to support logging in via external services - +
+

+ There are no external authentication services configured. See this article + about setting up this ASP.NET application to support logging in via external services. +

+
} else { diff --git a/OpenArchival.Blazor/Components/Account/Shared/ManageLayout.razor b/OpenArchival.Blazor/Components/Account/Shared/ManageLayout.razor index 73a19b7..e8113d3 100644 --- a/OpenArchival.Blazor/Components/Account/Shared/ManageLayout.razor +++ b/OpenArchival.Blazor/Components/Account/Shared/ManageLayout.razor @@ -1,14 +1,18 @@ -@inherits LayoutComponentBase -@layout OpenArchival.Blazor.Components.Layout.MainLayout +@using OpenArchival.Blazor.Components.Layout +@inherits LayoutComponentBase +@layout MainLayout -Manage your account +

Manage your account

- - - Change your account settings - - - - @Body - - +
+

Change your account settings

+
+
+
+ +
+
+ @Body +
+
+
diff --git a/OpenArchival.Blazor/Components/Account/Shared/ManageNavMenu.razor b/OpenArchival.Blazor/Components/Account/Shared/ManageNavMenu.razor index 9a0b7be..64808c0 100644 --- a/OpenArchival.Blazor/Components/Account/Shared/ManageNavMenu.razor +++ b/OpenArchival.Blazor/Components/Account/Shared/ManageNavMenu.razor @@ -1,19 +1,31 @@ @using Microsoft.AspNetCore.Identity -@using OpenArchival.Blazor.Data +@using OpenArchival.DataAccess @inject SignInManager SignInManager - - Profile - Email - Password + @code { private bool hasExternalLogins; diff --git a/OpenArchival.Blazor/Components/Account/Shared/StatusMessage.razor b/OpenArchival.Blazor/Components/Account/Shared/StatusMessage.razor index 4c2821d..5b332b0 100644 --- a/OpenArchival.Blazor/Components/Account/Shared/StatusMessage.razor +++ b/OpenArchival.Blazor/Components/Account/Shared/StatusMessage.razor @@ -1,8 +1,10 @@ -@if (!string.IsNullOrEmpty(DisplayMessage)) +@using MyAppName.WebApp.Components.Account +@if (!string.IsNullOrEmpty(DisplayMessage)) { - var severity = DisplayMessage.StartsWith("Error") ? Severity.Error : Severity.Success; - - @DisplayMessage + var statusMessageClass = DisplayMessage.StartsWith("Error") ? "danger" : "success"; + } @code { diff --git a/OpenArchival.Blazor/Components/CustomComponents/UploadDropBox.razor b/OpenArchival.Blazor/Components/CustomComponents/UploadDropBox.razor index 81954e2..fc91d7a 100644 --- a/OpenArchival.Blazor/Components/CustomComponents/UploadDropBox.razor +++ b/OpenArchival.Blazor/Components/CustomComponents/UploadDropBox.razor @@ -1,5 +1,4 @@ @using Microsoft.Extensions.Options -TODO: Handle the case in which there are duplicate file names