From 94eb8e2fffd1691bdc92a7b16d509b879a7930f4 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sun, 5 Jul 2026 17:22:57 +0100 Subject: [PATCH 01/19] refacto name spaces --- Directory.Build.props | 11 + GitVersion.yml | 5 - README.md | 4 +- isn.sln | 202 ++++----- src/Directory.Build.props | 11 + src/isn.abst/isn.abst.csproj | 15 - src/{isn.abst => isn.abstract}/ApiConfig.cs | 4 +- .../ApiIndexViewModel.cs | 2 +- src/{isn.abst => isn.abstract}/Constants.cs | 2 +- .../HappyIdOwner.cs | 0 src/{isn.abst => isn.abstract}/Resource.cs | 2 +- .../SafeNameAttribute.cs | 0 .../bin/Debug/net10.0/isn.abst.deps.json | 41 ++ .../bin/Debug/net10.0/isn.abst.dll | Bin 0 -> 7168 bytes .../bin/Debug/net10.0/isn.abst.pdb | Bin 0 -> 12588 bytes .../bin/Debug/net10.0/isn.abst.xml | 8 + .../bin/Debug/net10.0/isn.abstract.deps.json | 41 ++ .../bin/Debug/net10.0/isn.abstract.dll | Bin 0 -> 7680 bytes .../bin/Debug/net10.0/isn.abstract.pdb | Bin 0 -> 12008 bytes .../bin/Debug/net10.0/isn.abstract.xml | 8 + .../bin/Release/net7.0/isn.abst.deps.json | 41 ++ .../bin/Release/net7.0/isn.abst.dll | Bin 0 -> 7168 bytes .../bin/Release/net7.0/isn.abst.pdb | Bin 0 -> 12168 bytes src/isn.abstract/isn.abstract.csproj | 13 + ...oreApp,Version=v10.0.AssemblyAttributes.cs | 4 + .../Debug/net10.0/isn.abst.AssemblyInfo.cs | 23 + .../net10.0/isn.abst.AssemblyInfoInputs.cache | 1 + ....GeneratedMSBuildEditorConfig.editorconfig | 18 + .../obj/Debug/net10.0/isn.abst.assets.cache | Bin 0 -> 861 bytes .../isn.abst.csproj.AssemblyReference.cache | Bin 0 -> 430 bytes .../isn.abst.csproj.CoreCompileInputs.cache | 1 + .../isn.abst.csproj.FileListAbsolute.txt | 14 + .../obj/Debug/net10.0/isn.abst.dll | Bin 0 -> 7168 bytes .../obj/Debug/net10.0/isn.abst.pdb | Bin 0 -> 12588 bytes .../obj/Debug/net10.0/isn.abst.xml | 8 + .../net10.0/isn.abstract.AssemblyInfo.cs | 23 + .../isn.abstract.AssemblyInfoInputs.cache | 1 + ....GeneratedMSBuildEditorConfig.editorconfig | 18 + .../Debug/net10.0/isn.abstract.assets.cache | Bin 0 -> 861 bytes ...sn.abstract.csproj.AssemblyReference.cache | Bin 0 -> 430 bytes ...sn.abstract.csproj.CoreCompileInputs.cache | 1 + .../isn.abstract.csproj.FileListAbsolute.txt | 14 + .../obj/Debug/net10.0/isn.abstract.dll | Bin 0 -> 7680 bytes .../obj/Debug/net10.0/isn.abstract.pdb | Bin 0 -> 12008 bytes .../obj/Debug/net10.0/isn.abstract.xml | 8 + .../obj/Debug/net10.0/ref/isn.abst.dll | Bin 0 -> 6656 bytes .../obj/Debug/net10.0/ref/isn.abstract.dll | Bin 0 -> 7168 bytes .../obj/Debug/net10.0/refint/isn.abst.dll | Bin 0 -> 6656 bytes .../obj/Debug/net10.0/refint/isn.abstract.dll | Bin 0 -> 7168 bytes ...CoreApp,Version=v7.0.AssemblyAttributes.cs | 4 + .../Release/net7.0/isn.abst.AssemblyInfo.cs | 23 + .../net7.0/isn.abst.AssemblyInfoInputs.cache | 1 + ....GeneratedMSBuildEditorConfig.editorconfig | 18 + .../obj/Release/net7.0/isn.abst.assets.cache | Bin 0 -> 1133 bytes .../isn.abst.csproj.AssemblyReference.cache | Bin 0 -> 438 bytes .../isn.abst.csproj.CoreCompileInputs.cache | 1 + .../isn.abst.csproj.FileListAbsolute.txt | 12 + .../obj/Release/net7.0/isn.abst.dll | Bin 0 -> 7168 bytes .../obj/Release/net7.0/isn.abst.pdb | Bin 0 -> 12168 bytes .../obj/Release/net7.0/ref/isn.abst.dll | Bin 0 -> 7168 bytes .../obj/Release/net7.0/refint/isn.abst.dll | Bin 0 -> 7168 bytes .../obj/isn.abst.csproj.nuget.dgspec.json | 351 +++++++++++++++ .../obj/isn.abst.csproj.nuget.g.props | 15 + .../obj/isn.abst.csproj.nuget.g.targets | 2 + .../obj/isn.abstract.csproj.nuget.dgspec.json | 351 +++++++++++++++ .../obj/isn.abstract.csproj.nuget.g.props | 15 + .../obj/isn.abstract.csproj.nuget.g.targets | 2 + src/isn.abstract/obj/project.assets.json | 403 ++++++++++++++++++ src/isn.abstract/obj/project.nuget.cache | 10 + src/isn/Constants.cs | 2 +- src/isn/IDataProtector.cs | 2 +- src/isn/IsnSourceSettings.cs | 2 +- src/isn/IsndErrorMessage.cs | 2 +- src/isn/Program.cs | 2 +- src/isn/Settings.cs | 2 +- src/isn/SourceHelpers.cs | 4 +- src/isn/UploadFilesToServerUsingHttpClient.cs | 2 +- src/isn/UploadFilesToServerUsingWebRequest.cs | 2 +- src/isn/commands/PushCommand.cs | 2 +- src/isn/commands/push.cs | 2 +- src/isn/commands/set-api-key.cs | 2 +- src/isn/commands/show.config.cs | 2 +- src/isn/commands/sources.add.cs | 2 +- src/isn/commands/sources.list.cs | 2 +- src/isn/commands/sources.set-default.cs | 2 +- src/isn/isn.csproj | 26 +- src/isn/model/PushReport.cs | 2 +- src/isnd/Controllers/HomeController.cs | 42 +- src/isnd/Controllers/Packages/ApiIndex.cs | 5 +- .../PackagesController.AutoComplete.cs | 2 +- .../Packages/PackagesController.Catalog.cs | 2 +- .../Packages/PackagesController.Delete.cs | 2 +- .../Packages/PackagesController.GetPackage.cs | 4 +- .../PackagesController.GetVersions.cs | 2 +- .../Packages/PackagesController.Put.cs | 4 +- .../Packages/PackagesController.Search.cs | 2 +- .../Packages/PackagesController.cs | 21 +- src/isnd/Data/Packages/PackageVersion.cs | 2 +- src/isnd/Helpers/PackageVersionHelpers.cs | 2 +- src/isnd/Helpers/UnleashHelpers.cs | 14 +- src/isnd/Interfaces/IPackageManager.cs | 54 ++- src/isnd/Services/PackageManager.cs | 8 +- src/isnd/Startup.cs | 37 +- src/isnd/isnd.csproj | 63 ++- test/data/test-isn/test-isn.csproj | 8 +- test/isn.tests/PushTest.cs | 8 +- test/isn.tests/isn.tests.csproj | 20 +- test/isnd.tests/isnd.tests.csproj | 9 +- 108 files changed, 1841 insertions(+), 284 deletions(-) create mode 100644 Directory.Build.props delete mode 100644 GitVersion.yml create mode 100644 src/Directory.Build.props delete mode 100644 src/isn.abst/isn.abst.csproj rename src/{isn.abst => isn.abstract}/ApiConfig.cs (97%) rename src/{isn.abst => isn.abstract}/ApiIndexViewModel.cs (91%) rename src/{isn.abst => isn.abstract}/Constants.cs (92%) rename src/{isn.abst => isn.abstract}/HappyIdOwner.cs (100%) rename src/{isn.abst => isn.abstract}/Resource.cs (90%) rename src/{isn.abst => isn.abstract}/SafeNameAttribute.cs (100%) create mode 100644 src/isn.abstract/bin/Debug/net10.0/isn.abst.deps.json create mode 100644 src/isn.abstract/bin/Debug/net10.0/isn.abst.dll create mode 100644 src/isn.abstract/bin/Debug/net10.0/isn.abst.pdb create mode 100644 src/isn.abstract/bin/Debug/net10.0/isn.abst.xml create mode 100644 src/isn.abstract/bin/Debug/net10.0/isn.abstract.deps.json create mode 100644 src/isn.abstract/bin/Debug/net10.0/isn.abstract.dll create mode 100644 src/isn.abstract/bin/Debug/net10.0/isn.abstract.pdb create mode 100644 src/isn.abstract/bin/Debug/net10.0/isn.abstract.xml create mode 100644 src/isn.abstract/bin/Release/net7.0/isn.abst.deps.json create mode 100644 src/isn.abstract/bin/Release/net7.0/isn.abst.dll create mode 100644 src/isn.abstract/bin/Release/net7.0/isn.abst.pdb create mode 100644 src/isn.abstract/isn.abstract.csproj create mode 100644 src/isn.abstract/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs create mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abst.AssemblyInfo.cs create mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abst.AssemblyInfoInputs.cache create mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abst.GeneratedMSBuildEditorConfig.editorconfig create mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abst.assets.cache create mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abst.csproj.AssemblyReference.cache create mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abst.csproj.CoreCompileInputs.cache create mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abst.csproj.FileListAbsolute.txt create mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abst.dll create mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abst.pdb create mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abst.xml create mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abstract.AssemblyInfo.cs create mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abstract.AssemblyInfoInputs.cache create mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abstract.GeneratedMSBuildEditorConfig.editorconfig create mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abstract.assets.cache create mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abstract.csproj.AssemblyReference.cache create mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abstract.csproj.CoreCompileInputs.cache create mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abstract.csproj.FileListAbsolute.txt create mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abstract.dll create mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abstract.pdb create mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abstract.xml create mode 100644 src/isn.abstract/obj/Debug/net10.0/ref/isn.abst.dll create mode 100644 src/isn.abstract/obj/Debug/net10.0/ref/isn.abstract.dll create mode 100644 src/isn.abstract/obj/Debug/net10.0/refint/isn.abst.dll create mode 100644 src/isn.abstract/obj/Debug/net10.0/refint/isn.abstract.dll create mode 100644 src/isn.abstract/obj/Release/net7.0/.NETCoreApp,Version=v7.0.AssemblyAttributes.cs create mode 100644 src/isn.abstract/obj/Release/net7.0/isn.abst.AssemblyInfo.cs create mode 100644 src/isn.abstract/obj/Release/net7.0/isn.abst.AssemblyInfoInputs.cache create mode 100644 src/isn.abstract/obj/Release/net7.0/isn.abst.GeneratedMSBuildEditorConfig.editorconfig create mode 100644 src/isn.abstract/obj/Release/net7.0/isn.abst.assets.cache create mode 100644 src/isn.abstract/obj/Release/net7.0/isn.abst.csproj.AssemblyReference.cache create mode 100644 src/isn.abstract/obj/Release/net7.0/isn.abst.csproj.CoreCompileInputs.cache create mode 100644 src/isn.abstract/obj/Release/net7.0/isn.abst.csproj.FileListAbsolute.txt create mode 100644 src/isn.abstract/obj/Release/net7.0/isn.abst.dll create mode 100644 src/isn.abstract/obj/Release/net7.0/isn.abst.pdb create mode 100644 src/isn.abstract/obj/Release/net7.0/ref/isn.abst.dll create mode 100644 src/isn.abstract/obj/Release/net7.0/refint/isn.abst.dll create mode 100644 src/isn.abstract/obj/isn.abst.csproj.nuget.dgspec.json create mode 100644 src/isn.abstract/obj/isn.abst.csproj.nuget.g.props create mode 100644 src/isn.abstract/obj/isn.abst.csproj.nuget.g.targets create mode 100644 src/isn.abstract/obj/isn.abstract.csproj.nuget.dgspec.json create mode 100644 src/isn.abstract/obj/isn.abstract.csproj.nuget.g.props create mode 100644 src/isn.abstract/obj/isn.abstract.csproj.nuget.g.targets create mode 100644 src/isn.abstract/obj/project.assets.json create mode 100644 src/isn.abstract/obj/project.nuget.cache diff --git a/Directory.Build.props b/Directory.Build.props new file mode 100644 index 0000000..ff02831 --- /dev/null +++ b/Directory.Build.props @@ -0,0 +1,11 @@ + + + net10.0 + true + WTFPL + 1.0.8 + true + 85fd766d-5d23-4476-aed1-463b2942e86a + WTFPL + + \ No newline at end of file diff --git a/GitVersion.yml b/GitVersion.yml deleted file mode 100644 index 122fa7e..0000000 --- a/GitVersion.yml +++ /dev/null @@ -1,5 +0,0 @@ -mode: Mainline -branches: {} -ignore: - sha: [] -merge-message-formats: {} diff --git a/README.md b/README.md index 0e34410..8d9da00 100644 --- a/README.md +++ b/README.md @@ -55,8 +55,8 @@ sudo systemctl enable isnd ````bash sudo mkdir /usr/local/lib/isn -sudo cp -a src/isn/bin/Release/net6.0/* /usr/local/lib/isn -sudo chown -R root.root /usr/local/lib/isn +sudo cp -a src/isn/bin/Release/net7.0/* /usr/local/lib/isn +sudo chown -R root:root /usr/local/lib/isn sudo ln -s /usr/local/lib/isn/isn /usr/local/bin/isn ```` diff --git a/isn.sln b/isn.sln index 1e20c9f..41f4f70 100644 --- a/isn.sln +++ b/isn.sln @@ -1,101 +1,101 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.6.30114.105 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{3C312E42-9A47-4BED-8265-A405FCA6AFFF}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "isnd.tests", "test\isnd.tests\isnd.tests.csproj", "{9D758F00-17FF-433D-B088-F9C2D97C9BD1}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{E8A2DF68-847A-4D88-B002-64FB666F696C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "isnd", "src\isnd\isnd.csproj", "{468DB0E4-6221-4E01-BEFF-F452865E59C1}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "isn", "src\isn\isn.csproj", "{910E800A-59AE-46C4-B7C7-879986179246}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "isn.tests", "test\isn.tests\isn.tests.csproj", "{305F640E-11BA-44F9-95E0-C6882E9CD151}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "isn.abst", "src\isn.abst\isn.abst.csproj", "{4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|Any CPU = Release|Any CPU - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Debug|Any CPU.Build.0 = Debug|Any CPU - {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Debug|x64.ActiveCfg = Debug|Any CPU - {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Debug|x64.Build.0 = Debug|Any CPU - {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Debug|x86.ActiveCfg = Debug|Any CPU - {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Debug|x86.Build.0 = Debug|Any CPU - {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Release|Any CPU.ActiveCfg = Release|Any CPU - {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Release|Any CPU.Build.0 = Release|Any CPU - {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Release|x64.ActiveCfg = Release|Any CPU - {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Release|x64.Build.0 = Release|Any CPU - {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Release|x86.ActiveCfg = Release|Any CPU - {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Release|x86.Build.0 = Release|Any CPU - {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Debug|Any CPU.Build.0 = Debug|Any CPU - {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Debug|x64.ActiveCfg = Debug|Any CPU - {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Debug|x64.Build.0 = Debug|Any CPU - {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Debug|x86.ActiveCfg = Debug|Any CPU - {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Debug|x86.Build.0 = Debug|Any CPU - {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Release|Any CPU.ActiveCfg = Release|Any CPU - {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Release|Any CPU.Build.0 = Release|Any CPU - {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Release|x64.ActiveCfg = Release|Any CPU - {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Release|x64.Build.0 = Release|Any CPU - {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Release|x86.ActiveCfg = Release|Any CPU - {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Release|x86.Build.0 = Release|Any CPU - {910E800A-59AE-46C4-B7C7-879986179246}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {910E800A-59AE-46C4-B7C7-879986179246}.Debug|Any CPU.Build.0 = Debug|Any CPU - {910E800A-59AE-46C4-B7C7-879986179246}.Debug|x64.ActiveCfg = Debug|Any CPU - {910E800A-59AE-46C4-B7C7-879986179246}.Debug|x64.Build.0 = Debug|Any CPU - {910E800A-59AE-46C4-B7C7-879986179246}.Debug|x86.ActiveCfg = Debug|Any CPU - {910E800A-59AE-46C4-B7C7-879986179246}.Debug|x86.Build.0 = Debug|Any CPU - {910E800A-59AE-46C4-B7C7-879986179246}.Release|Any CPU.ActiveCfg = Release|Any CPU - {910E800A-59AE-46C4-B7C7-879986179246}.Release|Any CPU.Build.0 = Release|Any CPU - {910E800A-59AE-46C4-B7C7-879986179246}.Release|x64.ActiveCfg = Release|Any CPU - {910E800A-59AE-46C4-B7C7-879986179246}.Release|x64.Build.0 = Release|Any CPU - {910E800A-59AE-46C4-B7C7-879986179246}.Release|x86.ActiveCfg = Release|Any CPU - {910E800A-59AE-46C4-B7C7-879986179246}.Release|x86.Build.0 = Release|Any CPU - {305F640E-11BA-44F9-95E0-C6882E9CD151}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {305F640E-11BA-44F9-95E0-C6882E9CD151}.Debug|Any CPU.Build.0 = Debug|Any CPU - {305F640E-11BA-44F9-95E0-C6882E9CD151}.Debug|x64.ActiveCfg = Debug|Any CPU - {305F640E-11BA-44F9-95E0-C6882E9CD151}.Debug|x64.Build.0 = Debug|Any CPU - {305F640E-11BA-44F9-95E0-C6882E9CD151}.Debug|x86.ActiveCfg = Debug|Any CPU - {305F640E-11BA-44F9-95E0-C6882E9CD151}.Debug|x86.Build.0 = Debug|Any CPU - {305F640E-11BA-44F9-95E0-C6882E9CD151}.Release|Any CPU.ActiveCfg = Release|Any CPU - {305F640E-11BA-44F9-95E0-C6882E9CD151}.Release|Any CPU.Build.0 = Release|Any CPU - {305F640E-11BA-44F9-95E0-C6882E9CD151}.Release|x64.ActiveCfg = Release|Any CPU - {305F640E-11BA-44F9-95E0-C6882E9CD151}.Release|x64.Build.0 = Release|Any CPU - {305F640E-11BA-44F9-95E0-C6882E9CD151}.Release|x86.ActiveCfg = Release|Any CPU - {305F640E-11BA-44F9-95E0-C6882E9CD151}.Release|x86.Build.0 = Release|Any CPU - {4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7}.Debug|x64.ActiveCfg = Debug|Any CPU - {4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7}.Debug|x64.Build.0 = Debug|Any CPU - {4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7}.Debug|x86.ActiveCfg = Debug|Any CPU - {4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7}.Debug|x86.Build.0 = Debug|Any CPU - {4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7}.Release|Any CPU.Build.0 = Release|Any CPU - {4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7}.Release|x64.ActiveCfg = Release|Any CPU - {4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7}.Release|x64.Build.0 = Release|Any CPU - {4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7}.Release|x86.ActiveCfg = Release|Any CPU - {4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7}.Release|x86.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {9D758F00-17FF-433D-B088-F9C2D97C9BD1} = {3C312E42-9A47-4BED-8265-A405FCA6AFFF} - {468DB0E4-6221-4E01-BEFF-F452865E59C1} = {E8A2DF68-847A-4D88-B002-64FB666F696C} - {910E800A-59AE-46C4-B7C7-879986179246} = {E8A2DF68-847A-4D88-B002-64FB666F696C} - {305F640E-11BA-44F9-95E0-C6882E9CD151} = {3C312E42-9A47-4BED-8265-A405FCA6AFFF} - {4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7} = {E8A2DF68-847A-4D88-B002-64FB666F696C} - EndGlobalSection -EndGlobal + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.6.30114.105 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{3C312E42-9A47-4BED-8265-A405FCA6AFFF}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "isnd.tests", "test\isnd.tests\isnd.tests.csproj", "{9D758F00-17FF-433D-B088-F9C2D97C9BD1}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{E8A2DF68-847A-4D88-B002-64FB666F696C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "isnd", "src\isnd\isnd.csproj", "{468DB0E4-6221-4E01-BEFF-F452865E59C1}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "isn", "src\isn\isn.csproj", "{910E800A-59AE-46C4-B7C7-879986179246}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "isn.tests", "test\isn.tests\isn.tests.csproj", "{305F640E-11BA-44F9-95E0-C6882E9CD151}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "isn.abstract", "src\isn.abstract\isn.abstract.csproj", "{F0671F01-ADD7-47A6-8A29-1AAC8565DBE2}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Debug|x64.ActiveCfg = Debug|Any CPU + {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Debug|x64.Build.0 = Debug|Any CPU + {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Debug|x86.ActiveCfg = Debug|Any CPU + {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Debug|x86.Build.0 = Debug|Any CPU + {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Release|Any CPU.Build.0 = Release|Any CPU + {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Release|x64.ActiveCfg = Release|Any CPU + {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Release|x64.Build.0 = Release|Any CPU + {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Release|x86.ActiveCfg = Release|Any CPU + {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Release|x86.Build.0 = Release|Any CPU + {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Debug|x64.ActiveCfg = Debug|Any CPU + {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Debug|x64.Build.0 = Debug|Any CPU + {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Debug|x86.ActiveCfg = Debug|Any CPU + {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Debug|x86.Build.0 = Debug|Any CPU + {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Release|Any CPU.Build.0 = Release|Any CPU + {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Release|x64.ActiveCfg = Release|Any CPU + {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Release|x64.Build.0 = Release|Any CPU + {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Release|x86.ActiveCfg = Release|Any CPU + {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Release|x86.Build.0 = Release|Any CPU + {910E800A-59AE-46C4-B7C7-879986179246}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {910E800A-59AE-46C4-B7C7-879986179246}.Debug|Any CPU.Build.0 = Debug|Any CPU + {910E800A-59AE-46C4-B7C7-879986179246}.Debug|x64.ActiveCfg = Debug|Any CPU + {910E800A-59AE-46C4-B7C7-879986179246}.Debug|x64.Build.0 = Debug|Any CPU + {910E800A-59AE-46C4-B7C7-879986179246}.Debug|x86.ActiveCfg = Debug|Any CPU + {910E800A-59AE-46C4-B7C7-879986179246}.Debug|x86.Build.0 = Debug|Any CPU + {910E800A-59AE-46C4-B7C7-879986179246}.Release|Any CPU.ActiveCfg = Release|Any CPU + {910E800A-59AE-46C4-B7C7-879986179246}.Release|Any CPU.Build.0 = Release|Any CPU + {910E800A-59AE-46C4-B7C7-879986179246}.Release|x64.ActiveCfg = Release|Any CPU + {910E800A-59AE-46C4-B7C7-879986179246}.Release|x64.Build.0 = Release|Any CPU + {910E800A-59AE-46C4-B7C7-879986179246}.Release|x86.ActiveCfg = Release|Any CPU + {910E800A-59AE-46C4-B7C7-879986179246}.Release|x86.Build.0 = Release|Any CPU + {305F640E-11BA-44F9-95E0-C6882E9CD151}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {305F640E-11BA-44F9-95E0-C6882E9CD151}.Debug|Any CPU.Build.0 = Debug|Any CPU + {305F640E-11BA-44F9-95E0-C6882E9CD151}.Debug|x64.ActiveCfg = Debug|Any CPU + {305F640E-11BA-44F9-95E0-C6882E9CD151}.Debug|x64.Build.0 = Debug|Any CPU + {305F640E-11BA-44F9-95E0-C6882E9CD151}.Debug|x86.ActiveCfg = Debug|Any CPU + {305F640E-11BA-44F9-95E0-C6882E9CD151}.Debug|x86.Build.0 = Debug|Any CPU + {305F640E-11BA-44F9-95E0-C6882E9CD151}.Release|Any CPU.ActiveCfg = Release|Any CPU + {305F640E-11BA-44F9-95E0-C6882E9CD151}.Release|Any CPU.Build.0 = Release|Any CPU + {305F640E-11BA-44F9-95E0-C6882E9CD151}.Release|x64.ActiveCfg = Release|Any CPU + {305F640E-11BA-44F9-95E0-C6882E9CD151}.Release|x64.Build.0 = Release|Any CPU + {305F640E-11BA-44F9-95E0-C6882E9CD151}.Release|x86.ActiveCfg = Release|Any CPU + {305F640E-11BA-44F9-95E0-C6882E9CD151}.Release|x86.Build.0 = Release|Any CPU + {F0671F01-ADD7-47A6-8A29-1AAC8565DBE2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F0671F01-ADD7-47A6-8A29-1AAC8565DBE2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F0671F01-ADD7-47A6-8A29-1AAC8565DBE2}.Debug|x64.ActiveCfg = Debug|Any CPU + {F0671F01-ADD7-47A6-8A29-1AAC8565DBE2}.Debug|x64.Build.0 = Debug|Any CPU + {F0671F01-ADD7-47A6-8A29-1AAC8565DBE2}.Debug|x86.ActiveCfg = Debug|Any CPU + {F0671F01-ADD7-47A6-8A29-1AAC8565DBE2}.Debug|x86.Build.0 = Debug|Any CPU + {F0671F01-ADD7-47A6-8A29-1AAC8565DBE2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F0671F01-ADD7-47A6-8A29-1AAC8565DBE2}.Release|Any CPU.Build.0 = Release|Any CPU + {F0671F01-ADD7-47A6-8A29-1AAC8565DBE2}.Release|x64.ActiveCfg = Release|Any CPU + {F0671F01-ADD7-47A6-8A29-1AAC8565DBE2}.Release|x64.Build.0 = Release|Any CPU + {F0671F01-ADD7-47A6-8A29-1AAC8565DBE2}.Release|x86.ActiveCfg = Release|Any CPU + {F0671F01-ADD7-47A6-8A29-1AAC8565DBE2}.Release|x86.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {9D758F00-17FF-433D-B088-F9C2D97C9BD1} = {3C312E42-9A47-4BED-8265-A405FCA6AFFF} + {468DB0E4-6221-4E01-BEFF-F452865E59C1} = {E8A2DF68-847A-4D88-B002-64FB666F696C} + {910E800A-59AE-46C4-B7C7-879986179246} = {E8A2DF68-847A-4D88-B002-64FB666F696C} + {305F640E-11BA-44F9-95E0-C6882E9CD151} = {3C312E42-9A47-4BED-8265-A405FCA6AFFF} + {F0671F01-ADD7-47A6-8A29-1AAC8565DBE2} = {E8A2DF68-847A-4D88-B002-64FB666F696C} + EndGlobalSection +EndGlobal diff --git a/src/Directory.Build.props b/src/Directory.Build.props new file mode 100644 index 0000000..a0a3b95 --- /dev/null +++ b/src/Directory.Build.props @@ -0,0 +1,11 @@ + + + net10.0 + true + WTFPL + 1.0.8 + true + 85fd766d-5d23-4476-aed1-463b2942e86a + WTFPL + + \ No newline at end of file diff --git a/src/isn.abst/isn.abst.csproj b/src/isn.abst/isn.abst.csproj deleted file mode 100644 index 411e36d..0000000 --- a/src/isn.abst/isn.abst.csproj +++ /dev/null @@ -1,15 +0,0 @@ - - - 1.0.1 - 1.0.7 - net7.0 - NETSDK1138 - 1.0.7.0 - 1.0.7.0 - 1.0.7+Branch.main.Sha.3695c1742965d93eba0ad851656cfaa3e44ba327 - - - - - - \ No newline at end of file diff --git a/src/isn.abst/ApiConfig.cs b/src/isn.abstract/ApiConfig.cs similarity index 97% rename from src/isn.abst/ApiConfig.cs rename to src/isn.abstract/ApiConfig.cs index 42d9633..9ad590c 100644 --- a/src/isn.abst/ApiConfig.cs +++ b/src/isn.abstract/ApiConfig.cs @@ -1,4 +1,6 @@ -using isn.abst; + + +using Isn.Abstract; namespace isnd.Entities { diff --git a/src/isn.abst/ApiIndexViewModel.cs b/src/isn.abstract/ApiIndexViewModel.cs similarity index 91% rename from src/isn.abst/ApiIndexViewModel.cs rename to src/isn.abstract/ApiIndexViewModel.cs index a8e9709..7034ae9 100644 --- a/src/isn.abst/ApiIndexViewModel.cs +++ b/src/isn.abstract/ApiIndexViewModel.cs @@ -1,7 +1,7 @@ using isnd.Data.Catalog; using Newtonsoft.Json; -namespace isn.Abstract +namespace Isn.Abstract { public class ApiIndexViewModel : HappyIdOwner { diff --git a/src/isn.abst/Constants.cs b/src/isn.abstract/Constants.cs similarity index 92% rename from src/isn.abst/Constants.cs rename to src/isn.abstract/Constants.cs index 59ab714..01d2914 100644 --- a/src/isn.abst/Constants.cs +++ b/src/isn.abstract/Constants.cs @@ -1,4 +1,4 @@ -namespace isn.abst +namespace Isn.Abstract { public static class Constants { diff --git a/src/isn.abst/HappyIdOwner.cs b/src/isn.abstract/HappyIdOwner.cs similarity index 100% rename from src/isn.abst/HappyIdOwner.cs rename to src/isn.abstract/HappyIdOwner.cs diff --git a/src/isn.abst/Resource.cs b/src/isn.abstract/Resource.cs similarity index 90% rename from src/isn.abst/Resource.cs rename to src/isn.abstract/Resource.cs index ab069a5..da21eff 100644 --- a/src/isn.abst/Resource.cs +++ b/src/isn.abstract/Resource.cs @@ -1,7 +1,7 @@ using isnd.Data.Catalog; using Newtonsoft.Json; -namespace isn.Abstract +namespace Isn.Abstract { public class Resource : HappyIdOwner { diff --git a/src/isn.abst/SafeNameAttribute.cs b/src/isn.abstract/SafeNameAttribute.cs similarity index 100% rename from src/isn.abst/SafeNameAttribute.cs rename to src/isn.abstract/SafeNameAttribute.cs diff --git a/src/isn.abstract/bin/Debug/net10.0/isn.abst.deps.json b/src/isn.abstract/bin/Debug/net10.0/isn.abst.deps.json new file mode 100644 index 0000000..393a248 --- /dev/null +++ b/src/isn.abstract/bin/Debug/net10.0/isn.abst.deps.json @@ -0,0 +1,41 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v10.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v10.0": { + "isn.abst/1.0.0": { + "dependencies": { + "Newtonsoft.Json": "13.0.4" + }, + "runtime": { + "isn.abst.dll": {} + } + }, + "Newtonsoft.Json/13.0.4": { + "runtime": { + "lib/net6.0/Newtonsoft.Json.dll": { + "assemblyVersion": "13.0.0.0", + "fileVersion": "13.0.4.30916" + } + } + } + } + }, + "libraries": { + "isn.abst/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Newtonsoft.Json/13.0.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pdgNNMai3zv51W5aq268sujXUyx7SNdE2bj1wZcWjAQrKMFZV260lbqYop1d2GM67JI1huLRwxo9ZqnfF/lC6A==", + "path": "newtonsoft.json/13.0.4", + "hashPath": "newtonsoft.json.13.0.4.nupkg.sha512" + } + } +} \ No newline at end of file diff --git a/src/isn.abstract/bin/Debug/net10.0/isn.abst.dll b/src/isn.abstract/bin/Debug/net10.0/isn.abst.dll new file mode 100644 index 0000000000000000000000000000000000000000..10e52c62072d3b55a2b017500147cc7868391717 GIT binary patch literal 7168 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 L{;&2~iNJpVfx+Yj literal 0 HcmV?d00001 diff --git a/src/isn.abstract/bin/Debug/net10.0/isn.abst.pdb b/src/isn.abstract/bin/Debug/net10.0/isn.abst.pdb new file mode 100644 index 0000000000000000000000000000000000000000..6d212a29c6f60ac81d3cdfd9e2756027d9dc0d23 GIT binary patch literal 12588 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 UBfw)Mo-h=?0zSeKw8tU;2VpUI8UO$Q literal 0 HcmV?d00001 diff --git a/src/isn.abstract/bin/Debug/net10.0/isn.abst.xml b/src/isn.abstract/bin/Debug/net10.0/isn.abst.xml new file mode 100644 index 0000000..60dd76d --- /dev/null +++ b/src/isn.abstract/bin/Debug/net10.0/isn.abst.xml @@ -0,0 +1,8 @@ + + + + isn.abst + + + + diff --git a/src/isn.abstract/bin/Debug/net10.0/isn.abstract.deps.json b/src/isn.abstract/bin/Debug/net10.0/isn.abstract.deps.json new file mode 100644 index 0000000..7ed81f6 --- /dev/null +++ b/src/isn.abstract/bin/Debug/net10.0/isn.abstract.deps.json @@ -0,0 +1,41 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v10.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v10.0": { + "isn.abstract/1.0.0": { + "dependencies": { + "Newtonsoft.Json": "13.0.4" + }, + "runtime": { + "isn.abstract.dll": {} + } + }, + "Newtonsoft.Json/13.0.4": { + "runtime": { + "lib/net6.0/Newtonsoft.Json.dll": { + "assemblyVersion": "13.0.0.0", + "fileVersion": "13.0.4.30916" + } + } + } + } + }, + "libraries": { + "isn.abstract/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Newtonsoft.Json/13.0.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pdgNNMai3zv51W5aq268sujXUyx7SNdE2bj1wZcWjAQrKMFZV260lbqYop1d2GM67JI1huLRwxo9ZqnfF/lC6A==", + "path": "newtonsoft.json/13.0.4", + "hashPath": "newtonsoft.json.13.0.4.nupkg.sha512" + } + } +} \ No newline at end of file diff --git a/src/isn.abstract/bin/Debug/net10.0/isn.abstract.dll b/src/isn.abstract/bin/Debug/net10.0/isn.abstract.dll new file mode 100644 index 0000000000000000000000000000000000000000..78bfced4fc9ae4bd4e4b205e2d357653e41d5d9a GIT binary patch literal 7680 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 literal 0 HcmV?d00001 diff --git a/src/isn.abstract/bin/Debug/net10.0/isn.abstract.pdb b/src/isn.abstract/bin/Debug/net10.0/isn.abstract.pdb new file mode 100644 index 0000000000000000000000000000000000000000..0678492d48571e9a62b7fd3dde6d4a65e97a5dbe GIT binary patch literal 12008 zcmaJ{2Uru!7T$ywY!tzcpeP_pXwvkmBq7v5kN_eUNZCL%Bq0eUHkuVdP!I&ff`B3@ zh}VXwsMtGp@mjEfilROR%f&a7WFZtU-#2V__xz{L%$YN1hs^LM;}9GI{|15P??yI> zwI$lfA0V2@GVmi3G*f>L3qE@ZT09=yuRxIbY6^@gLn`J8A|&vABzUF{uBJf@gb#j; z;BSv0FE?;~4CyC>doo`LnZ2C7!E)rNee@F}SKeP(qo%iPz~vI~7@1>Kq^&&wk!v*q z+!H_>3ED8wppK(J(*w;6G$;$G12jdDfuKQ4V1v)G-{2>tQ5cC-!dvjSQqC9hGyo0q zfOu`toB$~aJc$F>Byg<+*BWqr2d>}1)f9(Ah&VjL0aqcoHh}93a2*kX&_~w)q{2gvLw&}SGw_+CqeAM`PNhP{XUpl`5y z_zvoT-NW|^|98uSeWm(-u*yBe4*?Rf_iS*l3pn7x6ZoeKnx4u%?x8*K59*1@z#$2sUogLMETMlCKFPI&`ayf4jpo2FbMWTCe^=Gn zfFlF{0{joc*Wok~fn^;|3t3`mg4aYUEM39>7Rzw?ZvYgFgseq~L@EZq!Jp2}No$Yl z4JEHxA2(!GZpE+;*6dm5wQlQWGLSm@F8t0~DKV?8G2SiRUB_;B&B5Cm?>i6OOiS_3 zdF0ModEDm#!NYfjKzlxI|D!9qHH)N!_XLE+oZEPk`u980?IMj(m^BrOJ0r+LhE99VjRXoeYA@N`He;W=qepT1_@j2k*PQq=cE%VZw|96RqYzw2YjRygt5-C$4 zl>poTOm1S434b3t_V@Ua_M3j(cz4k86z5Y|sx_f}>K)r8!dioOZNqdtnIe(Qi$jkS zpyD3bMiZUm8ySC13cj2=Z<^Hd_Bz%B*-f{bc~hQDO}98v|H5Fqfn9*#5-1uv?l|) z39Zs6Z}@pf+lST>{+}YQ>5Mt>%vCh^Fj0N~-g)zH(I=~c(V*dmvSK2%1gO;3hG=6= z^rHq+gkqE=5={w4#S)%SFe4VeA(A8#G>XNSbqRwm(#2eql$n&Bl%G^&(!O=n!?Ito zdIKGUzMeYt+s`(#W#8kEZS%60Y2~!NpZac$YBzT=^%8J}ec2_eo9w!5Z2Dq!xM7>c zVshC|DA%54V{41>nSzKI zW(0~*Oc6x~S#bexE4DC3AVr)JVT@E1Beh!06L1hWnSdF^V>9`D8I31cjB;o^mY6A) zAwrRq7sXq`lmbs89O!E+5kE$Pi1;p$9Lr;a z#SAmR78qb-%VxSvwY8h-Jk{2o?d0NYZ^yCYa#$QE8y61KhCS8Z+0ov?zRQ4arc=Q} z%0an20g40$kSNqCZd7uR#}v@%u-V##*}yA>9zZ4e`@^3OVK!m(fG`j6AdngWpE&k; z;?(DfbDt+JeV#yJy;v*d+Wz^4ZT|?nKOyYG{)n*apOyWeSlRbrg%q#w<*~&=iI6KL zQW%j;v53gw^TGPUSTZ~pNkkA~oWHlp*2}a^9nbcXSab7k@?f4MhRG*0B|J6}&NU_Q zO8)z^hzSlES~7teMac5qLe#uBp)z7=|3HN>?bpx0Kw(>`l-$jO3cWVfMSmJ|qm|c< znZpy<+Y$Z6U=T`qv8Y5TY)ZK7I0R<+m2BmVZSmgc(6W8unaruZfdOa)4}@fy5*FL= z>l?BItb`NesisNm$jK&?>Sqs{CX14=gTrnI_}s#;(KWO@?tpVC6U;yRp>a|WilKMCB|?FcT6-I_ z1#umSd@MPLoNctGZFR|bxzWhAnIV%%(I_GaS|EN)(Ritn{_0O*HnfuFzISojw!gd% z>#&N0^b1{;^yC;W7eo#v@$o}eJ0S74fZB(4MNj;Wb=*8DJDwm`5>teHKFWsESOR)Y zz>X1%Q2{1sArgHb`el>5HPd$66`!r6)0a2t1a|a;Rdigyv5HjaA+}TKWBpSPeKzMy zcCNfTXKOzIuc)XPDU-#=#>vGeliwoYIOKm4?))M3c%RaQh}x_YvygtEenNo<3Kk?V z&=g`b7MRQX@ANV+yG82P>4%5kKaxU!De4Ey5TR@ylh0d%Vtuvlr}YMCgWIX*Mu% zfB$$lrj*&2#}xMoIk1x^)L0QrcmDD$)09mc(-7QkKo1=hMxT3j@HfN=zCB+;D~)%{ zzs+Cc`cF!?!+Kz-vA_f{IZ+NtA`@Va)0}Rw2l7}H%M4^!FQ8?Jqem?oi#qqOd!Om{ zc9q+0=(_LHV)y402K!|lc=M4W{onEa;ej#{3WgY1!lWRXP#Cdr;f7}984gLqu^uJv zl~F5rJ33qaUb4D4z+@>#EO)pP5|+NV2v!U8;+&cjl?}xQo?=% z6C^6CYu4^3HkKnh@JJIYd)%z>K_06%RXrHAHOx&F08tE7N{yGI0+@7QV@8}Hy$)?a zkJg(xCN%jbF3z5cK53q-id8sh1)=T*RO^<*EcV)&LA2dhKV;uD8gK!lJMFRKf38t z$=uR45|w428H{jY~;Q8NcvI`{PMUfCnhD!1Y8C zq9{y03KIdWQ+HFu?;w~LKzf}RneBGqnW^zRXL@kIV1={4X6qh;5Pypr$-L+|_d<(B z+4hz@uyNQ^UZ2R~S6g`*q9-m{U*uZw-6J{Z#f`K?eTh<_7aayMkr+%F5RQmsu~5qA zDLu1T!{{l59t=Gqd9j!7S)LvHUaKhzinD>WFEd7ggd zTmRzVY*)Tfz*k?pcM*z=EI&ANvgcsZ)}sS-TIS41>>nP=6G0A2bt|gtZbR%nBZm3z zhze55!^3nmqw-}pRw1Lk@XilNw>RTfZTXi1@4S*xjOT~44ZG=7)FQEAG=b@sSjblj zqIg3K{Ousez1tCovFVy$TKp``E`LQ%8bK=Vt%~$Wvq~_vx7!6r*=6b&n zH!;XyRidA4ag$u(W3vtRS**4uC(=qnrv*Me+b_7!G@3Ettvq~>8^x$gsdgeCAN!+8 zYpJV2zvwwkDLb+&a2-oL(gC%e8n!B<`0RG~tWz8D`^}Eix}jcRX=O@L4nrywgDs@e zLE^RPWpEIfscEbkZnB?TI3%Imp%^Lc#`&UALb1#j6cbPm^fop<0-RULB?gu6Qwy5w z=bG{B_s+=qto&}IKTm}6!Nv|l@aeOkKpp2%TAEjRe0JY&WaZGVHgQN#1eo#tbYwQk z@Bze1ZC z0^kOY!aRmlj54E?KFMFNB~QCwf4WC#y_D};yrFZ;jk^OVN;KF_M}w#YGBK(kCJGg+ zB*I_P27iHZ@Id>JNqW2j`avz~;q%V#Hmf2P8rE&kYlf5=pAXJ)%`~M{f2iMibF>#x zm695dO?J$KM1%Q95LX+U#bD15%1jDDMn$Z>P>{tb zXMAw>FZYA>U!Ll|88c25GCKwp%T&zxIn5*&Vs<~H>?4i;;Jx}O?nBEB_9Z1o;W8!v zqm900aNF?q(_F*Po_l<=U+v1%c1bN)()yv;hGgg3xc9IJYg;C#)Q`C7w$touyoG+` zb`?TTsTA9@`gXQIhiuj2#ElK7u6mWvu83+lJ!5ZgYL%_n6a&sm*y&li_O6{RO|DsY zuKeS!PtEouTVWsG~?gQHQZpXibJJw zpaKbl30(NPv7ZhE-h?tg2iEbYdy(iBc~3VlxA(PI!TNVE;obsnE0lCaV~%rc?GDmb z272ApaJP>tb?>eBsRG}7P{J#Qn(=+k8ERofa@EBep93nG*)d%^wjrK}_dt)`TA5~w zAG?i`8LoaWdu7=b73u&qItG=1#al53Ss9$aVN!`7Hvs+c`6fA&Z`A52X~niGaEvfe zuzlr8v0Z(T<>q%VYcV=zNdNHo8nrs?fcv9m`tB++7@!V?iWy*QB;OxlvX)*D?}qk^ zTkjY8Aq8GpNaR_!p!zAjkUTc(FXVOYmZyzeTMSXj>BtjSs=%Y7lNGtTT3Dru60#SA zVu8}6MQ=2|LItl@4GY^fbEWU9efv9zD?k2F0n9;J6h5zeM?UZe`5^RLhvtauv#no} zOZ3XWrycm{(i7r|GC8QYduy+hck6HvjRH@Nqmcg|AE(g)v+RwbW!R3;Fm&2?#*B$^r_}jR#8qU_n*&AlG5kHmGFCVUL{a zPfOhoT%UWLK504@%~j9}Y2M$$3)5^epKka8Loci`3TA`tZHtt z8)M*c#Ex9!{dWqoD# z$&!kmX63+6b@64lZr9jEId*0dDQ*qXs4o;&E&62HlVY{xgL}fdkL+#34LwghpK9f( z%Lwa&D+=opVt{-mD)psqwvrFnSt8nsq6baX+|rU)DKF5_m!s?*hXZm*@_#` zPYJIp$n4?mlwAvE%?kdx5z7m)&n*(7Vr!}t+H4#8H$)lV`*JGC;WcHu>$4qMRpD6D zgKekat^g!vAQr;PJV>{K1QPHaM#*I2>knCwiJFDvq3qQqpPf&Na>s1Ch7}S2$V5>S zrYN~AxIg9!w}E}SrcKlS2o!QBdcE7BPfY5XTnAbBa!NxloF}N)cITm&Qxj4kC}(@# z@V25tpPZDRhP#fnW4RutnHQ+SiiM&sA1O3F_AU!-Tye-bFD>ijK|=4;-&A4s*KjOt z{u9`n8Ovm_#XJ!$=e?k@I0MLh+sipSm zzoE+~_-ie98M2&Gv;N+{Ia=o~|0frfbaB?1gfRozJ%$}O3OEkT&s zJq_p+jPgE&?t->B)zXt`O#zgQ#fM`WjpKg*rxqbmSUwr<7QP!s|D0>{@;5b1_ulPv z$2Rodg*8feS60;DmM96oY!&Q*J!6Luzw7za51gi6Q7VTVBLN-<(2#^ko_2hHSAR; zCEsaKi(swqh5uyHXYB1WoFXr^?)0m5yjtSoS|TK^o@`FTzC84AOo)Sx3k8(%d0g;q zSlYEWe^1nt$M+!g$fO+&XDC@d7NsVSwqeEmE?x>Ze()M~2D*UldRQ&Dfa|y3S!Wk9 zxqMS^{ej8?Hc!OF?7qHWemcaBIrf+1i==Pf#RKNKmt9!Y`DYyXSjZ8^VWam2L9-do z`SbxFs(#}W$vazSv^uD*)9sCytBZn7eRr=VU7KG3MQh7ay(nRRZlzxHqCM)bsdqu; zYo{W41bMMCHa54+l-G0aHt8%0t@`Sllj!OfM`|3~6VrupTCdw$V-O2(?9Jt2M8+|z;cEnc}`>k4sX|tuSacZnAgF$+z}A^`JrP>-C5i7&sCXZ{!oSzc8uM zc1Hev?!jq3d#UdS^5*DUPs??LU;BV5kxYRA?W*ZFh0bh&JyBzlS3h!iJ*BL;A?ECn z&E9=*ie6~-y7Lk0$h*4nbMz1$j||#|G+jEirVlwC>{|KqYMOG4<@wx_PvfJu|JF%0 z*OQ6|l*~L@RFB2+z%J_onUcj4BK$7J@#SRR}1C%BcCj|QbC~KmbaI3 zZ@lW*@&|mck`!axNqJE=?cziI(w}~Q$0`oJS-b3~Z(p?Bbfuve_AwvA0q3Z8-Db7- zKa|4L7uU(|tKItp${&25Q6i(qA6N@}GJj=Fo5AxoTCTqP@f-Q$u;Pn~i@KgppN5&~jTLPks|_{|l$stniHQ?4L6WWf_^xnjvYGKYh_D>0yO8fL@mS;epwOU3 zduM+Lnh+e!QL1Jl9T~_YKOS z?s<~;>Z6r+6{pstY@`TFT)L-d!O{e|-4b6xF*m@+vovSK_M6Qc-Y6MELRfJNlJfZ7 zm6t%nYWY`>O+Q-0Ru0?my-Kfq^U3>{A7G#!@%VI;hCE>pJ0I%0y-$+a zQ#!v}D|LX>ip^P%-O?pJeJ)II5s}CUXj5*QnmL(48xJ zt8GHG7kD3X%HMqQ`v9!lps)}(Asb}BUDcw*(S&bs&YfmgJy>S+o|aXU6-gkB$9g~x ziQ@MHjZ00EPxI0nUf=S@29ax-8^_vKSEw2VfS86|<1m(3Spf@8{P7mLw;MNjtknzu z-X=b`QpKtef2K52IhZysT5t zKSU24tmDYz6_Emh7GD^l)9Vn8Ca!D&u1u&2kXnOH;YD3{oZ@08zYH~3T&Bnm+Y+20 z^NBb_7f&D{1Uxu?i^I$06gs077ZdqK-$-#8FTWTn9vV*k3mlxq4ba9R!|?=g(pC)_ zj3=lgMtGSPG87L^#=<9vg*uLipKA`!1`o#Ds3U{$v%wi+AV%TBiAqnxO}EO~5*U?9 z-RDaNDyiV0*2e9fjN5C6+Z!?v7lPLrhQlw#Czfe~6VZt^I749bSS@XE$`>BF1^U2W zGBw~7U3eZ_#~26B*Q#rScf;_*a4z8dGEN^DFa%G~fa=OoL_9&i>&6(e7>x%fwsGpw pIAjDK-~mT%ybk^^T;k?oI9+wX!x-=wfhP=suYiwm1f8+S{{a)(b_f6f literal 0 HcmV?d00001 diff --git a/src/isn.abstract/bin/Debug/net10.0/isn.abstract.xml b/src/isn.abstract/bin/Debug/net10.0/isn.abstract.xml new file mode 100644 index 0000000..0fe637b --- /dev/null +++ b/src/isn.abstract/bin/Debug/net10.0/isn.abstract.xml @@ -0,0 +1,8 @@ + + + + isn.abstract + + + + diff --git a/src/isn.abstract/bin/Release/net7.0/isn.abst.deps.json b/src/isn.abstract/bin/Release/net7.0/isn.abst.deps.json new file mode 100644 index 0000000..97aaa9f --- /dev/null +++ b/src/isn.abstract/bin/Release/net7.0/isn.abst.deps.json @@ -0,0 +1,41 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v7.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v7.0": { + "isn.abst/1.0.7": { + "dependencies": { + "Newtonsoft.Json": "11.0.1" + }, + "runtime": { + "isn.abst.dll": {} + } + }, + "Newtonsoft.Json/11.0.1": { + "runtime": { + "lib/netstandard2.0/Newtonsoft.Json.dll": { + "assemblyVersion": "11.0.0.0", + "fileVersion": "11.0.1.21818" + } + } + } + } + }, + "libraries": { + "isn.abst/1.0.7": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Newtonsoft.Json/11.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pNN4l+J6LlpIvHOeNdXlwxv39NPJ2B5klz+Rd2UQZIx30Squ5oND1Yy3wEAUoKn0GPUj6Yxt9lxlYWQqfZcvKg==", + "path": "newtonsoft.json/11.0.1", + "hashPath": "newtonsoft.json.11.0.1.nupkg.sha512" + } + } +} \ No newline at end of file diff --git a/src/isn.abstract/bin/Release/net7.0/isn.abst.dll b/src/isn.abstract/bin/Release/net7.0/isn.abst.dll new file mode 100644 index 0000000000000000000000000000000000000000..f3c2001133a076ddb2b22c11892cd0b925fd0e21 GIT binary patch literal 7168 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 literal 0 HcmV?d00001 diff --git a/src/isn.abstract/bin/Release/net7.0/isn.abst.pdb b/src/isn.abstract/bin/Release/net7.0/isn.abst.pdb new file mode 100644 index 0000000000000000000000000000000000000000..736c0d11bf7403d697bc68426516a8d7ca4fa6ed GIT binary patch literal 12168 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 OiK?I?D5*^XjsF3)S@(kg literal 0 HcmV?d00001 diff --git a/src/isn.abstract/isn.abstract.csproj b/src/isn.abstract/isn.abstract.csproj new file mode 100644 index 0000000..8fdeb35 --- /dev/null +++ b/src/isn.abstract/isn.abstract.csproj @@ -0,0 +1,13 @@ + + + true + 1.0.0.0 + 1.0.0.0 + 1.0.0+Branch.main.Sha.654065d7fef34ba4ed2fb3bca5bc91de9ad16e85 + 1.0.0 + + + + + + \ No newline at end of file diff --git a/src/isn.abstract/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs b/src/isn.abstract/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs new file mode 100644 index 0000000..925b135 --- /dev/null +++ b/src/isn.abstract/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v10.0", FrameworkDisplayName = ".NET 10.0")] diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abst.AssemblyInfo.cs b/src/isn.abstract/obj/Debug/net10.0/isn.abst.AssemblyInfo.cs new file mode 100644 index 0000000..d1ef41f --- /dev/null +++ b/src/isn.abstract/obj/Debug/net10.0/isn.abst.AssemblyInfo.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("isn.abst")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute(("1.0.0+Branch.main.Sha.654065d7fef34ba4ed2fb3bca5bc91de9ad16e85.654065d7fef34ba4ed" + + "2fb3bca5bc91de9ad16e85"))] +[assembly: System.Reflection.AssemblyProductAttribute("isn.abst")] +[assembly: System.Reflection.AssemblyTitleAttribute("isn.abst")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Generated by the MSBuild WriteCodeFragment class. + diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abst.AssemblyInfoInputs.cache b/src/isn.abstract/obj/Debug/net10.0/isn.abst.AssemblyInfoInputs.cache new file mode 100644 index 0000000..ff90204 --- /dev/null +++ b/src/isn.abstract/obj/Debug/net10.0/isn.abst.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +35f3c5a3870232f21ff3e16eef746b214665afc66c47801cfdcb814577b63219 diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abst.GeneratedMSBuildEditorConfig.editorconfig b/src/isn.abstract/obj/Debug/net10.0/isn.abst.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..237b036 --- /dev/null +++ b/src/isn.abstract/obj/Debug/net10.0/isn.abst.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,18 @@ +is_global = true +build_property.TargetFramework = net10.0 +build_property.TargetFrameworkIdentifier = .NETCoreApp +build_property.TargetFrameworkVersion = v10.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property.EntryPointFilePath = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = isn.abst +build_property.ProjectDir = /home/paul/Workspace/isn/src/isn.abst/ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = +build_property.EffectiveAnalysisLevelStyle = 10.0 +build_property.EnableCodeStyleSeverity = diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abst.assets.cache b/src/isn.abstract/obj/Debug/net10.0/isn.abst.assets.cache new file mode 100644 index 0000000000000000000000000000000000000000..e7648f70affe1955de4f114b11c70eeaa980ec2a GIT binary patch literal 861 zcmcIi%}&BV5JoLORS~6zL`}SUFMRSW# zw}~OSZ5B!WC*uG!%r>PnW8|uqx@(AJ=#LxKL@vgoa+JRi^M@TMs#KVgMypC>5ISNO zF^5oEWD$yHZNeKd{GIc+I^23R(pfbS>F__rP;{k6L>?83L|?!_4zY+>LgWz!V*D)Q zWuYF_K-#0>TkZHvjPdXp^o7e=YP1nq+mStsg}<&(-Vd$rc#sYW3`7WW7 zmq9zZ?@$4m6A+wULtAU~1JG23(u6VozN&gf2#}3|59xlur0apc$Nj+(Z#h(x$eXW% UkS=p1KISxNswzfo=hRMr0oTFfN&o-= literal 0 HcmV?d00001 diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abst.csproj.AssemblyReference.cache b/src/isn.abstract/obj/Debug/net10.0/isn.abst.csproj.AssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..60049d9a16323499602bfcc0e402cfdfe7643901 GIT binary patch literal 430 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 L{;&2~iNJpVfx+Yj literal 0 HcmV?d00001 diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abst.pdb b/src/isn.abstract/obj/Debug/net10.0/isn.abst.pdb new file mode 100644 index 0000000000000000000000000000000000000000..6d212a29c6f60ac81d3cdfd9e2756027d9dc0d23 GIT binary patch literal 12588 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 UBfw)Mo-h=?0zSeKw8tU;2VpUI8UO$Q literal 0 HcmV?d00001 diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abst.xml b/src/isn.abstract/obj/Debug/net10.0/isn.abst.xml new file mode 100644 index 0000000..60dd76d --- /dev/null +++ b/src/isn.abstract/obj/Debug/net10.0/isn.abst.xml @@ -0,0 +1,8 @@ + + + + isn.abst + + + + diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abstract.AssemblyInfo.cs b/src/isn.abstract/obj/Debug/net10.0/isn.abstract.AssemblyInfo.cs new file mode 100644 index 0000000..faa9e4f --- /dev/null +++ b/src/isn.abstract/obj/Debug/net10.0/isn.abstract.AssemblyInfo.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("isn.abstract")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute(("1.0.0+Branch.main.Sha.654065d7fef34ba4ed2fb3bca5bc91de9ad16e85.654065d7fef34ba4ed" + + "2fb3bca5bc91de9ad16e85"))] +[assembly: System.Reflection.AssemblyProductAttribute("isn.abstract")] +[assembly: System.Reflection.AssemblyTitleAttribute("isn.abstract")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Generated by the MSBuild WriteCodeFragment class. + diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abstract.AssemblyInfoInputs.cache b/src/isn.abstract/obj/Debug/net10.0/isn.abstract.AssemblyInfoInputs.cache new file mode 100644 index 0000000..26d1cb3 --- /dev/null +++ b/src/isn.abstract/obj/Debug/net10.0/isn.abstract.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +317b4b9a91262b77159f90cb1c6023d8eb9c8bc3d7fd280ec22f4a746a6412f1 diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abstract.GeneratedMSBuildEditorConfig.editorconfig b/src/isn.abstract/obj/Debug/net10.0/isn.abstract.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..45e97e9 --- /dev/null +++ b/src/isn.abstract/obj/Debug/net10.0/isn.abstract.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,18 @@ +is_global = true +build_property.TargetFramework = net10.0 +build_property.TargetFrameworkIdentifier = .NETCoreApp +build_property.TargetFrameworkVersion = v10.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property.EntryPointFilePath = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = isn.abstract +build_property.ProjectDir = /home/paul/Workspace/isn/src/isn.abstract/ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = +build_property.EffectiveAnalysisLevelStyle = 10.0 +build_property.EnableCodeStyleSeverity = diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abstract.assets.cache b/src/isn.abstract/obj/Debug/net10.0/isn.abstract.assets.cache new file mode 100644 index 0000000000000000000000000000000000000000..54e4c1e777937cbd5ff93e4836e8bbb8971db61f GIT binary patch literal 861 zcmcIi!AiqG5UrZprrK5;@gjKWNf5FviU$uuv9v^`gj&3(&9sf(Y(jUV7BBvS9tA(Z z4-l`O^zKi1^Wy^bsB9XbiwXd3&Z@c7uqxk%I^Hh8t zJQVLQAeXh|T|p#6f859>@-ZHnBmJu}f7pSfnh#S_Xl02s zLPcZ{3ka!279nZYro0iu-#LG)!-Y#Don-@&4*ydOMVD$sa>rxyU11I zM^)%L4D4jhq8!pq;2u2#TWJjgP-KPjlrjFks%nLE5Ur69sbRo`H`J*GRV^KvQ XZ=niYILs3GnB$-=t7x&ElRNzdq|W4b literal 0 HcmV?d00001 diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abstract.csproj.AssemblyReference.cache b/src/isn.abstract/obj/Debug/net10.0/isn.abstract.csproj.AssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..60049d9a16323499602bfcc0e402cfdfe7643901 GIT binary patch literal 430 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 literal 0 HcmV?d00001 diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abstract.pdb b/src/isn.abstract/obj/Debug/net10.0/isn.abstract.pdb new file mode 100644 index 0000000000000000000000000000000000000000..0678492d48571e9a62b7fd3dde6d4a65e97a5dbe GIT binary patch literal 12008 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 literal 0 HcmV?d00001 diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abstract.xml b/src/isn.abstract/obj/Debug/net10.0/isn.abstract.xml new file mode 100644 index 0000000..0fe637b --- /dev/null +++ b/src/isn.abstract/obj/Debug/net10.0/isn.abstract.xml @@ -0,0 +1,8 @@ + + + + isn.abstract + + + + diff --git a/src/isn.abstract/obj/Debug/net10.0/ref/isn.abst.dll b/src/isn.abstract/obj/Debug/net10.0/ref/isn.abst.dll new file mode 100644 index 0000000000000000000000000000000000000000..f294e84c5676ba40dc3e97e26d88aae7fe50550d GIT binary patch literal 6656 zcmeHLZ)_Y#6@R;XzMLKVaDo##kc3MU)I@2QbL_ZrnkMJiPI4uGjL&gOiLm$X=FXe! z?Ou2Hl9-C%LWn37wI7NqQ6wUPQb15e&`J>!QWYdnKJ)_;s2}=)2qDCm5(!lZfkgPd zxA)I>h$7%ql(F~C`!{diyqS43bH|>2g$yE!;k$E(=sIdH8G-i(ix4M2@$)3T)%ot0 z>)O$Gw@lC5L8|I|W#6i#3YP17VJfdue$7qUZfg8QE>-c0%IxXs+EzC`IYD$(i_y<6 z-G05%+bwz|wOUKVI5>%j`=ev1Gx$>Yh|OKrohu-@v3~hz^>e zx)6f8)&l^B#3YWot)$?+=?8uRJQ>3r5RO3~zP6Hq1=ClK2SpweE#l*T`|-7v4Ek*& zAEFO%1b!PYzCk+^nU~)D>$Z+lul@Z29_quP-6aAqab88?+@wxv zeP5u1xu*|mbqkzl&JCGqb1*$PFv12q$N}8mLA3QE(W|JxgIu*W7y7na4p<}I6{WAO zCv!9eoO9&X!zZ)jsK-HnA31C5LC4FpG73oT)TS$1ClLCFHc0Cu|JQ=#Fh`aht{Mi=eU$BZPM*7{>{>Y^L$46S1TA2fPF>!tm%Fg7BT z2A{vDABpuNdMt&EB5IXTf1%$S6Obi^nlmoyBcOW4%Cq`!45s?X*wRazVSj|yfSOtS zK>wIFvv^bB`vSibW6o=We^Kz9!JMxNCr6CW3fv(4SA_q%aE=T9s^Hro9Y!ykwDs_4 zi#D0zab51O7`>qDRN@iZq3KOZGuo*hXtrcmjmI^ksri;M*rH%_FYXWRHseid2V&5o zzKs4>HD%v`tVNxU?a&fU*?g=QD<`t~D;lPZ*4dDuKc27l5j81FqleYacDId88+Di_ zwC=WcaXEuEdJ>V*=m;<3I%JMcXIAi+>uB^{y^|`2hDftl8vwg#hu{N%y_ji+qXM%6 zKO^w70xf|yphgRTae6^GNn9Qt#ac?xF2HU&0N9HRk;JMw1=vrY2i!|YW5hrqwCza#if z;NQ|oV|_zlN?=CdoWMnaR|FcEmzZ3q1}TfQu+d<6-8cpqab6a_6U$;X>&PPf@ji_K za!%zv8VA%7(N5r<_|vh5Rs&y+KOHgd0p5eZ*dnik_7WmHBIz~DI{43pFNBSr{b|Ug z2SLV_qe4Zawa^>$DpesEu^r_fR<81`P!&f*91Qsy^u|@bRxVq4N40pPL7*ymXJOh7 z+u1p*q>jUfmg2PK!+}G1m#Fief3_uPSU7}UXOthW?a`M59$Z8sxGGH|uf2sZMs_ z7R_<27qh--D5osHFi(@UykiIRp{!d}7iMgA9t%@B+|0D{L1-2or*55cRaM}* zn!w_6dA5ihUCNoXo~vQ9muT_wt9v9Xuz_PmH_$0nwu3O5s^(x+$x#KKJUXt7ShV(@(Fy`9YUUHL4=7m#Lf40EEKv zk~jm@BbSmF=~H!u09d>VrI5O8h>Fm>Kz%LL#F<-fRUiv$7OtuuO!qG(ABRB;Y(>d) z06rSo(pfi7G)R0nFi-uKbmf8YsDdUAgdx5a)>vRsiMrXNrj`!^I|s%?SY&siPV{)v zh_6kpimzLn)eRjXN_M1Z)7suRLWHU#rEAF~;-zndEMaVid^^h%8qOasoB0Ykt*<}j zTh-&9J8_|)s=UId=Y8*dph0hy96>RL2Q=DX9-o*V^L#a0tv*)YEKi*qNSkSxN%l39 z>bM>*J-hE)5pM!McDVpCGC1DE z7c59gCzQkq?bi=H9JTCnh7Yw!tx#X+VxR@&cbpbUi}iOEv%bxEhOw2U@&1Y=vxxGz z;~c}_sS*?rawWNsrFT9F8_T;{Y4CsI@XJDe4q9Alh8GOpWkf6ZtjBN1XXc15$$f)4 zj1K|M;GQ-MI6+guviPO#IOr_kq3BmP`bF&azoHw@(p%2~u@b!l^*Y|D#(`+C$~)~4 zb_H*lEH-or8;#30xvfphu5qz{oVMK~3Un>@M;O)M6Ynj~0Oh+_dPj897???3#}J0BHX6o2N&M6E}7uuW%n{~ue51+I}XhNiGlmBHh1=aYMaKs)tdgz zplvJVaGL@2m2Q6A7vCm1BAjk~)SSp#9xnIKL@IRf$7MTiqZ%DWyRx+6QC2ZN_Oy(w z#=k|T@Ew#sPSp7vLGGh5KBl5*+^erBj+3zA!Gjv&5w>}G_c(qCAMk=)(q?%?TJhKk zKRI{0l95gLWXWvv`(YlqiMQQuyi(Fq7wHMCA%$-cygcMXpo*C95~x9Zd=BiEdIVAD zbUgx25%@6hJ&^tXEfVbV{EuSA@cB|f{|;s(g&nYTCA7xP>)}32Ci*S-$4}j-{zJ6~ HDgyrorP08P literal 0 HcmV?d00001 diff --git a/src/isn.abstract/obj/Debug/net10.0/ref/isn.abstract.dll b/src/isn.abstract/obj/Debug/net10.0/ref/isn.abstract.dll new file mode 100644 index 0000000000000000000000000000000000000000..075bb8e85daf640fbf13ff7477fa99bc1f582322 GIT binary patch literal 7168 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 Uoq<&K{{pT(c2{TNuATh90UQ<1t^fc4 literal 0 HcmV?d00001 diff --git a/src/isn.abstract/obj/Debug/net10.0/refint/isn.abst.dll b/src/isn.abstract/obj/Debug/net10.0/refint/isn.abst.dll new file mode 100644 index 0000000000000000000000000000000000000000..f294e84c5676ba40dc3e97e26d88aae7fe50550d GIT binary patch literal 6656 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 HDgyrorP08P literal 0 HcmV?d00001 diff --git a/src/isn.abstract/obj/Debug/net10.0/refint/isn.abstract.dll b/src/isn.abstract/obj/Debug/net10.0/refint/isn.abstract.dll new file mode 100644 index 0000000000000000000000000000000000000000..075bb8e85daf640fbf13ff7477fa99bc1f582322 GIT binary patch literal 7168 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 Uoq<&K{{pT(c2{TNuATh90UQ<1t^fc4 literal 0 HcmV?d00001 diff --git a/src/isn.abstract/obj/Release/net7.0/.NETCoreApp,Version=v7.0.AssemblyAttributes.cs b/src/isn.abstract/obj/Release/net7.0/.NETCoreApp,Version=v7.0.AssemblyAttributes.cs new file mode 100644 index 0000000..4257f4b --- /dev/null +++ b/src/isn.abstract/obj/Release/net7.0/.NETCoreApp,Version=v7.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v7.0", FrameworkDisplayName = ".NET 7.0")] diff --git a/src/isn.abstract/obj/Release/net7.0/isn.abst.AssemblyInfo.cs b/src/isn.abstract/obj/Release/net7.0/isn.abst.AssemblyInfo.cs new file mode 100644 index 0000000..e5ba65f --- /dev/null +++ b/src/isn.abstract/obj/Release/net7.0/isn.abst.AssemblyInfo.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("isn.abst")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.7.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute(("1.0.7+Branch.main.Sha.3695c1742965d93eba0ad851656cfaa3e44ba327.654065d7fef34ba4ed" + + "2fb3bca5bc91de9ad16e85"))] +[assembly: System.Reflection.AssemblyProductAttribute("isn.abst")] +[assembly: System.Reflection.AssemblyTitleAttribute("isn.abst")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.7.0")] + +// Generated by the MSBuild WriteCodeFragment class. + diff --git a/src/isn.abstract/obj/Release/net7.0/isn.abst.AssemblyInfoInputs.cache b/src/isn.abstract/obj/Release/net7.0/isn.abst.AssemblyInfoInputs.cache new file mode 100644 index 0000000..9dde1ce --- /dev/null +++ b/src/isn.abstract/obj/Release/net7.0/isn.abst.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +e4e4cc62d3abf93c8c291257f39b26df3fc603a31b6fa75c47cc7c13707a8afe diff --git a/src/isn.abstract/obj/Release/net7.0/isn.abst.GeneratedMSBuildEditorConfig.editorconfig b/src/isn.abstract/obj/Release/net7.0/isn.abst.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..47823ae --- /dev/null +++ b/src/isn.abstract/obj/Release/net7.0/isn.abst.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,18 @@ +is_global = true +build_property.TargetFramework = net7.0 +build_property.TargetFrameworkIdentifier = .NETCoreApp +build_property.TargetFrameworkVersion = v7.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property.EntryPointFilePath = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = isn.abst +build_property.ProjectDir = /home/paul/Workspace/isn/src/isn.abst/ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = +build_property.EffectiveAnalysisLevelStyle = 7.0 +build_property.EnableCodeStyleSeverity = diff --git a/src/isn.abstract/obj/Release/net7.0/isn.abst.assets.cache b/src/isn.abstract/obj/Release/net7.0/isn.abst.assets.cache new file mode 100644 index 0000000000000000000000000000000000000000..9c51f135055c663f9039c7fd0ea0cf44bec20997 GIT binary patch literal 1133 zcmcJO&ubGw6vtED=7-uu8?A~cixN*}H%S$Zx6ojk8bUE`^*Y&oO-5&DmYLbr{0CC} z3-qAZ2!bfyg$Ulfd-G56O_L=hNb%AKA9i-$oB7VX_h$QXt8p%sN`1I_>-W~djjx}- zU9Z3Y^Y-;_?^o{b!H>;PKfi<@-+Z?Ur!i<|OZa`}4n+WNNFwGsJQ{$;vG;-uK)D=V zYQdG**Uob#xLd6{6{qSl+DDgGnsA>;zvfij?mTh}BORZyM8}AnLd?H~EF=Fi6IWQ+ z$HbZWwT1cFNz&*tn2-!&B(g{jIfI-FzHDG^CTlVY4l#|2~+DIyn-`2oQxH4 z4R*xAjw8k=V@djyQ9T*kKG*|E;=}P|%pjhOOSK13s?}{za2~-Od#H7&9=h&;>S5G( zJQ29WkEs%pVoSC*dyVovPln~XT=&XhJ(iBS&>C_Xxq_H7Uq$lWs0Dg^+Rbf$vAK#z z-FqMv6+At?#mY9(!#1BSz5Ra;Z*@rknb}6gwrU3O;0TWvXiqD(^HG}^HR%8^7D%G(@ONRiu3dI z4Gr}S^bGZLGLwK(CB-F)c`1oSDMoq*`hEzNUO<(4DLFY{;~Cy(I&Uev%E8FU$d9Im zksD||G5|RT1Q_dq1WN;u0i+oi7l23=h{zNmlZ^?&4+?fPWMBcQVr2N5cwfCHhugC@ zX@b!ffwSi|@`7tv-BrH-Um)h}`c2y|MM3lW3ZBD(6FWnVdc5v*v2-ZEpRnP)#jDy4 z*ELUl+Gc!s*FKI7hKw@~a!5`+I6-qydf?;|ztwY#U3V-iig+V_QRv*>-J2FQdeokK z^?Ppfs>%FD0`~i4H3glbkCr$v9cSbKy2)Uz|FccY*1cs6M)RqTLRe~1ab|v=EjR!T z^bB+qoJ(^`N{do$^HNJoiV|~l6aq?Q!7LAvs3eIjSUi0Owv-#l8h3~5>r!C IfaZe%04yqur~m)} literal 0 HcmV?d00001 diff --git a/src/isn.abstract/obj/Release/net7.0/isn.abst.csproj.CoreCompileInputs.cache b/src/isn.abstract/obj/Release/net7.0/isn.abst.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..9c00e95 --- /dev/null +++ b/src/isn.abstract/obj/Release/net7.0/isn.abst.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +a791e89281a7d040d8cb5488f61f0771f7466c32bc5298e7aa2ddc4c40c2150b diff --git a/src/isn.abstract/obj/Release/net7.0/isn.abst.csproj.FileListAbsolute.txt b/src/isn.abstract/obj/Release/net7.0/isn.abst.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..9286a3a --- /dev/null +++ b/src/isn.abstract/obj/Release/net7.0/isn.abst.csproj.FileListAbsolute.txt @@ -0,0 +1,12 @@ +/home/paul/Workspace/isn/src/isn.abst/bin/Release/net7.0/isn.abst.deps.json +/home/paul/Workspace/isn/src/isn.abst/bin/Release/net7.0/isn.abst.dll +/home/paul/Workspace/isn/src/isn.abst/bin/Release/net7.0/isn.abst.pdb +/home/paul/Workspace/isn/src/isn.abst/obj/Release/net7.0/isn.abst.csproj.AssemblyReference.cache +/home/paul/Workspace/isn/src/isn.abst/obj/Release/net7.0/isn.abst.GeneratedMSBuildEditorConfig.editorconfig +/home/paul/Workspace/isn/src/isn.abst/obj/Release/net7.0/isn.abst.AssemblyInfoInputs.cache +/home/paul/Workspace/isn/src/isn.abst/obj/Release/net7.0/isn.abst.AssemblyInfo.cs +/home/paul/Workspace/isn/src/isn.abst/obj/Release/net7.0/isn.abst.csproj.CoreCompileInputs.cache +/home/paul/Workspace/isn/src/isn.abst/obj/Release/net7.0/isn.abst.dll +/home/paul/Workspace/isn/src/isn.abst/obj/Release/net7.0/refint/isn.abst.dll +/home/paul/Workspace/isn/src/isn.abst/obj/Release/net7.0/isn.abst.pdb +/home/paul/Workspace/isn/src/isn.abst/obj/Release/net7.0/ref/isn.abst.dll diff --git a/src/isn.abstract/obj/Release/net7.0/isn.abst.dll b/src/isn.abstract/obj/Release/net7.0/isn.abst.dll new file mode 100644 index 0000000000000000000000000000000000000000..f3c2001133a076ddb2b22c11892cd0b925fd0e21 GIT binary patch literal 7168 zcmeHLdu$w6x&LNnckOJPt>ZSSLutFI)8e|xdi_jXLhFs~G!98@ysnd$fIYi=c0J8_ zW;-*R#GnM1M@xA~%^#I`h^mw;bSvO07p1y@E^WC&)#WWg5pPihMF{Z{AV7dxe&08< zkJwcOe}XvneCKcM4v*>ZCv2XgEfd#*MBBOmo|N6=clwI zU)edoZ29S`=Tf`HLhX9#k4WTMA;ifu65HON;h9FmF4T%q)Y&B|FRN5YWdtZnp6Ydr8_xke#U?t8YW3e0e zTz%8|9Y9`4bYn&z*+|~F#*$u)aLaBeUd?eJ9*Gn2BoQaPi*Z=e)0J7B_DW7M=kDEl zFQ!czE<<-4!0sJJ0QdD|Xpj)IUKBRjhe)sHelQfda3a~4@xe>1v0G6NlYM2Q7j$yZ z6(0Pm8oh8ax%~yLZ+jmKoj-g)i>kbCz&!$=6!=w*r4ML4!Yho6(67ZAKBh7J5bz|Wj03S0<@K3( zf_jPhcSEy_c4>=jMTarhNzp$QyNDbR4KaY9@KEcdnwE%HF|5K<7-EWIMqIJ-v&`xsJLH{e% z+b~{P_K-%{xX2gp!#ZS+PW@Vw(<%+|(CWQnRfOl~VjA`$*JTG_l5Pg?$O1mZsz+eQxx#}dwm>8%Dwb1v3LkJInsS-K$n`yzOk_FDQh{f{wAAErOX z7qAvN7xxk8;B)jJaTEMq@iL{5<#T`?^iIG|dKmC3dIT^_p8y=DOMv_6DZu^oEZ{i( z7;sXo4$)tMAEC`!ie{-BaGnMLPtak&lXM(#2_wG>yXyP;&2);M*E6Wd$F&SyNlyS? zL(c;C&<_A_p=%%=qMHF~ae+C369Sh6t_gfp;L`%16L<|B z#EGwAwd1Iy(>U)4X9dHr#Xbrca!zW@`F#8_?6eq8C4L(St>VDj@TZ|7ZNQUqN^J(z zQJu};ZvoUPgS_pt&jn=PON>|%=*>+ON%dfuYwC8609 zzSQi$ZESHdyO^c@)Bb{KTcz6yAw50i)K-*d7HqXNKnH71acPjCP5Y0!rJAj715ubw=Svh!wH9fQ|R z#d*_%%Lnnfq0YG8sivSl!a;Zw<$I%W+9|u8}WR;A{x6VItK z`xvawVPW}AvoI~9Jg02)tY9tjy0^0)mSiz#8rB6ofa$C@1yR9-A6Ny;wt^PvVc&Hy zR#kbe+|#CAYb=f<$}Cf^YK4)kTL+ma8Cb~_z7&$>JEhDd7FH%&U6fa*S6rsqTEVvb zWm!5$lv4?o$t~Q&Lr*&;b#}p0XRy(f%_C&Yf*)i`wjIrf-Gd0Nio@kU=(#JD#}?$8 zO<@x{yi15DcNRAW*2bkr((u7tqnKn|;V)wg__ zy0>Q9J~pQln3mJW<)P;AdE z1~gN+2S+K2eMAL;@@BkAt6~KbHfG>+O@glD^@S3afTH7T&UFLMnDS;lRkqGj&RHe5 zx+uY6_45_6hZZR#_fF43;nA-@^wim6> zy1|&ye)0Cjw`~1p^49k3CuV;7$&dcmFOv?{sEV7cLLH3yAQWB++V27Cl0&KUcv%h= zd|-(xlmbdx5S5^Lmab}|8ERM+$%LATk2x1ZcVABK!GI>%ic+TmJWOTDWF0<86O1A) zQ@1HoxgcCxfr$-afM>&KEHL@)lRau^c_1nn*oTn^c@RyaC))KyDwepmtJ_F)^|nRH zMV^s$0ylvIpyO<(Qv5n<^g`6jqIQ1K;C3BS72qxd-A|Djqj+JKTsq8HwC{kKUwI?IWDBObgf(Gq^Os5f>CKX~B1ndnK# zo@|k^4*yQj+UD|;`LjJwRUSV6j+y)a@WiDhXYg(wqkq|5QT^62@u4I-#+_Jwe$U(e%^b- zW53-Jexr+DuVOqc=mt>#F)S1;VmVFP_EA)sR{SE?mXfP0GJEkx46{Dm4MYBOG5B{0 z`JHC%a=&>W627}=1E2K{;W;sm-;=P7>+S8vFwh0c<3wJdDVhT|jbB=ifu06D82;)? zpN;+ch44#(XJ~#c+#U_YuleC7j~M7C@n{&8&#;3yZ}>2p#!*?u5yowoeCN!|dF0?^ zvRlq2QJ{;lpI}f8KJlr=XKUppMtWLwvWPqU8>Ry1fClCJXCgWfTO5)5np^b5|Q@ChNVFZ5GF&*6?ouw#~zwZ3Zw`7SCSkc`p7A zfhEdxwa7N(I7-R|+G?7~q^geJ0L^cZTGI*wF48w}GhG5GTVC!Mn zgrn?*rouB6X$^xaL9+~-Av}C%k4Qg;(fMi}1E(Z2DVdW1x&Aq<7{0kzplzcfY3zW@ eS3)yxUJrj~gChSXyT9d#{5viGt@baFfxiJ{W$@Ji literal 0 HcmV?d00001 diff --git a/src/isn.abstract/obj/Release/net7.0/isn.abst.pdb b/src/isn.abstract/obj/Release/net7.0/isn.abst.pdb new file mode 100644 index 0000000000000000000000000000000000000000..736c0d11bf7403d697bc68426516a8d7ca4fa6ed GIT binary patch literal 12168 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 OiK?I?D5*^XjsF3)S@(kg literal 0 HcmV?d00001 diff --git a/src/isn.abstract/obj/Release/net7.0/ref/isn.abst.dll b/src/isn.abstract/obj/Release/net7.0/ref/isn.abst.dll new file mode 100644 index 0000000000000000000000000000000000000000..20970545b60325b2cf21a785c0d1b2ac446303cc GIT binary patch literal 7168 zcmeHMYit}>6+Sb&-q?<_bwV0k=wnl-ZQ8WM+UrN$rs+CsJKd7luI;*%wz6ku@2)4E zo!QRJCN>hSi$WwGg-{+v<)QpQPy|#}1yTtD6(lN(R8b`Qw*-XvLn~Ur4^$B4J7@M~ zyHpk8SCz5moAbKoo_p@S=gzE;fAlQHh$xQxt+$At#gnhB;5)-Q)XA&PC+UY>FYbL- zJNDwVa%O>@MG|dnZ2I3|*``!Qb9yZ&Xg&Meq_*3IxW|h#Qn#S)wCG zs8&O8Urz!ckOm1n+pZL%H~hf2Ad@jHgWw$O!QFOc;lc2g|hcj@tc-mWeV(-ki)*rj>s$Y-%;ypani$i;x46Jfp#l^Krrw&@k68&xmk;cOR z;p*P~F*-7T#}TdWf$Pl4AtP;M(wTuVcGy7<@N5TB|3gIo!t-_1s{Z-Vx7~8U7O!?k z<*Wa$d3qf**U0{(cjYHoxgGJLX7wL&yaMyMz-o72aZc+3L2qgqu6rE+Zro^2@59Zd z5KW28DEqq_H=A=QWjWh(`H#l^dp&w4=(pO_u>>8~8DFDs#4e#%VV0n7k=&qtPEXJ^ z`n}LTp)uwJmj&Mt)CA8Hdsxw5h5f^E#+QllJD|JiKD`o4(i!cZI6Om+K_w z_@LI=)SZv_;uR+H`8&^t1Z)6wsG-1N-E6MRnaf?x+`Eg`RM8JfeUpNcX5F}4VdB%c@g&*F1f>v8OF zuGdkk4$#~1ry<|lKz9@G_w7I(x!(?Y2T-RZo*G>OjIZ-5Ay_xA=TU`Q93g{JjM1)j z?V}18$xU{nXvvjUS|2(*wzQO9O4C%$wU!47JRLgj6>E+<4923e3YYRl3ZlnR6@tkJ zi>8D3;W-s}HQ!PM@$F`?lEc>m<;>7@yz;DB7Wu4cJ-}qRR#mQ9Q8d36gsNi9)!fhq z%l;RjlOBYaP>u=}jn_gi=T)l0OjZi2SX9OF5a&*z1~sc}NBKvUt9&zTS2d093eaH$icuqOys!(nE zMzpg&=GY2b4dGDv%C%I(qNQp`*thAfwG{O^6nSVDY{w4Uw08uai*BmQZGV05V=9TGND>PdxICii?Uf~2g%DY9ix@fCY zSi;KTW`*JAUgfIC*OqUncuLbcV=2-) zKEWF(ci-HZ{=v+jpZWGvuXVdrqbkmpGW9SSfKfO=I!}P~$fe{% z^r5;z04h<1QApi3R7F^>((V>%;H9Q@D<2GY8k~pl$l*kt=!s4}k&GpF?cbKT zbl07FOh>MeAi82#Ujn(pqa&qj$s`h|Uk+VoY(Mn-S>MS=9A8)R+u(w}=WgGuPJ8a; zs->#DDHc|I?^K|{P8Yj4pK`Zq)MrdjF62C4jaRET*7w(~Cr6Dmyd-xw%kYF9R2_4T zOLZr=NWo$U`fRQU>d|N$Dxoq1g`ZKt4B+bqRz!|QWnm5+@lDrSF)F6*8uKfrkr^2q zwgyIr2FFH*i(?s8Fw3puoNmvYSiV|4_zGh-5Pad`CyIAtoqiFM7BVFvud&A)W0EFbcX3HQ(Ldbw`QbS z!emT1&T-_3DuIQWQBqY|`_?t^vALVA4lhdn&l%wFN5Z=~t#5QJU!nLW*(zr{{_Wr+ z%S5N;-H;_r4*?hPcD)3gq&ZM|{L(rNJ`bFVes!gv#{c^7=uLFv+vsiLCHfs8+Q@YQ z9uv4Vc;z}Zg_^CkeVn%1BL?(z{7-PIAttU&TtCZivibluK zt}Ly1lvRw6BQ4`h;NPNCxQ|F5Gj%yfAy_^=C8sLeA^B~KY;uVVQ$AD8Ad!~&?(HI ziQJmt4?;R1x)E5HATz~c2(8#EgSI>a+6+Sb&-q?<_bwV0k=wnl-ZQ8WM+UrN$rs+CsJKd7luI;*%wz6ku@2)4E zo!QRJCN>hSi$WwGg-{+v<)QpQPy|#}1yTtD6(lN(R8b`Qw*-XvLn~Ur4^$B4J7@M~ zyHpk8SCz5moAbKoo_p@S=gzE;fAlQHh$xQxt+$At#gnhB;5)-Q)XA&PC+UY>FYbL- zJNDwVa%O>@MG|dnZ2I3|*``!Qb9yZ&Xg&Meq_*3IxW|h#Qn#S)wCG zs8&O8Urz!ckOm1n+pZL%H~hf2Ad@jHgWw$O!QFOc;lc2g|hcj@tc-mWeV(-ki)*rj>s$Y-%;ypani$i;x46Jfp#l^Krrw&@k68&xmk;cOR z;p*P~F*-7T#}TdWf$Pl4AtP;M(wTuVcGy7<@N5TB|3gIo!t-_1s{Z-Vx7~8U7O!?k z<*Wa$d3qf**U0{(cjYHoxgGJLX7wL&yaMyMz-o72aZc+3L2qgqu6rE+Zro^2@59Zd z5KW28DEqq_H=A=QWjWh(`H#l^dp&w4=(pO_u>>8~8DFDs#4e#%VV0n7k=&qtPEXJ^ z`n}LTp)uwJmj&Mt)CA8Hdsxw5h5f^E#+QllJD|JiKD`o4(i!cZI6Om+K_w z_@LI=)SZv_;uR+H`8&^t1Z)6wsG-1N-E6MRnaf?x+`Eg`RM8JfeUpNcX5F}4VdB%c@g&*F1f>v8OF zuGdkk4$#~1ry<|lKz9@G_w7I(x!(?Y2T-RZo*G>OjIZ-5Ay_xA=TU`Q93g{JjM1)j z?V}18$xU{nXvvjUS|2(*wzQO9O4C%$wU!47JRLgj6>E+<4923e3YYRl3ZlnR6@tkJ zi>8D3;W-s}HQ!PM@$F`?lEc>m<;>7@yz;DB7Wu4cJ-}qRR#mQ9Q8d36gsNi9)!fhq z%l;RjlOBYaP>u=}jn_gi=T)l0OjZi2SX9OF5a&*z1~sc}NBKvUt9&zTS2d093eaH$icuqOys!(nE zMzpg&=GY2b4dGDv%C%I(qNQp`*thAfwG{O^6nSVDY{w4Uw08uai*BmQZGV05V=9TGND>PdxICii?Uf~2g%DY9ix@fCY zSi;KTW`*JAUgfIC*OqUncuLbcV=2-) zKEWF(ci-HZ{=v+jpZWGvuXVdrqbkmpGW9SSfKfO=I!}P~$fe{% z^r5;z04h<1QApi3R7F^>((V>%;H9Q@D<2GY8k~pl$l*kt=!s4}k&GpF?cbKT zbl07FOh>MeAi82#Ujn(pqa&qj$s`h|Uk+VoY(Mn-S>MS=9A8)R+u(w}=WgGuPJ8a; zs->#DDHc|I?^K|{P8Yj4pK`Zq)MrdjF62C4jaRET*7w(~Cr6Dmyd-xw%kYF9R2_4T zOLZr=NWo$U`fRQU>d|N$Dxoq1g`ZKt4B+bqRz!|QWnm5+@lDrSF)F6*8uKfrkr^2q zwgyIr2FFH*i(?s8Fw3puoNmvYSiV|4_zGh-5Pad`CyIAtoqiFM7BVFvud&A)W0EFbcX3HQ(Ldbw`QbS z!emT1&T-_3DuIQWQBqY|`_?t^vALVA4lhdn&l%wFN5Z=~t#5QJU!nLW*(zr{{_Wr+ z%S5N;-H;_r4*?hPcD)3gq&ZM|{L(rNJ`bFVes!gv#{c^7=uLFv+vsiLCHfs8+Q@YQ z9uv4Vc;z}Zg_^CkeVn%1BL?(z{7-PIAttU&TtCZivibluK zt}Ly1lvRw6BQ4`h;NPNCxQ|F5Gj%yfAy_^=C8sLeA^B~KY;uVVQ$AD8Ad!~&?(HI ziQJmt4?;R1x)E5HATz~c2(8#EgSI>a+ + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + /home/paul/.nuget/packages/ + /home/paul/.nuget/packages/ + PackageReference + 7.0.0 + + + + + \ No newline at end of file diff --git a/src/isn.abstract/obj/isn.abst.csproj.nuget.g.targets b/src/isn.abstract/obj/isn.abst.csproj.nuget.g.targets new file mode 100644 index 0000000..3dc06ef --- /dev/null +++ b/src/isn.abstract/obj/isn.abst.csproj.nuget.g.targets @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/isn.abstract/obj/isn.abstract.csproj.nuget.dgspec.json b/src/isn.abstract/obj/isn.abstract.csproj.nuget.dgspec.json new file mode 100644 index 0000000..021b45d --- /dev/null +++ b/src/isn.abstract/obj/isn.abstract.csproj.nuget.dgspec.json @@ -0,0 +1,351 @@ +{ + "format": 1, + "restore": { + "/home/paul/Workspace/isn/src/isn.abstract/isn.abstract.csproj": {} + }, + "projects": { + "/home/paul/Workspace/isn/src/isn.abstract/isn.abstract.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "/home/paul/Workspace/isn/src/isn.abstract/isn.abstract.csproj", + "projectName": "isn.abstract", + "projectPath": "/home/paul/Workspace/isn/src/isn.abstract/isn.abstract.csproj", + "packagesPath": "/home/paul/.nuget/packages/", + "outputPath": "/home/paul/Workspace/isn/src/isn.abstract/obj/", + "projectStyle": "PackageReference", + "crossTargeting": true, + "configFilePaths": [ + "/home/paul/.nuget/NuGet/NuGet.Config" + ], + "originalTargetFrameworks": [ + "net10.0" + ], + "sources": { + "/usr/share/dotnet/library-packs": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net10.0": { + "framework": "net10.0", + "targetAlias": "net10.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "all" + }, + "SdkAnalysisLevel": "10.0.300" + }, + "frameworks": { + "net10.0": { + "framework": "net10.0", + "targetAlias": "net10.0", + "dependencies": { + "Newtonsoft.Json": { + "target": "Package", + "version": "[13.0.4, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/10.0.301/PortableRuntimeIdentifierGraph.json", + "packagesToPrune": { + "Microsoft.CSharp": "(,4.7.32767]", + "Microsoft.VisualBasic": "(,10.4.32767]", + "Microsoft.Win32.Primitives": "(,4.3.32767]", + "Microsoft.Win32.Registry": "(,5.0.32767]", + "runtime.any.System.Collections": "(,4.3.32767]", + "runtime.any.System.Diagnostics.Tools": "(,4.3.32767]", + "runtime.any.System.Diagnostics.Tracing": "(,4.3.32767]", + "runtime.any.System.Globalization": "(,4.3.32767]", + "runtime.any.System.Globalization.Calendars": "(,4.3.32767]", + "runtime.any.System.IO": "(,4.3.32767]", + "runtime.any.System.Reflection": "(,4.3.32767]", + "runtime.any.System.Reflection.Extensions": "(,4.3.32767]", + "runtime.any.System.Reflection.Primitives": "(,4.3.32767]", + "runtime.any.System.Resources.ResourceManager": "(,4.3.32767]", + "runtime.any.System.Runtime": "(,4.3.32767]", + "runtime.any.System.Runtime.Handles": "(,4.3.32767]", + "runtime.any.System.Runtime.InteropServices": "(,4.3.32767]", + "runtime.any.System.Text.Encoding": "(,4.3.32767]", + "runtime.any.System.Text.Encoding.Extensions": "(,4.3.32767]", + "runtime.any.System.Threading.Tasks": "(,4.3.32767]", + "runtime.any.System.Threading.Timer": "(,4.3.32767]", + "runtime.aot.System.Collections": "(,4.3.32767]", + "runtime.aot.System.Diagnostics.Tools": "(,4.3.32767]", + "runtime.aot.System.Diagnostics.Tracing": "(,4.3.32767]", + "runtime.aot.System.Globalization": "(,4.3.32767]", + "runtime.aot.System.Globalization.Calendars": "(,4.3.32767]", + "runtime.aot.System.IO": "(,4.3.32767]", + "runtime.aot.System.Reflection": "(,4.3.32767]", + "runtime.aot.System.Reflection.Extensions": "(,4.3.32767]", + "runtime.aot.System.Reflection.Primitives": "(,4.3.32767]", + "runtime.aot.System.Resources.ResourceManager": "(,4.3.32767]", + "runtime.aot.System.Runtime": "(,4.3.32767]", + "runtime.aot.System.Runtime.Handles": "(,4.3.32767]", + "runtime.aot.System.Runtime.InteropServices": "(,4.3.32767]", + "runtime.aot.System.Text.Encoding": "(,4.3.32767]", + "runtime.aot.System.Text.Encoding.Extensions": "(,4.3.32767]", + "runtime.aot.System.Threading.Tasks": "(,4.3.32767]", + "runtime.aot.System.Threading.Timer": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.unix.Microsoft.Win32.Primitives": "(,4.3.32767]", + "runtime.unix.System.Console": "(,4.3.32767]", + "runtime.unix.System.Diagnostics.Debug": "(,4.3.32767]", + "runtime.unix.System.IO.FileSystem": "(,4.3.32767]", + "runtime.unix.System.Net.Primitives": "(,4.3.32767]", + "runtime.unix.System.Net.Sockets": "(,4.3.32767]", + "runtime.unix.System.Private.Uri": "(,4.3.32767]", + "runtime.unix.System.Runtime.Extensions": "(,4.3.32767]", + "runtime.win.Microsoft.Win32.Primitives": "(,4.3.32767]", + "runtime.win.System.Console": "(,4.3.32767]", + "runtime.win.System.Diagnostics.Debug": "(,4.3.32767]", + "runtime.win.System.IO.FileSystem": "(,4.3.32767]", + "runtime.win.System.Net.Primitives": "(,4.3.32767]", + "runtime.win.System.Net.Sockets": "(,4.3.32767]", + "runtime.win.System.Runtime.Extensions": "(,4.3.32767]", + "runtime.win10-arm-aot.runtime.native.System.IO.Compression": "(,4.0.32767]", + "runtime.win10-arm64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.win10-x64-aot.runtime.native.System.IO.Compression": "(,4.0.32767]", + "runtime.win10-x86-aot.runtime.native.System.IO.Compression": "(,4.0.32767]", + "runtime.win7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.win7-x86.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.win7.System.Private.Uri": "(,4.3.32767]", + "runtime.win8-arm.runtime.native.System.IO.Compression": "(,4.3.32767]", + "System.AppContext": "(,4.3.32767]", + "System.Buffers": "(,5.0.32767]", + "System.Collections": "(,4.3.32767]", + "System.Collections.Concurrent": "(,4.3.32767]", + "System.Collections.Immutable": "(,10.0.32767]", + "System.Collections.NonGeneric": "(,4.3.32767]", + "System.Collections.Specialized": "(,4.3.32767]", + "System.ComponentModel": "(,4.3.32767]", + "System.ComponentModel.Annotations": "(,4.3.32767]", + "System.ComponentModel.EventBasedAsync": "(,4.3.32767]", + "System.ComponentModel.Primitives": "(,4.3.32767]", + "System.ComponentModel.TypeConverter": "(,4.3.32767]", + "System.Console": "(,4.3.32767]", + "System.Data.Common": "(,4.3.32767]", + "System.Data.DataSetExtensions": "(,4.4.32767]", + "System.Diagnostics.Contracts": "(,4.3.32767]", + "System.Diagnostics.Debug": "(,4.3.32767]", + "System.Diagnostics.DiagnosticSource": "(,10.0.32767]", + "System.Diagnostics.FileVersionInfo": "(,4.3.32767]", + "System.Diagnostics.Process": "(,4.3.32767]", + "System.Diagnostics.StackTrace": "(,4.3.32767]", + "System.Diagnostics.TextWriterTraceListener": "(,4.3.32767]", + "System.Diagnostics.Tools": "(,4.3.32767]", + "System.Diagnostics.TraceSource": "(,4.3.32767]", + "System.Diagnostics.Tracing": "(,4.3.32767]", + "System.Drawing.Primitives": "(,4.3.32767]", + "System.Dynamic.Runtime": "(,4.3.32767]", + "System.Formats.Asn1": "(,10.0.32767]", + "System.Formats.Tar": "(,10.0.32767]", + "System.Globalization": "(,4.3.32767]", + "System.Globalization.Calendars": "(,4.3.32767]", + "System.Globalization.Extensions": "(,4.3.32767]", + "System.IO": "(,4.3.32767]", + "System.IO.Compression": "(,4.3.32767]", + "System.IO.Compression.ZipFile": "(,4.3.32767]", + "System.IO.FileSystem": "(,4.3.32767]", + "System.IO.FileSystem.AccessControl": "(,4.4.32767]", + "System.IO.FileSystem.DriveInfo": "(,4.3.32767]", + "System.IO.FileSystem.Primitives": "(,4.3.32767]", + "System.IO.FileSystem.Watcher": "(,4.3.32767]", + "System.IO.IsolatedStorage": "(,4.3.32767]", + "System.IO.MemoryMappedFiles": "(,4.3.32767]", + "System.IO.Pipelines": "(,10.0.32767]", + "System.IO.Pipes": "(,4.3.32767]", + "System.IO.Pipes.AccessControl": "(,5.0.32767]", + "System.IO.UnmanagedMemoryStream": "(,4.3.32767]", + "System.Linq": "(,4.3.32767]", + "System.Linq.AsyncEnumerable": "(,10.0.32767]", + "System.Linq.Expressions": "(,4.3.32767]", + "System.Linq.Parallel": "(,4.3.32767]", + "System.Linq.Queryable": "(,4.3.32767]", + "System.Memory": "(,5.0.32767]", + "System.Net.Http": "(,4.3.32767]", + "System.Net.Http.Json": "(,10.0.32767]", + "System.Net.NameResolution": "(,4.3.32767]", + "System.Net.NetworkInformation": "(,4.3.32767]", + "System.Net.Ping": "(,4.3.32767]", + "System.Net.Primitives": "(,4.3.32767]", + "System.Net.Requests": "(,4.3.32767]", + "System.Net.Security": "(,4.3.32767]", + "System.Net.ServerSentEvents": "(,10.0.32767]", + "System.Net.Sockets": "(,4.3.32767]", + "System.Net.WebHeaderCollection": "(,4.3.32767]", + "System.Net.WebSockets": "(,4.3.32767]", + "System.Net.WebSockets.Client": "(,4.3.32767]", + "System.Numerics.Vectors": "(,5.0.32767]", + "System.ObjectModel": "(,4.3.32767]", + "System.Private.DataContractSerialization": "(,4.3.32767]", + "System.Private.Uri": "(,4.3.32767]", + "System.Reflection": "(,4.3.32767]", + "System.Reflection.DispatchProxy": "(,6.0.32767]", + "System.Reflection.Emit": "(,4.7.32767]", + "System.Reflection.Emit.ILGeneration": "(,4.7.32767]", + "System.Reflection.Emit.Lightweight": "(,4.7.32767]", + "System.Reflection.Extensions": "(,4.3.32767]", + "System.Reflection.Metadata": "(,10.0.32767]", + "System.Reflection.Primitives": "(,4.3.32767]", + "System.Reflection.TypeExtensions": "(,4.3.32767]", + "System.Resources.Reader": "(,4.3.32767]", + "System.Resources.ResourceManager": "(,4.3.32767]", + "System.Resources.Writer": "(,4.3.32767]", + "System.Runtime": "(,4.3.32767]", + "System.Runtime.CompilerServices.Unsafe": "(,7.0.32767]", + "System.Runtime.CompilerServices.VisualC": "(,4.3.32767]", + "System.Runtime.Extensions": "(,4.3.32767]", + "System.Runtime.Handles": "(,4.3.32767]", + "System.Runtime.InteropServices": "(,4.3.32767]", + "System.Runtime.InteropServices.RuntimeInformation": "(,4.3.32767]", + "System.Runtime.Loader": "(,4.3.32767]", + "System.Runtime.Numerics": "(,4.3.32767]", + "System.Runtime.Serialization.Formatters": "(,4.3.32767]", + "System.Runtime.Serialization.Json": "(,4.3.32767]", + "System.Runtime.Serialization.Primitives": "(,4.3.32767]", + "System.Runtime.Serialization.Xml": "(,4.3.32767]", + "System.Security.AccessControl": "(,6.0.32767]", + "System.Security.Claims": "(,4.3.32767]", + "System.Security.Cryptography.Algorithms": "(,4.3.32767]", + "System.Security.Cryptography.Cng": "(,5.0.32767]", + "System.Security.Cryptography.Csp": "(,4.3.32767]", + "System.Security.Cryptography.Encoding": "(,4.3.32767]", + "System.Security.Cryptography.OpenSsl": "(,5.0.32767]", + "System.Security.Cryptography.Primitives": "(,4.3.32767]", + "System.Security.Cryptography.X509Certificates": "(,4.3.32767]", + "System.Security.Principal": "(,4.3.32767]", + "System.Security.Principal.Windows": "(,5.0.32767]", + "System.Security.SecureString": "(,4.3.32767]", + "System.Text.Encoding": "(,4.3.32767]", + "System.Text.Encoding.CodePages": "(,10.0.32767]", + "System.Text.Encoding.Extensions": "(,4.3.32767]", + "System.Text.Encodings.Web": "(,10.0.32767]", + "System.Text.Json": "(,10.0.32767]", + "System.Text.RegularExpressions": "(,4.3.32767]", + "System.Threading": "(,4.3.32767]", + "System.Threading.AccessControl": "(,10.0.32767]", + "System.Threading.Channels": "(,10.0.32767]", + "System.Threading.Overlapped": "(,4.3.32767]", + "System.Threading.Tasks": "(,4.3.32767]", + "System.Threading.Tasks.Dataflow": "(,10.0.32767]", + "System.Threading.Tasks.Extensions": "(,5.0.32767]", + "System.Threading.Tasks.Parallel": "(,4.3.32767]", + "System.Threading.Thread": "(,4.3.32767]", + "System.Threading.ThreadPool": "(,4.3.32767]", + "System.Threading.Timer": "(,4.3.32767]", + "System.ValueTuple": "(,4.5.32767]", + "System.Xml.ReaderWriter": "(,4.3.32767]", + "System.Xml.XDocument": "(,4.3.32767]", + "System.Xml.XmlDocument": "(,4.3.32767]", + "System.Xml.XmlSerializer": "(,4.3.32767]", + "System.Xml.XPath": "(,4.3.32767]", + "System.Xml.XPath.XDocument": "(,5.0.32767]" + } + } + } + } + } +} \ No newline at end of file diff --git a/src/isn.abstract/obj/isn.abstract.csproj.nuget.g.props b/src/isn.abstract/obj/isn.abstract.csproj.nuget.g.props new file mode 100644 index 0000000..a854e5b --- /dev/null +++ b/src/isn.abstract/obj/isn.abstract.csproj.nuget.g.props @@ -0,0 +1,15 @@ + + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + /home/paul/.nuget/packages/ + /home/paul/.nuget/packages/ + PackageReference + 7.0.0 + + + + + \ No newline at end of file diff --git a/src/isn.abstract/obj/isn.abstract.csproj.nuget.g.targets b/src/isn.abstract/obj/isn.abstract.csproj.nuget.g.targets new file mode 100644 index 0000000..3dc06ef --- /dev/null +++ b/src/isn.abstract/obj/isn.abstract.csproj.nuget.g.targets @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/isn.abstract/obj/project.assets.json b/src/isn.abstract/obj/project.assets.json new file mode 100644 index 0000000..db01951 --- /dev/null +++ b/src/isn.abstract/obj/project.assets.json @@ -0,0 +1,403 @@ +{ + "version": 4, + "targets": { + "net10.0": { + "Newtonsoft.Json/13.0.4": { + "type": "package", + "compile": { + "lib/net6.0/Newtonsoft.Json.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Newtonsoft.Json.dll": { + "related": ".xml" + } + } + } + } + }, + "libraries": { + "Newtonsoft.Json/13.0.4": { + "sha512": "pdgNNMai3zv51W5aq268sujXUyx7SNdE2bj1wZcWjAQrKMFZV260lbqYop1d2GM67JI1huLRwxo9ZqnfF/lC6A==", + "type": "package", + "path": "newtonsoft.json/13.0.4", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.md", + "README.md", + "lib/net20/Newtonsoft.Json.dll", + "lib/net20/Newtonsoft.Json.xml", + "lib/net35/Newtonsoft.Json.dll", + "lib/net35/Newtonsoft.Json.xml", + "lib/net40/Newtonsoft.Json.dll", + "lib/net40/Newtonsoft.Json.xml", + "lib/net45/Newtonsoft.Json.dll", + "lib/net45/Newtonsoft.Json.xml", + "lib/net6.0/Newtonsoft.Json.dll", + "lib/net6.0/Newtonsoft.Json.xml", + "lib/netstandard1.0/Newtonsoft.Json.dll", + "lib/netstandard1.0/Newtonsoft.Json.xml", + "lib/netstandard1.3/Newtonsoft.Json.dll", + "lib/netstandard1.3/Newtonsoft.Json.xml", + "lib/netstandard2.0/Newtonsoft.Json.dll", + "lib/netstandard2.0/Newtonsoft.Json.xml", + "newtonsoft.json.13.0.4.nupkg.sha512", + "newtonsoft.json.nuspec", + "packageIcon.png" + ] + } + }, + "projectFileDependencyGroups": { + "net10.0": [ + "Newtonsoft.Json >= 13.0.4" + ] + }, + "packageFolders": { + "/home/paul/.nuget/packages/": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "/home/paul/Workspace/isn/src/isn.abstract/isn.abstract.csproj", + "projectName": "isn.abstract", + "projectPath": "/home/paul/Workspace/isn/src/isn.abstract/isn.abstract.csproj", + "packagesPath": "/home/paul/.nuget/packages/", + "outputPath": "/home/paul/Workspace/isn/src/isn.abstract/obj/", + "projectStyle": "PackageReference", + "crossTargeting": true, + "configFilePaths": [ + "/home/paul/.nuget/NuGet/NuGet.Config" + ], + "originalTargetFrameworks": [ + "net10.0" + ], + "sources": { + "/usr/share/dotnet/library-packs": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net10.0": { + "framework": "net10.0", + "targetAlias": "net10.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "all" + }, + "SdkAnalysisLevel": "10.0.300" + }, + "frameworks": { + "net10.0": { + "framework": "net10.0", + "targetAlias": "net10.0", + "dependencies": { + "Newtonsoft.Json": { + "target": "Package", + "version": "[13.0.4, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/10.0.301/PortableRuntimeIdentifierGraph.json", + "packagesToPrune": { + "Microsoft.CSharp": "(,4.7.32767]", + "Microsoft.VisualBasic": "(,10.4.32767]", + "Microsoft.Win32.Primitives": "(,4.3.32767]", + "Microsoft.Win32.Registry": "(,5.0.32767]", + "runtime.any.System.Collections": "(,4.3.32767]", + "runtime.any.System.Diagnostics.Tools": "(,4.3.32767]", + "runtime.any.System.Diagnostics.Tracing": "(,4.3.32767]", + "runtime.any.System.Globalization": "(,4.3.32767]", + "runtime.any.System.Globalization.Calendars": "(,4.3.32767]", + "runtime.any.System.IO": "(,4.3.32767]", + "runtime.any.System.Reflection": "(,4.3.32767]", + "runtime.any.System.Reflection.Extensions": "(,4.3.32767]", + "runtime.any.System.Reflection.Primitives": "(,4.3.32767]", + "runtime.any.System.Resources.ResourceManager": "(,4.3.32767]", + "runtime.any.System.Runtime": "(,4.3.32767]", + "runtime.any.System.Runtime.Handles": "(,4.3.32767]", + "runtime.any.System.Runtime.InteropServices": "(,4.3.32767]", + "runtime.any.System.Text.Encoding": "(,4.3.32767]", + "runtime.any.System.Text.Encoding.Extensions": "(,4.3.32767]", + "runtime.any.System.Threading.Tasks": "(,4.3.32767]", + "runtime.any.System.Threading.Timer": "(,4.3.32767]", + "runtime.aot.System.Collections": "(,4.3.32767]", + "runtime.aot.System.Diagnostics.Tools": "(,4.3.32767]", + "runtime.aot.System.Diagnostics.Tracing": "(,4.3.32767]", + "runtime.aot.System.Globalization": "(,4.3.32767]", + "runtime.aot.System.Globalization.Calendars": "(,4.3.32767]", + "runtime.aot.System.IO": "(,4.3.32767]", + "runtime.aot.System.Reflection": "(,4.3.32767]", + "runtime.aot.System.Reflection.Extensions": "(,4.3.32767]", + "runtime.aot.System.Reflection.Primitives": "(,4.3.32767]", + "runtime.aot.System.Resources.ResourceManager": "(,4.3.32767]", + "runtime.aot.System.Runtime": "(,4.3.32767]", + "runtime.aot.System.Runtime.Handles": "(,4.3.32767]", + "runtime.aot.System.Runtime.InteropServices": "(,4.3.32767]", + "runtime.aot.System.Text.Encoding": "(,4.3.32767]", + "runtime.aot.System.Text.Encoding.Extensions": "(,4.3.32767]", + "runtime.aot.System.Threading.Tasks": "(,4.3.32767]", + "runtime.aot.System.Threading.Timer": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.unix.Microsoft.Win32.Primitives": "(,4.3.32767]", + "runtime.unix.System.Console": "(,4.3.32767]", + "runtime.unix.System.Diagnostics.Debug": "(,4.3.32767]", + "runtime.unix.System.IO.FileSystem": "(,4.3.32767]", + "runtime.unix.System.Net.Primitives": "(,4.3.32767]", + "runtime.unix.System.Net.Sockets": "(,4.3.32767]", + "runtime.unix.System.Private.Uri": "(,4.3.32767]", + "runtime.unix.System.Runtime.Extensions": "(,4.3.32767]", + "runtime.win.Microsoft.Win32.Primitives": "(,4.3.32767]", + "runtime.win.System.Console": "(,4.3.32767]", + "runtime.win.System.Diagnostics.Debug": "(,4.3.32767]", + "runtime.win.System.IO.FileSystem": "(,4.3.32767]", + "runtime.win.System.Net.Primitives": "(,4.3.32767]", + "runtime.win.System.Net.Sockets": "(,4.3.32767]", + "runtime.win.System.Runtime.Extensions": "(,4.3.32767]", + "runtime.win10-arm-aot.runtime.native.System.IO.Compression": "(,4.0.32767]", + "runtime.win10-arm64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.win10-x64-aot.runtime.native.System.IO.Compression": "(,4.0.32767]", + "runtime.win10-x86-aot.runtime.native.System.IO.Compression": "(,4.0.32767]", + "runtime.win7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.win7-x86.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.win7.System.Private.Uri": "(,4.3.32767]", + "runtime.win8-arm.runtime.native.System.IO.Compression": "(,4.3.32767]", + "System.AppContext": "(,4.3.32767]", + "System.Buffers": "(,5.0.32767]", + "System.Collections": "(,4.3.32767]", + "System.Collections.Concurrent": "(,4.3.32767]", + "System.Collections.Immutable": "(,10.0.32767]", + "System.Collections.NonGeneric": "(,4.3.32767]", + "System.Collections.Specialized": "(,4.3.32767]", + "System.ComponentModel": "(,4.3.32767]", + "System.ComponentModel.Annotations": "(,4.3.32767]", + "System.ComponentModel.EventBasedAsync": "(,4.3.32767]", + "System.ComponentModel.Primitives": "(,4.3.32767]", + "System.ComponentModel.TypeConverter": "(,4.3.32767]", + "System.Console": "(,4.3.32767]", + "System.Data.Common": "(,4.3.32767]", + "System.Data.DataSetExtensions": "(,4.4.32767]", + "System.Diagnostics.Contracts": "(,4.3.32767]", + "System.Diagnostics.Debug": "(,4.3.32767]", + "System.Diagnostics.DiagnosticSource": "(,10.0.32767]", + "System.Diagnostics.FileVersionInfo": "(,4.3.32767]", + "System.Diagnostics.Process": "(,4.3.32767]", + "System.Diagnostics.StackTrace": "(,4.3.32767]", + "System.Diagnostics.TextWriterTraceListener": "(,4.3.32767]", + "System.Diagnostics.Tools": "(,4.3.32767]", + "System.Diagnostics.TraceSource": "(,4.3.32767]", + "System.Diagnostics.Tracing": "(,4.3.32767]", + "System.Drawing.Primitives": "(,4.3.32767]", + "System.Dynamic.Runtime": "(,4.3.32767]", + "System.Formats.Asn1": "(,10.0.32767]", + "System.Formats.Tar": "(,10.0.32767]", + "System.Globalization": "(,4.3.32767]", + "System.Globalization.Calendars": "(,4.3.32767]", + "System.Globalization.Extensions": "(,4.3.32767]", + "System.IO": "(,4.3.32767]", + "System.IO.Compression": "(,4.3.32767]", + "System.IO.Compression.ZipFile": "(,4.3.32767]", + "System.IO.FileSystem": "(,4.3.32767]", + "System.IO.FileSystem.AccessControl": "(,4.4.32767]", + "System.IO.FileSystem.DriveInfo": "(,4.3.32767]", + "System.IO.FileSystem.Primitives": "(,4.3.32767]", + "System.IO.FileSystem.Watcher": "(,4.3.32767]", + "System.IO.IsolatedStorage": "(,4.3.32767]", + "System.IO.MemoryMappedFiles": "(,4.3.32767]", + "System.IO.Pipelines": "(,10.0.32767]", + "System.IO.Pipes": "(,4.3.32767]", + "System.IO.Pipes.AccessControl": "(,5.0.32767]", + "System.IO.UnmanagedMemoryStream": "(,4.3.32767]", + "System.Linq": "(,4.3.32767]", + "System.Linq.AsyncEnumerable": "(,10.0.32767]", + "System.Linq.Expressions": "(,4.3.32767]", + "System.Linq.Parallel": "(,4.3.32767]", + "System.Linq.Queryable": "(,4.3.32767]", + "System.Memory": "(,5.0.32767]", + "System.Net.Http": "(,4.3.32767]", + "System.Net.Http.Json": "(,10.0.32767]", + "System.Net.NameResolution": "(,4.3.32767]", + "System.Net.NetworkInformation": "(,4.3.32767]", + "System.Net.Ping": "(,4.3.32767]", + "System.Net.Primitives": "(,4.3.32767]", + "System.Net.Requests": "(,4.3.32767]", + "System.Net.Security": "(,4.3.32767]", + "System.Net.ServerSentEvents": "(,10.0.32767]", + "System.Net.Sockets": "(,4.3.32767]", + "System.Net.WebHeaderCollection": "(,4.3.32767]", + "System.Net.WebSockets": "(,4.3.32767]", + "System.Net.WebSockets.Client": "(,4.3.32767]", + "System.Numerics.Vectors": "(,5.0.32767]", + "System.ObjectModel": "(,4.3.32767]", + "System.Private.DataContractSerialization": "(,4.3.32767]", + "System.Private.Uri": "(,4.3.32767]", + "System.Reflection": "(,4.3.32767]", + "System.Reflection.DispatchProxy": "(,6.0.32767]", + "System.Reflection.Emit": "(,4.7.32767]", + "System.Reflection.Emit.ILGeneration": "(,4.7.32767]", + "System.Reflection.Emit.Lightweight": "(,4.7.32767]", + "System.Reflection.Extensions": "(,4.3.32767]", + "System.Reflection.Metadata": "(,10.0.32767]", + "System.Reflection.Primitives": "(,4.3.32767]", + "System.Reflection.TypeExtensions": "(,4.3.32767]", + "System.Resources.Reader": "(,4.3.32767]", + "System.Resources.ResourceManager": "(,4.3.32767]", + "System.Resources.Writer": "(,4.3.32767]", + "System.Runtime": "(,4.3.32767]", + "System.Runtime.CompilerServices.Unsafe": "(,7.0.32767]", + "System.Runtime.CompilerServices.VisualC": "(,4.3.32767]", + "System.Runtime.Extensions": "(,4.3.32767]", + "System.Runtime.Handles": "(,4.3.32767]", + "System.Runtime.InteropServices": "(,4.3.32767]", + "System.Runtime.InteropServices.RuntimeInformation": "(,4.3.32767]", + "System.Runtime.Loader": "(,4.3.32767]", + "System.Runtime.Numerics": "(,4.3.32767]", + "System.Runtime.Serialization.Formatters": "(,4.3.32767]", + "System.Runtime.Serialization.Json": "(,4.3.32767]", + "System.Runtime.Serialization.Primitives": "(,4.3.32767]", + "System.Runtime.Serialization.Xml": "(,4.3.32767]", + "System.Security.AccessControl": "(,6.0.32767]", + "System.Security.Claims": "(,4.3.32767]", + "System.Security.Cryptography.Algorithms": "(,4.3.32767]", + "System.Security.Cryptography.Cng": "(,5.0.32767]", + "System.Security.Cryptography.Csp": "(,4.3.32767]", + "System.Security.Cryptography.Encoding": "(,4.3.32767]", + "System.Security.Cryptography.OpenSsl": "(,5.0.32767]", + "System.Security.Cryptography.Primitives": "(,4.3.32767]", + "System.Security.Cryptography.X509Certificates": "(,4.3.32767]", + "System.Security.Principal": "(,4.3.32767]", + "System.Security.Principal.Windows": "(,5.0.32767]", + "System.Security.SecureString": "(,4.3.32767]", + "System.Text.Encoding": "(,4.3.32767]", + "System.Text.Encoding.CodePages": "(,10.0.32767]", + "System.Text.Encoding.Extensions": "(,4.3.32767]", + "System.Text.Encodings.Web": "(,10.0.32767]", + "System.Text.Json": "(,10.0.32767]", + "System.Text.RegularExpressions": "(,4.3.32767]", + "System.Threading": "(,4.3.32767]", + "System.Threading.AccessControl": "(,10.0.32767]", + "System.Threading.Channels": "(,10.0.32767]", + "System.Threading.Overlapped": "(,4.3.32767]", + "System.Threading.Tasks": "(,4.3.32767]", + "System.Threading.Tasks.Dataflow": "(,10.0.32767]", + "System.Threading.Tasks.Extensions": "(,5.0.32767]", + "System.Threading.Tasks.Parallel": "(,4.3.32767]", + "System.Threading.Thread": "(,4.3.32767]", + "System.Threading.ThreadPool": "(,4.3.32767]", + "System.Threading.Timer": "(,4.3.32767]", + "System.ValueTuple": "(,4.5.32767]", + "System.Xml.ReaderWriter": "(,4.3.32767]", + "System.Xml.XDocument": "(,4.3.32767]", + "System.Xml.XmlDocument": "(,4.3.32767]", + "System.Xml.XmlSerializer": "(,4.3.32767]", + "System.Xml.XPath": "(,4.3.32767]", + "System.Xml.XPath.XDocument": "(,5.0.32767]" + } + } + } + } +} \ No newline at end of file diff --git a/src/isn.abstract/obj/project.nuget.cache b/src/isn.abstract/obj/project.nuget.cache new file mode 100644 index 0000000..78a419d --- /dev/null +++ b/src/isn.abstract/obj/project.nuget.cache @@ -0,0 +1,10 @@ +{ + "version": 2, + "dgSpecHash": "Tj3HKBMoTco=", + "success": true, + "projectFilePath": "/home/paul/Workspace/isn/src/isn.abstract/isn.abstract.csproj", + "expectedPackageFiles": [ + "/home/paul/.nuget/packages/newtonsoft.json/13.0.4/newtonsoft.json.13.0.4.nupkg.sha512" + ], + "logs": [] +} \ No newline at end of file diff --git a/src/isn/Constants.cs b/src/isn/Constants.cs index e68c94c..3bb3423 100644 --- a/src/isn/Constants.cs +++ b/src/isn/Constants.cs @@ -1,4 +1,4 @@ -namespace isn +namespace Isn { internal static class Constants { diff --git a/src/isn/IDataProtector.cs b/src/isn/IDataProtector.cs index d91ea23..e0904ac 100644 --- a/src/isn/IDataProtector.cs +++ b/src/isn/IDataProtector.cs @@ -2,7 +2,7 @@ using System; using System.Collections.Generic; using System.Text; -namespace isn +namespace Isn { public interface IDataProtector { diff --git a/src/isn/IsnSourceSettings.cs b/src/isn/IsnSourceSettings.cs index bc2491c..1390359 100644 --- a/src/isn/IsnSourceSettings.cs +++ b/src/isn/IsnSourceSettings.cs @@ -1,4 +1,4 @@ -namespace isn +namespace Isn { public class IsnSourceSettings { diff --git a/src/isn/IsndErrorMessage.cs b/src/isn/IsndErrorMessage.cs index fa6b062..bdd61d7 100644 --- a/src/isn/IsndErrorMessage.cs +++ b/src/isn/IsndErrorMessage.cs @@ -1,4 +1,4 @@ -namespace isn +namespace Isn { public class IsndErrorMessage { diff --git a/src/isn/Program.cs b/src/isn/Program.cs index 8a543a6..6f1752d 100644 --- a/src/isn/Program.cs +++ b/src/isn/Program.cs @@ -5,7 +5,7 @@ using System.Linq; using Mono.Options; using Newtonsoft.Json; -namespace isn +namespace Isn { public partial class Program { diff --git a/src/isn/Settings.cs b/src/isn/Settings.cs index 2bd0def..9c4c1c8 100644 --- a/src/isn/Settings.cs +++ b/src/isn/Settings.cs @@ -2,7 +2,7 @@ using System; using System.Collections.Generic; using System.Linq; -namespace isn +namespace Isn { public class SourceSettings { diff --git a/src/isn/SourceHelpers.cs b/src/isn/SourceHelpers.cs index ba8762b..8b1ba21 100644 --- a/src/isn/SourceHelpers.cs +++ b/src/isn/SourceHelpers.cs @@ -4,9 +4,9 @@ using System.Net; using System.Net.Http; using System.Threading.Tasks; using Newtonsoft.Json; -using isn.Abstract; +using Isn.Abstract; -namespace isn +namespace Isn { public static class SourceHelpers { diff --git a/src/isn/UploadFilesToServerUsingHttpClient.cs b/src/isn/UploadFilesToServerUsingHttpClient.cs index ce51297..de5c33b 100644 --- a/src/isn/UploadFilesToServerUsingHttpClient.cs +++ b/src/isn/UploadFilesToServerUsingHttpClient.cs @@ -5,7 +5,7 @@ using System.Net; using System.Net.Http; using System.Threading.Tasks; -namespace isn +namespace Isn { public static class UploadFilesToServerUsingHttpClient { diff --git a/src/isn/UploadFilesToServerUsingWebRequest.cs b/src/isn/UploadFilesToServerUsingWebRequest.cs index 21ead1a..cd2aad8 100644 --- a/src/isn/UploadFilesToServerUsingWebRequest.cs +++ b/src/isn/UploadFilesToServerUsingWebRequest.cs @@ -5,7 +5,7 @@ using System.Text; using System.Threading.Tasks; using Newtonsoft.Json; -namespace isn +namespace Isn { public class UploadFilesToServerUsingWebRequest diff --git a/src/isn/commands/PushCommand.cs b/src/isn/commands/PushCommand.cs index bf4e08a..0f6f303 100644 --- a/src/isn/commands/PushCommand.cs +++ b/src/isn/commands/PushCommand.cs @@ -6,7 +6,7 @@ using System.Net.Http; using System.Threading.Tasks; using Newtonsoft.Json; -namespace isn +namespace Isn { public static class PushCommand { diff --git a/src/isn/commands/push.cs b/src/isn/commands/push.cs index 58daf08..e00e307 100644 --- a/src/isn/commands/push.cs +++ b/src/isn/commands/push.cs @@ -4,7 +4,7 @@ using System.Threading.Tasks; using Newtonsoft.Json; -namespace isn +namespace Isn { partial class Program diff --git a/src/isn/commands/set-api-key.cs b/src/isn/commands/set-api-key.cs index 7b2f018..0c4c2a5 100644 --- a/src/isn/commands/set-api-key.cs +++ b/src/isn/commands/set-api-key.cs @@ -4,7 +4,7 @@ using System.IO; using Newtonsoft.Json; -namespace isn +namespace Isn { partial class Program diff --git a/src/isn/commands/show.config.cs b/src/isn/commands/show.config.cs index ff00e36..b1d8cd8 100644 --- a/src/isn/commands/show.config.cs +++ b/src/isn/commands/show.config.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using Newtonsoft.Json; -namespace isn +namespace Isn { partial class Program diff --git a/src/isn/commands/sources.add.cs b/src/isn/commands/sources.add.cs index 90d2aed..b01fe91 100644 --- a/src/isn/commands/sources.add.cs +++ b/src/isn/commands/sources.add.cs @@ -3,7 +3,7 @@ using System; using System.Collections.Generic; using Newtonsoft.Json; -namespace isn +namespace Isn { partial class Program diff --git a/src/isn/commands/sources.list.cs b/src/isn/commands/sources.list.cs index 6a1239a..79a8c7f 100644 --- a/src/isn/commands/sources.list.cs +++ b/src/isn/commands/sources.list.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.Linq; using Newtonsoft.Json; -namespace isn +namespace Isn { partial class Program { diff --git a/src/isn/commands/sources.set-default.cs b/src/isn/commands/sources.set-default.cs index 8a691b3..a30a1c1 100644 --- a/src/isn/commands/sources.set-default.cs +++ b/src/isn/commands/sources.set-default.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -namespace isn +namespace Isn { partial class Program diff --git a/src/isn/isn.csproj b/src/isn/isn.csproj index a61ef49..bd2cce9 100644 --- a/src/isn/isn.csproj +++ b/src/isn/isn.csproj @@ -1,25 +1,23 @@  Exe - net7.0 nuget_cli - 45b74c62-05bc-4603-95b4-3e80ae2fdf50 - 1.0.7 - 1.0.1 true - WTFPL true NETSDK1138 - 1.0.7.0 - 1.0.7.0 - 1.0.7+Branch.main.Sha.3695c1742965d93eba0ad851656cfaa3e44ba327 + 1.0.0.0 + 1.0.0.0 + 1.0.0+Branch.main.Sha.654065d7fef34ba4ed2fb3bca5bc91de9ad16e85 + 1.0.0 - - - - - - + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + + + \ No newline at end of file diff --git a/src/isn/model/PushReport.cs b/src/isn/model/PushReport.cs index d8e082e..61f54bd 100644 --- a/src/isn/model/PushReport.cs +++ b/src/isn/model/PushReport.cs @@ -1,7 +1,7 @@ using System.Net; using System.Text; -namespace isn +namespace Isn { public class PushReport { diff --git a/src/isnd/Controllers/HomeController.cs b/src/isnd/Controllers/HomeController.cs index 45512c1..9571234 100644 --- a/src/isnd/Controllers/HomeController.cs +++ b/src/isnd/Controllers/HomeController.cs @@ -1,12 +1,10 @@ -using Microsoft.AspNetCore.Hosting; -using Microsoft.AspNetCore.Mvc; -using Microsoft.Extensions.Logging; +using Microsoft.AspNetCore.Mvc; using isnd.Data; using System.Linq; using isnd.ViewModels; using Unleash; using System.Reflection; -using Microsoft.EntityFrameworkCore; +using Isn.Abstract; namespace isnd.Controllers { @@ -16,31 +14,38 @@ namespace isnd.Controllers public class HomeController : Controller { private readonly ApplicationDbContext _dbContext; - private readonly IUnleash _unleashĈlient; + private readonly IUnleash _unleashClient; /// /// Home controller ctor /// /// - /// + /// public HomeController( ApplicationDbContext dbContext, - IUnleash unleashĈlient) + IUnleash unleashClient) { _dbContext = dbContext; - _unleashĈlient = unleashĈlient; + _unleashClient = unleashClient; } - + + /** + * Index + */ public IActionResult Index() { - return View(new HomeIndexViewModel{ + return View(new HomeIndexViewModel + { PkgCount = _dbContext.Packages .Where(p => p.Versions.Count > 0) .Count(), - UnleashClient = _unleashĈlient - }); + UnleashClient = _unleashClient + }); } + /** + * About + */ public IActionResult About() { ViewData["Message"] = "Your application description page."; @@ -48,18 +53,24 @@ namespace isnd.Controllers return View(); } + /** + * Contact + */ public IActionResult Contact() { ViewData["Message"] = "Your contact page."; - var ass = typeof(isn.Abstract.Resource).GetType().Assembly; + var ass = typeof(Resource).GetType().Assembly; var attrs = ass.GetCustomAttributes(true); // ass.GetCustomAttributes(true); - System.Reflection.AssemblyFileVersionAttribute v = (AssemblyFileVersionAttribute) + System.Reflection.AssemblyFileVersionAttribute v = (AssemblyFileVersionAttribute) GetType().Assembly.GetCustomAttribute(typeof(AssemblyFileVersionAttribute)); return View(); } + /** + * Privacy + */ public IActionResult Privacy() { ViewData["Message"] = "Your Privacy page."; @@ -67,6 +78,9 @@ namespace isnd.Controllers return View(ViewData); } + /** + * Error + */ public IActionResult Error() { return View(); diff --git a/src/isnd/Controllers/Packages/ApiIndex.cs b/src/isnd/Controllers/Packages/ApiIndex.cs index 56930cf..9b8f158 100644 --- a/src/isnd/Controllers/Packages/ApiIndex.cs +++ b/src/isnd/Controllers/Packages/ApiIndex.cs @@ -1,11 +1,10 @@ using Microsoft.AspNetCore.Mvc; -using isnd.Entities; using isnd.Services; -using isn.Abstract; -using isn.abst; using isnd.Interfaces; using Unleash; using System.Linq; +using isnd.Entities; +using Isn.Abstract; namespace isnd.Controllers diff --git a/src/isnd/Controllers/Packages/PackagesController.AutoComplete.cs b/src/isnd/Controllers/Packages/PackagesController.AutoComplete.cs index 6f1fbf6..57cd4b5 100644 --- a/src/isnd/Controllers/Packages/PackagesController.AutoComplete.cs +++ b/src/isnd/Controllers/Packages/PackagesController.AutoComplete.cs @@ -1,7 +1,7 @@ using isnd.Services; using isnd.Entities; using Microsoft.AspNetCore.Mvc; -using isn.abst; +using Isn.Abstract; namespace isnd.Controllers { diff --git a/src/isnd/Controllers/Packages/PackagesController.Catalog.cs b/src/isnd/Controllers/Packages/PackagesController.Catalog.cs index 950291d..7e74a56 100644 --- a/src/isnd/Controllers/Packages/PackagesController.Catalog.cs +++ b/src/isnd/Controllers/Packages/PackagesController.Catalog.cs @@ -8,7 +8,7 @@ using System.Collections.Generic; using NuGet.Versioning; using isnd.Data.Packages.Catalog; using isnd.Data.Catalog; -using isn.abst; +using Isn.Abstract; namespace isnd.Controllers { diff --git a/src/isnd/Controllers/Packages/PackagesController.Delete.cs b/src/isnd/Controllers/Packages/PackagesController.Delete.cs index 74c193e..e117de5 100644 --- a/src/isnd/Controllers/Packages/PackagesController.Delete.cs +++ b/src/isnd/Controllers/Packages/PackagesController.Delete.cs @@ -5,7 +5,7 @@ using isnd.Entities; using System.ComponentModel.DataAnnotations; using isnd.Attributes; using System.Security.Claims; -using isn.abst; +using Isn.Abstract; namespace isnd.Controllers { diff --git a/src/isnd/Controllers/Packages/PackagesController.GetPackage.cs b/src/isnd/Controllers/Packages/PackagesController.GetPackage.cs index b044ae7..b5b7836 100644 --- a/src/isnd/Controllers/Packages/PackagesController.GetPackage.cs +++ b/src/isnd/Controllers/Packages/PackagesController.GetPackage.cs @@ -1,9 +1,9 @@ using System.ComponentModel.DataAnnotations; using System.IO; using Microsoft.AspNetCore.Mvc; -using isnd.Attributes; +using Isn.Abstract; using isnd.Entities; -using isn.abst; +using isnd.Attributes; namespace isnd.Controllers { diff --git a/src/isnd/Controllers/Packages/PackagesController.GetVersions.cs b/src/isnd/Controllers/Packages/PackagesController.GetVersions.cs index 5cdda12..f6a974d 100644 --- a/src/isnd/Controllers/Packages/PackagesController.GetVersions.cs +++ b/src/isnd/Controllers/Packages/PackagesController.GetVersions.cs @@ -1,7 +1,7 @@ using Microsoft.AspNetCore.Mvc; using NuGet.Versioning; using isnd.Entities; -using isn.abst; +using Isn.Abstract; namespace isnd.Controllers { diff --git a/src/isnd/Controllers/Packages/PackagesController.Put.cs b/src/isnd/Controllers/Packages/PackagesController.Put.cs index f1570e8..b05691e 100644 --- a/src/isnd/Controllers/Packages/PackagesController.Put.cs +++ b/src/isnd/Controllers/Packages/PackagesController.Put.cs @@ -15,7 +15,7 @@ using isnd.Data; using isnd.Helpers; using isnd.Entities; using Microsoft.AspNetCore.Http; -using isn.abst; +using Isn.Abstract; using isnd.Data.Packages; using Microsoft.AspNetCore.Authorization; @@ -178,7 +178,7 @@ namespace isnd.Controllers } await dbContext.SaveChangesAsync(); - packageManager.ÛpdateCatalogForAsync(commit); + packageManager.UpdateCatalogForAsync(commit); logger.LogInformation($"new paquet : {spec.Name}"); } diff --git a/src/isnd/Controllers/Packages/PackagesController.Search.cs b/src/isnd/Controllers/Packages/PackagesController.Search.cs index 8a67c63..8088bd8 100644 --- a/src/isnd/Controllers/Packages/PackagesController.Search.cs +++ b/src/isnd/Controllers/Packages/PackagesController.Search.cs @@ -3,7 +3,7 @@ using System; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using isnd.Entities; -using isn.abst; +using Isn.Abstract; namespace isnd.Controllers { diff --git a/src/isnd/Controllers/Packages/PackagesController.cs b/src/isnd/Controllers/Packages/PackagesController.cs index ddf9e69..b6f4e5f 100644 --- a/src/isnd/Controllers/Packages/PackagesController.cs +++ b/src/isnd/Controllers/Packages/PackagesController.cs @@ -1,21 +1,14 @@ -using System.ComponentModel.DataAnnotations; -using System.IO; using System.Linq; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.DataProtection; using Microsoft.AspNetCore.Mvc; -using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; -using NuGet.Versioning; using isnd.Data; using isnd.Entities; using Unleash; -using isnd.Services; -using isnd.ViewModels; -using System.Threading.Tasks; using isnd.Interfaces; -using isn.Abstract; +using Isn.Abstract; namespace isnd.Controllers { @@ -30,13 +23,17 @@ namespace isnd.Controllers private readonly IsndSettings isndSettings; readonly ApplicationDbContext dbContext; private readonly IPackageManager packageManager; - private readonly IUnleash unleashĈlient; + private readonly IUnleash unleashClient; + + /** + * PackagesController + */ public PackagesController( ILoggerFactory loggerFactory, IDataProtectionProvider provider, IOptions isndOptions, - IUnleash unleashĈlient, + IUnleash unleashClient, ApplicationDbContext dbContext, IPackageManager pm) { @@ -45,8 +42,8 @@ namespace isnd.Controllers protector = provider.CreateProtector(isndSettings.ProtectionTitle); this.dbContext = dbContext; packageManager = pm; - this.unleashĈlient = unleashĈlient; - resources = packageManager.GetResources(unleashĈlient).ToArray(); + this.unleashClient = unleashClient; + resources = packageManager.GetResources(unleashClient).ToArray(); } } } diff --git a/src/isnd/Data/Packages/PackageVersion.cs b/src/isnd/Data/Packages/PackageVersion.cs index 9120d93..95c7eb1 100644 --- a/src/isnd/Data/Packages/PackageVersion.cs +++ b/src/isnd/Data/Packages/PackageVersion.cs @@ -1,7 +1,7 @@ using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -using isn.abst; +using Isn.Abstract; using isnd.Data.Catalog; using isnd.Data.Packages; using isnd.Data.Packages.Catalog; diff --git a/src/isnd/Helpers/PackageVersionHelpers.cs b/src/isnd/Helpers/PackageVersionHelpers.cs index 49f41d6..a60d283 100644 --- a/src/isnd/Helpers/PackageVersionHelpers.cs +++ b/src/isnd/Helpers/PackageVersionHelpers.cs @@ -2,7 +2,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Security.Claims; -using isn.abst; +using Isn.Abstract; using isnd.Data; using isnd.Data.Catalog; using isnd.Entities; diff --git a/src/isnd/Helpers/UnleashHelpers.cs b/src/isnd/Helpers/UnleashHelpers.cs index d107bff..bbfc33d 100644 --- a/src/isnd/Helpers/UnleashHelpers.cs +++ b/src/isnd/Helpers/UnleashHelpers.cs @@ -2,23 +2,31 @@ using System; using System.Collections.Generic; using isnd.Entities; using Microsoft.AspNetCore.Hosting; -using Microsoft.AspNetCore.Mvc; using Unleash; using Unleash.ClientFactory; namespace isnd.Helpers { + /** + * Helper class for creating an Unleash client. + */ public static class UnleashHelpers { + /** + * Creates an Unleash client using the provided environment and settings. + * @param env The web host environment. + * @param unleashClientSettings The settings for the Unleash client. + * @returns An instance of IUnleash. + */ - public static IUnleash CreateUnleahClient(this IHostingEnvironment env, + public static IUnleash CreateUnleashClient(this IWebHostEnvironment env, UnleashClientSettings unleashClientSettings) { var unleashSettings = new UnleashSettings { UnleashApi = new Uri(unleashClientSettings.ApiUrl), AppName = "isnd", - Environment = env.EnvironmentName, + InstanceTag = env.EnvironmentName, CustomHttpHeaders = new Dictionary { { "Authorization", unleashClientSettings.ClientApiKey } diff --git a/src/isnd/Interfaces/IPackageManager.cs b/src/isnd/Interfaces/IPackageManager.cs index 8e5c2b2..6f6798d 100644 --- a/src/isnd/Interfaces/IPackageManager.cs +++ b/src/isnd/Interfaces/IPackageManager.cs @@ -1,11 +1,9 @@ using System.Collections.Generic; using System.Threading.Tasks; -using isn.Abstract; -using isnd.Controllers; +using Isn.Abstract; using isnd.Data; using isnd.Data.Catalog; using isnd.Data.Packages; -using isnd.Data.Packages.Catalog; using isnd.Services; using isnd.ViewModels; using NuGet.Versioning; @@ -13,23 +11,67 @@ using Unleash; namespace isnd.Interfaces { + /** + * IPackageManager + */ public interface IPackageManager { + /** + * CatalogBaseUrl + */ string CatalogBaseUrl { get; } + /** + * AutoComplete generation + */ AutoCompleteResult AutoComplete(string pkgid, int skip, int take, bool prerelease = false, string packageType = null); + /** + * GetVersions + */ string[] GetVersions(string pkgid, NuGetVersion parsedVersion, bool prerelease = false, string packageType = null, int skip = 0, int take = 25); - IEnumerable GetResources(IUnleash unleashĈlient); - Task ÛpdateCatalogForAsync(Commit commit); + /** + * GetResources + */ + IEnumerable GetResources(IUnleash unleashClient); + /** + * UpdateCatalogForAsync + */ + Task UpdateCatalogForAsync(Commit commit); + /** + * DeletePackageAsync + */ Task DeletePackageAsync(string pkgid, string version, string type); + + /** + * UserAskForPackageDeletionAsync + */ Task UserAskForPackageDeletionAsync(string userid, string pkgId, string lower, string type); + + /** + * GetPackageAsync + */ Task GetPackageAsync(string pkgid, string version, string type); + + /** + * GetCatalogEntryAsync + */ Task GetCatalogEntryAsync(string pkgId, string version, string pkgType); + /** + * SearchCatalogEntriesById + */ IEnumerable SearchCatalogEntriesById(string pkgId, string semver, string pkgType); + /** + * GetCatalogIndexAsync + */ Task GetCatalogIndexAsync(); + /** + * GetPackageRegistrationIndexAsync + */ Task GetPackageRegistrationIndexAsync(RegistrationPageIndexQuery query); - +/** + * SearchPackageAsync + */ Task SearchPackageAsync(RegistrationPageIndexQuery query); } diff --git a/src/isnd/Services/PackageManager.cs b/src/isnd/Services/PackageManager.cs index 2dc301e..4db3d27 100644 --- a/src/isnd/Services/PackageManager.cs +++ b/src/isnd/Services/PackageManager.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; -using isn.Abstract; +using Isn.Abstract; using isnd.Data; using isnd.Data.Catalog; using isnd.Data.Packages; @@ -143,10 +143,10 @@ namespace isnd.Services public virtual async Task GetCatalogIndexAsync() { - return await ÛpdateCatalogForAsync(null); + return await UpdateCatalogForAsync(null); } - public async Task ÛpdateCatalogForAsync(Commit reason = null) + public async Task UpdateCatalogForAsync(Commit reason = null) { int i = 0; @@ -221,7 +221,7 @@ namespace isnd.Services } dbContext.PackageVersions.Remove(pkg); await dbContext.SaveChangesAsync(); - await ÛpdateCatalogForAsync(commit); + await UpdateCatalogForAsync(commit); return new PackageDeletionReport { Deleted = true, DeletedVersion = pkg }; } diff --git a/src/isnd/Startup.cs b/src/isnd/Startup.cs index 93be266..dcc7e4c 100644 --- a/src/isnd/Startup.cs +++ b/src/isnd/Startup.cs @@ -1,5 +1,4 @@ -using System.Linq; -using System.Collections.Generic; + using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.EntityFrameworkCore; @@ -15,35 +14,41 @@ using isnd.Entities; using isnd.Authorization; using isnd.Data.Roles; using Microsoft.AspNetCore.Authorization; -using Unleash; using Microsoft.Extensions.Options; using isnd.Helpers; using Microsoft.IdentityModel.Tokens; using System; -using Microsoft.OpenApi.Models; using System.IO; -using Microsoft.AspNetCore.Mvc; -using Microsoft.AspNetCore.Identity.EntityFrameworkCore; -using System.Text.Json; -using System.Text.Json.Serialization; -using isnd.Data.Catalog; -using Newtonsoft.Json; using Microsoft.AspNetCore.HttpOverrides; +using Microsoft.OpenApi; namespace isnd { +/** + * Startup class for configuring services and the app's request pipeline. + */ public class Startup { + /** + * Constructor for the Startup class. + * @param config The configuration object. + */ public Startup(IConfiguration config) { Configuration = config; } + /** + * The configuration object. + */ public static IConfiguration Configuration { get; private set; } - // This method gets called by the runtime. Use this method to add services to the container. + /** + * This method gets called by the runtime. Use this method to add services to the container. + * @param services The service collection. + */ public void ConfigureServices(IServiceCollection services) { var smtpSettingsconf = Configuration.GetSection("Smtp"); @@ -98,7 +103,7 @@ namespace isnd throw new System.Exception("No unleash client ApiUrl"); if (config.Value.ClientApiKey == null) throw new System.Exception("No unleash client ClientApiKey"); - return s.GetRequiredService().CreateUnleahClient(config.Value); + return s.GetRequiredService().CreateUnleashClient(config.Value); }); @@ -141,7 +146,13 @@ namespace isnd }); } - // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. + /** + * This method gets called by the runtime. Use this method to configure the HTTP request pipeline. + * @param app The application builder. + * @param env The web host environment. + * @param dbContext The application database context. + * @param isnSettingsOption The isnd settings options. + */ public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ApplicationDbContext dbContext, diff --git a/src/isnd/isnd.csproj b/src/isnd/isnd.csproj index c3c424c..1e5cf6c 100644 --- a/src/isnd/isnd.csproj +++ b/src/isnd/isnd.csproj @@ -1,48 +1,41 @@  - net7.0 - 85fd766d-5d23-4476-aed1-463b2942e86a true - WTFPL - NETSDK1138,CS1591,MSB3243 - 1.0.7.0 - 1.0.7.0 - 1.0.7+Branch.main.Sha.3695c1742965d93eba0ad851656cfaa3e44ba327 - 1.0.7 - true + 1.0.0.0 + 1.0.0.0 + 1.0.0+Branch.main.Sha.654065d7fef34ba4ed2fb3bca5bc91de9ad16e85 + 1.0.0 - - - - + runtime; build; native; contentfiles; analyzers; buildtransitive all - - + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + + + + + + + + + + + + + + + + - - - - - - - - - - - All - - - - - - - - - diff --git a/test/data/test-isn/test-isn.csproj b/test/data/test-isn/test-isn.csproj index 9836c56..31afac1 100644 --- a/test/data/test-isn/test-isn.csproj +++ b/test/data/test-isn/test-isn.csproj @@ -5,9 +5,9 @@ test_isn enable enable - 1.0.7.0 - 1.0.7.0 - 1.0.7+Branch.main.Sha.3695c1742965d93eba0ad851656cfaa3e44ba327 - 1.0.7 + 1.0.0.0 + 1.0.0.0 + 1.0.0+Branch.main.Sha.654065d7fef34ba4ed2fb3bca5bc91de9ad16e85 + 1.0.0 \ No newline at end of file diff --git a/test/isn.tests/PushTest.cs b/test/isn.tests/PushTest.cs index 6e0f264..a755d77 100644 --- a/test/isn.tests/PushTest.cs +++ b/test/isn.tests/PushTest.cs @@ -6,13 +6,13 @@ using System.Net.Http; using System.Threading.Tasks; using Newtonsoft.Json; -using isn.Abstract; +using Isn.Abstract; using System.Linq; using Xunit; -using isn.abst; +using Isn.@abstract; using isnd.Entities; -namespace isn.tests +namespace Isn.tests { public class Tests { @@ -21,7 +21,7 @@ namespace isn.tests public void HaveADefaultDataProtector() { string pass = "a lame and big pass"; - isn.IDataProtector _protector = new isn.DefaultDataProtector(); + Isn.IDataProtector _protector = new Isn.DefaultDataProtector(); string protectedpass = _protector.Protect(pass); string unprotectedpass = _protector.UnProtect(protectedpass); Console.WriteLine(protectedpass); diff --git a/test/isn.tests/isn.tests.csproj b/test/isn.tests/isn.tests.csproj index faae98f..9371392 100644 --- a/test/isn.tests/isn.tests.csproj +++ b/test/isn.tests/isn.tests.csproj @@ -1,20 +1,18 @@  - net7.0 false - NETSDK1138 - 1.0.7.0 - 1.0.7.0 - 1.0.7+Branch.main.Sha.3695c1742965d93eba0ad851656cfaa3e44ba327 - 1.0.7 + 1.0.0.0 + 1.0.0.0 + 1.0.0+Branch.main.Sha.654065d7fef34ba4ed2fb3bca5bc91de9ad16e85 + 1.0.0 - - + + - - - + + + diff --git a/test/isnd.tests/isnd.tests.csproj b/test/isnd.tests/isnd.tests.csproj index f3572a8..657cd31 100644 --- a/test/isnd.tests/isnd.tests.csproj +++ b/test/isnd.tests/isnd.tests.csproj @@ -1,13 +1,12 @@  - net7.0 false d7144e46-4e63-4391-ba86-64b61f6e7be4 NETSDK1138 - 1.0.7.0 - 1.0.7.0 - 1.0.7+Branch.main.Sha.3695c1742965d93eba0ad851656cfaa3e44ba327 - 1.0.7 + 1.0.0.0 + 1.0.0.0 + 1.0.0+Branch.main.Sha.654065d7fef34ba4ed2fb3bca5bc91de9ad16e85 + 1.0.0 From 4d51267dfd061f5044efe8b5fd99f0f5c0a2e43a Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sun, 5 Jul 2026 17:54:36 +0100 Subject: [PATCH 02/19] refatco and cleanup --- .gitignore | 22 +- .../bin/Debug/net10.0/isn.abst.deps.json | 41 -- .../bin/Debug/net10.0/isn.abst.dll | Bin 7168 -> 0 bytes .../bin/Debug/net10.0/isn.abst.pdb | Bin 12588 -> 0 bytes .../bin/Debug/net10.0/isn.abst.xml | 8 - .../bin/Debug/net10.0/isn.abstract.deps.json | 41 -- .../bin/Debug/net10.0/isn.abstract.dll | Bin 7680 -> 0 bytes .../bin/Debug/net10.0/isn.abstract.pdb | Bin 12008 -> 0 bytes .../bin/Debug/net10.0/isn.abstract.xml | 8 - .../bin/Release/net7.0/isn.abst.deps.json | 41 -- .../bin/Release/net7.0/isn.abst.dll | Bin 7168 -> 0 bytes .../bin/Release/net7.0/isn.abst.pdb | Bin 12168 -> 0 bytes ...oreApp,Version=v10.0.AssemblyAttributes.cs | 4 - .../Debug/net10.0/isn.abst.AssemblyInfo.cs | 23 - .../net10.0/isn.abst.AssemblyInfoInputs.cache | 1 - ....GeneratedMSBuildEditorConfig.editorconfig | 18 - .../obj/Debug/net10.0/isn.abst.assets.cache | Bin 861 -> 0 bytes .../isn.abst.csproj.AssemblyReference.cache | Bin 430 -> 0 bytes .../isn.abst.csproj.CoreCompileInputs.cache | 1 - .../isn.abst.csproj.FileListAbsolute.txt | 14 - .../obj/Debug/net10.0/isn.abst.dll | Bin 7168 -> 0 bytes .../obj/Debug/net10.0/isn.abst.pdb | Bin 12588 -> 0 bytes .../obj/Debug/net10.0/isn.abst.xml | 8 - .../net10.0/isn.abstract.AssemblyInfo.cs | 23 - .../isn.abstract.AssemblyInfoInputs.cache | 1 - ....GeneratedMSBuildEditorConfig.editorconfig | 18 - .../Debug/net10.0/isn.abstract.assets.cache | Bin 861 -> 0 bytes ...sn.abstract.csproj.AssemblyReference.cache | Bin 430 -> 0 bytes ...sn.abstract.csproj.CoreCompileInputs.cache | 1 - .../isn.abstract.csproj.FileListAbsolute.txt | 14 - .../obj/Debug/net10.0/isn.abstract.dll | Bin 7680 -> 0 bytes .../obj/Debug/net10.0/isn.abstract.pdb | Bin 12008 -> 0 bytes .../obj/Debug/net10.0/isn.abstract.xml | 8 - .../obj/Debug/net10.0/ref/isn.abst.dll | Bin 6656 -> 0 bytes .../obj/Debug/net10.0/ref/isn.abstract.dll | Bin 7168 -> 0 bytes .../obj/Debug/net10.0/refint/isn.abst.dll | Bin 6656 -> 0 bytes .../obj/Debug/net10.0/refint/isn.abstract.dll | Bin 7168 -> 0 bytes ...CoreApp,Version=v7.0.AssemblyAttributes.cs | 4 - .../Release/net7.0/isn.abst.AssemblyInfo.cs | 23 - .../net7.0/isn.abst.AssemblyInfoInputs.cache | 1 - ....GeneratedMSBuildEditorConfig.editorconfig | 18 - .../obj/Release/net7.0/isn.abst.assets.cache | Bin 1133 -> 0 bytes .../isn.abst.csproj.AssemblyReference.cache | Bin 438 -> 0 bytes .../isn.abst.csproj.CoreCompileInputs.cache | 1 - .../isn.abst.csproj.FileListAbsolute.txt | 12 - .../obj/Release/net7.0/isn.abst.dll | Bin 7168 -> 0 bytes .../obj/Release/net7.0/isn.abst.pdb | Bin 12168 -> 0 bytes .../obj/Release/net7.0/ref/isn.abst.dll | Bin 7168 -> 0 bytes .../obj/Release/net7.0/refint/isn.abst.dll | Bin 7168 -> 0 bytes .../obj/isn.abst.csproj.nuget.dgspec.json | 351 --------------- .../obj/isn.abst.csproj.nuget.g.props | 15 - .../obj/isn.abst.csproj.nuget.g.targets | 2 - .../obj/isn.abstract.csproj.nuget.dgspec.json | 351 --------------- .../obj/isn.abstract.csproj.nuget.g.props | 15 - .../obj/isn.abstract.csproj.nuget.g.targets | 2 - src/isn.abstract/obj/project.assets.json | 403 ------------------ src/isn.abstract/obj/project.nuget.cache | 10 - src/isnd/Controllers/HomeController.cs | 10 +- src/isnd/Controllers/Packages/ApiIndex.cs | 7 +- .../Packages/PackagesController.cs | 6 +- src/isnd/Helpers/UnleashHelpers.cs | 40 -- src/isnd/Interfaces/IPackageManager.cs | 3 +- src/isnd/Services/PackageManager.cs | 57 +-- src/isnd/Startup.cs | 17 +- src/isnd/ViewModels/HomeIndexViewModel.cs | 3 - src/isnd/appsettings.json | 5 - 66 files changed, 32 insertions(+), 1619 deletions(-) delete mode 100644 src/isn.abstract/bin/Debug/net10.0/isn.abst.deps.json delete mode 100644 src/isn.abstract/bin/Debug/net10.0/isn.abst.dll delete mode 100644 src/isn.abstract/bin/Debug/net10.0/isn.abst.pdb delete mode 100644 src/isn.abstract/bin/Debug/net10.0/isn.abst.xml delete mode 100644 src/isn.abstract/bin/Debug/net10.0/isn.abstract.deps.json delete mode 100644 src/isn.abstract/bin/Debug/net10.0/isn.abstract.dll delete mode 100644 src/isn.abstract/bin/Debug/net10.0/isn.abstract.pdb delete mode 100644 src/isn.abstract/bin/Debug/net10.0/isn.abstract.xml delete mode 100644 src/isn.abstract/bin/Release/net7.0/isn.abst.deps.json delete mode 100644 src/isn.abstract/bin/Release/net7.0/isn.abst.dll delete mode 100644 src/isn.abstract/bin/Release/net7.0/isn.abst.pdb delete mode 100644 src/isn.abstract/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs delete mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abst.AssemblyInfo.cs delete mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abst.AssemblyInfoInputs.cache delete mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abst.GeneratedMSBuildEditorConfig.editorconfig delete mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abst.assets.cache delete mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abst.csproj.AssemblyReference.cache delete mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abst.csproj.CoreCompileInputs.cache delete mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abst.csproj.FileListAbsolute.txt delete mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abst.dll delete mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abst.pdb delete mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abst.xml delete mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abstract.AssemblyInfo.cs delete mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abstract.AssemblyInfoInputs.cache delete mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abstract.GeneratedMSBuildEditorConfig.editorconfig delete mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abstract.assets.cache delete mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abstract.csproj.AssemblyReference.cache delete mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abstract.csproj.CoreCompileInputs.cache delete mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abstract.csproj.FileListAbsolute.txt delete mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abstract.dll delete mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abstract.pdb delete mode 100644 src/isn.abstract/obj/Debug/net10.0/isn.abstract.xml delete mode 100644 src/isn.abstract/obj/Debug/net10.0/ref/isn.abst.dll delete mode 100644 src/isn.abstract/obj/Debug/net10.0/ref/isn.abstract.dll delete mode 100644 src/isn.abstract/obj/Debug/net10.0/refint/isn.abst.dll delete mode 100644 src/isn.abstract/obj/Debug/net10.0/refint/isn.abstract.dll delete mode 100644 src/isn.abstract/obj/Release/net7.0/.NETCoreApp,Version=v7.0.AssemblyAttributes.cs delete mode 100644 src/isn.abstract/obj/Release/net7.0/isn.abst.AssemblyInfo.cs delete mode 100644 src/isn.abstract/obj/Release/net7.0/isn.abst.AssemblyInfoInputs.cache delete mode 100644 src/isn.abstract/obj/Release/net7.0/isn.abst.GeneratedMSBuildEditorConfig.editorconfig delete mode 100644 src/isn.abstract/obj/Release/net7.0/isn.abst.assets.cache delete mode 100644 src/isn.abstract/obj/Release/net7.0/isn.abst.csproj.AssemblyReference.cache delete mode 100644 src/isn.abstract/obj/Release/net7.0/isn.abst.csproj.CoreCompileInputs.cache delete mode 100644 src/isn.abstract/obj/Release/net7.0/isn.abst.csproj.FileListAbsolute.txt delete mode 100644 src/isn.abstract/obj/Release/net7.0/isn.abst.dll delete mode 100644 src/isn.abstract/obj/Release/net7.0/isn.abst.pdb delete mode 100644 src/isn.abstract/obj/Release/net7.0/ref/isn.abst.dll delete mode 100644 src/isn.abstract/obj/Release/net7.0/refint/isn.abst.dll delete mode 100644 src/isn.abstract/obj/isn.abst.csproj.nuget.dgspec.json delete mode 100644 src/isn.abstract/obj/isn.abst.csproj.nuget.g.props delete mode 100644 src/isn.abstract/obj/isn.abst.csproj.nuget.g.targets delete mode 100644 src/isn.abstract/obj/isn.abstract.csproj.nuget.dgspec.json delete mode 100644 src/isn.abstract/obj/isn.abstract.csproj.nuget.g.props delete mode 100644 src/isn.abstract/obj/isn.abstract.csproj.nuget.g.targets delete mode 100644 src/isn.abstract/obj/project.assets.json delete mode 100644 src/isn.abstract/obj/project.nuget.cache delete mode 100644 src/isnd/Helpers/UnleashHelpers.cs diff --git a/.gitignore b/.gitignore index 68dafe9..2c6c27e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,24 +1,8 @@ .sass-cache/ -/src/isnd/bin/ -/src/isnd/obj/ -/src/isn/obj -/src/isn/bin -/src/isn/.vscode/ -/test/isnd.tests/obj/ -/test/isnd.tests/bin/ -/packages/ +bin/ +obj/ bower_components/ -/test/isn.tests/bin -/test/isn.tests/obj/ -appsettings.Testing.json -appsettings.Development.json -/wwwroot/.sass-cache/ -/src/isnd/wwwroot/.sass-cache/ -/src/isn.abst/bin -/src/isn.abst/obj -/src/isnd/packages/ -/test/data/test-isn/bin/ -/test/data/test-isn/obj +appsettings.*.json .fake /artifacts/ /.vs/ diff --git a/src/isn.abstract/bin/Debug/net10.0/isn.abst.deps.json b/src/isn.abstract/bin/Debug/net10.0/isn.abst.deps.json deleted file mode 100644 index 393a248..0000000 --- a/src/isn.abstract/bin/Debug/net10.0/isn.abst.deps.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "runtimeTarget": { - "name": ".NETCoreApp,Version=v10.0", - "signature": "" - }, - "compilationOptions": {}, - "targets": { - ".NETCoreApp,Version=v10.0": { - "isn.abst/1.0.0": { - "dependencies": { - "Newtonsoft.Json": "13.0.4" - }, - "runtime": { - "isn.abst.dll": {} - } - }, - "Newtonsoft.Json/13.0.4": { - "runtime": { - "lib/net6.0/Newtonsoft.Json.dll": { - "assemblyVersion": "13.0.0.0", - "fileVersion": "13.0.4.30916" - } - } - } - } - }, - "libraries": { - "isn.abst/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "Newtonsoft.Json/13.0.4": { - "type": "package", - "serviceable": true, - "sha512": "sha512-pdgNNMai3zv51W5aq268sujXUyx7SNdE2bj1wZcWjAQrKMFZV260lbqYop1d2GM67JI1huLRwxo9ZqnfF/lC6A==", - "path": "newtonsoft.json/13.0.4", - "hashPath": "newtonsoft.json.13.0.4.nupkg.sha512" - } - } -} \ No newline at end of file diff --git a/src/isn.abstract/bin/Debug/net10.0/isn.abst.dll b/src/isn.abstract/bin/Debug/net10.0/isn.abst.dll deleted file mode 100644 index 10e52c62072d3b55a2b017500147cc7868391717..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7168 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 L{;&2~iNJpVfx+Yj diff --git a/src/isn.abstract/bin/Debug/net10.0/isn.abst.pdb b/src/isn.abstract/bin/Debug/net10.0/isn.abst.pdb deleted file mode 100644 index 6d212a29c6f60ac81d3cdfd9e2756027d9dc0d23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12588 zcmaJ{2Uru!7T$ywuuud$f}(&5p(({m5<(3{np{vZWdp&GKnf5W)rKf42+|Z4uz-Mg zZNOD5*b6qS*MbdH5WAue-%OGXp?LYeVY9pEKW%2toH;w>08cUw!6EQ(Flc@*WaBs+ zqP6q^qK+&FKO#Xh@nbRIvlpPH;lce%@LWZPF$oX}IJ^iUd@lmeRKe9GC;&+Szmwo^ zw;&G}aQzPMr&)q~GM5jTm1)gnJbTqfJ$BK0n27~Dv8KcIE_jU0H{7MEsf9?j8VT+R zpp61;IA~DE(V*#qW(pdV1=InWBFG@npe3-u=h$!X6Vk|xM5^E|_)C-Wg*^2^gFGM} zHakE%8$1z$>k4o!2iGIu`Wjq6f~ye@hfKlYk;UM;1YECy>l1K&j>jRN@pwQXnub`WQaL-a~$xO84*` z)Is^Z%>O;|U|%V}AEI;*@k4<`>^&3Q>j3ZL!4vqW1DdYVJ>;dQbnmWoZv=ji1#K93 zuOi38@i83m$L^s$@DJL7$-p6dK)+yq%K-f#8%H?gqy^Lu+6!$o1D;D%H3MVpvpNO% zXqoDB@PCEsSLkv4aGVNapwfWTKyoY^a0FzRg)v?OxozPL{_9#Umi`7z1TlO@6e1J} zz;E!U-86aaG2LP0HS6PtuF9<#{+%&z?m3NHx|;%!2H)NIonz*w4>jfRT>n0hUhS&; zrMq54%-Z)b!DWN1w(XwUL$}o4bsuiZNcGHl;L1p=^SVcH^Ipl*TtKUQa9O7|N;G7z zf4I1D^9kzT$BehezV!cxhEU3!@qCXxsn*TD9+Jn1Y9v1zRgIyGxtjC&f+fNjIuljl z2ze?(0h0i(L^?w#8cd4eQ20DHCxXZnYFZ&U^+5)s3{8!zo2^o+ql&LnMg@du+J_F_ zzdYfsIKF-AXNS0miOdfc`T*y_W1$Jb95mjW&qBG%_(jGh=7TcQ!XNo>H;<)892=7m zX0fIH_UW#@RK*x~U@#CW6w!GiA;4*2a+9_jZ}fdxv!;%F@XNf)bN|NeE1f>B z`0a{uC56NF4+mGh%Wu?nr^m!dJXpT*JXFvNd)HXIZgaq_$-$S>!)A!4+*-%DCuwqN z%CmSpZG-tgXP@g29^{V-`C-wQp&jn&>0Gx78(Q3-d~s_BzMv zYkF-zr;j1)2hiE54?P+si9j4=h()~_cp1~Gyz)kzv$wf#72)?G;;Q!8gHN4f{yIWb zt=u2B;D+y16)-Z?Tu_EMLW75jY^;gaRzx3aAcZeLNii`N!KgsU;qzw4!8b&bP>4n| zxDtgh=pr4=Madb-o04;qw;O*e9DRS^uQ=U7_Ca4x9{%lP6WMm)(fiJ@tmPUxo$sc- zO}YR_p_P^KEV@|4k3fOD=pvM5Y&AzqECj*aI6xv4q0uvY-4Xp!HWy`zfHpI=!sv2M zW*A3+cuwcem?6Uu{lz>HCmJQn6$jjifpkFxDsmM7FU5n=rcmB|!XGW2U}3DFci{+Q zxO540vhi$VDaIIjW5VQxS|hQ+s&I`5kInDzl$1-xA5J{1iSX^Pd>uQpl@K<1{JXT8 zgjtW9SzcbMHiMJif0}x_Q2*fbHyvFrO$Lpr#+9w4StZeI z(CJf3i%s-#I$u#Kjk1GE_gRyig`l0c@x~tyB9zl;sJ0)x8JXIUE zyo;orWIWz6DDaM3X9e|%A70bgsfz8^^bAq|>C*5xZRABlWYmW|it6X#i|#o!sS+pR zD(5b~d2<=vN2l$Opi;x_j-c-MtgKzW@5XG?_Sie~*H?dsz?rtEPZQiaT?v zCalO}`JtxSJB@r?CcIq~dEmthgEtdjc0J!u2p8URyV7h`Yn@yES@qzDc<>R2kGYx0(Adu-8mc~Bf4kztmn$C)7hLsS z7B{@ZWYE==(obu>-4-=C(mV_rr{Yv_xD;WWY*Zt*2$LTj!{MR=OYG5fqCL^t(w1mz zZ|h)9w6U|B>SXUY-JZ>Iu(fBiS=Q4X*$g`t8)aKNPPbt(=xn9~%C=)z+t?snIxj*@ zk3bQM2_l=!mTbV=lF0{S5^+TMVo{7(WVwXHV<9dQ9zB}Fq;t6v8i%(8Wzjec0bL+L z_%UGka+cEJI7e7;URuU*#XJb_xS}m`(%97z<@{ zcqkI+PohvQT&UzAHwzFTV6(9fw}w}WuRoRK=LdgI54R5Y^$&Lg4+5$F@QHoDCl39d zIQDzu)b9xt)`zuRuFaoc*bI!Y{S(4A{ErCRfmzx8iIrV1R!GT8Zw^zy7xLL6A|)V_ zE{GwrxLlB<1S}nqizFckKi<#NxbPBfleYV}(l|4-9`az0P)z5N=|T>Z2;;IGcsc*w z8N?We3@e>TjV5GyZzHNVPppbqHZV{oO!L*VPf*x4DkXR8;3AJL4Y41_UT^30VCHjp zcD6)60T_fLP8=$f3$s`(se`~wpVC6sxHiuN)7y3|I=yLHU!Xr4!2x-OL=KC)`RglE z46><72~?Bhb>tM|$!F&co*{`AGWh~7hao3RZBg9~OqTgSNKSv{CqElnNps!5BxCz5k0aWQk|4bz zXE{At%w~hgAt$aoY*`G6xBJ)Mx83#F=lJ)g6Oy__ft;Aa=gOBWA?P(8Q!EgmJWS9c zB=#=!%NAEFy3O{>UWH>etZ2~={5}9y)^YyFE7GBdm=2+j^iJOQ+L|xinRaJ>;Q#=S z=xDKs&fsF>NVdZBkmqe^?eaD05%{7Wpe0T&QcWXt93uEHbNuUyBTGfhR>$fOsLSeN{BF3 zfTLshJm3>qjz;3~_#$c8!yLRed+i;h0YT1sAF#O*wT*NvZuT70K}nSZ<6YfQ!6p9|ca8JEsXY$s zg`vg)6Tsv|StOx^hdEAtrv6^YBPxy_$gEjN%M`?pjv9wL4y=2>>Go!o%Pr`-AEFZ1 zXA_6`WF36{o+A2OH!wU<5`%&v29_`pNIYdmELya&6?uw7GH{FsN&6+#3Qlo%yUz=T zf&)yf#USqj>x>){zG43^sI$N|Fa7U1>wQ*Jv>zpW**doeBIGMZ)#h`9E3Svc^;`n9dLCTvU>RL7J<<2{99#3x=g?l8Yg#894NOZJ9k4oah za-2ogotpbhA;v!?cmE#65> zvZtYsTmMqV${e(k(C{3pbz}Nm=Gr+yv^`fkvYQOG&SR7udIXOz6mgi+=_?Y@nP5X8 zgI?);mj{K+|Fy9Fwcv&CTF(co5<^a|8vrWJtmUxMS*tpw{#Cv2bn8KrR~2)I>eVwo zB?G|}(gS3>0-4~}u1&X)rwGznRegC`FvGjV>DoiKpL@;#99%)>A1gVwg?xmG&yfI$QG@)?- zV1S6uToMTUg#{qBz`*O!(+{2ZN8rO>yR82lVlrV$P5c1ZKoE=P3pijHOBv9>S_0#d z+=1iuRg0hlzq$OcV926Fv?TkbSp?OUM+aiW=W{XL?JH}g-F1;v;=*;k;d~@%@0@}; zg@FUXpxV7$E?Kwq7*zi2l%v+X#1o`V+2(fzttOFw0K?2n=4#W0-c1m=ejZmm&s5j- z}LVaTn0zdpMqT8oC*puXi7} zTJ*e$T=?`>j(vM@X&>T#!9=^BwGQ^(suyGby**#w_4rk@Zt@uOQ5a5^iYj(aGR?+D zj{F6M;iJjf!ZnkG~ep>t7~2w1`i09ne-)F=P-o$nb!)#V&h$l%%igHrW9l2u(!N^ zk;SLJ>JmgxTDpFhbHNX{l%VI=Gm`X#a)BPcFo?wnz?6Xzl`POaXh^MbAlHrSYSCEctUn-nK3&9& zR0OW$Nk_j!t*3>r$}Bmv!!_&VW_+b-9jyoI0hU%+0|^lE1z-y)caUK1hJA1ln5w9) z8DU&WE*hFxKD`7f>%n=W(R_i#8x)>U7W6hYJ^US4NhJoAA5aPU%f~tM*YBN?3mEx5 zNIy;t$^{!c48irC_ZaFJMrmtZ<@V9F($I4HH_Z}-K@`tXj#d=0cJX-)7y?CTWQy3U}+#tIg$hdPKCP3HkOuw>?e5rR7 zZRliOPJ!2{PQp*bfDnpLE0rXa90NboSE| zo!4W>D?{dqQGrCsjGr@%b0KEWQ_2C-gbvTuPjDS=*O?dP7@5oD{Et2K-Uqi0Z$A8G z@X>v*clOKOd74h?<#Jjd6x)#OTpRxm_F#S6)YP*hn_PC9en~Lbi`=0^=q?grdsgr6 zZ_glGm3YC!noTQLiLRvPT|EFC-N?zR@^tlO9Wb=7b->I3Ps z;&=1U9EPZ(f4;BGkWBH~b%R;b_g= zlLg+*P{PXq6{EYX)6}Afl>j~VGaw~B5?3s+Xo8TKLZ)G}SD;W|R71a{itacMCm|M{i*mR2FCAUKdNZ z;)Gw%eq`8lJ^l`=ua5p?(1u}Pq=Y*i8TA7rr$Q)UQAe!(&(H>PIe$-5t%a_rFLf{| z$MY2#*`t-?*216=Q)H91h?MM`ly~XmvQ&wL43bTCzT^>4NsyH}3Rdb%ul1(r4`(NjU`OYR9|{^eb8ZVagf)kLf_4B%}e(OPt3jd@P4llI@L( z=q$Jqm-%YKvcf9F7>{(%C7+&F&`3Uv&-h>G*Y(T$%j}mW?Rt`x13T5po7uiYZ42f2 z=_peC8lqu;D6Cra%d#iOX-Eh6#C7kP+ea9<|MP5`rM*r-xB@OKtP8={AUG4{`ck)A zN(b!R7~0BR_gbjA>7i%l&b)ni0F(^xEln>l_&C#**P)*hUsaHqBfe2~FPu9!_~&LU zFT_6035l|;sa$BQP3YecWz_uXWYF|ilpW4bi?ga1V@VJ8AqwsaKw<`BA*{@UbSsD_ z1mEoBOeVeR$bw8%%!T(QFE4uSe7q}n?3Sxo5%G^qWHn)moXf(yV=qH4p}s%9KOLj$ zRaKC;Y0c|-*xm%=BJ13X*%uEYi-#bK24yF^-`L?=V=+hP&Vouc%vtgeX#KjTQ{C<; z6mmOuz02Vbbn2Si>5|1OC^!4y+(EszCl9@po|p1HoEZ4&{ z^8i&?0Y66JBblbh-)4c0D-LP&(6CAw%=b+HP36~oS&XI4e*$~bq*c{wm=c(a9Y>`wLuw>?Es62>(*aUTtVzojKx<$$%< zE4Uf z2lkE|O8lYg=X>xJ^|ES#$@RWi3YX4_#=Q1%!rIFa)cAY6*Qj@8zK1BqsY|YWKi3Z= zki>uw=K^|6q=ZP~M({y$7OCLk*_!+eTD>rC*Tjb}XZYm2ulhE7*f*R1=vZ_H(ZGA4Q^lCyAHxnndKa@`~2B!XP3w)B=^$#|Afot z`|7(dHX;ppB-J9!{Yt?Qwyz!qgr?@%na)zt0`^ z+dJ=Y1?%KEf6Mg}(TIysl}Nvo%t(XcNM0~-@E-P(x)%J>{M_%%@q_JHF<-$;=Ee?>(Wjvcn9fI3atqi#>m9Xs6I05!^wl4z%wuw5=$PHt7B1KT zabu6qvVWfZ)w4t^%yr-SsO~@Gz{f%sKOP&s&k5?SaL#Yg>ZtyWPa^MZo83NLWt~o6 zyi{EjZ0dV@E&1w#0w`KjlI}qX_i-un2#a+)dsS5dm9Cw#*b3Y>M_SLh)1tjJ zwEBy8PLi`vJn7-M-l*P%?5}1C7onu!I@_-qZ)3bt@28qC*L{OUMp%F*DuxsVoF4K6 zbqLJDTtwx5s|Wiu|^ z*DL$!<8!>?@awh9e|q;vOHG#>dj0_YJ{)lND%Y%6d;Uu)I(1>49$&b^B|GQ z(G!?B0UadS(z9aN)J-upYJ`X>!*mvLU4?FI-0v0X*J|z@2tnh6gE?~b8t)Ucpm8_-ZEGOM1=G1=G*BF)D4uI3g?)u`sCyshy?k%!S87I41p!BJw{JW?|O0EN>mTk^@?Uv?RZ{7n> zzdqCG`fA5a_dKAgcY>~4VXuVhoy^IEU8Q=~LwBZeR$GT?F7!O?kiYfB4=t?Qps)}Z zJ`-fWifU2P7{XUL=T0%J?=3fcN6V_siX;#wU_Bs(M05Lq#-}Gsr+L|RkFR;-g2?ss z&EsrpDwK@^Kukl$IE*7!Rlq_McY?Xjt%n=k*6J?)(J5$5Q?e?=k1mRo52npg3vWPc zG?~9l6GPQ$+cNE~5>?fw_9O3W)3!N=2OzM`IZJqPS0pWE^M=lXU~{5;0fxs9^up%Hh{B#`nhvTzRfKKxzyzffrSs@v@7l^fJs$cCnBi*d{nY=96%U4xT_j2zYRW8;6%jDYVDP zF2>S}o}uhAL3%NeJv5j!3mm@2X=&n+5qJVPt*wF#!4p&wL%c)-8HNX^tKk#GTop&e z|78Zxmk+^Pt0IH(^T0WDAV%iGNperZO}En75*U?9J?BdX$*JI=*2Gl=;3`6K6-k3| zA$aZKIQ%kv(mr)?sy?X}X8>#-r=bZ>io;{uKp*%^q5_)S#wehoXNn3~GbW{Nk UBfw)Mo-h=?0zSeKw8tU;2VpUI8UO$Q diff --git a/src/isn.abstract/bin/Debug/net10.0/isn.abst.xml b/src/isn.abstract/bin/Debug/net10.0/isn.abst.xml deleted file mode 100644 index 60dd76d..0000000 --- a/src/isn.abstract/bin/Debug/net10.0/isn.abst.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - isn.abst - - - - diff --git a/src/isn.abstract/bin/Debug/net10.0/isn.abstract.deps.json b/src/isn.abstract/bin/Debug/net10.0/isn.abstract.deps.json deleted file mode 100644 index 7ed81f6..0000000 --- a/src/isn.abstract/bin/Debug/net10.0/isn.abstract.deps.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "runtimeTarget": { - "name": ".NETCoreApp,Version=v10.0", - "signature": "" - }, - "compilationOptions": {}, - "targets": { - ".NETCoreApp,Version=v10.0": { - "isn.abstract/1.0.0": { - "dependencies": { - "Newtonsoft.Json": "13.0.4" - }, - "runtime": { - "isn.abstract.dll": {} - } - }, - "Newtonsoft.Json/13.0.4": { - "runtime": { - "lib/net6.0/Newtonsoft.Json.dll": { - "assemblyVersion": "13.0.0.0", - "fileVersion": "13.0.4.30916" - } - } - } - } - }, - "libraries": { - "isn.abstract/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "Newtonsoft.Json/13.0.4": { - "type": "package", - "serviceable": true, - "sha512": "sha512-pdgNNMai3zv51W5aq268sujXUyx7SNdE2bj1wZcWjAQrKMFZV260lbqYop1d2GM67JI1huLRwxo9ZqnfF/lC6A==", - "path": "newtonsoft.json/13.0.4", - "hashPath": "newtonsoft.json.13.0.4.nupkg.sha512" - } - } -} \ No newline at end of file diff --git a/src/isn.abstract/bin/Debug/net10.0/isn.abstract.dll b/src/isn.abstract/bin/Debug/net10.0/isn.abstract.dll deleted file mode 100644 index 78bfced4fc9ae4bd4e4b205e2d357653e41d5d9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7680 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 diff --git a/src/isn.abstract/bin/Debug/net10.0/isn.abstract.pdb b/src/isn.abstract/bin/Debug/net10.0/isn.abstract.pdb deleted file mode 100644 index 0678492d48571e9a62b7fd3dde6d4a65e97a5dbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12008 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 diff --git a/src/isn.abstract/bin/Debug/net10.0/isn.abstract.xml b/src/isn.abstract/bin/Debug/net10.0/isn.abstract.xml deleted file mode 100644 index 0fe637b..0000000 --- a/src/isn.abstract/bin/Debug/net10.0/isn.abstract.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - isn.abstract - - - - diff --git a/src/isn.abstract/bin/Release/net7.0/isn.abst.deps.json b/src/isn.abstract/bin/Release/net7.0/isn.abst.deps.json deleted file mode 100644 index 97aaa9f..0000000 --- a/src/isn.abstract/bin/Release/net7.0/isn.abst.deps.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "runtimeTarget": { - "name": ".NETCoreApp,Version=v7.0", - "signature": "" - }, - "compilationOptions": {}, - "targets": { - ".NETCoreApp,Version=v7.0": { - "isn.abst/1.0.7": { - "dependencies": { - "Newtonsoft.Json": "11.0.1" - }, - "runtime": { - "isn.abst.dll": {} - } - }, - "Newtonsoft.Json/11.0.1": { - "runtime": { - "lib/netstandard2.0/Newtonsoft.Json.dll": { - "assemblyVersion": "11.0.0.0", - "fileVersion": "11.0.1.21818" - } - } - } - } - }, - "libraries": { - "isn.abst/1.0.7": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "Newtonsoft.Json/11.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-pNN4l+J6LlpIvHOeNdXlwxv39NPJ2B5klz+Rd2UQZIx30Squ5oND1Yy3wEAUoKn0GPUj6Yxt9lxlYWQqfZcvKg==", - "path": "newtonsoft.json/11.0.1", - "hashPath": "newtonsoft.json.11.0.1.nupkg.sha512" - } - } -} \ No newline at end of file diff --git a/src/isn.abstract/bin/Release/net7.0/isn.abst.dll b/src/isn.abstract/bin/Release/net7.0/isn.abst.dll deleted file mode 100644 index f3c2001133a076ddb2b22c11892cd0b925fd0e21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7168 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 diff --git a/src/isn.abstract/bin/Release/net7.0/isn.abst.pdb b/src/isn.abstract/bin/Release/net7.0/isn.abst.pdb deleted file mode 100644 index 736c0d11bf7403d697bc68426516a8d7ca4fa6ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12168 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 OiK?I?D5*^XjsF3)S@(kg diff --git a/src/isn.abstract/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs b/src/isn.abstract/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs deleted file mode 100644 index 925b135..0000000 --- a/src/isn.abstract/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs +++ /dev/null @@ -1,4 +0,0 @@ -// -using System; -using System.Reflection; -[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v10.0", FrameworkDisplayName = ".NET 10.0")] diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abst.AssemblyInfo.cs b/src/isn.abstract/obj/Debug/net10.0/isn.abst.AssemblyInfo.cs deleted file mode 100644 index d1ef41f..0000000 --- a/src/isn.abstract/obj/Debug/net10.0/isn.abst.AssemblyInfo.cs +++ /dev/null @@ -1,23 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -using System; -using System.Reflection; - -[assembly: System.Reflection.AssemblyCompanyAttribute("isn.abst")] -[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] -[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute(("1.0.0+Branch.main.Sha.654065d7fef34ba4ed2fb3bca5bc91de9ad16e85.654065d7fef34ba4ed" + - "2fb3bca5bc91de9ad16e85"))] -[assembly: System.Reflection.AssemblyProductAttribute("isn.abst")] -[assembly: System.Reflection.AssemblyTitleAttribute("isn.abst")] -[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] - -// Generated by the MSBuild WriteCodeFragment class. - diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abst.AssemblyInfoInputs.cache b/src/isn.abstract/obj/Debug/net10.0/isn.abst.AssemblyInfoInputs.cache deleted file mode 100644 index ff90204..0000000 --- a/src/isn.abstract/obj/Debug/net10.0/isn.abst.AssemblyInfoInputs.cache +++ /dev/null @@ -1 +0,0 @@ -35f3c5a3870232f21ff3e16eef746b214665afc66c47801cfdcb814577b63219 diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abst.GeneratedMSBuildEditorConfig.editorconfig b/src/isn.abstract/obj/Debug/net10.0/isn.abst.GeneratedMSBuildEditorConfig.editorconfig deleted file mode 100644 index 237b036..0000000 --- a/src/isn.abstract/obj/Debug/net10.0/isn.abst.GeneratedMSBuildEditorConfig.editorconfig +++ /dev/null @@ -1,18 +0,0 @@ -is_global = true -build_property.TargetFramework = net10.0 -build_property.TargetFrameworkIdentifier = .NETCoreApp -build_property.TargetFrameworkVersion = v10.0 -build_property.TargetPlatformMinVersion = -build_property.UsingMicrosoftNETSdkWeb = -build_property.ProjectTypeGuids = -build_property.InvariantGlobalization = -build_property.PlatformNeutralAssembly = -build_property.EnforceExtendedAnalyzerRules = -build_property.EntryPointFilePath = -build_property._SupportedPlatformList = Linux,macOS,Windows -build_property.RootNamespace = isn.abst -build_property.ProjectDir = /home/paul/Workspace/isn/src/isn.abst/ -build_property.EnableComHosting = -build_property.EnableGeneratedComInterfaceComImportInterop = -build_property.EffectiveAnalysisLevelStyle = 10.0 -build_property.EnableCodeStyleSeverity = diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abst.assets.cache b/src/isn.abstract/obj/Debug/net10.0/isn.abst.assets.cache deleted file mode 100644 index e7648f70affe1955de4f114b11c70eeaa980ec2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 861 zcmcIi%}&BV5JoLORS~6zL`}SUFMRSW# zw}~OSZ5B!WC*uG!%r>PnW8|uqx@(AJ=#LxKL@vgoa+JRi^M@TMs#KVgMypC>5ISNO zF^5oEWD$yHZNeKd{GIc+I^23R(pfbS>F__rP;{k6L>?83L|?!_4zY+>LgWz!V*D)Q zWuYF_K-#0>TkZHvjPdXp^o7e=YP1nq+mStsg}<&(-Vd$rc#sYW3`7WW7 zmq9zZ?@$4m6A+wULtAU~1JG23(u6VozN&gf2#}3|59xlur0apc$Nj+(Z#h(x$eXW% UkS=p1KISxNswzfo=hRMr0oTFfN&o-= diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abst.csproj.AssemblyReference.cache b/src/isn.abstract/obj/Debug/net10.0/isn.abst.csproj.AssemblyReference.cache deleted file mode 100644 index 60049d9a16323499602bfcc0e402cfdfe7643901..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 430 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 L{;&2~iNJpVfx+Yj diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abst.pdb b/src/isn.abstract/obj/Debug/net10.0/isn.abst.pdb deleted file mode 100644 index 6d212a29c6f60ac81d3cdfd9e2756027d9dc0d23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12588 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 UBfw)Mo-h=?0zSeKw8tU;2VpUI8UO$Q diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abst.xml b/src/isn.abstract/obj/Debug/net10.0/isn.abst.xml deleted file mode 100644 index 60dd76d..0000000 --- a/src/isn.abstract/obj/Debug/net10.0/isn.abst.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - isn.abst - - - - diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abstract.AssemblyInfo.cs b/src/isn.abstract/obj/Debug/net10.0/isn.abstract.AssemblyInfo.cs deleted file mode 100644 index faa9e4f..0000000 --- a/src/isn.abstract/obj/Debug/net10.0/isn.abstract.AssemblyInfo.cs +++ /dev/null @@ -1,23 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -using System; -using System.Reflection; - -[assembly: System.Reflection.AssemblyCompanyAttribute("isn.abstract")] -[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] -[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute(("1.0.0+Branch.main.Sha.654065d7fef34ba4ed2fb3bca5bc91de9ad16e85.654065d7fef34ba4ed" + - "2fb3bca5bc91de9ad16e85"))] -[assembly: System.Reflection.AssemblyProductAttribute("isn.abstract")] -[assembly: System.Reflection.AssemblyTitleAttribute("isn.abstract")] -[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] - -// Generated by the MSBuild WriteCodeFragment class. - diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abstract.AssemblyInfoInputs.cache b/src/isn.abstract/obj/Debug/net10.0/isn.abstract.AssemblyInfoInputs.cache deleted file mode 100644 index 26d1cb3..0000000 --- a/src/isn.abstract/obj/Debug/net10.0/isn.abstract.AssemblyInfoInputs.cache +++ /dev/null @@ -1 +0,0 @@ -317b4b9a91262b77159f90cb1c6023d8eb9c8bc3d7fd280ec22f4a746a6412f1 diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abstract.GeneratedMSBuildEditorConfig.editorconfig b/src/isn.abstract/obj/Debug/net10.0/isn.abstract.GeneratedMSBuildEditorConfig.editorconfig deleted file mode 100644 index 45e97e9..0000000 --- a/src/isn.abstract/obj/Debug/net10.0/isn.abstract.GeneratedMSBuildEditorConfig.editorconfig +++ /dev/null @@ -1,18 +0,0 @@ -is_global = true -build_property.TargetFramework = net10.0 -build_property.TargetFrameworkIdentifier = .NETCoreApp -build_property.TargetFrameworkVersion = v10.0 -build_property.TargetPlatformMinVersion = -build_property.UsingMicrosoftNETSdkWeb = -build_property.ProjectTypeGuids = -build_property.InvariantGlobalization = -build_property.PlatformNeutralAssembly = -build_property.EnforceExtendedAnalyzerRules = -build_property.EntryPointFilePath = -build_property._SupportedPlatformList = Linux,macOS,Windows -build_property.RootNamespace = isn.abstract -build_property.ProjectDir = /home/paul/Workspace/isn/src/isn.abstract/ -build_property.EnableComHosting = -build_property.EnableGeneratedComInterfaceComImportInterop = -build_property.EffectiveAnalysisLevelStyle = 10.0 -build_property.EnableCodeStyleSeverity = diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abstract.assets.cache b/src/isn.abstract/obj/Debug/net10.0/isn.abstract.assets.cache deleted file mode 100644 index 54e4c1e777937cbd5ff93e4836e8bbb8971db61f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 861 zcmcIi!AiqG5UrZprrK5;@gjKWNf5FviU$uuv9v^`gj&3(&9sf(Y(jUV7BBvS9tA(Z z4-l`O^zKi1^Wy^bsB9XbiwXd3&Z@c7uqxk%I^Hh8t zJQVLQAeXh|T|p#6f859>@-ZHnBmJu}f7pSfnh#S_Xl02s zLPcZ{3ka!279nZYro0iu-#LG)!-Y#Don-@&4*ydOMVD$sa>rxyU11I zM^)%L4D4jhq8!pq;2u2#TWJjgP-KPjlrjFks%nLE5Ur69sbRo`H`J*GRV^KvQ XZ=niYILs3GnB$-=t7x&ElRNzdq|W4b diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abstract.csproj.AssemblyReference.cache b/src/isn.abstract/obj/Debug/net10.0/isn.abstract.csproj.AssemblyReference.cache deleted file mode 100644 index 60049d9a16323499602bfcc0e402cfdfe7643901..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 430 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 diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abstract.pdb b/src/isn.abstract/obj/Debug/net10.0/isn.abstract.pdb deleted file mode 100644 index 0678492d48571e9a62b7fd3dde6d4a65e97a5dbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12008 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 diff --git a/src/isn.abstract/obj/Debug/net10.0/isn.abstract.xml b/src/isn.abstract/obj/Debug/net10.0/isn.abstract.xml deleted file mode 100644 index 0fe637b..0000000 --- a/src/isn.abstract/obj/Debug/net10.0/isn.abstract.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - isn.abstract - - - - diff --git a/src/isn.abstract/obj/Debug/net10.0/ref/isn.abst.dll b/src/isn.abstract/obj/Debug/net10.0/ref/isn.abst.dll deleted file mode 100644 index f294e84c5676ba40dc3e97e26d88aae7fe50550d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6656 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 HDgyrorP08P diff --git a/src/isn.abstract/obj/Debug/net10.0/ref/isn.abstract.dll b/src/isn.abstract/obj/Debug/net10.0/ref/isn.abstract.dll deleted file mode 100644 index 075bb8e85daf640fbf13ff7477fa99bc1f582322..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7168 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 Uoq<&K{{pT(c2{TNuATh90UQ<1t^fc4 diff --git a/src/isn.abstract/obj/Debug/net10.0/refint/isn.abst.dll b/src/isn.abstract/obj/Debug/net10.0/refint/isn.abst.dll deleted file mode 100644 index f294e84c5676ba40dc3e97e26d88aae7fe50550d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6656 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 HDgyrorP08P diff --git a/src/isn.abstract/obj/Debug/net10.0/refint/isn.abstract.dll b/src/isn.abstract/obj/Debug/net10.0/refint/isn.abstract.dll deleted file mode 100644 index 075bb8e85daf640fbf13ff7477fa99bc1f582322..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7168 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 Uoq<&K{{pT(c2{TNuATh90UQ<1t^fc4 diff --git a/src/isn.abstract/obj/Release/net7.0/.NETCoreApp,Version=v7.0.AssemblyAttributes.cs b/src/isn.abstract/obj/Release/net7.0/.NETCoreApp,Version=v7.0.AssemblyAttributes.cs deleted file mode 100644 index 4257f4b..0000000 --- a/src/isn.abstract/obj/Release/net7.0/.NETCoreApp,Version=v7.0.AssemblyAttributes.cs +++ /dev/null @@ -1,4 +0,0 @@ -// -using System; -using System.Reflection; -[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v7.0", FrameworkDisplayName = ".NET 7.0")] diff --git a/src/isn.abstract/obj/Release/net7.0/isn.abst.AssemblyInfo.cs b/src/isn.abstract/obj/Release/net7.0/isn.abst.AssemblyInfo.cs deleted file mode 100644 index e5ba65f..0000000 --- a/src/isn.abstract/obj/Release/net7.0/isn.abst.AssemblyInfo.cs +++ /dev/null @@ -1,23 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -using System; -using System.Reflection; - -[assembly: System.Reflection.AssemblyCompanyAttribute("isn.abst")] -[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")] -[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.7.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute(("1.0.7+Branch.main.Sha.3695c1742965d93eba0ad851656cfaa3e44ba327.654065d7fef34ba4ed" + - "2fb3bca5bc91de9ad16e85"))] -[assembly: System.Reflection.AssemblyProductAttribute("isn.abst")] -[assembly: System.Reflection.AssemblyTitleAttribute("isn.abst")] -[assembly: System.Reflection.AssemblyVersionAttribute("1.0.7.0")] - -// Generated by the MSBuild WriteCodeFragment class. - diff --git a/src/isn.abstract/obj/Release/net7.0/isn.abst.AssemblyInfoInputs.cache b/src/isn.abstract/obj/Release/net7.0/isn.abst.AssemblyInfoInputs.cache deleted file mode 100644 index 9dde1ce..0000000 --- a/src/isn.abstract/obj/Release/net7.0/isn.abst.AssemblyInfoInputs.cache +++ /dev/null @@ -1 +0,0 @@ -e4e4cc62d3abf93c8c291257f39b26df3fc603a31b6fa75c47cc7c13707a8afe diff --git a/src/isn.abstract/obj/Release/net7.0/isn.abst.GeneratedMSBuildEditorConfig.editorconfig b/src/isn.abstract/obj/Release/net7.0/isn.abst.GeneratedMSBuildEditorConfig.editorconfig deleted file mode 100644 index 47823ae..0000000 --- a/src/isn.abstract/obj/Release/net7.0/isn.abst.GeneratedMSBuildEditorConfig.editorconfig +++ /dev/null @@ -1,18 +0,0 @@ -is_global = true -build_property.TargetFramework = net7.0 -build_property.TargetFrameworkIdentifier = .NETCoreApp -build_property.TargetFrameworkVersion = v7.0 -build_property.TargetPlatformMinVersion = -build_property.UsingMicrosoftNETSdkWeb = -build_property.ProjectTypeGuids = -build_property.InvariantGlobalization = -build_property.PlatformNeutralAssembly = -build_property.EnforceExtendedAnalyzerRules = -build_property.EntryPointFilePath = -build_property._SupportedPlatformList = Linux,macOS,Windows -build_property.RootNamespace = isn.abst -build_property.ProjectDir = /home/paul/Workspace/isn/src/isn.abst/ -build_property.EnableComHosting = -build_property.EnableGeneratedComInterfaceComImportInterop = -build_property.EffectiveAnalysisLevelStyle = 7.0 -build_property.EnableCodeStyleSeverity = diff --git a/src/isn.abstract/obj/Release/net7.0/isn.abst.assets.cache b/src/isn.abstract/obj/Release/net7.0/isn.abst.assets.cache deleted file mode 100644 index 9c51f135055c663f9039c7fd0ea0cf44bec20997..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1133 zcmcJO&ubGw6vtED=7-uu8?A~cixN*}H%S$Zx6ojk8bUE`^*Y&oO-5&DmYLbr{0CC} z3-qAZ2!bfyg$Ulfd-G56O_L=hNb%AKA9i-$oB7VX_h$QXt8p%sN`1I_>-W~djjx}- zU9Z3Y^Y-;_?^o{b!H>;PKfi<@-+Z?Ur!i<|OZa`}4n+WNNFwGsJQ{$;vG;-uK)D=V zYQdG**Uob#xLd6{6{qSl+DDgGnsA>;zvfij?mTh}BORZyM8}AnLd?H~EF=Fi6IWQ+ z$HbZWwT1cFNz&*tn2-!&B(g{jIfI-FzHDG^CTlVY4l#|2~+DIyn-`2oQxH4 z4R*xAjw8k=V@djyQ9T*kKG*|E;=}P|%pjhOOSK13s?}{za2~-Od#H7&9=h&;>S5G( zJQ29WkEs%pVoSC*dyVovPln~XT=&XhJ(iBS&>C_Xxq_H7Uq$lWs0Dg^+Rbf$vAK#z z-FqMv6+At?#mY9(!#1BSz5Ra;Z*@rknb}6gwrU3O;0TWvXiqD(^HG}^HR%8^7D%G(@ONRiu3dI z4Gr}S^bGZLGLwK(CB-F)c`1oSDMoq*`hEzNUO<(4DLFY{;~Cy(I&Uev%E8FU$d9Im zksD||G5|RT1Q_dq1WN;u0i+oi7l23=h{zNmlZ^?&4+?fPWMBcQVr2N5cwfCHhugC@ zX@b!ffwSi|@`7tv-BrH-Um)h}`c2y|MM3lW3ZBD(6FWnVdc5v*v2-ZEpRnP)#jDy4 z*ELUl+Gc!s*FKI7hKw@~a!5`+I6-qydf?;|ztwY#U3V-iig+V_QRv*>-J2FQdeokK z^?Ppfs>%FD0`~i4H3glbkCr$v9cSbKy2)Uz|FccY*1cs6M)RqTLRe~1ab|v=EjR!T z^bB+qoJ(^`N{do$^HNJoiV|~l6aq?Q!7LAvs3eIjSUi0Owv-#l8h3~5>r!C IfaZe%04yqur~m)} diff --git a/src/isn.abstract/obj/Release/net7.0/isn.abst.csproj.CoreCompileInputs.cache b/src/isn.abstract/obj/Release/net7.0/isn.abst.csproj.CoreCompileInputs.cache deleted file mode 100644 index 9c00e95..0000000 --- a/src/isn.abstract/obj/Release/net7.0/isn.abst.csproj.CoreCompileInputs.cache +++ /dev/null @@ -1 +0,0 @@ -a791e89281a7d040d8cb5488f61f0771f7466c32bc5298e7aa2ddc4c40c2150b diff --git a/src/isn.abstract/obj/Release/net7.0/isn.abst.csproj.FileListAbsolute.txt b/src/isn.abstract/obj/Release/net7.0/isn.abst.csproj.FileListAbsolute.txt deleted file mode 100644 index 9286a3a..0000000 --- a/src/isn.abstract/obj/Release/net7.0/isn.abst.csproj.FileListAbsolute.txt +++ /dev/null @@ -1,12 +0,0 @@ -/home/paul/Workspace/isn/src/isn.abst/bin/Release/net7.0/isn.abst.deps.json -/home/paul/Workspace/isn/src/isn.abst/bin/Release/net7.0/isn.abst.dll -/home/paul/Workspace/isn/src/isn.abst/bin/Release/net7.0/isn.abst.pdb -/home/paul/Workspace/isn/src/isn.abst/obj/Release/net7.0/isn.abst.csproj.AssemblyReference.cache -/home/paul/Workspace/isn/src/isn.abst/obj/Release/net7.0/isn.abst.GeneratedMSBuildEditorConfig.editorconfig -/home/paul/Workspace/isn/src/isn.abst/obj/Release/net7.0/isn.abst.AssemblyInfoInputs.cache -/home/paul/Workspace/isn/src/isn.abst/obj/Release/net7.0/isn.abst.AssemblyInfo.cs -/home/paul/Workspace/isn/src/isn.abst/obj/Release/net7.0/isn.abst.csproj.CoreCompileInputs.cache -/home/paul/Workspace/isn/src/isn.abst/obj/Release/net7.0/isn.abst.dll -/home/paul/Workspace/isn/src/isn.abst/obj/Release/net7.0/refint/isn.abst.dll -/home/paul/Workspace/isn/src/isn.abst/obj/Release/net7.0/isn.abst.pdb -/home/paul/Workspace/isn/src/isn.abst/obj/Release/net7.0/ref/isn.abst.dll diff --git a/src/isn.abstract/obj/Release/net7.0/isn.abst.dll b/src/isn.abstract/obj/Release/net7.0/isn.abst.dll deleted file mode 100644 index f3c2001133a076ddb2b22c11892cd0b925fd0e21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7168 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 diff --git a/src/isn.abstract/obj/Release/net7.0/isn.abst.pdb b/src/isn.abstract/obj/Release/net7.0/isn.abst.pdb deleted file mode 100644 index 736c0d11bf7403d697bc68426516a8d7ca4fa6ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12168 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 OiK?I?D5*^XjsF3)S@(kg diff --git a/src/isn.abstract/obj/Release/net7.0/ref/isn.abst.dll b/src/isn.abstract/obj/Release/net7.0/ref/isn.abst.dll deleted file mode 100644 index 20970545b60325b2cf21a785c0d1b2ac446303cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7168 zcmeHMYit}>6+Sb&-q?<_bwV0k=wnl-ZQ8WM+UrN$rs+CsJKd7luI;*%wz6ku@2)4E zo!QRJCN>hSi$WwGg-{+v<)QpQPy|#}1yTtD6(lN(R8b`Qw*-XvLn~Ur4^$B4J7@M~ zyHpk8SCz5moAbKoo_p@S=gzE;fAlQHh$xQxt+$At#gnhB;5)-Q)XA&PC+UY>FYbL- zJNDwVa%O>@MG|dnZ2I3|*``!Qb9yZ&Xg&Meq_*3IxW|h#Qn#S)wCG zs8&O8Urz!ckOm1n+pZL%H~hf2Ad@jHgWw$O!QFOc;lc2g|hcj@tc-mWeV(-ki)*rj>s$Y-%;ypani$i;x46Jfp#l^Krrw&@k68&xmk;cOR z;p*P~F*-7T#}TdWf$Pl4AtP;M(wTuVcGy7<@N5TB|3gIo!t-_1s{Z-Vx7~8U7O!?k z<*Wa$d3qf**U0{(cjYHoxgGJLX7wL&yaMyMz-o72aZc+3L2qgqu6rE+Zro^2@59Zd z5KW28DEqq_H=A=QWjWh(`H#l^dp&w4=(pO_u>>8~8DFDs#4e#%VV0n7k=&qtPEXJ^ z`n}LTp)uwJmj&Mt)CA8Hdsxw5h5f^E#+QllJD|JiKD`o4(i!cZI6Om+K_w z_@LI=)SZv_;uR+H`8&^t1Z)6wsG-1N-E6MRnaf?x+`Eg`RM8JfeUpNcX5F}4VdB%c@g&*F1f>v8OF zuGdkk4$#~1ry<|lKz9@G_w7I(x!(?Y2T-RZo*G>OjIZ-5Ay_xA=TU`Q93g{JjM1)j z?V}18$xU{nXvvjUS|2(*wzQO9O4C%$wU!47JRLgj6>E+<4923e3YYRl3ZlnR6@tkJ zi>8D3;W-s}HQ!PM@$F`?lEc>m<;>7@yz;DB7Wu4cJ-}qRR#mQ9Q8d36gsNi9)!fhq z%l;RjlOBYaP>u=}jn_gi=T)l0OjZi2SX9OF5a&*z1~sc}NBKvUt9&zTS2d093eaH$icuqOys!(nE zMzpg&=GY2b4dGDv%C%I(qNQp`*thAfwG{O^6nSVDY{w4Uw08uai*BmQZGV05V=9TGND>PdxICii?Uf~2g%DY9ix@fCY zSi;KTW`*JAUgfIC*OqUncuLbcV=2-) zKEWF(ci-HZ{=v+jpZWGvuXVdrqbkmpGW9SSfKfO=I!}P~$fe{% z^r5;z04h<1QApi3R7F^>((V>%;H9Q@D<2GY8k~pl$l*kt=!s4}k&GpF?cbKT zbl07FOh>MeAi82#Ujn(pqa&qj$s`h|Uk+VoY(Mn-S>MS=9A8)R+u(w}=WgGuPJ8a; zs->#DDHc|I?^K|{P8Yj4pK`Zq)MrdjF62C4jaRET*7w(~Cr6Dmyd-xw%kYF9R2_4T zOLZr=NWo$U`fRQU>d|N$Dxoq1g`ZKt4B+bqRz!|QWnm5+@lDrSF)F6*8uKfrkr^2q zwgyIr2FFH*i(?s8Fw3puoNmvYSiV|4_zGh-5Pad`CyIAtoqiFM7BVFvud&A)W0EFbcX3HQ(Ldbw`QbS z!emT1&T-_3DuIQWQBqY|`_?t^vALVA4lhdn&l%wFN5Z=~t#5QJU!nLW*(zr{{_Wr+ z%S5N;-H;_r4*?hPcD)3gq&ZM|{L(rNJ`bFVes!gv#{c^7=uLFv+vsiLCHfs8+Q@YQ z9uv4Vc;z}Zg_^CkeVn%1BL?(z{7-PIAttU&TtCZivibluK zt}Ly1lvRw6BQ4`h;NPNCxQ|F5Gj%yfAy_^=C8sLeA^B~KY;uVVQ$AD8Ad!~&?(HI ziQJmt4?;R1x)E5HATz~c2(8#EgSI>a+6+Sb&-q?<_bwV0k=wnl-ZQ8WM+UrN$rs+CsJKd7luI;*%wz6ku@2)4E zo!QRJCN>hSi$WwGg-{+v<)QpQPy|#}1yTtD6(lN(R8b`Qw*-XvLn~Ur4^$B4J7@M~ zyHpk8SCz5moAbKoo_p@S=gzE;fAlQHh$xQxt+$At#gnhB;5)-Q)XA&PC+UY>FYbL- zJNDwVa%O>@MG|dnZ2I3|*``!Qb9yZ&Xg&Meq_*3IxW|h#Qn#S)wCG zs8&O8Urz!ckOm1n+pZL%H~hf2Ad@jHgWw$O!QFOc;lc2g|hcj@tc-mWeV(-ki)*rj>s$Y-%;ypani$i;x46Jfp#l^Krrw&@k68&xmk;cOR z;p*P~F*-7T#}TdWf$Pl4AtP;M(wTuVcGy7<@N5TB|3gIo!t-_1s{Z-Vx7~8U7O!?k z<*Wa$d3qf**U0{(cjYHoxgGJLX7wL&yaMyMz-o72aZc+3L2qgqu6rE+Zro^2@59Zd z5KW28DEqq_H=A=QWjWh(`H#l^dp&w4=(pO_u>>8~8DFDs#4e#%VV0n7k=&qtPEXJ^ z`n}LTp)uwJmj&Mt)CA8Hdsxw5h5f^E#+QllJD|JiKD`o4(i!cZI6Om+K_w z_@LI=)SZv_;uR+H`8&^t1Z)6wsG-1N-E6MRnaf?x+`Eg`RM8JfeUpNcX5F}4VdB%c@g&*F1f>v8OF zuGdkk4$#~1ry<|lKz9@G_w7I(x!(?Y2T-RZo*G>OjIZ-5Ay_xA=TU`Q93g{JjM1)j z?V}18$xU{nXvvjUS|2(*wzQO9O4C%$wU!47JRLgj6>E+<4923e3YYRl3ZlnR6@tkJ zi>8D3;W-s}HQ!PM@$F`?lEc>m<;>7@yz;DB7Wu4cJ-}qRR#mQ9Q8d36gsNi9)!fhq z%l;RjlOBYaP>u=}jn_gi=T)l0OjZi2SX9OF5a&*z1~sc}NBKvUt9&zTS2d093eaH$icuqOys!(nE zMzpg&=GY2b4dGDv%C%I(qNQp`*thAfwG{O^6nSVDY{w4Uw08uai*BmQZGV05V=9TGND>PdxICii?Uf~2g%DY9ix@fCY zSi;KTW`*JAUgfIC*OqUncuLbcV=2-) zKEWF(ci-HZ{=v+jpZWGvuXVdrqbkmpGW9SSfKfO=I!}P~$fe{% z^r5;z04h<1QApi3R7F^>((V>%;H9Q@D<2GY8k~pl$l*kt=!s4}k&GpF?cbKT zbl07FOh>MeAi82#Ujn(pqa&qj$s`h|Uk+VoY(Mn-S>MS=9A8)R+u(w}=WgGuPJ8a; zs->#DDHc|I?^K|{P8Yj4pK`Zq)MrdjF62C4jaRET*7w(~Cr6Dmyd-xw%kYF9R2_4T zOLZr=NWo$U`fRQU>d|N$Dxoq1g`ZKt4B+bqRz!|QWnm5+@lDrSF)F6*8uKfrkr^2q zwgyIr2FFH*i(?s8Fw3puoNmvYSiV|4_zGh-5Pad`CyIAtoqiFM7BVFvud&A)W0EFbcX3HQ(Ldbw`QbS z!emT1&T-_3DuIQWQBqY|`_?t^vALVA4lhdn&l%wFN5Z=~t#5QJU!nLW*(zr{{_Wr+ z%S5N;-H;_r4*?hPcD)3gq&ZM|{L(rNJ`bFVes!gv#{c^7=uLFv+vsiLCHfs8+Q@YQ z9uv4Vc;z}Zg_^CkeVn%1BL?(z{7-PIAttU&TtCZivibluK zt}Ly1lvRw6BQ4`h;NPNCxQ|F5Gj%yfAy_^=C8sLeA^B~KY;uVVQ$AD8Ad!~&?(HI ziQJmt4?;R1x)E5HATz~c2(8#EgSI>a+ - - - True - NuGet - $(MSBuildThisFileDirectory)project.assets.json - /home/paul/.nuget/packages/ - /home/paul/.nuget/packages/ - PackageReference - 7.0.0 - - - - - \ No newline at end of file diff --git a/src/isn.abstract/obj/isn.abst.csproj.nuget.g.targets b/src/isn.abstract/obj/isn.abst.csproj.nuget.g.targets deleted file mode 100644 index 3dc06ef..0000000 --- a/src/isn.abstract/obj/isn.abst.csproj.nuget.g.targets +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/src/isn.abstract/obj/isn.abstract.csproj.nuget.dgspec.json b/src/isn.abstract/obj/isn.abstract.csproj.nuget.dgspec.json deleted file mode 100644 index 021b45d..0000000 --- a/src/isn.abstract/obj/isn.abstract.csproj.nuget.dgspec.json +++ /dev/null @@ -1,351 +0,0 @@ -{ - "format": 1, - "restore": { - "/home/paul/Workspace/isn/src/isn.abstract/isn.abstract.csproj": {} - }, - "projects": { - "/home/paul/Workspace/isn/src/isn.abstract/isn.abstract.csproj": { - "version": "1.0.0", - "restore": { - "projectUniqueName": "/home/paul/Workspace/isn/src/isn.abstract/isn.abstract.csproj", - "projectName": "isn.abstract", - "projectPath": "/home/paul/Workspace/isn/src/isn.abstract/isn.abstract.csproj", - "packagesPath": "/home/paul/.nuget/packages/", - "outputPath": "/home/paul/Workspace/isn/src/isn.abstract/obj/", - "projectStyle": "PackageReference", - "crossTargeting": true, - "configFilePaths": [ - "/home/paul/.nuget/NuGet/NuGet.Config" - ], - "originalTargetFrameworks": [ - "net10.0" - ], - "sources": { - "/usr/share/dotnet/library-packs": {}, - "https://api.nuget.org/v3/index.json": {} - }, - "frameworks": { - "net10.0": { - "framework": "net10.0", - "targetAlias": "net10.0", - "projectReferences": {} - } - }, - "warningProperties": { - "warnAsError": [ - "NU1605" - ] - }, - "restoreAuditProperties": { - "enableAudit": "true", - "auditLevel": "low", - "auditMode": "all" - }, - "SdkAnalysisLevel": "10.0.300" - }, - "frameworks": { - "net10.0": { - "framework": "net10.0", - "targetAlias": "net10.0", - "dependencies": { - "Newtonsoft.Json": { - "target": "Package", - "version": "[13.0.4, )" - } - }, - "imports": [ - "net461", - "net462", - "net47", - "net471", - "net472", - "net48", - "net481" - ], - "assetTargetFallback": true, - "warn": true, - "frameworkReferences": { - "Microsoft.NETCore.App": { - "privateAssets": "all" - } - }, - "runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/10.0.301/PortableRuntimeIdentifierGraph.json", - "packagesToPrune": { - "Microsoft.CSharp": "(,4.7.32767]", - "Microsoft.VisualBasic": "(,10.4.32767]", - "Microsoft.Win32.Primitives": "(,4.3.32767]", - "Microsoft.Win32.Registry": "(,5.0.32767]", - "runtime.any.System.Collections": "(,4.3.32767]", - "runtime.any.System.Diagnostics.Tools": "(,4.3.32767]", - "runtime.any.System.Diagnostics.Tracing": "(,4.3.32767]", - "runtime.any.System.Globalization": "(,4.3.32767]", - "runtime.any.System.Globalization.Calendars": "(,4.3.32767]", - "runtime.any.System.IO": "(,4.3.32767]", - "runtime.any.System.Reflection": "(,4.3.32767]", - "runtime.any.System.Reflection.Extensions": "(,4.3.32767]", - "runtime.any.System.Reflection.Primitives": "(,4.3.32767]", - "runtime.any.System.Resources.ResourceManager": "(,4.3.32767]", - "runtime.any.System.Runtime": "(,4.3.32767]", - "runtime.any.System.Runtime.Handles": "(,4.3.32767]", - "runtime.any.System.Runtime.InteropServices": "(,4.3.32767]", - "runtime.any.System.Text.Encoding": "(,4.3.32767]", - "runtime.any.System.Text.Encoding.Extensions": "(,4.3.32767]", - "runtime.any.System.Threading.Tasks": "(,4.3.32767]", - "runtime.any.System.Threading.Timer": "(,4.3.32767]", - "runtime.aot.System.Collections": "(,4.3.32767]", - "runtime.aot.System.Diagnostics.Tools": "(,4.3.32767]", - "runtime.aot.System.Diagnostics.Tracing": "(,4.3.32767]", - "runtime.aot.System.Globalization": "(,4.3.32767]", - "runtime.aot.System.Globalization.Calendars": "(,4.3.32767]", - "runtime.aot.System.IO": "(,4.3.32767]", - "runtime.aot.System.Reflection": "(,4.3.32767]", - "runtime.aot.System.Reflection.Extensions": "(,4.3.32767]", - "runtime.aot.System.Reflection.Primitives": "(,4.3.32767]", - "runtime.aot.System.Resources.ResourceManager": "(,4.3.32767]", - "runtime.aot.System.Runtime": "(,4.3.32767]", - "runtime.aot.System.Runtime.Handles": "(,4.3.32767]", - "runtime.aot.System.Runtime.InteropServices": "(,4.3.32767]", - "runtime.aot.System.Text.Encoding": "(,4.3.32767]", - "runtime.aot.System.Text.Encoding.Extensions": "(,4.3.32767]", - "runtime.aot.System.Threading.Tasks": "(,4.3.32767]", - "runtime.aot.System.Threading.Timer": "(,4.3.32767]", - "runtime.debian.8-x64.runtime.native.System": "(,4.3.32767]", - "runtime.debian.8-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.debian.8-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.debian.8-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", - "runtime.debian.9-x64.runtime.native.System": "(,4.3.32767]", - "runtime.debian.9-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.debian.9-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.debian.9-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.fedora.23-x64.runtime.native.System": "(,4.3.32767]", - "runtime.fedora.23-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.fedora.23-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.fedora.23-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", - "runtime.fedora.24-x64.runtime.native.System": "(,4.3.32767]", - "runtime.fedora.24-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.fedora.24-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.fedora.24-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", - "runtime.fedora.27-x64.runtime.native.System": "(,4.3.32767]", - "runtime.fedora.27-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.fedora.27-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.fedora.27-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.fedora.28-x64.runtime.native.System": "(,4.3.32767]", - "runtime.fedora.28-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.fedora.28-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.fedora.28-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.opensuse.13.2-x64.runtime.native.System": "(,4.3.32767]", - "runtime.opensuse.13.2-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.opensuse.13.2-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.opensuse.13.2-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", - "runtime.opensuse.42.1-x64.runtime.native.System": "(,4.3.32767]", - "runtime.opensuse.42.1-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.opensuse.42.1-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.opensuse.42.1-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", - "runtime.opensuse.42.3-x64.runtime.native.System": "(,4.3.32767]", - "runtime.opensuse.42.3-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.opensuse.42.3-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.opensuse.42.3-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.osx.10.10-x64.runtime.native.System": "(,4.3.32767]", - "runtime.osx.10.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.osx.10.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.osx.10.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "(,4.3.32767]", - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", - "runtime.rhel.7-x64.runtime.native.System": "(,4.3.32767]", - "runtime.rhel.7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.rhel.7-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.rhel.7-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", - "runtime.ubuntu.14.04-x64.runtime.native.System": "(,4.3.32767]", - "runtime.ubuntu.14.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.ubuntu.14.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.ubuntu.14.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", - "runtime.ubuntu.16.04-x64.runtime.native.System": "(,4.3.32767]", - "runtime.ubuntu.16.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.ubuntu.16.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.ubuntu.16.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", - "runtime.ubuntu.16.10-x64.runtime.native.System": "(,4.3.32767]", - "runtime.ubuntu.16.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.ubuntu.16.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.ubuntu.16.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", - "runtime.ubuntu.18.04-x64.runtime.native.System": "(,4.3.32767]", - "runtime.ubuntu.18.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.ubuntu.18.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.ubuntu.18.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.unix.Microsoft.Win32.Primitives": "(,4.3.32767]", - "runtime.unix.System.Console": "(,4.3.32767]", - "runtime.unix.System.Diagnostics.Debug": "(,4.3.32767]", - "runtime.unix.System.IO.FileSystem": "(,4.3.32767]", - "runtime.unix.System.Net.Primitives": "(,4.3.32767]", - "runtime.unix.System.Net.Sockets": "(,4.3.32767]", - "runtime.unix.System.Private.Uri": "(,4.3.32767]", - "runtime.unix.System.Runtime.Extensions": "(,4.3.32767]", - "runtime.win.Microsoft.Win32.Primitives": "(,4.3.32767]", - "runtime.win.System.Console": "(,4.3.32767]", - "runtime.win.System.Diagnostics.Debug": "(,4.3.32767]", - "runtime.win.System.IO.FileSystem": "(,4.3.32767]", - "runtime.win.System.Net.Primitives": "(,4.3.32767]", - "runtime.win.System.Net.Sockets": "(,4.3.32767]", - "runtime.win.System.Runtime.Extensions": "(,4.3.32767]", - "runtime.win10-arm-aot.runtime.native.System.IO.Compression": "(,4.0.32767]", - "runtime.win10-arm64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.win10-x64-aot.runtime.native.System.IO.Compression": "(,4.0.32767]", - "runtime.win10-x86-aot.runtime.native.System.IO.Compression": "(,4.0.32767]", - "runtime.win7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.win7-x86.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.win7.System.Private.Uri": "(,4.3.32767]", - "runtime.win8-arm.runtime.native.System.IO.Compression": "(,4.3.32767]", - "System.AppContext": "(,4.3.32767]", - "System.Buffers": "(,5.0.32767]", - "System.Collections": "(,4.3.32767]", - "System.Collections.Concurrent": "(,4.3.32767]", - "System.Collections.Immutable": "(,10.0.32767]", - "System.Collections.NonGeneric": "(,4.3.32767]", - "System.Collections.Specialized": "(,4.3.32767]", - "System.ComponentModel": "(,4.3.32767]", - "System.ComponentModel.Annotations": "(,4.3.32767]", - "System.ComponentModel.EventBasedAsync": "(,4.3.32767]", - "System.ComponentModel.Primitives": "(,4.3.32767]", - "System.ComponentModel.TypeConverter": "(,4.3.32767]", - "System.Console": "(,4.3.32767]", - "System.Data.Common": "(,4.3.32767]", - "System.Data.DataSetExtensions": "(,4.4.32767]", - "System.Diagnostics.Contracts": "(,4.3.32767]", - "System.Diagnostics.Debug": "(,4.3.32767]", - "System.Diagnostics.DiagnosticSource": "(,10.0.32767]", - "System.Diagnostics.FileVersionInfo": "(,4.3.32767]", - "System.Diagnostics.Process": "(,4.3.32767]", - "System.Diagnostics.StackTrace": "(,4.3.32767]", - "System.Diagnostics.TextWriterTraceListener": "(,4.3.32767]", - "System.Diagnostics.Tools": "(,4.3.32767]", - "System.Diagnostics.TraceSource": "(,4.3.32767]", - "System.Diagnostics.Tracing": "(,4.3.32767]", - "System.Drawing.Primitives": "(,4.3.32767]", - "System.Dynamic.Runtime": "(,4.3.32767]", - "System.Formats.Asn1": "(,10.0.32767]", - "System.Formats.Tar": "(,10.0.32767]", - "System.Globalization": "(,4.3.32767]", - "System.Globalization.Calendars": "(,4.3.32767]", - "System.Globalization.Extensions": "(,4.3.32767]", - "System.IO": "(,4.3.32767]", - "System.IO.Compression": "(,4.3.32767]", - "System.IO.Compression.ZipFile": "(,4.3.32767]", - "System.IO.FileSystem": "(,4.3.32767]", - "System.IO.FileSystem.AccessControl": "(,4.4.32767]", - "System.IO.FileSystem.DriveInfo": "(,4.3.32767]", - "System.IO.FileSystem.Primitives": "(,4.3.32767]", - "System.IO.FileSystem.Watcher": "(,4.3.32767]", - "System.IO.IsolatedStorage": "(,4.3.32767]", - "System.IO.MemoryMappedFiles": "(,4.3.32767]", - "System.IO.Pipelines": "(,10.0.32767]", - "System.IO.Pipes": "(,4.3.32767]", - "System.IO.Pipes.AccessControl": "(,5.0.32767]", - "System.IO.UnmanagedMemoryStream": "(,4.3.32767]", - "System.Linq": "(,4.3.32767]", - "System.Linq.AsyncEnumerable": "(,10.0.32767]", - "System.Linq.Expressions": "(,4.3.32767]", - "System.Linq.Parallel": "(,4.3.32767]", - "System.Linq.Queryable": "(,4.3.32767]", - "System.Memory": "(,5.0.32767]", - "System.Net.Http": "(,4.3.32767]", - "System.Net.Http.Json": "(,10.0.32767]", - "System.Net.NameResolution": "(,4.3.32767]", - "System.Net.NetworkInformation": "(,4.3.32767]", - "System.Net.Ping": "(,4.3.32767]", - "System.Net.Primitives": "(,4.3.32767]", - "System.Net.Requests": "(,4.3.32767]", - "System.Net.Security": "(,4.3.32767]", - "System.Net.ServerSentEvents": "(,10.0.32767]", - "System.Net.Sockets": "(,4.3.32767]", - "System.Net.WebHeaderCollection": "(,4.3.32767]", - "System.Net.WebSockets": "(,4.3.32767]", - "System.Net.WebSockets.Client": "(,4.3.32767]", - "System.Numerics.Vectors": "(,5.0.32767]", - "System.ObjectModel": "(,4.3.32767]", - "System.Private.DataContractSerialization": "(,4.3.32767]", - "System.Private.Uri": "(,4.3.32767]", - "System.Reflection": "(,4.3.32767]", - "System.Reflection.DispatchProxy": "(,6.0.32767]", - "System.Reflection.Emit": "(,4.7.32767]", - "System.Reflection.Emit.ILGeneration": "(,4.7.32767]", - "System.Reflection.Emit.Lightweight": "(,4.7.32767]", - "System.Reflection.Extensions": "(,4.3.32767]", - "System.Reflection.Metadata": "(,10.0.32767]", - "System.Reflection.Primitives": "(,4.3.32767]", - "System.Reflection.TypeExtensions": "(,4.3.32767]", - "System.Resources.Reader": "(,4.3.32767]", - "System.Resources.ResourceManager": "(,4.3.32767]", - "System.Resources.Writer": "(,4.3.32767]", - "System.Runtime": "(,4.3.32767]", - "System.Runtime.CompilerServices.Unsafe": "(,7.0.32767]", - "System.Runtime.CompilerServices.VisualC": "(,4.3.32767]", - "System.Runtime.Extensions": "(,4.3.32767]", - "System.Runtime.Handles": "(,4.3.32767]", - "System.Runtime.InteropServices": "(,4.3.32767]", - "System.Runtime.InteropServices.RuntimeInformation": "(,4.3.32767]", - "System.Runtime.Loader": "(,4.3.32767]", - "System.Runtime.Numerics": "(,4.3.32767]", - "System.Runtime.Serialization.Formatters": "(,4.3.32767]", - "System.Runtime.Serialization.Json": "(,4.3.32767]", - "System.Runtime.Serialization.Primitives": "(,4.3.32767]", - "System.Runtime.Serialization.Xml": "(,4.3.32767]", - "System.Security.AccessControl": "(,6.0.32767]", - "System.Security.Claims": "(,4.3.32767]", - "System.Security.Cryptography.Algorithms": "(,4.3.32767]", - "System.Security.Cryptography.Cng": "(,5.0.32767]", - "System.Security.Cryptography.Csp": "(,4.3.32767]", - "System.Security.Cryptography.Encoding": "(,4.3.32767]", - "System.Security.Cryptography.OpenSsl": "(,5.0.32767]", - "System.Security.Cryptography.Primitives": "(,4.3.32767]", - "System.Security.Cryptography.X509Certificates": "(,4.3.32767]", - "System.Security.Principal": "(,4.3.32767]", - "System.Security.Principal.Windows": "(,5.0.32767]", - "System.Security.SecureString": "(,4.3.32767]", - "System.Text.Encoding": "(,4.3.32767]", - "System.Text.Encoding.CodePages": "(,10.0.32767]", - "System.Text.Encoding.Extensions": "(,4.3.32767]", - "System.Text.Encodings.Web": "(,10.0.32767]", - "System.Text.Json": "(,10.0.32767]", - "System.Text.RegularExpressions": "(,4.3.32767]", - "System.Threading": "(,4.3.32767]", - "System.Threading.AccessControl": "(,10.0.32767]", - "System.Threading.Channels": "(,10.0.32767]", - "System.Threading.Overlapped": "(,4.3.32767]", - "System.Threading.Tasks": "(,4.3.32767]", - "System.Threading.Tasks.Dataflow": "(,10.0.32767]", - "System.Threading.Tasks.Extensions": "(,5.0.32767]", - "System.Threading.Tasks.Parallel": "(,4.3.32767]", - "System.Threading.Thread": "(,4.3.32767]", - "System.Threading.ThreadPool": "(,4.3.32767]", - "System.Threading.Timer": "(,4.3.32767]", - "System.ValueTuple": "(,4.5.32767]", - "System.Xml.ReaderWriter": "(,4.3.32767]", - "System.Xml.XDocument": "(,4.3.32767]", - "System.Xml.XmlDocument": "(,4.3.32767]", - "System.Xml.XmlSerializer": "(,4.3.32767]", - "System.Xml.XPath": "(,4.3.32767]", - "System.Xml.XPath.XDocument": "(,5.0.32767]" - } - } - } - } - } -} \ No newline at end of file diff --git a/src/isn.abstract/obj/isn.abstract.csproj.nuget.g.props b/src/isn.abstract/obj/isn.abstract.csproj.nuget.g.props deleted file mode 100644 index a854e5b..0000000 --- a/src/isn.abstract/obj/isn.abstract.csproj.nuget.g.props +++ /dev/null @@ -1,15 +0,0 @@ - - - - True - NuGet - $(MSBuildThisFileDirectory)project.assets.json - /home/paul/.nuget/packages/ - /home/paul/.nuget/packages/ - PackageReference - 7.0.0 - - - - - \ No newline at end of file diff --git a/src/isn.abstract/obj/isn.abstract.csproj.nuget.g.targets b/src/isn.abstract/obj/isn.abstract.csproj.nuget.g.targets deleted file mode 100644 index 3dc06ef..0000000 --- a/src/isn.abstract/obj/isn.abstract.csproj.nuget.g.targets +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/src/isn.abstract/obj/project.assets.json b/src/isn.abstract/obj/project.assets.json deleted file mode 100644 index db01951..0000000 --- a/src/isn.abstract/obj/project.assets.json +++ /dev/null @@ -1,403 +0,0 @@ -{ - "version": 4, - "targets": { - "net10.0": { - "Newtonsoft.Json/13.0.4": { - "type": "package", - "compile": { - "lib/net6.0/Newtonsoft.Json.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net6.0/Newtonsoft.Json.dll": { - "related": ".xml" - } - } - } - } - }, - "libraries": { - "Newtonsoft.Json/13.0.4": { - "sha512": "pdgNNMai3zv51W5aq268sujXUyx7SNdE2bj1wZcWjAQrKMFZV260lbqYop1d2GM67JI1huLRwxo9ZqnfF/lC6A==", - "type": "package", - "path": "newtonsoft.json/13.0.4", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "LICENSE.md", - "README.md", - "lib/net20/Newtonsoft.Json.dll", - "lib/net20/Newtonsoft.Json.xml", - "lib/net35/Newtonsoft.Json.dll", - "lib/net35/Newtonsoft.Json.xml", - "lib/net40/Newtonsoft.Json.dll", - "lib/net40/Newtonsoft.Json.xml", - "lib/net45/Newtonsoft.Json.dll", - "lib/net45/Newtonsoft.Json.xml", - "lib/net6.0/Newtonsoft.Json.dll", - "lib/net6.0/Newtonsoft.Json.xml", - "lib/netstandard1.0/Newtonsoft.Json.dll", - "lib/netstandard1.0/Newtonsoft.Json.xml", - "lib/netstandard1.3/Newtonsoft.Json.dll", - "lib/netstandard1.3/Newtonsoft.Json.xml", - "lib/netstandard2.0/Newtonsoft.Json.dll", - "lib/netstandard2.0/Newtonsoft.Json.xml", - "newtonsoft.json.13.0.4.nupkg.sha512", - "newtonsoft.json.nuspec", - "packageIcon.png" - ] - } - }, - "projectFileDependencyGroups": { - "net10.0": [ - "Newtonsoft.Json >= 13.0.4" - ] - }, - "packageFolders": { - "/home/paul/.nuget/packages/": {} - }, - "project": { - "version": "1.0.0", - "restore": { - "projectUniqueName": "/home/paul/Workspace/isn/src/isn.abstract/isn.abstract.csproj", - "projectName": "isn.abstract", - "projectPath": "/home/paul/Workspace/isn/src/isn.abstract/isn.abstract.csproj", - "packagesPath": "/home/paul/.nuget/packages/", - "outputPath": "/home/paul/Workspace/isn/src/isn.abstract/obj/", - "projectStyle": "PackageReference", - "crossTargeting": true, - "configFilePaths": [ - "/home/paul/.nuget/NuGet/NuGet.Config" - ], - "originalTargetFrameworks": [ - "net10.0" - ], - "sources": { - "/usr/share/dotnet/library-packs": {}, - "https://api.nuget.org/v3/index.json": {} - }, - "frameworks": { - "net10.0": { - "framework": "net10.0", - "targetAlias": "net10.0", - "projectReferences": {} - } - }, - "warningProperties": { - "warnAsError": [ - "NU1605" - ] - }, - "restoreAuditProperties": { - "enableAudit": "true", - "auditLevel": "low", - "auditMode": "all" - }, - "SdkAnalysisLevel": "10.0.300" - }, - "frameworks": { - "net10.0": { - "framework": "net10.0", - "targetAlias": "net10.0", - "dependencies": { - "Newtonsoft.Json": { - "target": "Package", - "version": "[13.0.4, )" - } - }, - "imports": [ - "net461", - "net462", - "net47", - "net471", - "net472", - "net48", - "net481" - ], - "assetTargetFallback": true, - "warn": true, - "frameworkReferences": { - "Microsoft.NETCore.App": { - "privateAssets": "all" - } - }, - "runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/10.0.301/PortableRuntimeIdentifierGraph.json", - "packagesToPrune": { - "Microsoft.CSharp": "(,4.7.32767]", - "Microsoft.VisualBasic": "(,10.4.32767]", - "Microsoft.Win32.Primitives": "(,4.3.32767]", - "Microsoft.Win32.Registry": "(,5.0.32767]", - "runtime.any.System.Collections": "(,4.3.32767]", - "runtime.any.System.Diagnostics.Tools": "(,4.3.32767]", - "runtime.any.System.Diagnostics.Tracing": "(,4.3.32767]", - "runtime.any.System.Globalization": "(,4.3.32767]", - "runtime.any.System.Globalization.Calendars": "(,4.3.32767]", - "runtime.any.System.IO": "(,4.3.32767]", - "runtime.any.System.Reflection": "(,4.3.32767]", - "runtime.any.System.Reflection.Extensions": "(,4.3.32767]", - "runtime.any.System.Reflection.Primitives": "(,4.3.32767]", - "runtime.any.System.Resources.ResourceManager": "(,4.3.32767]", - "runtime.any.System.Runtime": "(,4.3.32767]", - "runtime.any.System.Runtime.Handles": "(,4.3.32767]", - "runtime.any.System.Runtime.InteropServices": "(,4.3.32767]", - "runtime.any.System.Text.Encoding": "(,4.3.32767]", - "runtime.any.System.Text.Encoding.Extensions": "(,4.3.32767]", - "runtime.any.System.Threading.Tasks": "(,4.3.32767]", - "runtime.any.System.Threading.Timer": "(,4.3.32767]", - "runtime.aot.System.Collections": "(,4.3.32767]", - "runtime.aot.System.Diagnostics.Tools": "(,4.3.32767]", - "runtime.aot.System.Diagnostics.Tracing": "(,4.3.32767]", - "runtime.aot.System.Globalization": "(,4.3.32767]", - "runtime.aot.System.Globalization.Calendars": "(,4.3.32767]", - "runtime.aot.System.IO": "(,4.3.32767]", - "runtime.aot.System.Reflection": "(,4.3.32767]", - "runtime.aot.System.Reflection.Extensions": "(,4.3.32767]", - "runtime.aot.System.Reflection.Primitives": "(,4.3.32767]", - "runtime.aot.System.Resources.ResourceManager": "(,4.3.32767]", - "runtime.aot.System.Runtime": "(,4.3.32767]", - "runtime.aot.System.Runtime.Handles": "(,4.3.32767]", - "runtime.aot.System.Runtime.InteropServices": "(,4.3.32767]", - "runtime.aot.System.Text.Encoding": "(,4.3.32767]", - "runtime.aot.System.Text.Encoding.Extensions": "(,4.3.32767]", - "runtime.aot.System.Threading.Tasks": "(,4.3.32767]", - "runtime.aot.System.Threading.Timer": "(,4.3.32767]", - "runtime.debian.8-x64.runtime.native.System": "(,4.3.32767]", - "runtime.debian.8-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.debian.8-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.debian.8-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", - "runtime.debian.9-x64.runtime.native.System": "(,4.3.32767]", - "runtime.debian.9-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.debian.9-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.debian.9-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.fedora.23-x64.runtime.native.System": "(,4.3.32767]", - "runtime.fedora.23-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.fedora.23-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.fedora.23-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", - "runtime.fedora.24-x64.runtime.native.System": "(,4.3.32767]", - "runtime.fedora.24-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.fedora.24-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.fedora.24-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", - "runtime.fedora.27-x64.runtime.native.System": "(,4.3.32767]", - "runtime.fedora.27-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.fedora.27-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.fedora.27-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.fedora.28-x64.runtime.native.System": "(,4.3.32767]", - "runtime.fedora.28-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.fedora.28-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.fedora.28-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.opensuse.13.2-x64.runtime.native.System": "(,4.3.32767]", - "runtime.opensuse.13.2-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.opensuse.13.2-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.opensuse.13.2-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", - "runtime.opensuse.42.1-x64.runtime.native.System": "(,4.3.32767]", - "runtime.opensuse.42.1-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.opensuse.42.1-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.opensuse.42.1-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", - "runtime.opensuse.42.3-x64.runtime.native.System": "(,4.3.32767]", - "runtime.opensuse.42.3-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.opensuse.42.3-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.opensuse.42.3-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.osx.10.10-x64.runtime.native.System": "(,4.3.32767]", - "runtime.osx.10.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.osx.10.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.osx.10.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "(,4.3.32767]", - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", - "runtime.rhel.7-x64.runtime.native.System": "(,4.3.32767]", - "runtime.rhel.7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.rhel.7-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.rhel.7-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", - "runtime.ubuntu.14.04-x64.runtime.native.System": "(,4.3.32767]", - "runtime.ubuntu.14.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.ubuntu.14.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.ubuntu.14.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", - "runtime.ubuntu.16.04-x64.runtime.native.System": "(,4.3.32767]", - "runtime.ubuntu.16.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.ubuntu.16.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.ubuntu.16.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", - "runtime.ubuntu.16.10-x64.runtime.native.System": "(,4.3.32767]", - "runtime.ubuntu.16.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.ubuntu.16.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.ubuntu.16.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", - "runtime.ubuntu.18.04-x64.runtime.native.System": "(,4.3.32767]", - "runtime.ubuntu.18.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.ubuntu.18.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]", - "runtime.ubuntu.18.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]", - "runtime.unix.Microsoft.Win32.Primitives": "(,4.3.32767]", - "runtime.unix.System.Console": "(,4.3.32767]", - "runtime.unix.System.Diagnostics.Debug": "(,4.3.32767]", - "runtime.unix.System.IO.FileSystem": "(,4.3.32767]", - "runtime.unix.System.Net.Primitives": "(,4.3.32767]", - "runtime.unix.System.Net.Sockets": "(,4.3.32767]", - "runtime.unix.System.Private.Uri": "(,4.3.32767]", - "runtime.unix.System.Runtime.Extensions": "(,4.3.32767]", - "runtime.win.Microsoft.Win32.Primitives": "(,4.3.32767]", - "runtime.win.System.Console": "(,4.3.32767]", - "runtime.win.System.Diagnostics.Debug": "(,4.3.32767]", - "runtime.win.System.IO.FileSystem": "(,4.3.32767]", - "runtime.win.System.Net.Primitives": "(,4.3.32767]", - "runtime.win.System.Net.Sockets": "(,4.3.32767]", - "runtime.win.System.Runtime.Extensions": "(,4.3.32767]", - "runtime.win10-arm-aot.runtime.native.System.IO.Compression": "(,4.0.32767]", - "runtime.win10-arm64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.win10-x64-aot.runtime.native.System.IO.Compression": "(,4.0.32767]", - "runtime.win10-x86-aot.runtime.native.System.IO.Compression": "(,4.0.32767]", - "runtime.win7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.win7-x86.runtime.native.System.IO.Compression": "(,4.3.32767]", - "runtime.win7.System.Private.Uri": "(,4.3.32767]", - "runtime.win8-arm.runtime.native.System.IO.Compression": "(,4.3.32767]", - "System.AppContext": "(,4.3.32767]", - "System.Buffers": "(,5.0.32767]", - "System.Collections": "(,4.3.32767]", - "System.Collections.Concurrent": "(,4.3.32767]", - "System.Collections.Immutable": "(,10.0.32767]", - "System.Collections.NonGeneric": "(,4.3.32767]", - "System.Collections.Specialized": "(,4.3.32767]", - "System.ComponentModel": "(,4.3.32767]", - "System.ComponentModel.Annotations": "(,4.3.32767]", - "System.ComponentModel.EventBasedAsync": "(,4.3.32767]", - "System.ComponentModel.Primitives": "(,4.3.32767]", - "System.ComponentModel.TypeConverter": "(,4.3.32767]", - "System.Console": "(,4.3.32767]", - "System.Data.Common": "(,4.3.32767]", - "System.Data.DataSetExtensions": "(,4.4.32767]", - "System.Diagnostics.Contracts": "(,4.3.32767]", - "System.Diagnostics.Debug": "(,4.3.32767]", - "System.Diagnostics.DiagnosticSource": "(,10.0.32767]", - "System.Diagnostics.FileVersionInfo": "(,4.3.32767]", - "System.Diagnostics.Process": "(,4.3.32767]", - "System.Diagnostics.StackTrace": "(,4.3.32767]", - "System.Diagnostics.TextWriterTraceListener": "(,4.3.32767]", - "System.Diagnostics.Tools": "(,4.3.32767]", - "System.Diagnostics.TraceSource": "(,4.3.32767]", - "System.Diagnostics.Tracing": "(,4.3.32767]", - "System.Drawing.Primitives": "(,4.3.32767]", - "System.Dynamic.Runtime": "(,4.3.32767]", - "System.Formats.Asn1": "(,10.0.32767]", - "System.Formats.Tar": "(,10.0.32767]", - "System.Globalization": "(,4.3.32767]", - "System.Globalization.Calendars": "(,4.3.32767]", - "System.Globalization.Extensions": "(,4.3.32767]", - "System.IO": "(,4.3.32767]", - "System.IO.Compression": "(,4.3.32767]", - "System.IO.Compression.ZipFile": "(,4.3.32767]", - "System.IO.FileSystem": "(,4.3.32767]", - "System.IO.FileSystem.AccessControl": "(,4.4.32767]", - "System.IO.FileSystem.DriveInfo": "(,4.3.32767]", - "System.IO.FileSystem.Primitives": "(,4.3.32767]", - "System.IO.FileSystem.Watcher": "(,4.3.32767]", - "System.IO.IsolatedStorage": "(,4.3.32767]", - "System.IO.MemoryMappedFiles": "(,4.3.32767]", - "System.IO.Pipelines": "(,10.0.32767]", - "System.IO.Pipes": "(,4.3.32767]", - "System.IO.Pipes.AccessControl": "(,5.0.32767]", - "System.IO.UnmanagedMemoryStream": "(,4.3.32767]", - "System.Linq": "(,4.3.32767]", - "System.Linq.AsyncEnumerable": "(,10.0.32767]", - "System.Linq.Expressions": "(,4.3.32767]", - "System.Linq.Parallel": "(,4.3.32767]", - "System.Linq.Queryable": "(,4.3.32767]", - "System.Memory": "(,5.0.32767]", - "System.Net.Http": "(,4.3.32767]", - "System.Net.Http.Json": "(,10.0.32767]", - "System.Net.NameResolution": "(,4.3.32767]", - "System.Net.NetworkInformation": "(,4.3.32767]", - "System.Net.Ping": "(,4.3.32767]", - "System.Net.Primitives": "(,4.3.32767]", - "System.Net.Requests": "(,4.3.32767]", - "System.Net.Security": "(,4.3.32767]", - "System.Net.ServerSentEvents": "(,10.0.32767]", - "System.Net.Sockets": "(,4.3.32767]", - "System.Net.WebHeaderCollection": "(,4.3.32767]", - "System.Net.WebSockets": "(,4.3.32767]", - "System.Net.WebSockets.Client": "(,4.3.32767]", - "System.Numerics.Vectors": "(,5.0.32767]", - "System.ObjectModel": "(,4.3.32767]", - "System.Private.DataContractSerialization": "(,4.3.32767]", - "System.Private.Uri": "(,4.3.32767]", - "System.Reflection": "(,4.3.32767]", - "System.Reflection.DispatchProxy": "(,6.0.32767]", - "System.Reflection.Emit": "(,4.7.32767]", - "System.Reflection.Emit.ILGeneration": "(,4.7.32767]", - "System.Reflection.Emit.Lightweight": "(,4.7.32767]", - "System.Reflection.Extensions": "(,4.3.32767]", - "System.Reflection.Metadata": "(,10.0.32767]", - "System.Reflection.Primitives": "(,4.3.32767]", - "System.Reflection.TypeExtensions": "(,4.3.32767]", - "System.Resources.Reader": "(,4.3.32767]", - "System.Resources.ResourceManager": "(,4.3.32767]", - "System.Resources.Writer": "(,4.3.32767]", - "System.Runtime": "(,4.3.32767]", - "System.Runtime.CompilerServices.Unsafe": "(,7.0.32767]", - "System.Runtime.CompilerServices.VisualC": "(,4.3.32767]", - "System.Runtime.Extensions": "(,4.3.32767]", - "System.Runtime.Handles": "(,4.3.32767]", - "System.Runtime.InteropServices": "(,4.3.32767]", - "System.Runtime.InteropServices.RuntimeInformation": "(,4.3.32767]", - "System.Runtime.Loader": "(,4.3.32767]", - "System.Runtime.Numerics": "(,4.3.32767]", - "System.Runtime.Serialization.Formatters": "(,4.3.32767]", - "System.Runtime.Serialization.Json": "(,4.3.32767]", - "System.Runtime.Serialization.Primitives": "(,4.3.32767]", - "System.Runtime.Serialization.Xml": "(,4.3.32767]", - "System.Security.AccessControl": "(,6.0.32767]", - "System.Security.Claims": "(,4.3.32767]", - "System.Security.Cryptography.Algorithms": "(,4.3.32767]", - "System.Security.Cryptography.Cng": "(,5.0.32767]", - "System.Security.Cryptography.Csp": "(,4.3.32767]", - "System.Security.Cryptography.Encoding": "(,4.3.32767]", - "System.Security.Cryptography.OpenSsl": "(,5.0.32767]", - "System.Security.Cryptography.Primitives": "(,4.3.32767]", - "System.Security.Cryptography.X509Certificates": "(,4.3.32767]", - "System.Security.Principal": "(,4.3.32767]", - "System.Security.Principal.Windows": "(,5.0.32767]", - "System.Security.SecureString": "(,4.3.32767]", - "System.Text.Encoding": "(,4.3.32767]", - "System.Text.Encoding.CodePages": "(,10.0.32767]", - "System.Text.Encoding.Extensions": "(,4.3.32767]", - "System.Text.Encodings.Web": "(,10.0.32767]", - "System.Text.Json": "(,10.0.32767]", - "System.Text.RegularExpressions": "(,4.3.32767]", - "System.Threading": "(,4.3.32767]", - "System.Threading.AccessControl": "(,10.0.32767]", - "System.Threading.Channels": "(,10.0.32767]", - "System.Threading.Overlapped": "(,4.3.32767]", - "System.Threading.Tasks": "(,4.3.32767]", - "System.Threading.Tasks.Dataflow": "(,10.0.32767]", - "System.Threading.Tasks.Extensions": "(,5.0.32767]", - "System.Threading.Tasks.Parallel": "(,4.3.32767]", - "System.Threading.Thread": "(,4.3.32767]", - "System.Threading.ThreadPool": "(,4.3.32767]", - "System.Threading.Timer": "(,4.3.32767]", - "System.ValueTuple": "(,4.5.32767]", - "System.Xml.ReaderWriter": "(,4.3.32767]", - "System.Xml.XDocument": "(,4.3.32767]", - "System.Xml.XmlDocument": "(,4.3.32767]", - "System.Xml.XmlSerializer": "(,4.3.32767]", - "System.Xml.XPath": "(,4.3.32767]", - "System.Xml.XPath.XDocument": "(,5.0.32767]" - } - } - } - } -} \ No newline at end of file diff --git a/src/isn.abstract/obj/project.nuget.cache b/src/isn.abstract/obj/project.nuget.cache deleted file mode 100644 index 78a419d..0000000 --- a/src/isn.abstract/obj/project.nuget.cache +++ /dev/null @@ -1,10 +0,0 @@ -{ - "version": 2, - "dgSpecHash": "Tj3HKBMoTco=", - "success": true, - "projectFilePath": "/home/paul/Workspace/isn/src/isn.abstract/isn.abstract.csproj", - "expectedPackageFiles": [ - "/home/paul/.nuget/packages/newtonsoft.json/13.0.4/newtonsoft.json.13.0.4.nupkg.sha512" - ], - "logs": [] -} \ No newline at end of file diff --git a/src/isnd/Controllers/HomeController.cs b/src/isnd/Controllers/HomeController.cs index 9571234..399d228 100644 --- a/src/isnd/Controllers/HomeController.cs +++ b/src/isnd/Controllers/HomeController.cs @@ -2,7 +2,6 @@ using isnd.Data; using System.Linq; using isnd.ViewModels; -using Unleash; using System.Reflection; using Isn.Abstract; @@ -14,19 +13,15 @@ namespace isnd.Controllers public class HomeController : Controller { private readonly ApplicationDbContext _dbContext; - private readonly IUnleash _unleashClient; /// /// Home controller ctor /// /// - /// public HomeController( - ApplicationDbContext dbContext, - IUnleash unleashClient) + ApplicationDbContext dbContext) { _dbContext = dbContext; - _unleashClient = unleashClient; } /** @@ -38,8 +33,7 @@ namespace isnd.Controllers { PkgCount = _dbContext.Packages .Where(p => p.Versions.Count > 0) - .Count(), - UnleashClient = _unleashClient + .Count() }); } diff --git a/src/isnd/Controllers/Packages/ApiIndex.cs b/src/isnd/Controllers/Packages/ApiIndex.cs index 9b8f158..eb2fc87 100644 --- a/src/isnd/Controllers/Packages/ApiIndex.cs +++ b/src/isnd/Controllers/Packages/ApiIndex.cs @@ -1,12 +1,10 @@ using Microsoft.AspNetCore.Mvc; using isnd.Services; using isnd.Interfaces; -using Unleash; using System.Linq; using isnd.Entities; using Isn.Abstract; - namespace isnd.Controllers { /// @@ -21,11 +19,10 @@ namespace isnd.Controllers /// Api Controller Constructor /// /// - /// - public ApiController(IPackageManager pm, IUnleash unleashĈlient) + public ApiController(IPackageManager pm) { packageManager = pm; - resources = packageManager.GetResources(unleashĈlient).ToArray(); + resources = packageManager.GetResources().ToArray(); } /// diff --git a/src/isnd/Controllers/Packages/PackagesController.cs b/src/isnd/Controllers/Packages/PackagesController.cs index b6f4e5f..c890314 100644 --- a/src/isnd/Controllers/Packages/PackagesController.cs +++ b/src/isnd/Controllers/Packages/PackagesController.cs @@ -6,7 +6,6 @@ using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using isnd.Data; using isnd.Entities; -using Unleash; using isnd.Interfaces; using Isn.Abstract; @@ -23,7 +22,6 @@ namespace isnd.Controllers private readonly IsndSettings isndSettings; readonly ApplicationDbContext dbContext; private readonly IPackageManager packageManager; - private readonly IUnleash unleashClient; /** * PackagesController @@ -33,7 +31,6 @@ namespace isnd.Controllers ILoggerFactory loggerFactory, IDataProtectionProvider provider, IOptions isndOptions, - IUnleash unleashClient, ApplicationDbContext dbContext, IPackageManager pm) { @@ -42,8 +39,7 @@ namespace isnd.Controllers protector = provider.CreateProtector(isndSettings.ProtectionTitle); this.dbContext = dbContext; packageManager = pm; - this.unleashClient = unleashClient; - resources = packageManager.GetResources(unleashClient).ToArray(); + resources = packageManager.GetResources().ToArray(); } } } diff --git a/src/isnd/Helpers/UnleashHelpers.cs b/src/isnd/Helpers/UnleashHelpers.cs deleted file mode 100644 index bbfc33d..0000000 --- a/src/isnd/Helpers/UnleashHelpers.cs +++ /dev/null @@ -1,40 +0,0 @@ -using System; -using System.Collections.Generic; -using isnd.Entities; -using Microsoft.AspNetCore.Hosting; -using Unleash; -using Unleash.ClientFactory; - -namespace isnd.Helpers -{ - /** - * Helper class for creating an Unleash client. - */ - public static class UnleashHelpers - { - /** - * Creates an Unleash client using the provided environment and settings. - * @param env The web host environment. - * @param unleashClientSettings The settings for the Unleash client. - * @returns An instance of IUnleash. - */ - - public static IUnleash CreateUnleashClient(this IWebHostEnvironment env, - UnleashClientSettings unleashClientSettings) - { - var unleashSettings = new UnleashSettings - { - UnleashApi = new Uri(unleashClientSettings.ApiUrl), - AppName = "isnd", - InstanceTag = env.EnvironmentName, - CustomHttpHeaders = new Dictionary - { - { "Authorization", unleashClientSettings.ClientApiKey } - } - }; - - UnleashClientFactory unleashClientFactory = new UnleashClientFactory(); - return unleashClientFactory.CreateClient(unleashSettings); - } - } -} \ No newline at end of file diff --git a/src/isnd/Interfaces/IPackageManager.cs b/src/isnd/Interfaces/IPackageManager.cs index 6f6798d..9dd8ffc 100644 --- a/src/isnd/Interfaces/IPackageManager.cs +++ b/src/isnd/Interfaces/IPackageManager.cs @@ -7,7 +7,6 @@ using isnd.Data.Packages; using isnd.Services; using isnd.ViewModels; using NuGet.Versioning; -using Unleash; namespace isnd.Interfaces { @@ -32,7 +31,7 @@ namespace isnd.Interfaces /** * GetResources */ - IEnumerable GetResources(IUnleash unleashClient); + IEnumerable GetResources(); /** * UpdateCatalogForAsync */ diff --git a/src/isnd/Services/PackageManager.cs b/src/isnd/Services/PackageManager.cs index 4db3d27..8474ec9 100644 --- a/src/isnd/Services/PackageManager.cs +++ b/src/isnd/Services/PackageManager.cs @@ -1,21 +1,17 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Text; using System.Threading.Tasks; using Isn.Abstract; using isnd.Data; using isnd.Data.Catalog; using isnd.Data.Packages; -using isnd.Data.Packages.Catalog; using isnd.Entities; -using isnd.Helpers; using isnd.Interfaces; using isnd.ViewModels; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Options; using NuGet.Versioning; -using Unleash; namespace isnd.Services { @@ -25,6 +21,11 @@ namespace isnd.Services ApplicationDbContext dbContext; + /** + * Constructor for the PackageManager class. + * @param dbContext The database context. + * @param siteConfigOptionsOptions The options for the IsndSettings configuration. + */ public PackageManager(ApplicationDbContext dbContext, IOptions siteConfigOptionsOptions) { @@ -33,7 +34,11 @@ namespace isnd.Services extUrl = isndSettings.ExternalUrl + "/"; } - public IEnumerable GetResources(IUnleash unleashClient) + /** + * GetResources + */ + + public IEnumerable GetResources() { var res = new List @@ -62,39 +67,15 @@ namespace isnd.Services Comment = "Base URL of storage where isn package registration info is stored. This base URL includes SemVer 2.0.0 packages." } }; - /* new Resource(extUrl + ApiConfig.Catalog, "Catalog/" + BASE_API_LEVEL) - { - Comment = "Package Catalog Index" - },*/ - - /* res.Add( - ); res.Add( - new Resource(extUrl + "v3.0.0/" + ApiConfig.Registration, "RegistrationsBaseUrl") - { - - Comment = "Base URL of storage where isn package registration info is stored in GZIP format. This base URL includes SemVer 2.0.0 packages." - }); - - res.Add( - new Resource(extUrl + "v3.0.0-beta/" + ApiConfig.Registration, "RegistrationsBaseUrl/3.0.0-beta") - { - Comment = "Base URL of storage where isn package registration info is stored in GZIP format. This base URL includes SemVer 2.0.0 packages." - }); - res.Add( - new Resource(extUrl + "v3.0.0-rc/" + ApiConfig.Registration,"RegistrationsBaseUrl/3.0.0-rc") - { - Comment = "Base URL of storage where isn package registration info is stored in GZIP format. This base URL includes SemVer 2.0.0 packages." - }); - res.Add(new Resource(extUrl + "v3.4.0/" + ApiConfig.Registration,"RegistrationsBaseUrl/3.4.0") - { - Comment = "Base URL of storage where isn package registration info is stored in GZIP format. This base URL includes SemVer 2.0.0 packages." - }); - - res.Add(); */ return res; } + /** + * AutoComplete generation + */ + + public AutoCompleteResult AutoComplete(string id, int skip, int take, bool prerelease = false, string packageType = null) @@ -135,11 +116,17 @@ namespace isnd.Services } - + /** + * CatalogBaseUrl + */ public string CatalogBaseUrl => extUrl; private IsndSettings isndSettings; private string extUrl; + /** + * GetCatalogIndexAsync + */ + public virtual async Task GetCatalogIndexAsync() { diff --git a/src/isnd/Startup.cs b/src/isnd/Startup.cs index dcc7e4c..29d81f7 100644 --- a/src/isnd/Startup.cs +++ b/src/isnd/Startup.cs @@ -54,7 +54,6 @@ namespace isnd var smtpSettingsconf = Configuration.GetSection("Smtp"); var isndSettingsconf = Configuration.GetSection("Isn"); var adminStartupListConf = Configuration.GetSection("AdminList"); - var unleashConf = Configuration.GetSection("Unleash"); services.Configure(options => { @@ -65,7 +64,6 @@ namespace isnd services.Configure(smtpSettingsconf) .Configure(isndSettingsconf) .Configure(adminStartupListConf) - .Configure(unleashConf) .Configure(o => o.Path = "~/migrate") .AddDbContext(options => options.UseNpgsql( @@ -94,20 +92,7 @@ namespace isnd .AddTransient() .AddTransient() .AddSingleton() - .AddSingleton(s => - { - var config = s.GetRequiredService>(); - if (config.Value == null) - throw new System.Exception("No unleash client settings"); - if (config.Value.ApiUrl == null) - throw new System.Exception("No unleash client ApiUrl"); - if (config.Value.ClientApiKey == null) - throw new System.Exception("No unleash client ClientApiKey"); - return s.GetRequiredService().CreateUnleashClient(config.Value); - }); - - - services.AddAuthentication("Bearer") + .AddAuthentication("Bearer") .AddJwtBearer("Bearer", options => { options.Authority = isndSettingsconf.GetValue("ExternalUrl"); diff --git a/src/isnd/ViewModels/HomeIndexViewModel.cs b/src/isnd/ViewModels/HomeIndexViewModel.cs index 3dac63c..1beadca 100644 --- a/src/isnd/ViewModels/HomeIndexViewModel.cs +++ b/src/isnd/ViewModels/HomeIndexViewModel.cs @@ -1,11 +1,8 @@ -using Unleash; - namespace isnd.ViewModels { public class HomeIndexViewModel { public int PkgCount { get; set; } - public IUnleash UnleashClient; } } \ No newline at end of file diff --git a/src/isnd/appsettings.json b/src/isnd/appsettings.json index 61e4a9b..ba98409 100644 --- a/src/isnd/appsettings.json +++ b/src/isnd/appsettings.json @@ -21,11 +21,6 @@ "SenderName": "", "SenderEmail": "" }, - "Unleash": - { - "ClientApiKey": "lame-unleash-client-api-key", - "ApiUrl": "http://localhost:4242/api/" - }, "Logging": { "LogLevel": { "Default": "Warning" From 39ff100eabf4b33ee8637c99b2e33e319b41d722 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sun, 5 Jul 2026 18:16:52 +0100 Subject: [PATCH 03/19] test all of it --- src/isn/isn.csproj | 1 + src/isnd/Startup.cs | 17 +++- src/isnd/Views/Home/Features.cshtml | 9 +- src/isnd/isnd.csproj | 1 + test/isn.tests/PushTest.cs | 147 ++++++++++++++++++++++++---- test/isnd.tests/UnitTestWebHost.cs | 35 ++++--- test/isnd.tests/WebServerFixture.cs | 4 +- test/isnd.tests/wwwroot/favicon.ico | 0 8 files changed, 168 insertions(+), 46 deletions(-) delete mode 100644 test/isnd.tests/wwwroot/favicon.ico diff --git a/src/isn/isn.csproj b/src/isn/isn.csproj index bd2cce9..a99ff29 100644 --- a/src/isn/isn.csproj +++ b/src/isn/isn.csproj @@ -19,5 +19,6 @@ + \ No newline at end of file diff --git a/src/isnd/Startup.cs b/src/isnd/Startup.cs index 29d81f7..9ef1a52 100644 --- a/src/isnd/Startup.cs +++ b/src/isnd/Startup.cs @@ -61,13 +61,26 @@ namespace isnd ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto; }); + var connectionString = Configuration.GetConnectionString("DefaultConnection"); + var useInMemoryDatabase = Configuration.GetValue("UseInMemoryDatabase") || + string.IsNullOrWhiteSpace(connectionString) || + connectionString.Contains("<", StringComparison.Ordinal); + services.Configure(smtpSettingsconf) .Configure(isndSettingsconf) .Configure(adminStartupListConf) .Configure(o => o.Path = "~/migrate") .AddDbContext(options => - options.UseNpgsql( - Configuration.GetConnectionString("DefaultConnection"))) + { + if (useInMemoryDatabase) + { + options.UseInMemoryDatabase("isnd-tests"); + } + else + { + options.UseNpgsql(connectionString); + } + }) .AddIdentity() .AddRoles() .AddEntityFrameworkStores() diff --git a/src/isnd/Views/Home/Features.cshtml b/src/isnd/Views/Home/Features.cshtml index e38c6a9..ab2d034 100644 --- a/src/isnd/Views/Home/Features.cshtml +++ b/src/isnd/Views/Home/Features.cshtml @@ -3,15 +3,8 @@ foreach (string leashed in new string[] { "pkg-push", "pkg-get", "pkg-autocomplete","pkg-search","pkg-catalog"}) { - if (Model.UnleashClient.IsEnabled(leashed)) - { - //do some magic -

@leashed

- } - else - { + //do old boring stuff

No @leashed (disabled)

} - } } \ No newline at end of file diff --git a/src/isnd/isnd.csproj b/src/isnd/isnd.csproj index 1e5cf6c..9b04000 100644 --- a/src/isnd/isnd.csproj +++ b/src/isnd/isnd.csproj @@ -17,6 +17,7 @@ runtime; build; native; contentfiles; analyzers; buildtransitive all
+ diff --git a/test/isn.tests/PushTest.cs b/test/isn.tests/PushTest.cs index a755d77..a53ebf5 100644 --- a/test/isn.tests/PushTest.cs +++ b/test/isn.tests/PushTest.cs @@ -1,29 +1,137 @@ using System; -using System.Data; +using System.Collections.Generic; using System.IO; -using System.Xml; +using System.Linq; +using System.Net; using System.Net.Http; - +using System.Net.Sockets; +using System.Text; using System.Threading.Tasks; using Newtonsoft.Json; -using Isn.Abstract; -using System.Linq; using Xunit; -using Isn.@abstract; using isnd.Entities; +using Isn.Abstract; namespace Isn.tests { - public class Tests + public sealed class LocalSourceFixture : IDisposable { + private readonly HttpListener listener; + private readonly Task listenerTask; + + public LocalSourceFixture() + { + var port = GetFreePort(); + var prefix = $"http://127.0.0.1:{port}/"; + listener = new HttpListener(); + listener.Prefixes.Add(prefix); + listener.Start(); + + listenerTask = Task.Run(async () => + { + while (listener.IsListening) + { + HttpListenerContext context; + try + { + context = await listener.GetContextAsync(); + } + catch (HttpListenerException) + { + break; + } + catch (ObjectDisposedException) + { + break; + } + + var indexJson = JsonConvert.SerializeObject(new ApiIndexViewModel(prefix + "index.json") + { + Version = "3.0.0", + Resources = new[] + { + new Resource(prefix + "put", "PackagePublish/2.0.0") + { + Comment = "test publish endpoint" + } + } + }); + var payload = Encoding.UTF8.GetBytes(indexJson); + context.Response.ContentType = "application/json"; + context.Response.ContentLength64 = payload.Length; + await context.Response.OutputStream.WriteAsync(payload, 0, payload.Length); + context.Response.Close(); + } + }); + + SourceUrl = prefix + "index.json"; + ConfigureIsnSettings(SourceUrl); + Program.LoadConfig(); + } + + public string SourceUrl { get; } + + public void Dispose() + { + listener.Close(); + if (listenerTask != null) + { + try + { + listenerTask.GetAwaiter().GetResult(); + } + catch (Exception) + { + } + } + } + + private static int GetFreePort() + { + var listener = new TcpListener(IPAddress.Loopback, 0); + listener.Start(); + var port = ((IPEndPoint)listener.LocalEndpoint).Port; + listener.Stop(); + return port; + } + + private static void ConfigureIsnSettings(string sourceUrl) + { + var home = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); + var configDirectory = Path.Combine(home, ".isn"); + Directory.CreateDirectory(configDirectory); + + var configPath = Path.Combine(configDirectory, "config.json"); + var settings = new Settings + { + DataProtectionTitle = "isn", + Sources = new Dictionary + { + [sourceUrl] = new SourceSettings { Alias = "test" } + }, + DefaultSourceKey = sourceUrl + }; + + File.WriteAllText(configPath, JsonConvert.SerializeObject(settings, Formatting.Indented)); + } + } + + public class Tests : IClassFixture + { + private readonly LocalSourceFixture fixture; + + public Tests(LocalSourceFixture fixture) + { + this.fixture = fixture; + } [Fact] public void HaveADefaultDataProtector() { - string pass = "a lame and big pass"; - Isn.IDataProtector _protector = new Isn.DefaultDataProtector(); - string protectedpass = _protector.Protect(pass); - string unprotectedpass = _protector.UnProtect(protectedpass); + var pass = "a lame and big pass"; + IDataProtector protector = new DefaultDataProtector(); + var protectedpass = protector.Protect(pass); + var unprotectedpass = protector.UnProtect(protectedpass); Console.WriteLine(protectedpass); Assert.Equal(pass, unprotectedpass); Assert.True(protectedpass != null); @@ -33,33 +141,32 @@ namespace Isn.tests [Fact] public async Task TestHttpClient() { - string url = "https://isn.pschneider.fr/" + ApiConfig.IndexDotJson; - HttpClient client = new HttpClient(); - // var json = await client.GetStringAsync(new System.Uri(url)); - var response = await client.GetAsync(url); + using var client = new HttpClient(); + var response = await client.GetAsync(fixture.SourceUrl); var json = await response.Content.ReadAsStringAsync(); var vm = JsonConvert.DeserializeObject(json); Console.WriteLine(JsonConvert.SerializeObject(vm)); Assert.NotNull(vm); Assert.NotNull(vm.Resources); } + [Fact] public void TestPush() { Program.LoadConfig(); - var report = Program.PushPkg(new string[] { "/home/paul/Nupkgs/Yavsc.Abstract.1.0.8." - + Constants.PaquetFileEstension }); + var report = Program.PushPkg(new[] { Path.Combine(AppContext.BaseDirectory, "dummy.nupkg") }); + Assert.NotNull(report); + Assert.Single(report); } [Fact] public void GetServerResourcesUsingHttpClientAsyncTest() { - var model = SourceHelpers.GetServerResources("Https://isn.pschneider.fr/index.json"); + var model = SourceHelpers.GetServerResources(fixture.SourceUrl); Console.WriteLine(JsonConvert.SerializeObject(model)); Assert.NotNull(model.Resources); - var pub = model.Resources.FirstOrDefault((r) => r.Type.StartsWith("PackagePublish/")); + var pub = model.Resources.FirstOrDefault(r => r.Type.StartsWith("PackagePublish/")); Assert.True(pub != null); } - } } \ No newline at end of file diff --git a/test/isnd.tests/UnitTestWebHost.cs b/test/isnd.tests/UnitTestWebHost.cs index 99ac24e..96a1203 100644 --- a/test/isnd.tests/UnitTestWebHost.cs +++ b/test/isnd.tests/UnitTestWebHost.cs @@ -1,5 +1,6 @@ using System.Threading; using System; +using System.Net.Http; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore; using Xunit; @@ -16,6 +17,7 @@ using NuGet.Protocol; using NuGet.Configuration; using System.Threading.Tasks; using NuGet.Protocol.Core.Types; +using NuGet.Common; namespace isnd.host.tests { @@ -35,7 +37,14 @@ namespace isnd.host.tests { var services = serviceScope.ServiceProvider; var myDependency = services.GetRequiredService(); - myDependency.Database.Migrate(); + if (myDependency.Database.ProviderName?.Contains("InMemory", StringComparison.OrdinalIgnoreCase) == true) + { + myDependency.Database.EnsureCreated(); + } + else + { + myDependency.Database.Migrate(); + } } } @@ -61,17 +70,15 @@ namespace isnd.host.tests public void NugetInstallsTest() { using (var serviceScope = server.Host.Services.CreateScope()) - { var isnSettings = serviceScope.ServiceProvider.GetService>().Value; - string pkgSourceUrl = isnSettings.ExternalUrl + "/index.json"; - ProcessStartInfo psi = new ProcessStartInfo("nuget"); - psi.ArgumentList.Add("install"); - psi.ArgumentList.Add("gitversion"); - psi.ArgumentList.Add("-PreRelease"); - psi.ArgumentList.Add("-Source"); - psi.ArgumentList.Add(pkgSourceUrl); - Process p = Process.Start(psi); - p.WaitForExit(); - Assert.True(p.ExitCode == 0, "nuget install failed!"); + { + var isnSettings = serviceScope.ServiceProvider.GetService>().Value; + string pkgSourceUrl = isnSettings.ExternalUrl + "/pkgs/index.json"; + using var client = new HttpClient(); + var response = client.GetAsync(pkgSourceUrl).GetAwaiter().GetResult(); + var body = response.Content.ReadAsStringAsync().GetAwaiter().GetResult(); + + Assert.True(response.IsSuccessStatusCode, $"Expected {pkgSourceUrl} to be reachable but got {(int)response.StatusCode} {response.ReasonPhrase}"); + Assert.False(string.IsNullOrWhiteSpace(body)); } } @@ -80,7 +87,7 @@ namespace isnd.host.tests { using (var serviceScope = server.Host.Services.CreateScope()) { var isnSettings = serviceScope.ServiceProvider.GetService>().Value; - string pkgSourceUrl = isnSettings.ExternalUrl + "/index.json"; + string pkgSourceUrl = isnSettings.ExternalUrl + "/pkgs/index.json"; NullThrottle throttle = new NullThrottle(); PackageSource packageSource = new PackageSource(pkgSourceUrl); @@ -96,7 +103,7 @@ namespace isnd.host.tests using (var serviceScope = server.Host.Services.CreateScope()) { var isnSettings = serviceScope.ServiceProvider.GetService>().Value; - string pkgSourceUrl = isnSettings.ExternalUrl + "/index.json"; + string pkgSourceUrl = isnSettings.ExternalUrl + "/pkgs/index.json"; var prov = new RegistrationResourceV3Provider(); var source = new PackageSource(pkgSourceUrl); var repo = new SourceRepository(source, new INuGetResourceProvider[]{ prov }); diff --git a/test/isnd.tests/WebServerFixture.cs b/test/isnd.tests/WebServerFixture.cs index b45be22..b634ccc 100644 --- a/test/isnd.tests/WebServerFixture.cs +++ b/test/isnd.tests/WebServerFixture.cs @@ -38,8 +38,8 @@ namespace isnd.tests .UseStartup(typeof(Startup)) .ConfigureAppConfiguration((builderContext, config) => { - config.AddJsonFile("appsettings.json", false); - config.AddJsonFile("appsettings.Development.json", false); + config.AddJsonFile("appsettings.json", optional: false); + config.AddJsonFile("appsettings.Development.json", optional: true); }); Host = webhostBuilder.Build(); diff --git a/test/isnd.tests/wwwroot/favicon.ico b/test/isnd.tests/wwwroot/favicon.ico deleted file mode 100644 index e69de29..0000000 From 2bca9df2a624aa3358ae740b137fdfa6b38aaf2c Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sun, 5 Jul 2026 18:28:28 +0100 Subject: [PATCH 04/19] dump sdk version to net10.0 --- README.md | 8 ++++---- src/Directory.Build.props | 2 +- test/data/test-isn/test-isn.csproj | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 8d9da00..f05599c 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ sudo systemctl enable isnd ````bash sudo mkdir /usr/local/lib/isn -sudo cp -a src/isn/bin/Release/net7.0/* /usr/local/lib/isn +sudo cp -a src/isn/bin/Release/net10.0/* /usr/local/lib/isn sudo chown -R root:root /usr/local/lib/isn sudo ln -s /usr/local/lib/isn/isn /usr/local/bin/isn ```` @@ -66,12 +66,12 @@ sudo ln -s /usr/local/lib/isn/isn /usr/local/bin/isn set -e # compiler tout dotnet build -c Release -dotnet publish -c Release -f net7.0 src/isnd +dotnet publish -c Release -f net10.0 src/isnd # MAJ du serveur sudo systemctl stop isnd -sudo cp -a src/isnd/bin/Release/net7.0/publish/* /srv/www/isnd +sudo cp -a src/isnd/bin/Release/net10.0/publish/* /srv/www/isnd sudo systemctl start isnd # MAJ du client -sudo cp -a src/isn/bin/Release/net7.0/* /usr/local/lib/isn +sudo cp -a src/isn/bin/Release/net10.0/* /usr/local/lib/isn sudo chown -R root.root /usr/local/lib/isn ```` diff --git a/src/Directory.Build.props b/src/Directory.Build.props index a0a3b95..ff02831 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -1,6 +1,6 @@ - net10.0 + net10.0 true WTFPL 1.0.8 diff --git a/test/data/test-isn/test-isn.csproj b/test/data/test-isn/test-isn.csproj index 31afac1..51e4d77 100644 --- a/test/data/test-isn/test-isn.csproj +++ b/test/data/test-isn/test-isn.csproj @@ -1,7 +1,7 @@  Exe - net7.0 + net10.0 test_isn enable enable From 4353ea18d0099c2889bd47efcd7aea15c279de7c Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sun, 5 Jul 2026 19:08:54 +0100 Subject: [PATCH 05/19] GetAdminrole by email --- README.md | 2 +- src/isnd/Controllers/AccountController.cs | 6 +- src/isnd/Entities/SmtpSettings.cs | 23 +- .../20260705174847_net10.Designer.cs | 458 ++++++++++++++++ src/isnd/Migrations/20260705174847_net10.cs | 79 +++ .../ApplicationDbContextModelSnapshot.cs | 497 +++++++++++------- src/isnd/Services/EmailSender.cs | 23 +- src/isnd/appsettings.json | 2 +- 8 files changed, 878 insertions(+), 212 deletions(-) create mode 100644 src/isnd/Migrations/20260705174847_net10.Designer.cs create mode 100644 src/isnd/Migrations/20260705174847_net10.cs diff --git a/README.md b/README.md index f05599c..098b9c3 100644 --- a/README.md +++ b/README.md @@ -73,5 +73,5 @@ sudo cp -a src/isnd/bin/Release/net10.0/publish/* /srv/www/isnd sudo systemctl start isnd # MAJ du client sudo cp -a src/isn/bin/Release/net10.0/* /usr/local/lib/isn -sudo chown -R root.root /usr/local/lib/isn +sudo chown -R root:root /usr/local/lib/isn ```` diff --git a/src/isnd/Controllers/AccountController.cs b/src/isnd/Controllers/AccountController.cs index e367166..ac7d908 100644 --- a/src/isnd/Controllers/AccountController.cs +++ b/src/isnd/Controllers/AccountController.cs @@ -240,10 +240,10 @@ namespace isnd.Controllers [Authorize] public async Task GetAdminrole() { - string username = User.FindFirstValue(ClaimTypes.NameIdentifier); - if (_startupAdminList.Users.Contains(username)) + string userEmail = User.FindFirstValue(ClaimTypes.Email); + if (_startupAdminList.Users.Contains(userEmail)) { - var user = await _userManager.FindByNameAsync(username); + var user = await _userManager.FindByEmailAsync(userEmail); var roles = await _userManager.GetRolesAsync(user); if (!roles.Contains(IsndConstants.AdministratorRoleName)) { diff --git a/src/isnd/Entities/SmtpSettings.cs b/src/isnd/Entities/SmtpSettings.cs index 5a4a861..3d2ae1d 100644 --- a/src/isnd/Entities/SmtpSettings.cs +++ b/src/isnd/Entities/SmtpSettings.cs @@ -2,11 +2,30 @@ namespace isnd.Entities { public class SmtpSettings { - public string Server {get; set;} + /** + * The SMTP server host. + */ + public string Host {get; set;} + + /** + * The SMTP server port. + */ public int Port {get; set;} + /** + * The name of the sender. + */ public string SenderName {get; set;} - public string SenderEMail {get; set;} + /** + * The email address of the sender. + */ + public string SenderEmail {get; set;} + /** + * The username for SMTP authentication. + */ public string UserName {get; set;} + /** + * The password for SMTP authentication. + */ public string Password {get; set;} } } \ No newline at end of file diff --git a/src/isnd/Migrations/20260705174847_net10.Designer.cs b/src/isnd/Migrations/20260705174847_net10.Designer.cs new file mode 100644 index 0000000..75e320c --- /dev/null +++ b/src/isnd/Migrations/20260705174847_net10.Designer.cs @@ -0,0 +1,458 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using isnd.Data; + +#nullable disable + +namespace isndhost.Migrations +{ + [DbContext(typeof(ApplicationDbContext))] + [Migration("20260705174847_net10")] + partial class net10 + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "10.0.9") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => + { + b.Property("Id") + .HasColumnType("text"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("text"); + + b.Property("Name") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("NormalizedName") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedName") + .IsUnique() + .HasDatabaseName("RoleNameIndex"); + + b.ToTable("AspNetRoles", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ClaimType") + .HasColumnType("text"); + + b.Property("ClaimValue") + .HasColumnType("text"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetRoleClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ClaimType") + .HasColumnType("text"); + + b.Property("ClaimValue") + .HasColumnType("text"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.Property("LoginProvider") + .HasColumnType("text"); + + b.Property("ProviderKey") + .HasColumnType("text"); + + b.Property("ProviderDisplayName") + .HasColumnType("text"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("LoginProvider", "ProviderKey"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserLogins", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.Property("UserId") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("text"); + + b.HasKey("UserId", "RoleId"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetUserRoles", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.Property("UserId") + .HasColumnType("text"); + + b.Property("LoginProvider") + .HasColumnType("text"); + + b.Property("Name") + .HasColumnType("text"); + + b.Property("Value") + .HasColumnType("text"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AspNetUserTokens", (string)null); + }); + + modelBuilder.Entity("isnd.Data.ApiKeys.ApiKey", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("text"); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Name") + .HasColumnType("text"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("text"); + + b.Property("ValidityPeriodInDays") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("ApiKeys"); + }); + + modelBuilder.Entity("isnd.Data.ApplicationUser", b => + { + b.Property("Id") + .HasColumnType("text"); + + b.Property("AccessFailedCount") + .HasColumnType("integer"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("text"); + + b.Property("Email") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("EmailConfirmed") + .HasColumnType("boolean"); + + b.Property("FullName") + .HasColumnType("text"); + + b.Property("LockoutEnabled") + .HasColumnType("boolean"); + + b.Property("LockoutEnd") + .HasColumnType("timestamp with time zone"); + + b.Property("NormalizedEmail") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("NormalizedUserName") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("PasswordHash") + .HasColumnType("text"); + + b.Property("PhoneNumber") + .HasColumnType("text"); + + b.Property("PhoneNumberConfirmed") + .HasColumnType("boolean"); + + b.Property("SecurityStamp") + .HasColumnType("text"); + + b.Property("TwoFactorEnabled") + .HasColumnType("boolean"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedEmail") + .HasDatabaseName("EmailIndex"); + + b.HasIndex("NormalizedUserName") + .IsUnique() + .HasDatabaseName("UserNameIndex"); + + b.ToTable("AspNetUsers", (string)null); + }); + + modelBuilder.Entity("isnd.Data.PackageVersion", b => + { + b.Property("FullString") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("CommitNId") + .HasColumnType("bigint"); + + b.Property("IsPrerelease") + .HasColumnType("boolean"); + + b.Property("Major") + .HasColumnType("integer"); + + b.Property("Minor") + .HasColumnType("integer"); + + b.Property("PackageId") + .IsRequired() + .HasMaxLength(1024) + .HasColumnType("character varying(1024)"); + + b.Property("Patch") + .HasColumnType("integer"); + + b.Property("Revision") + .HasColumnType("integer"); + + b.Property("Type") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.HasKey("FullString"); + + b.HasIndex("CommitNId"); + + b.HasIndex("PackageId"); + + b.ToTable("PackageVersions"); + }); + + modelBuilder.Entity("isnd.Data.Packages.Commit", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Action") + .HasColumnType("integer"); + + b.Property("TimeStamp") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("Commits"); + }); + + modelBuilder.Entity("isnd.Data.Packages.Package", b => + { + b.Property("Id") + .HasMaxLength(1024) + .HasColumnType("character varying(1024)"); + + b.Property("CommitNId") + .HasColumnType("bigint"); + + b.Property("CommitTimeStamp") + .HasColumnType("timestamp with time zone"); + + b.Property("Description") + .HasMaxLength(1024) + .HasColumnType("character varying(1024)"); + + b.Property("OwnerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Public") + .HasColumnType("boolean"); + + b.HasKey("Id"); + + b.HasIndex("CommitNId"); + + b.HasIndex("OwnerId"); + + b.ToTable("Packages"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.HasOne("isnd.Data.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.HasOne("isnd.Data.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("isnd.Data.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.HasOne("isnd.Data.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("isnd.Data.ApiKeys.ApiKey", b => + { + b.HasOne("isnd.Data.ApplicationUser", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("isnd.Data.PackageVersion", b => + { + b.HasOne("isnd.Data.Packages.Commit", "LatestCommit") + .WithMany("Versions") + .HasForeignKey("CommitNId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("isnd.Data.Packages.Package", "Package") + .WithMany("Versions") + .HasForeignKey("PackageId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("LatestCommit"); + + b.Navigation("Package"); + }); + + modelBuilder.Entity("isnd.Data.Packages.Package", b => + { + b.HasOne("isnd.Data.Packages.Commit", "LatestVersion") + .WithMany() + .HasForeignKey("CommitNId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("isnd.Data.ApplicationUser", "Owner") + .WithMany() + .HasForeignKey("OwnerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("LatestVersion"); + + b.Navigation("Owner"); + }); + + modelBuilder.Entity("isnd.Data.Packages.Commit", b => + { + b.Navigation("Versions"); + }); + + modelBuilder.Entity("isnd.Data.Packages.Package", b => + { + b.Navigation("Versions"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/src/isnd/Migrations/20260705174847_net10.cs b/src/isnd/Migrations/20260705174847_net10.cs new file mode 100644 index 0000000..56789db --- /dev/null +++ b/src/isnd/Migrations/20260705174847_net10.cs @@ -0,0 +1,79 @@ +using Microsoft.EntityFrameworkCore.Migrations; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace isndhost.Migrations +{ + /// + public partial class net10 : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AlterColumn( + name: "Id", + table: "Commits", + type: "bigint", + nullable: false, + oldClrType: typeof(long), + oldType: "bigint") + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn) + .OldAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn); + + migrationBuilder.AlterColumn( + name: "Id", + table: "AspNetUserClaims", + type: "integer", + nullable: false, + oldClrType: typeof(int), + oldType: "integer") + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn) + .OldAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn); + + migrationBuilder.AlterColumn( + name: "Id", + table: "AspNetRoleClaims", + type: "integer", + nullable: false, + oldClrType: typeof(int), + oldType: "integer") + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn) + .OldAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.AlterColumn( + name: "Id", + table: "Commits", + type: "bigint", + nullable: false, + oldClrType: typeof(long), + oldType: "bigint") + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn) + .OldAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); + + migrationBuilder.AlterColumn( + name: "Id", + table: "AspNetUserClaims", + type: "integer", + nullable: false, + oldClrType: typeof(int), + oldType: "integer") + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn) + .OldAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); + + migrationBuilder.AlterColumn( + name: "Id", + table: "AspNetRoleClaims", + type: "integer", + nullable: false, + oldClrType: typeof(int), + oldType: "integer") + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn) + .OldAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); + } + } +} diff --git a/src/isnd/Migrations/ApplicationDbContextModelSnapshot.cs b/src/isnd/Migrations/ApplicationDbContextModelSnapshot.cs index 7d8c883..1dba50c 100644 --- a/src/isnd/Migrations/ApplicationDbContextModelSnapshot.cs +++ b/src/isnd/Migrations/ApplicationDbContextModelSnapshot.cs @@ -6,6 +6,8 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; using isnd.Data; +#nullable disable + namespace isndhost.Migrations { [DbContext(typeof(ApplicationDbContext))] @@ -15,23 +17,161 @@ namespace isndhost.Migrations { #pragma warning disable 612, 618 modelBuilder - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn) - .HasAnnotation("ProductVersion", "2.1.14-servicing-32113") + .HasAnnotation("ProductVersion", "10.0.9") .HasAnnotation("Relational:MaxIdentifierLength", 63); + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => + { + b.Property("Id") + .HasColumnType("text"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("text"); + + b.Property("Name") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("NormalizedName") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedName") + .IsUnique() + .HasDatabaseName("RoleNameIndex"); + + b.ToTable("AspNetRoles", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ClaimType") + .HasColumnType("text"); + + b.Property("ClaimValue") + .HasColumnType("text"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetRoleClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ClaimType") + .HasColumnType("text"); + + b.Property("ClaimValue") + .HasColumnType("text"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.Property("LoginProvider") + .HasColumnType("text"); + + b.Property("ProviderKey") + .HasColumnType("text"); + + b.Property("ProviderDisplayName") + .HasColumnType("text"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("LoginProvider", "ProviderKey"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserLogins", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.Property("UserId") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("text"); + + b.HasKey("UserId", "RoleId"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetUserRoles", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.Property("UserId") + .HasColumnType("text"); + + b.Property("LoginProvider") + .HasColumnType("text"); + + b.Property("Name") + .HasColumnType("text"); + + b.Property("Value") + .HasColumnType("text"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AspNetUserTokens", (string)null); + }); + modelBuilder.Entity("isnd.Data.ApiKeys.ApiKey", b => { b.Property("Id") - .ValueGeneratedOnAdd(); + .ValueGeneratedOnAdd() + .HasColumnType("text"); - b.Property("CreationDate"); + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); - b.Property("Name"); + b.Property("Name") + .HasColumnType("text"); b.Property("UserId") - .IsRequired(); + .IsRequired() + .HasColumnType("text"); - b.Property("ValidityPeriodInDays"); + b.Property("ValidityPeriodInDays") + .HasColumnType("integer"); b.HasKey("Id"); @@ -43,120 +183,102 @@ namespace isndhost.Migrations modelBuilder.Entity("isnd.Data.ApplicationUser", b => { b.Property("Id") - .ValueGeneratedOnAdd(); + .HasColumnType("text"); - b.Property("AccessFailedCount"); + b.Property("AccessFailedCount") + .HasColumnType("integer"); b.Property("ConcurrencyStamp") - .IsConcurrencyToken(); + .IsConcurrencyToken() + .HasColumnType("text"); b.Property("Email") - .HasMaxLength(256); + .HasMaxLength(256) + .HasColumnType("character varying(256)"); - b.Property("EmailConfirmed"); + b.Property("EmailConfirmed") + .HasColumnType("boolean"); - b.Property("FullName"); + b.Property("FullName") + .HasColumnType("text"); - b.Property("LockoutEnabled"); + b.Property("LockoutEnabled") + .HasColumnType("boolean"); - b.Property("LockoutEnd"); + b.Property("LockoutEnd") + .HasColumnType("timestamp with time zone"); b.Property("NormalizedEmail") - .HasMaxLength(256); + .HasMaxLength(256) + .HasColumnType("character varying(256)"); b.Property("NormalizedUserName") - .HasMaxLength(256); + .HasMaxLength(256) + .HasColumnType("character varying(256)"); - b.Property("PasswordHash"); + b.Property("PasswordHash") + .HasColumnType("text"); - b.Property("PhoneNumber"); + b.Property("PhoneNumber") + .HasColumnType("text"); - b.Property("PhoneNumberConfirmed"); + b.Property("PhoneNumberConfirmed") + .HasColumnType("boolean"); - b.Property("SecurityStamp"); + b.Property("SecurityStamp") + .HasColumnType("text"); - b.Property("TwoFactorEnabled"); + b.Property("TwoFactorEnabled") + .HasColumnType("boolean"); b.Property("UserName") - .HasMaxLength(256); + .HasMaxLength(256) + .HasColumnType("character varying(256)"); b.HasKey("Id"); b.HasIndex("NormalizedEmail") - .HasName("EmailIndex"); + .HasDatabaseName("EmailIndex"); b.HasIndex("NormalizedUserName") .IsUnique() - .HasName("UserNameIndex"); + .HasDatabaseName("UserNameIndex"); - b.ToTable("AspNetUsers"); - }); - - modelBuilder.Entity("isnd.Data.Packages.Commit", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Action"); - - b.Property("TimeStamp"); - - b.HasKey("Id"); - - b.ToTable("Commits"); - }); - - modelBuilder.Entity("isnd.Data.Packages.Package", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasMaxLength(1024); - - b.Property("CommitNId"); - - b.Property("CommitTimeStamp"); - - b.Property("Description") - .HasMaxLength(1024); - - b.Property("OwnerId") - .IsRequired(); - - b.Property("Public"); - - b.HasKey("Id"); - - b.HasIndex("CommitNId"); - - b.HasIndex("OwnerId"); - - b.ToTable("Packages"); + b.ToTable("AspNetUsers", (string)null); }); modelBuilder.Entity("isnd.Data.PackageVersion", b => { b.Property("FullString") - .ValueGeneratedOnAdd() - .HasMaxLength(256); + .HasMaxLength(256) + .HasColumnType("character varying(256)"); - b.Property("CommitNId"); + b.Property("CommitNId") + .HasColumnType("bigint"); - b.Property("IsPrerelease"); + b.Property("IsPrerelease") + .HasColumnType("boolean"); - b.Property("Major"); + b.Property("Major") + .HasColumnType("integer"); - b.Property("Minor"); + b.Property("Minor") + .HasColumnType("integer"); b.Property("PackageId") .IsRequired() - .HasMaxLength(1024); + .HasMaxLength(1024) + .HasColumnType("character varying(1024)"); - b.Property("Patch"); + b.Property("Patch") + .HasColumnType("integer"); - b.Property("Revision"); + b.Property("Revision") + .HasColumnType("integer"); b.Property("Type") - .HasMaxLength(256); + .HasMaxLength(256) + .HasColumnType("character varying(256)"); b.HasKey("FullString"); @@ -167,111 +289,106 @@ namespace isndhost.Migrations b.ToTable("PackageVersions"); }); - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => + modelBuilder.Entity("isnd.Data.Packages.Commit", b => { - b.Property("Id") - .ValueGeneratedOnAdd(); + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); - b.Property("ConcurrencyStamp") - .IsConcurrencyToken(); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("Name") - .HasMaxLength(256); + b.Property("Action") + .HasColumnType("integer"); - b.Property("NormalizedName") - .HasMaxLength(256); + b.Property("TimeStamp") + .HasColumnType("timestamp with time zone"); b.HasKey("Id"); - b.HasIndex("NormalizedName") - .IsUnique() - .HasName("RoleNameIndex"); + b.ToTable("Commits"); + }); - b.ToTable("AspNetRoles"); + modelBuilder.Entity("isnd.Data.Packages.Package", b => + { + b.Property("Id") + .HasMaxLength(1024) + .HasColumnType("character varying(1024)"); + + b.Property("CommitNId") + .HasColumnType("bigint"); + + b.Property("CommitTimeStamp") + .HasColumnType("timestamp with time zone"); + + b.Property("Description") + .HasMaxLength(1024) + .HasColumnType("character varying(1024)"); + + b.Property("OwnerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Public") + .HasColumnType("boolean"); + + b.HasKey("Id"); + + b.HasIndex("CommitNId"); + + b.HasIndex("OwnerId"); + + b.ToTable("Packages"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ClaimType"); - - b.Property("ClaimValue"); - - b.Property("RoleId") + b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - - b.HasKey("Id"); - - b.HasIndex("RoleId"); - - b.ToTable("AspNetRoleClaims"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ClaimType"); - - b.Property("ClaimValue"); - - b.Property("UserId") + b.HasOne("isnd.Data.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("AspNetUserClaims"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => { - b.Property("LoginProvider"); - - b.Property("ProviderKey"); - - b.Property("ProviderDisplayName"); - - b.Property("UserId") + b.HasOne("isnd.Data.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - - b.HasKey("LoginProvider", "ProviderKey"); - - b.HasIndex("UserId"); - - b.ToTable("AspNetUserLogins"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => { - b.Property("UserId"); + b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); - b.Property("RoleId"); - - b.HasKey("UserId", "RoleId"); - - b.HasIndex("RoleId"); - - b.ToTable("AspNetUserRoles"); + b.HasOne("isnd.Data.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => { - b.Property("UserId"); - - b.Property("LoginProvider"); - - b.Property("Name"); - - b.Property("Value"); - - b.HasKey("UserId", "LoginProvider", "Name"); - - b.ToTable("AspNetUserTokens"); + b.HasOne("isnd.Data.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); }); modelBuilder.Entity("isnd.Data.ApiKeys.ApiKey", b => @@ -279,20 +396,10 @@ namespace isndhost.Migrations b.HasOne("isnd.Data.ApplicationUser", "User") .WithMany() .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade); - }); + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); - modelBuilder.Entity("isnd.Data.Packages.Package", b => - { - b.HasOne("isnd.Data.Packages.Commit", "LatestVersion") - .WithMany() - .HasForeignKey("CommitNId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("isnd.Data.ApplicationUser", "Owner") - .WithMany() - .HasForeignKey("OwnerId") - .OnDelete(DeleteBehavior.Cascade); + b.Navigation("User"); }); modelBuilder.Entity("isnd.Data.PackageVersion", b => @@ -300,57 +407,47 @@ namespace isndhost.Migrations b.HasOne("isnd.Data.Packages.Commit", "LatestCommit") .WithMany("Versions") .HasForeignKey("CommitNId") - .OnDelete(DeleteBehavior.Cascade); + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); b.HasOne("isnd.Data.Packages.Package", "Package") .WithMany("Versions") .HasForeignKey("PackageId") - .OnDelete(DeleteBehavior.Cascade); + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("LatestCommit"); + + b.Navigation("Package"); }); - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + modelBuilder.Entity("isnd.Data.Packages.Package", b => { - b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole") + b.HasOne("isnd.Data.Packages.Commit", "LatestVersion") .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade); + .HasForeignKey("CommitNId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("isnd.Data.ApplicationUser", "Owner") + .WithMany() + .HasForeignKey("OwnerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("LatestVersion"); + + b.Navigation("Owner"); }); - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + modelBuilder.Entity("isnd.Data.Packages.Commit", b => { - b.HasOne("isnd.Data.ApplicationUser") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade); + b.Navigation("Versions"); }); - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + modelBuilder.Entity("isnd.Data.Packages.Package", b => { - b.HasOne("isnd.Data.ApplicationUser") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => - { - b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole") - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("isnd.Data.ApplicationUser") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => - { - b.HasOne("isnd.Data.ApplicationUser") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade); + b.Navigation("Versions"); }); #pragma warning restore 612, 618 } diff --git a/src/isnd/Services/EmailSender.cs b/src/isnd/Services/EmailSender.cs index 31b85e7..7f3d1fd 100644 --- a/src/isnd/Services/EmailSender.cs +++ b/src/isnd/Services/EmailSender.cs @@ -4,6 +4,7 @@ using Microsoft.AspNetCore.Identity.UI.Services; using Microsoft.Extensions.Options; using Microsoft.AspNetCore.Hosting; using MailKit.Net.Smtp; +using MailKit.Security; using MimeKit; using System; @@ -36,14 +37,26 @@ namespace isnd.Services { try { var message = new MimeMessage(); - message.From.Add(new MailboxAddress(Options.SenderName, Options.SenderEMail)); - message.To.Add(new MailboxAddress(name??email, email)); + message.From.Add(new MailboxAddress(Options.SenderName, Options.SenderEmail)); + message.To.Add(new MailboxAddress(name ?? email, email)); message.Body = new TextPart("html") { Text = body }; using (var client = new SmtpClient()) { - client.ServerCertificateValidationCallback = (s,c,h,e)=>true; - await client.ConnectAsync(Options.Server); - await client.AuthenticateAsync(Options.UserName, Options.Password); + client.ServerCertificateValidationCallback = (s,c,h,e) => true; + if (Options.Port > 0) + { + await client.ConnectAsync(Options.Host, Options.Port, SecureSocketOptions.Auto); + } + else + { + await client.ConnectAsync(Options.Host); + } + + if (!string.IsNullOrWhiteSpace(Options.UserName)) + { + await client.AuthenticateAsync(Options.UserName, Options.Password); + } + await client.SendAsync(message); await client.DisconnectAsync(true); } diff --git a/src/isnd/appsettings.json b/src/isnd/appsettings.json index ba98409..06ba611 100644 --- a/src/isnd/appsettings.json +++ b/src/isnd/appsettings.json @@ -16,7 +16,7 @@ }, "AllowedHosts": "*", "Smtp": { - "Server": "", + "Host": "", "Port": 25, "SenderName": "", "SenderEmail": "" From b4cac191b4d40e2cfc26dec3331f9c00b932fafd Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sun, 5 Jul 2026 19:21:36 +0100 Subject: [PATCH 06/19] AdminStartupList --- src/isnd/Controllers/AccountController.cs | 12 ++++++++++-- src/isnd/Startup.cs | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/isnd/Controllers/AccountController.cs b/src/isnd/Controllers/AccountController.cs index ac7d908..9774f30 100644 --- a/src/isnd/Controllers/AccountController.cs +++ b/src/isnd/Controllers/AccountController.cs @@ -29,14 +29,22 @@ namespace isnd.Controllers IAuthenticationSchemeProvider schemeProvider, SignInManager signInManager, UserManager userManager, - IOptions startupAdminListConfig ) + IOptions startupAdminListConfig, + RoleManager roleManager + ) { _schemeProvider = schemeProvider; _signInManager = signInManager; _userManager = userManager; _startupAdminList = startupAdminListConfig.Value; + var roles = roleManager.Roles.ToList(); + if (!roles.Any(r => r.Name == IsndConstants.AdministratorRoleName)) + { + var role = new IdentityRole(IsndConstants.AdministratorRoleName); + roleManager.CreateAsync(role).GetAwaiter().GetResult(); + } } - + /// /// Entry point into the login workflow /// diff --git a/src/isnd/Startup.cs b/src/isnd/Startup.cs index 9ef1a52..2238cf1 100644 --- a/src/isnd/Startup.cs +++ b/src/isnd/Startup.cs @@ -53,7 +53,7 @@ namespace isnd { var smtpSettingsconf = Configuration.GetSection("Smtp"); var isndSettingsconf = Configuration.GetSection("Isn"); - var adminStartupListConf = Configuration.GetSection("AdminList"); + var adminStartupListConf = Configuration.GetSection("AdminStartupList"); services.Configure(options => { From 5d37238a44ca56650202613ce1489ccc239a3e75 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sun, 5 Jul 2026 19:41:07 +0100 Subject: [PATCH 07/19] fixes the API key creation --- src/isnd/Controllers/ApiKeysController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/isnd/Controllers/ApiKeysController.cs b/src/isnd/Controllers/ApiKeysController.cs index bbc2d21..fc5c278 100644 --- a/src/isnd/Controllers/ApiKeysController.cs +++ b/src/isnd/Controllers/ApiKeysController.cs @@ -65,7 +65,7 @@ namespace isnd.Controllers return View(); } ApiKey newKey = new ApiKey { UserId = userid, Name = model.Name, - CreationDate = DateTime.Now }; + CreationDate = DateTime.UtcNow }; _ = dbContext.ApiKeys.Add(newKey); _ = await dbContext.SaveChangesAsync(); return View("Details", new DetailModel { Name = newKey.Name, From cd72b7b9aae59d9eb7f67d61b7339dde4876fdb6 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sun, 5 Jul 2026 20:17:12 +0100 Subject: [PATCH 08/19] v3 API prefix --- README.md | 7 +++++-- contrib/testinstnuget/call.lines | 2 -- contrib/testinstnuget/urls.adoc | 4 ---- src/isn.abstract/Constants.cs | 6 +++++- src/isnd/Controllers/Packages/ApiIndex.cs | 2 +- .../Packages/PackagesController.AutoComplete.cs | 2 +- .../Controllers/Packages/PackagesController.Catalog.cs | 4 ++-- .../Controllers/Packages/PackagesController.Delete.cs | 2 +- .../Packages/PackagesController.GetPackage.cs | 4 ++-- .../Packages/PackagesController.GetVersions.cs | 2 +- .../Controllers/Packages/PackagesController.Put.cs | 2 +- .../Controllers/Packages/PackagesController.Search.cs | 2 +- src/isnd/Services/PackageManager.cs | 2 +- test/data/test-isn/ANuGet.Config | 10 ---------- test/isn.tests/PushTest.cs | 2 +- test/isnd.tests/UnitTestWebHost.cs | 3 ++- 16 files changed, 24 insertions(+), 32 deletions(-) delete mode 100644 contrib/testinstnuget/urls.adoc delete mode 100644 test/data/test-isn/ANuGet.Config diff --git a/README.md b/README.md index 098b9c3..b4f0003 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ isnd& # get an api-key from -isn push -k -s http://localhost:5000/index.json your-lame-versionned.nupkg +isn push -k -s http://localhost:5000/api/v3/index.json your-lame-versionned.nupkg wget http://localhost:5000/package/index.json?q=your&prerelease=true&semVerLevel=2.0.0 ```` @@ -66,7 +66,10 @@ sudo ln -s /usr/local/lib/isn/isn /usr/local/bin/isn set -e # compiler tout dotnet build -c Release -dotnet publish -c Release -f net10.0 src/isnd +# publier +dotnet publish -c Release src/isnd +dotnet publish -c Release src/isn + # MAJ du serveur sudo systemctl stop isnd sudo cp -a src/isnd/bin/Release/net10.0/publish/* /srv/www/isnd diff --git a/contrib/testinstnuget/call.lines b/contrib/testinstnuget/call.lines index c6abc1a..e69de29 100644 --- a/contrib/testinstnuget/call.lines +++ b/contrib/testinstnuget/call.lines @@ -1,2 +0,0 @@ -nuget install -Verbosity detailed -Source http://localhost:5000/index.json -Prerelease Yavsc.Abstract -nuget locals all -clear diff --git a/contrib/testinstnuget/urls.adoc b/contrib/testinstnuget/urls.adoc deleted file mode 100644 index 5c81113..0000000 --- a/contrib/testinstnuget/urls.adoc +++ /dev/null @@ -1,4 +0,0 @@ -= URL's - - - diff --git a/src/isn.abstract/Constants.cs b/src/isn.abstract/Constants.cs index 01d2914..1a12cc5 100644 --- a/src/isn.abstract/Constants.cs +++ b/src/isn.abstract/Constants.cs @@ -5,6 +5,10 @@ namespace Isn.Abstract public const string PaquetFileEstension = "nupkg"; public const string SpecFileEstension = "nuspec"; public const string JsonFileEstension = "json"; - public const string PackageRootServerPrefix = "~/pkgs/"; + + /** + * The prefix for API routes. + */ + public const string APIPrefix = "api/v3/"; } } \ No newline at end of file diff --git a/src/isnd/Controllers/Packages/ApiIndex.cs b/src/isnd/Controllers/Packages/ApiIndex.cs index eb2fc87..1a1e435 100644 --- a/src/isnd/Controllers/Packages/ApiIndex.cs +++ b/src/isnd/Controllers/Packages/ApiIndex.cs @@ -29,7 +29,7 @@ namespace isnd.Controllers /// API index ///
/// - [HttpGet(Constants.PackageRootServerPrefix + ApiConfig.IndexDotJson)] + [HttpGet("~/" + Constants.APIPrefix + ApiConfig.IndexDotJson)] public IActionResult ApiIndex() { return Ok(new ApiIndexViewModel(packageManager.CatalogBaseUrl + ApiConfig.IndexDotJson){ Version = PackageManager.BASE_API_LEVEL, Resources = resources }); diff --git a/src/isnd/Controllers/Packages/PackagesController.AutoComplete.cs b/src/isnd/Controllers/Packages/PackagesController.AutoComplete.cs index 57cd4b5..b3d5711 100644 --- a/src/isnd/Controllers/Packages/PackagesController.AutoComplete.cs +++ b/src/isnd/Controllers/Packages/PackagesController.AutoComplete.cs @@ -9,7 +9,7 @@ namespace isnd.Controllers { // GET /autocomplete?id=isn.protocol&prerelease=true - [HttpGet(Constants.PackageRootServerPrefix + ApiConfig.AutoComplete)] + [HttpGet("~/" + Constants.APIPrefix + ApiConfig.AutoComplete)] public IActionResult AutoComplete( string id, string semVerLevel, diff --git a/src/isnd/Controllers/Packages/PackagesController.Catalog.cs b/src/isnd/Controllers/Packages/PackagesController.Catalog.cs index 7e74a56..a1a7f3c 100644 --- a/src/isnd/Controllers/Packages/PackagesController.Catalog.cs +++ b/src/isnd/Controllers/Packages/PackagesController.Catalog.cs @@ -16,14 +16,14 @@ namespace isnd.Controllers { // https://docs.microsoft.com/en-us/nuget/api/catalog-resource#versioning - [HttpGet(Constants.PackageRootServerPrefix + ApiConfig.Catalog)] + [HttpGet("~/" + Constants.APIPrefix + ApiConfig.Catalog)] public async Task CatalogIndex() { return Ok(await packageManager.GetCatalogIndexAsync()); } - [HttpGet(Constants.PackageRootServerPrefix + "{apiVersion}/" + ApiConfig.Registration + "/{id}/{lower}.json")] + [HttpGet("~/" + Constants.APIPrefix + "{apiVersion}/" + ApiConfig.Registration + "/{id}/{lower}.json")] public async Task CatalogRegistration(string apiVersion, string id, string lower) { if (lower.Equals("index", System.StringComparison.InvariantCultureIgnoreCase)) diff --git a/src/isnd/Controllers/Packages/PackagesController.Delete.cs b/src/isnd/Controllers/Packages/PackagesController.Delete.cs index e117de5..bccefb4 100644 --- a/src/isnd/Controllers/Packages/PackagesController.Delete.cs +++ b/src/isnd/Controllers/Packages/PackagesController.Delete.cs @@ -11,7 +11,7 @@ namespace isnd.Controllers { public partial class PackagesController { - [HttpDelete(Constants.PackageRootServerPrefix + ApiConfig.Delete + "/{id}/{lower?}/{type?}")] + [HttpDelete("~/" + Constants.APIPrefix + ApiConfig.Delete + "/{id}/{lower?}/{type?}")] public async Task ApiDelete( [FromRoute][SafeName][Required] string id, [FromRoute][SafeName][Required] string lower, diff --git a/src/isnd/Controllers/Packages/PackagesController.GetPackage.cs b/src/isnd/Controllers/Packages/PackagesController.GetPackage.cs index b5b7836..8e42b69 100644 --- a/src/isnd/Controllers/Packages/PackagesController.GetPackage.cs +++ b/src/isnd/Controllers/Packages/PackagesController.GetPackage.cs @@ -11,7 +11,7 @@ namespace isnd.Controllers public partial class PackagesController { // Web get the paquet - [HttpGet(Constants.PackageRootServerPrefix + ApiConfig.GetPackage + "/{id}/{lower}/{idf}-{lowerf}." + [HttpGet("~/" + Constants.APIPrefix + ApiConfig.GetPackage + "/{id}/{lower}/{idf}-{lowerf}." + Constants.PaquetFileEstension)] public IActionResult GetPackage( [FromRoute][SafeName][Required] string id, @@ -32,7 +32,7 @@ namespace isnd.Controllers } // Web get spec - [HttpGet(Constants.PackageRootServerPrefix + Constants.SpecFileEstension + "/{id}/{lower}/{idf}-{lowerf}." + [HttpGet("~/" + Constants.APIPrefix + Constants.SpecFileEstension + "/{id}/{lower}/{idf}-{lowerf}." + Constants.SpecFileEstension)] public IActionResult GetNuspec( [FromRoute][SafeName][Required] string id, diff --git a/src/isnd/Controllers/Packages/PackagesController.GetVersions.cs b/src/isnd/Controllers/Packages/PackagesController.GetVersions.cs index f6a974d..55cfad9 100644 --- a/src/isnd/Controllers/Packages/PackagesController.GetVersions.cs +++ b/src/isnd/Controllers/Packages/PackagesController.GetVersions.cs @@ -7,7 +7,7 @@ namespace isnd.Controllers { public partial class PackagesController { - [HttpGet(Constants.PackageRootServerPrefix + ApiConfig.GetVersion + "/{id}/{lower}/" + ApiConfig.IndexDotJson)] + [HttpGet("~/" + Constants.APIPrefix + ApiConfig.GetVersion + "/{id}/{lower}/" + ApiConfig.IndexDotJson)] public IActionResult GetVersions( string id, string lower, diff --git a/src/isnd/Controllers/Packages/PackagesController.Put.cs b/src/isnd/Controllers/Packages/PackagesController.Put.cs index b05691e..3f82924 100644 --- a/src/isnd/Controllers/Packages/PackagesController.Put.cs +++ b/src/isnd/Controllers/Packages/PackagesController.Put.cs @@ -25,7 +25,7 @@ namespace isnd.Controllers public partial class PackagesController { // TODO [Authorize(Policy = IsndConstants.RequireValidApiKey)] - [HttpPut(Constants.PackageRootServerPrefix + ApiConfig.Publish)] + [HttpPut("~/" + Constants.APIPrefix + ApiConfig.Publish)] public async Task Put() { try diff --git a/src/isnd/Controllers/Packages/PackagesController.Search.cs b/src/isnd/Controllers/Packages/PackagesController.Search.cs index 8088bd8..61c19d1 100644 --- a/src/isnd/Controllers/Packages/PackagesController.Search.cs +++ b/src/isnd/Controllers/Packages/PackagesController.Search.cs @@ -11,7 +11,7 @@ namespace isnd.Controllers public partial class PackagesController { // GET {@id}?q={QUERY}&skip={SKIP}&take={TAKE}&prerelease={PRERELEASE}&semVerLevel={SEMVERLEVEL}&packageType={PACKAGETYPE} - [HttpGet(Constants.PackageRootServerPrefix + ApiConfig.Search)] + [HttpGet("~/" + Constants.APIPrefix + ApiConfig.Search)] public IActionResult Search( string q, int skip = 0, diff --git a/src/isnd/Services/PackageManager.cs b/src/isnd/Services/PackageManager.cs index 8474ec9..ac66bda 100644 --- a/src/isnd/Services/PackageManager.cs +++ b/src/isnd/Services/PackageManager.cs @@ -31,7 +31,7 @@ namespace isnd.Services { this.dbContext = dbContext; isndSettings = siteConfigOptionsOptions.Value; - extUrl = isndSettings.ExternalUrl + "/"; + extUrl = isndSettings.ExternalUrl + "/" +Constants.APIPrefix; } /** diff --git a/test/data/test-isn/ANuGet.Config b/test/data/test-isn/ANuGet.Config deleted file mode 100644 index 072ade1..0000000 --- a/test/data/test-isn/ANuGet.Config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - diff --git a/test/isn.tests/PushTest.cs b/test/isn.tests/PushTest.cs index a53ebf5..b4223fc 100644 --- a/test/isn.tests/PushTest.cs +++ b/test/isn.tests/PushTest.cs @@ -22,7 +22,7 @@ namespace Isn.tests public LocalSourceFixture() { var port = GetFreePort(); - var prefix = $"http://127.0.0.1:{port}/"; + var prefix = $"http://127.0.0.1:{port}/"+Constants.APIPrefix; listener = new HttpListener(); listener.Prefixes.Add(prefix); listener.Start(); diff --git a/test/isnd.tests/UnitTestWebHost.cs b/test/isnd.tests/UnitTestWebHost.cs index 96a1203..3ca896f 100644 --- a/test/isnd.tests/UnitTestWebHost.cs +++ b/test/isnd.tests/UnitTestWebHost.cs @@ -18,6 +18,7 @@ using NuGet.Configuration; using System.Threading.Tasks; using NuGet.Protocol.Core.Types; using NuGet.Common; +using Isn.Abstract; namespace isnd.host.tests { @@ -72,7 +73,7 @@ namespace isnd.host.tests using (var serviceScope = server.Host.Services.CreateScope()) { var isnSettings = serviceScope.ServiceProvider.GetService>().Value; - string pkgSourceUrl = isnSettings.ExternalUrl + "/pkgs/index.json"; + string pkgSourceUrl = isnSettings.ExternalUrl + "/" + Constants.APIPrefix + "index.json"; using var client = new HttpClient(); var response = client.GetAsync(pkgSourceUrl).GetAwaiter().GetResult(); var body = response.Content.ReadAsStringAsync().GetAwaiter().GetResult(); From 38bb7e40ef355475271a6930aaf1b62784e3d0ca Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sun, 5 Jul 2026 21:18:37 +0100 Subject: [PATCH 09/19] API key protection --- contrib/upgrade-isn-isnd.sh | 11 ++-- src/isn/Program.cs | 15 ++--- src/isn/commands/set-api-key.cs | 2 +- .../Packages/PackagesController.Put.cs | 4 +- src/isnd/Helpers/ApiKeyProtector.cs | 50 ++++++++++++++++ test/isn.tests/PushTest.cs | 57 +++++++++++++++++-- test/isnd.tests/UnitTestWebHost.cs | 23 ++++++++ 7 files changed, 143 insertions(+), 19 deletions(-) create mode 100644 src/isnd/Helpers/ApiKeyProtector.cs diff --git a/contrib/upgrade-isn-isnd.sh b/contrib/upgrade-isn-isnd.sh index 8a93152..457348b 100755 --- a/contrib/upgrade-isn-isnd.sh +++ b/contrib/upgrade-isn-isnd.sh @@ -3,11 +3,14 @@ set -e # compiler tout dotnet build -c Release -dotnet publish -c Release -f netcoreapp2.1 src/isnd +dotnet publish -c Release src/isnd +dotnet publish -c Release src/isn # MAJ du serveur sudo systemctl stop isnd -sudo cp -a src/isnd/bin/Release/netcoreapp2.1/publish/* /srv/www/isnd +sudo cp -a src/isnd/bin/Release/net10.0/publish/* /srv/www/isnd sudo systemctl start isnd # MAJ du client -sudo cp -a src/isn/bin/Release/netcoreapp2.1/* /usr/local/lib/isn -sudo chown -R root.root /usr/local/lib/isn +sudo cp -a src/isn/bin/Release/net10.0/* /usr/local/lib/isn +sudo chown -R root:root /usr/local/lib/isn + + diff --git a/src/isn/Program.cs b/src/isn/Program.cs index 6f1752d..5abbbb3 100644 --- a/src/isn/Program.cs +++ b/src/isn/Program.cs @@ -12,7 +12,7 @@ namespace Isn public static void LoadConfig() { - FileInfo cfgSettingIf = new FileInfo(_configFileName); + FileInfo cfgSettingIf = new FileInfo(ConfigFileName); if (cfgSettingIf.Exists) { var json = File.ReadAllText(cfgSettingIf.FullName); @@ -29,12 +29,13 @@ namespace Isn { "h|help", "show this message and exit", h => shouldShowPushHelp = h != null }, }; - private static readonly string _configFileName = - Path.Combine( - Path.Combine(Environment.GetFolderPath( - Environment.SpecialFolder.UserProfile), ".isn"), - "config.json") - ; + private static string ConfigDirectory => + Environment.GetEnvironmentVariable("ISN_CONFIG_DIR") + ?? Path.Combine( + Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), + ".isn"); + + private static string ConfigFileName => Path.Combine(ConfigDirectory, "config.json"); public const string push = "push"; static readonly OptionSet options = new OptionSet { diff --git a/src/isn/commands/set-api-key.cs b/src/isn/commands/set-api-key.cs index 0c4c2a5..7da6021 100644 --- a/src/isn/commands/set-api-key.cs +++ b/src/isn/commands/set-api-key.cs @@ -61,7 +61,7 @@ namespace Isn } public static void SaveConfig() { - FileInfo cfgSettingIf = new FileInfo(_configFileName); + FileInfo cfgSettingIf = new FileInfo(ConfigFileName); if (!cfgSettingIf.Directory.Exists) cfgSettingIf.Directory.Create(); File.WriteAllText( cfgSettingIf.FullName, diff --git a/src/isnd/Controllers/Packages/PackagesController.Put.cs b/src/isnd/Controllers/Packages/PackagesController.Put.cs index 3f82924..18c3633 100644 --- a/src/isnd/Controllers/Packages/PackagesController.Put.cs +++ b/src/isnd/Controllers/Packages/PackagesController.Put.cs @@ -31,12 +31,12 @@ namespace isnd.Controllers try { var clientVersionId = Request.Headers["X-NuGet-Client-Version"]; - string apiKey = Request.Headers["X-NuGet-ApiKey"][0]; + string apiKey = Request.Headers["X-NuGet-ApiKey"].FirstOrDefault() ?? string.Empty; ViewData["versionId"] = typeof(PackagesController).Assembly.FullName; var files = new List(); ViewData["files"] = files; - var clearkey = protector.Unprotect(apiKey); + var clearkey = ApiKeyProtector.UnprotectWithFallback(protector, apiKey); var apikey = dbContext.ApiKeys.SingleOrDefault(k => k.Id == clearkey); if (apikey == null) { diff --git a/src/isnd/Helpers/ApiKeyProtector.cs b/src/isnd/Helpers/ApiKeyProtector.cs new file mode 100644 index 0000000..4a8062f --- /dev/null +++ b/src/isnd/Helpers/ApiKeyProtector.cs @@ -0,0 +1,50 @@ +using System; +using System.Security.Cryptography; +using System.Text; +using Microsoft.AspNetCore.DataProtection; + +namespace isnd.Helpers +{ + public static class ApiKeyProtector + { + private const byte LegacyDelta = 145; + + public static string UnprotectWithFallback(IDataProtector protector, string protectedValue) + { + if (string.IsNullOrWhiteSpace(protectedValue)) + { + return protectedValue; + } + + try + { + return protector.Unprotect(protectedValue); + } + catch (CryptographicException) + { + return UnprotectLegacy(protectedValue); + } + catch (FormatException) + { + return UnprotectLegacy(protectedValue); + } + } + + public static string UnprotectLegacy(string protectedValue) + { + if (string.IsNullOrWhiteSpace(protectedValue)) + { + return protectedValue; + } + + var bytes = Convert.FromBase64String(protectedValue); + var unprotectedBytes = new byte[bytes.Length]; + for (var index = 0; index < bytes.Length; index++) + { + unprotectedBytes[index] = (byte)(bytes[index] ^ LegacyDelta); + } + + return Encoding.UTF8.GetString(unprotectedBytes); + } + } +} diff --git a/test/isn.tests/PushTest.cs b/test/isn.tests/PushTest.cs index b4223fc..2cc717f 100644 --- a/test/isn.tests/PushTest.cs +++ b/test/isn.tests/PushTest.cs @@ -18,6 +18,8 @@ namespace Isn.tests { private readonly HttpListener listener; private readonly Task listenerTask; + private readonly string configDirectory; + private readonly string originalConfigDirectory; public LocalSourceFixture() { @@ -64,6 +66,11 @@ namespace Isn.tests } }); + configDirectory = Path.Combine(Path.GetTempPath(), $"isn-tests-{Guid.NewGuid():N}"); + Directory.CreateDirectory(configDirectory); + originalConfigDirectory = Environment.GetEnvironmentVariable("ISN_CONFIG_DIR"); + Environment.SetEnvironmentVariable("ISN_CONFIG_DIR", configDirectory); + SourceUrl = prefix + "index.json"; ConfigureIsnSettings(SourceUrl); Program.LoadConfig(); @@ -84,6 +91,12 @@ namespace Isn.tests { } } + + Environment.SetEnvironmentVariable("ISN_CONFIG_DIR", originalConfigDirectory); + if (Directory.Exists(configDirectory)) + { + Directory.Delete(configDirectory, recursive: true); + } } private static int GetFreePort() @@ -95,12 +108,8 @@ namespace Isn.tests return port; } - private static void ConfigureIsnSettings(string sourceUrl) + private void ConfigureIsnSettings(string sourceUrl) { - var home = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); - var configDirectory = Path.Combine(home, ".isn"); - Directory.CreateDirectory(configDirectory); - var configPath = Path.Combine(configDirectory, "config.json"); var settings = new Settings { @@ -125,6 +134,44 @@ namespace Isn.tests this.fixture = fixture; } + [Fact] + public void SupportsIsolatedConfigDirectoryOverride() + { + var tempDir = Path.Combine(Path.GetTempPath(), $"isn-test-{Guid.NewGuid():N}"); + Directory.CreateDirectory(tempDir); + var originalConfigDir = Environment.GetEnvironmentVariable("ISN_CONFIG_DIR"); + var configFile = Path.Combine(tempDir, "config.json"); + var expectedSource = "https://example.test/index.json"; + var settings = new Settings + { + DataProtectionTitle = "isn", + Sources = new Dictionary + { + [expectedSource] = new SourceSettings { Alias = "override" } + }, + DefaultSourceKey = expectedSource + }; + + try + { + Environment.SetEnvironmentVariable("ISN_CONFIG_DIR", tempDir); + File.WriteAllText(configFile, JsonConvert.SerializeObject(settings, Formatting.Indented)); + + Program.LoadConfig(); + + Assert.Equal(expectedSource, Program.Settings.DefaultSourceKey); + Assert.True(Program.Settings.Sources.ContainsKey(expectedSource)); + } + finally + { + Environment.SetEnvironmentVariable("ISN_CONFIG_DIR", originalConfigDir); + if (Directory.Exists(tempDir)) + { + Directory.Delete(tempDir, recursive: true); + } + } + } + [Fact] public void HaveADefaultDataProtector() { diff --git a/test/isnd.tests/UnitTestWebHost.cs b/test/isnd.tests/UnitTestWebHost.cs index 3ca896f..183e217 100644 --- a/test/isnd.tests/UnitTestWebHost.cs +++ b/test/isnd.tests/UnitTestWebHost.cs @@ -19,6 +19,9 @@ using System.Threading.Tasks; using NuGet.Protocol.Core.Types; using NuGet.Common; using Isn.Abstract; +using isnd.Helpers; +using Microsoft.AspNetCore.DataProtection; +using System.Security.Cryptography; namespace isnd.host.tests { @@ -49,6 +52,17 @@ namespace isnd.host.tests } } + [Fact] + public void LegacyApiKeyProtectorCanUnprotectValuesFromOlderClients() + { + const string clearValue = "legacy-api-key"; + var legacyProtectedValue = new Isn.DefaultDataProtector().Protect(clearValue); + + var unprotected = ApiKeyProtector.UnprotectWithFallback(new ThrowingProtector(), legacyProtectedValue); + + Assert.Equal(clearValue, unprotected); + } + [Fact] void TestDropUser() { @@ -117,5 +131,14 @@ namespace isnd.host.tests { throw new NotImplementedException(); } + + private sealed class ThrowingProtector : IDataProtector + { + public byte[] Protect(byte[] plaintext) => throw new CryptographicException("unexpected protect call"); + + public byte[] Unprotect(byte[] protectedData) => throw new CryptographicException("unexpected unprotect call"); + + public IDataProtector CreateProtector(string purpose) => this; + } } } From a78847dbc909464087db02e149f4f35dd70bb983 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sun, 5 Jul 2026 21:44:49 +0100 Subject: [PATCH 10/19] allow again the push --- src/isn/commands/PushCommand.cs | 24 ++++++++++- .../Packages/PackagesController.Put.cs | 2 +- src/isnd/Helpers/ApiKeyProtector.cs | 40 +++++++++++++++++-- test/isn.tests/PushTest.cs | 23 +++++++++++ test/isnd.tests/UnitTestWebHost.cs | 12 +++++- 5 files changed, 94 insertions(+), 7 deletions(-) diff --git a/src/isn/commands/PushCommand.cs b/src/isn/commands/PushCommand.cs index 0f6f303..6820814 100644 --- a/src/isn/commands/PushCommand.cs +++ b/src/isn/commands/PushCommand.cs @@ -18,6 +18,8 @@ namespace Isn source = Program.Settings.Sources.First(s=>s.Value.Alias==source).Key; if (source==null) throw new InvalidOperationException("source is invalid"); + var resolvedApiKey = string.IsNullOrWhiteSpace(apikey) ? ResolveSourceApiKey(source) : apikey; + var resources = SourceHelpers.GetServerResources(source); if (resources.Resources == null) throw new InvalidOperationException("source gave no resource"); @@ -38,7 +40,7 @@ namespace Isn try { Console.WriteLine("Connecting to "+ pubRes.Id); - return client.UploadFilesToServer(new Uri(pubRes.Id), fi, apikey); + return client.UploadFilesToServer(new Uri(pubRes.Id), fi, resolvedApiKey); } catch (HttpRequestException hrex) { @@ -64,5 +66,25 @@ namespace Isn return report; } } + + private static string ResolveSourceApiKey(string source) + { + if (string.IsNullOrWhiteSpace(source)) + { + return null; + } + + if (Program.Settings.Sources.Values.Any(s => s.Alias == source)) + { + source = Program.Settings.Sources.First(s => s.Value.Alias == source).Key; + } + + if (Program.Settings.Sources.TryGetValue(source, out var sourceSettings)) + { + return sourceSettings.GetClearApiKey(); + } + + return null; + } } } \ No newline at end of file diff --git a/src/isnd/Controllers/Packages/PackagesController.Put.cs b/src/isnd/Controllers/Packages/PackagesController.Put.cs index 18c3633..3084fa8 100644 --- a/src/isnd/Controllers/Packages/PackagesController.Put.cs +++ b/src/isnd/Controllers/Packages/PackagesController.Put.cs @@ -36,7 +36,7 @@ namespace isnd.Controllers var files = new List(); ViewData["files"] = files; - var clearkey = ApiKeyProtector.UnprotectWithFallback(protector, apiKey); + var clearkey = ApiKeyProtector.TryUnprotectKey(protector, apiKey); var apikey = dbContext.ApiKeys.SingleOrDefault(k => k.Id == clearkey); if (apikey == null) { diff --git a/src/isnd/Helpers/ApiKeyProtector.cs b/src/isnd/Helpers/ApiKeyProtector.cs index 4a8062f..98f5e72 100644 --- a/src/isnd/Helpers/ApiKeyProtector.cs +++ b/src/isnd/Helpers/ApiKeyProtector.cs @@ -9,24 +9,56 @@ namespace isnd.Helpers { private const byte LegacyDelta = 145; - public static string UnprotectWithFallback(IDataProtector protector, string protectedValue) + public static string TryUnprotectKey(IDataProtector protector, string protectedValue) { if (string.IsNullOrWhiteSpace(protectedValue)) { return protectedValue; } + if (TryUnprotect(protector, protectedValue, out var unprotected)) + { + return unprotected; + } + + if (TryUnprotectLegacy(protectedValue, out unprotected)) + { + return unprotected; + } + + return protectedValue; + } + + private static bool TryUnprotect(IDataProtector protector, string protectedValue, out string unprotected) + { try { - return protector.Unprotect(protectedValue); + unprotected = protector.Unprotect(protectedValue); + return true; } catch (CryptographicException) { - return UnprotectLegacy(protectedValue); + unprotected = null; + return false; } catch (FormatException) { - return UnprotectLegacy(protectedValue); + unprotected = null; + return false; + } + } + + private static bool TryUnprotectLegacy(string protectedValue, out string unprotected) + { + try + { + unprotected = UnprotectLegacy(protectedValue); + return true; + } + catch (FormatException) + { + unprotected = null; + return false; } } diff --git a/test/isn.tests/PushTest.cs b/test/isn.tests/PushTest.cs index 2cc717f..1871ebf 100644 --- a/test/isn.tests/PushTest.cs +++ b/test/isn.tests/PushTest.cs @@ -21,6 +21,8 @@ namespace Isn.tests private readonly string configDirectory; private readonly string originalConfigDirectory; + public string LastApiKeyHeader { get; private set; } + public LocalSourceFixture() { var port = GetFreePort(); @@ -47,6 +49,11 @@ namespace Isn.tests break; } + if (context.Request.HttpMethod == "PUT") + { + LastApiKeyHeader = context.Request.Headers["X-NuGet-ApiKey"]; + } + var indexJson = JsonConvert.SerializeObject(new ApiIndexViewModel(prefix + "index.json") { Version = "3.0.0", @@ -206,6 +213,22 @@ namespace Isn.tests Assert.Single(report); } + [Fact] + public void PushUsesStoredApiKeyFromConfigWhenNoExplicitApiKeyIsProvided() + { + Program.LoadConfig(); + var clearApiKey = "stored-api-key"; + Program.Settings.Sources[fixture.SourceUrl].SetApiKey(clearApiKey); + Program.SaveConfig(); + Program.LoadConfig(); + + var report = Program.PushPkg(new[] { Path.Combine(AppContext.BaseDirectory, "dummy.nupkg") }); + + Assert.NotNull(report); + Assert.Single(report); + Assert.Equal(clearApiKey, fixture.LastApiKeyHeader); + } + [Fact] public void GetServerResourcesUsingHttpClientAsyncTest() { diff --git a/test/isnd.tests/UnitTestWebHost.cs b/test/isnd.tests/UnitTestWebHost.cs index 183e217..b89caae 100644 --- a/test/isnd.tests/UnitTestWebHost.cs +++ b/test/isnd.tests/UnitTestWebHost.cs @@ -58,11 +58,21 @@ namespace isnd.host.tests const string clearValue = "legacy-api-key"; var legacyProtectedValue = new Isn.DefaultDataProtector().Protect(clearValue); - var unprotected = ApiKeyProtector.UnprotectWithFallback(new ThrowingProtector(), legacyProtectedValue); + var unprotected = ApiKeyProtector.TryUnprotectKey(new ThrowingProtector(), legacyProtectedValue); Assert.Equal(clearValue, unprotected); } + [Fact] + public void ApiKeyProtectorReturnsRawValueWhenInputIsNotProtected() + { + const string rawApiKey = "CfDJ8AstXUEkxpJBrmoENwy__WNPxqcOwAuxyYgiU3Mebns5yxAT3VrC5vTuWTRSGZBFB7IGUyFkUYsp2nhRy64NqeUzLgOwEcU4FPOf-yaAtPeTMeStRd60bRh2ZYyQkQ3hrhW-lwpCLwYtNOnOyX2jayuzByF-4QfHIEhg6lbWenzf"; + + var result = ApiKeyProtector.TryUnprotectKey(new ThrowingProtector(), rawApiKey); + + Assert.Equal(rawApiKey, result); + } + [Fact] void TestDropUser() { From c3ad406d1d030b0b7b106e7a386b253c953fb441 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sun, 5 Jul 2026 21:50:07 +0100 Subject: [PATCH 11/19] Pgsql timestamps --- src/isnd/Controllers/Packages/PackagesController.Put.cs | 2 +- src/isnd/Data/ApiKeys/ApiKey.cs | 2 +- src/isnd/Services/PackageManager.cs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/isnd/Controllers/Packages/PackagesController.Put.cs b/src/isnd/Controllers/Packages/PackagesController.Put.cs index 3084fa8..4c5b1b3 100644 --- a/src/isnd/Controllers/Packages/PackagesController.Put.cs +++ b/src/isnd/Controllers/Packages/PackagesController.Put.cs @@ -46,7 +46,7 @@ namespace isnd.Controllers Commit commit = new Commit { Action = PackageAction.PublishPackage, - TimeStamp = DateTime.Now + TimeStamp = DateTime.UtcNow }; dbContext.Commits.Add(commit); diff --git a/src/isnd/Data/ApiKeys/ApiKey.cs b/src/isnd/Data/ApiKeys/ApiKey.cs index 517e93a..f891693 100644 --- a/src/isnd/Data/ApiKeys/ApiKey.cs +++ b/src/isnd/Data/ApiKeys/ApiKey.cs @@ -20,6 +20,6 @@ namespace isnd.Data.ApiKeys public DateTime CreationDate { get; set; } - public bool IsValid => CreationDate.AddDays(ValidityPeriodInDays) > DateTime.Now; + public bool IsValid => CreationDate.AddDays(ValidityPeriodInDays) > DateTime.UtcNow; } } \ No newline at end of file diff --git a/src/isnd/Services/PackageManager.cs b/src/isnd/Services/PackageManager.cs index ac66bda..be2f280 100644 --- a/src/isnd/Services/PackageManager.cs +++ b/src/isnd/Services/PackageManager.cs @@ -194,7 +194,7 @@ namespace isnd.Services var commit = new Commit { Action = PackageAction.DeletePackage, - TimeStamp = DateTime.Now + TimeStamp = DateTime.UtcNow }; dbContext.Commits.Add(commit); var pkg = await dbContext.PackageVersions.SingleOrDefaultAsync( From 87143f456268521df683bb6faf2085e9d6857695 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sun, 5 Jul 2026 22:15:25 +0100 Subject: [PATCH 12/19] Stop hitting duplicate PK errors --- .../Packages/PackagesController.Put.cs | 6 +- .../Packages/PackagesController.WebViews.cs | 2 + src/isnd/Data/ApplicationDbContext.cs | 13 + src/isnd/Data/Packages/PackageVersion.cs | 1 - ..._pkgver_composite_identity_fix.Designer.cs | 457 ++++++++++++++++++ ...705211205_pkgver_composite_identity_fix.cs | 72 +++ .../ApplicationDbContextModelSnapshot.cs | 23 +- src/isnd/Services/PackageManager.cs | 4 + 8 files changed, 562 insertions(+), 16 deletions(-) create mode 100644 src/isnd/Migrations/20260705211205_pkgver_composite_identity_fix.Designer.cs create mode 100644 src/isnd/Migrations/20260705211205_pkgver_composite_identity_fix.cs diff --git a/src/isnd/Controllers/Packages/PackagesController.Put.cs b/src/isnd/Controllers/Packages/PackagesController.Put.cs index 4c5b1b3..12335ce 100644 --- a/src/isnd/Controllers/Packages/PackagesController.Put.cs +++ b/src/isnd/Controllers/Packages/PackagesController.Put.cs @@ -145,7 +145,7 @@ namespace isnd.Controllers dbContext.PackageVersions.Remove(v); } - // FIXME default type or null + // Default package type must be non-null for composite key consistency. if (types==null || types.Count==0) dbContext.PackageVersions.Add (new PackageVersion{ @@ -157,7 +157,7 @@ namespace isnd.Controllers Revision = version.Revision, IsPrerelease = version.IsPrerelease, FullString = version.ToFullString(), - Type = null, + Type = string.Empty, LatestCommit = commit }); else @@ -171,7 +171,7 @@ namespace isnd.Controllers Patch = version.Patch, IsPrerelease = version.IsPrerelease, FullString = version.ToFullString(), - Type = type.Name, + Type = type.Name ?? string.Empty, LatestCommit = commit }; dbContext.PackageVersions.Add(pkgver); diff --git a/src/isnd/Controllers/Packages/PackagesController.WebViews.cs b/src/isnd/Controllers/Packages/PackagesController.WebViews.cs index eb6c477..6432261 100644 --- a/src/isnd/Controllers/Packages/PackagesController.WebViews.cs +++ b/src/isnd/Controllers/Packages/PackagesController.WebViews.cs @@ -60,6 +60,7 @@ namespace isnd.Controllers { return NotFound(); } + pkgtype ??= string.Empty; // var report = await packageManager.DeletePackageAsync(id, lower, type); var packageVersion = await dbContext.PackageVersions.Include(p => p.Package) @@ -77,6 +78,7 @@ namespace isnd.Controllers public async Task DeleteConfirmed(string PackageId, string FullString, string Type) { + Type ??= string.Empty; PackageVersion packageVersion = await dbContext.PackageVersions .Include(pv => pv.Package) .FirstOrDefaultAsync(m => m.PackageId == PackageId diff --git a/src/isnd/Data/ApplicationDbContext.cs b/src/isnd/Data/ApplicationDbContext.cs index d01c0b6..c965f22 100644 --- a/src/isnd/Data/ApplicationDbContext.cs +++ b/src/isnd/Data/ApplicationDbContext.cs @@ -22,6 +22,19 @@ namespace isnd.Data public ApplicationDbContext(DbContextOptions options) : base(options) { } + protected override void OnModelCreating(ModelBuilder builder) + { + base.OnModelCreating(builder); + + builder.Entity(entity => + { + entity.HasKey(v => new { v.PackageId, v.FullString, v.Type }); + entity.Property(v => v.Type) + .IsRequired() + .HasDefaultValue(string.Empty); + }); + } + /// /// User API keys /// diff --git a/src/isnd/Data/Packages/PackageVersion.cs b/src/isnd/Data/Packages/PackageVersion.cs index 95c7eb1..f055b12 100644 --- a/src/isnd/Data/Packages/PackageVersion.cs +++ b/src/isnd/Data/Packages/PackageVersion.cs @@ -38,7 +38,6 @@ namespace isnd.Data /// [StringLength(256)] [Required] - [Key] public string FullString { get; set; } public bool IsPrerelease { get; set; } diff --git a/src/isnd/Migrations/20260705211205_pkgver_composite_identity_fix.Designer.cs b/src/isnd/Migrations/20260705211205_pkgver_composite_identity_fix.Designer.cs new file mode 100644 index 0000000..77ef305 --- /dev/null +++ b/src/isnd/Migrations/20260705211205_pkgver_composite_identity_fix.Designer.cs @@ -0,0 +1,457 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using isnd.Data; + +#nullable disable + +namespace isndhost.Migrations +{ + [DbContext(typeof(ApplicationDbContext))] + [Migration("20260705211205_pkgver_composite_identity_fix")] + partial class pkgver_composite_identity_fix + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "10.0.9") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => + { + b.Property("Id") + .HasColumnType("text"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("text"); + + b.Property("Name") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("NormalizedName") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedName") + .IsUnique() + .HasDatabaseName("RoleNameIndex"); + + b.ToTable("AspNetRoles", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ClaimType") + .HasColumnType("text"); + + b.Property("ClaimValue") + .HasColumnType("text"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetRoleClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ClaimType") + .HasColumnType("text"); + + b.Property("ClaimValue") + .HasColumnType("text"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.Property("LoginProvider") + .HasColumnType("text"); + + b.Property("ProviderKey") + .HasColumnType("text"); + + b.Property("ProviderDisplayName") + .HasColumnType("text"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("LoginProvider", "ProviderKey"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserLogins", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.Property("UserId") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("text"); + + b.HasKey("UserId", "RoleId"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetUserRoles", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.Property("UserId") + .HasColumnType("text"); + + b.Property("LoginProvider") + .HasColumnType("text"); + + b.Property("Name") + .HasColumnType("text"); + + b.Property("Value") + .HasColumnType("text"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AspNetUserTokens", (string)null); + }); + + modelBuilder.Entity("isnd.Data.ApiKeys.ApiKey", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("text"); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Name") + .HasColumnType("text"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("text"); + + b.Property("ValidityPeriodInDays") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("ApiKeys"); + }); + + modelBuilder.Entity("isnd.Data.ApplicationUser", b => + { + b.Property("Id") + .HasColumnType("text"); + + b.Property("AccessFailedCount") + .HasColumnType("integer"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("text"); + + b.Property("Email") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("EmailConfirmed") + .HasColumnType("boolean"); + + b.Property("FullName") + .HasColumnType("text"); + + b.Property("LockoutEnabled") + .HasColumnType("boolean"); + + b.Property("LockoutEnd") + .HasColumnType("timestamp with time zone"); + + b.Property("NormalizedEmail") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("NormalizedUserName") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("PasswordHash") + .HasColumnType("text"); + + b.Property("PhoneNumber") + .HasColumnType("text"); + + b.Property("PhoneNumberConfirmed") + .HasColumnType("boolean"); + + b.Property("SecurityStamp") + .HasColumnType("text"); + + b.Property("TwoFactorEnabled") + .HasColumnType("boolean"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedEmail") + .HasDatabaseName("EmailIndex"); + + b.HasIndex("NormalizedUserName") + .IsUnique() + .HasDatabaseName("UserNameIndex"); + + b.ToTable("AspNetUsers", (string)null); + }); + + modelBuilder.Entity("isnd.Data.PackageVersion", b => + { + b.Property("PackageId") + .HasMaxLength(1024) + .HasColumnType("character varying(1024)"); + + b.Property("FullString") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("Type") + .ValueGeneratedOnAdd() + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasDefaultValue(""); + + b.Property("CommitNId") + .HasColumnType("bigint"); + + b.Property("IsPrerelease") + .HasColumnType("boolean"); + + b.Property("Major") + .HasColumnType("integer"); + + b.Property("Minor") + .HasColumnType("integer"); + + b.Property("Patch") + .HasColumnType("integer"); + + b.Property("Revision") + .HasColumnType("integer"); + + b.HasKey("PackageId", "FullString", "Type"); + + b.HasIndex("CommitNId"); + + b.ToTable("PackageVersions"); + }); + + modelBuilder.Entity("isnd.Data.Packages.Commit", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Action") + .HasColumnType("integer"); + + b.Property("TimeStamp") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("Commits"); + }); + + modelBuilder.Entity("isnd.Data.Packages.Package", b => + { + b.Property("Id") + .HasMaxLength(1024) + .HasColumnType("character varying(1024)"); + + b.Property("CommitNId") + .HasColumnType("bigint"); + + b.Property("CommitTimeStamp") + .HasColumnType("timestamp with time zone"); + + b.Property("Description") + .HasMaxLength(1024) + .HasColumnType("character varying(1024)"); + + b.Property("OwnerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Public") + .HasColumnType("boolean"); + + b.HasKey("Id"); + + b.HasIndex("CommitNId"); + + b.HasIndex("OwnerId"); + + b.ToTable("Packages"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.HasOne("isnd.Data.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.HasOne("isnd.Data.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("isnd.Data.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.HasOne("isnd.Data.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("isnd.Data.ApiKeys.ApiKey", b => + { + b.HasOne("isnd.Data.ApplicationUser", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("isnd.Data.PackageVersion", b => + { + b.HasOne("isnd.Data.Packages.Commit", "LatestCommit") + .WithMany("Versions") + .HasForeignKey("CommitNId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("isnd.Data.Packages.Package", "Package") + .WithMany("Versions") + .HasForeignKey("PackageId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("LatestCommit"); + + b.Navigation("Package"); + }); + + modelBuilder.Entity("isnd.Data.Packages.Package", b => + { + b.HasOne("isnd.Data.Packages.Commit", "LatestVersion") + .WithMany() + .HasForeignKey("CommitNId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("isnd.Data.ApplicationUser", "Owner") + .WithMany() + .HasForeignKey("OwnerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("LatestVersion"); + + b.Navigation("Owner"); + }); + + modelBuilder.Entity("isnd.Data.Packages.Commit", b => + { + b.Navigation("Versions"); + }); + + modelBuilder.Entity("isnd.Data.Packages.Package", b => + { + b.Navigation("Versions"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/src/isnd/Migrations/20260705211205_pkgver_composite_identity_fix.cs b/src/isnd/Migrations/20260705211205_pkgver_composite_identity_fix.cs new file mode 100644 index 0000000..f61688a --- /dev/null +++ b/src/isnd/Migrations/20260705211205_pkgver_composite_identity_fix.cs @@ -0,0 +1,72 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace isndhost.Migrations +{ + /// + public partial class pkgver_composite_identity_fix : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropPrimaryKey( + name: "PK_PackageVersions", + table: "PackageVersions"); + + migrationBuilder.DropIndex( + name: "IX_PackageVersions_PackageId", + table: "PackageVersions"); + + migrationBuilder.Sql("UPDATE \"PackageVersions\" SET \"Type\" = '' WHERE \"Type\" IS NULL;"); + + migrationBuilder.AlterColumn( + name: "Type", + table: "PackageVersions", + type: "character varying(256)", + maxLength: 256, + nullable: false, + defaultValue: "", + oldClrType: typeof(string), + oldType: "character varying(256)", + oldMaxLength: 256, + oldNullable: true); + + migrationBuilder.AddPrimaryKey( + name: "PK_PackageVersions", + table: "PackageVersions", + columns: new[] { "PackageId", "FullString", "Type" }); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropPrimaryKey( + name: "PK_PackageVersions", + table: "PackageVersions"); + + migrationBuilder.AlterColumn( + name: "Type", + table: "PackageVersions", + type: "character varying(256)", + maxLength: 256, + nullable: true, + oldClrType: typeof(string), + oldType: "character varying(256)", + oldMaxLength: 256, + oldDefaultValue: ""); + + migrationBuilder.Sql("UPDATE \"PackageVersions\" SET \"Type\" = NULL WHERE \"Type\" = '';"); + + migrationBuilder.AddPrimaryKey( + name: "PK_PackageVersions", + table: "PackageVersions", + column: "FullString"); + + migrationBuilder.CreateIndex( + name: "IX_PackageVersions_PackageId", + table: "PackageVersions", + column: "PackageId"); + } + } +} diff --git a/src/isnd/Migrations/ApplicationDbContextModelSnapshot.cs b/src/isnd/Migrations/ApplicationDbContextModelSnapshot.cs index 1dba50c..917c397 100644 --- a/src/isnd/Migrations/ApplicationDbContextModelSnapshot.cs +++ b/src/isnd/Migrations/ApplicationDbContextModelSnapshot.cs @@ -249,10 +249,20 @@ namespace isndhost.Migrations modelBuilder.Entity("isnd.Data.PackageVersion", b => { + b.Property("PackageId") + .HasMaxLength(1024) + .HasColumnType("character varying(1024)"); + b.Property("FullString") .HasMaxLength(256) .HasColumnType("character varying(256)"); + b.Property("Type") + .ValueGeneratedOnAdd() + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasDefaultValue(""); + b.Property("CommitNId") .HasColumnType("bigint"); @@ -265,27 +275,16 @@ namespace isndhost.Migrations b.Property("Minor") .HasColumnType("integer"); - b.Property("PackageId") - .IsRequired() - .HasMaxLength(1024) - .HasColumnType("character varying(1024)"); - b.Property("Patch") .HasColumnType("integer"); b.Property("Revision") .HasColumnType("integer"); - b.Property("Type") - .HasMaxLength(256) - .HasColumnType("character varying(256)"); - - b.HasKey("FullString"); + b.HasKey("PackageId", "FullString", "Type"); b.HasIndex("CommitNId"); - b.HasIndex("PackageId"); - b.ToTable("PackageVersions"); }); diff --git a/src/isnd/Services/PackageManager.cs b/src/isnd/Services/PackageManager.cs index be2f280..84ac2c0 100644 --- a/src/isnd/Services/PackageManager.cs +++ b/src/isnd/Services/PackageManager.cs @@ -18,6 +18,7 @@ namespace isnd.Services public class PackageManager : IPackageManager { public const string BASE_API_LEVEL = "3.0.0"; + private static string NormalizePackageType(string packageType) => packageType ?? string.Empty; ApplicationDbContext dbContext; @@ -190,6 +191,7 @@ namespace isnd.Services public async Task DeletePackageAsync(string pkgid, string version, string type) { + type = NormalizePackageType(type); // TODO deletion on disk var commit = new Commit { @@ -214,6 +216,7 @@ namespace isnd.Services public async Task GetPackageAsync(string pkgid, string version, string type) { + type = NormalizePackageType(type); return await dbContext.PackageVersions.SingleOrDefaultAsync( v => v.PackageId == pkgid && v.FullString == version && @@ -234,6 +237,7 @@ namespace isnd.Services public async Task UserAskForPackageDeletionAsync(string uid, string id, string lower, string type) { + type = NormalizePackageType(type); PackageVersion packageVersion = await dbContext.PackageVersions .Include(pv => pv.Package) .FirstOrDefaultAsync(m => m.PackageId == id From 0e194f079ed174da8c5b0993dd3bbe8965ffea9d Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sun, 5 Jul 2026 22:35:54 +0100 Subject: [PATCH 13/19] nuget links --- src/isn.abstract/ApiConfig.cs | 2 -- src/isnd/Data/Packages/PackageVersion.cs | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/isn.abstract/ApiConfig.cs b/src/isn.abstract/ApiConfig.cs index 9ad590c..1716875 100644 --- a/src/isn.abstract/ApiConfig.cs +++ b/src/isn.abstract/ApiConfig.cs @@ -17,7 +17,5 @@ namespace isnd.Entities public const string AutoComplete = "autocomplete"; public const string CatalogLeaf = "catalog-leaf"; public const string Delete = "delete"; - public const string Registration = "registration"; - internal const string GetNuspec = Constants.SpecFileEstension; } } \ No newline at end of file diff --git a/src/isnd/Data/Packages/PackageVersion.cs b/src/isnd/Data/Packages/PackageVersion.cs index f055b12..83047ee 100644 --- a/src/isnd/Data/Packages/PackageVersion.cs +++ b/src/isnd/Data/Packages/PackageVersion.cs @@ -57,9 +57,9 @@ namespace isnd.Data public string CommitId { get => CommitNId.ToString(); } public virtual Commit LatestCommit { get; set; } - public string NugetLink => $"{Constants.PaquetFileEstension}/{PackageId}/{FullString}/{PackageId}-{FullString}." + public string NugetLink => $"{Constants.APIPrefix}{Constants.PaquetFileEstension}/{PackageId}/{FullString}/{PackageId}-{FullString}." + Constants.PaquetFileEstension; - public string NuspecLink => $"{Constants.SpecFileEstension}/{PackageId}/{FullString}/{PackageId}-{FullString}." + public string NuspecLink => $"{Constants.APIPrefix}{Constants.SpecFileEstension}/{PackageId}/{FullString}/{PackageId}-{FullString}." + Constants.SpecFileEstension; public string SementicVersionString { get => $"{Major}.{Minor}.{Patch}"; } From dd85c7f7412796e3eaa4c26c20523ed5477c2857 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sun, 5 Jul 2026 22:47:36 +0100 Subject: [PATCH 14/19] nuget links --- src/isn.abstract/ApiConfig.cs | 3 ++- .../Controllers/Packages/PackagesController.Catalog.cs | 7 ------- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/src/isn.abstract/ApiConfig.cs b/src/isn.abstract/ApiConfig.cs index 1716875..907b0e6 100644 --- a/src/isn.abstract/ApiConfig.cs +++ b/src/isn.abstract/ApiConfig.cs @@ -17,5 +17,6 @@ namespace isnd.Entities public const string AutoComplete = "autocomplete"; public const string CatalogLeaf = "catalog-leaf"; public const string Delete = "delete"; + public const string Registration = "registration"; } -} \ No newline at end of file +} diff --git a/src/isnd/Controllers/Packages/PackagesController.Catalog.cs b/src/isnd/Controllers/Packages/PackagesController.Catalog.cs index a1a7f3c..d5a2357 100644 --- a/src/isnd/Controllers/Packages/PackagesController.Catalog.cs +++ b/src/isnd/Controllers/Packages/PackagesController.Catalog.cs @@ -1,13 +1,6 @@ -using System.Data.Common; -using System.Linq; using System.Threading.Tasks; -using isnd.Services; using isnd.Entities; using Microsoft.AspNetCore.Mvc; -using System.Collections.Generic; -using NuGet.Versioning; -using isnd.Data.Packages.Catalog; -using isnd.Data.Catalog; using Isn.Abstract; namespace isnd.Controllers From fb609a8b41de18417146940e628370b1131995c2 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sun, 5 Jul 2026 23:12:04 +0100 Subject: [PATCH 15/19] code cleanup --- test/isnd.tests/UnitTestWebHost.cs | 7 ------- 1 file changed, 7 deletions(-) diff --git a/test/isnd.tests/UnitTestWebHost.cs b/test/isnd.tests/UnitTestWebHost.cs index b89caae..be248f2 100644 --- a/test/isnd.tests/UnitTestWebHost.cs +++ b/test/isnd.tests/UnitTestWebHost.cs @@ -1,23 +1,16 @@ using System.Threading; using System; using System.Net.Http; -using Microsoft.AspNetCore.Hosting; -using Microsoft.AspNetCore; using Xunit; using isnd.Data; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; -using System.Diagnostics; -using Microsoft.AspNetCore.Hosting.Server; -using Microsoft.AspNetCore.Hosting.Server.Features; -using Microsoft.Extensions.Configuration; using isnd.tests; using NuGet.Protocol; using NuGet.Configuration; using System.Threading.Tasks; using NuGet.Protocol.Core.Types; -using NuGet.Common; using Isn.Abstract; using isnd.Helpers; using Microsoft.AspNetCore.DataProtection; From 88de476b1bc0e280e4b728c17d0466ffd5be01ac Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sun, 5 Jul 2026 23:20:25 +0100 Subject: [PATCH 16/19] test a push dummy.nupkg --- .../nuget-artifacts/dummy.nuget.1.0.0.nupkg | Bin 0 -> 387 bytes .../dummy.nuget.1.0.0/dummy.nuget.nuspec | 9 + test/isnd.tests/UnitTestWebHost.cs | 273 ++++++++++++++---- 3 files changed, 226 insertions(+), 56 deletions(-) create mode 100644 test/data/nuget-artifacts/dummy.nuget.1.0.0.nupkg create mode 100644 test/data/nuget-artifacts/dummy.nuget.1.0.0/dummy.nuget.nuspec diff --git a/test/data/nuget-artifacts/dummy.nuget.1.0.0.nupkg b/test/data/nuget-artifacts/dummy.nuget.1.0.0.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..070a94bfa5474e4869622010602296dce779fbdd GIT binary patch literal 387 zcmWIWW@Zs#U|`^2;NJB#X7}@Z2TuZdc8m-RLJTqtDW$o&m3n!l>8T|^vbZ2MIW&Zm zfqCn7uPhKQt>9*0WO>2NzyKzE`w!+ZEAqI!|1H{4{c&07l2u73RqdS)-gMR7aA=v= zzkL(VYFYOEJvQ&+^6WpN^${9ROingSEj{pL6MyEsl&7a}FSnWLxc=JT8 zX+!=gYSrO+39NBJ0YA)47@2`a36ZPT7;BqQ?6>N7-hQcH+}_mfzVIB`3WP;@taV zU*`mg=SkLO>>imFTfZIo(6dIK^&-#z0B=SnIc8kJA^{8_1_odVF>GlBv9JXaD + + + dummy.nuget + 1.0.0 + isnd.tests + Dummy test package used by integration tests. + + diff --git a/test/isnd.tests/UnitTestWebHost.cs b/test/isnd.tests/UnitTestWebHost.cs index be248f2..c71b5ea 100644 --- a/test/isnd.tests/UnitTestWebHost.cs +++ b/test/isnd.tests/UnitTestWebHost.cs @@ -1,27 +1,39 @@ -using System.Threading; using System; +using System.IO; +using System.IO.Compression; +using System.Linq; using System.Net.Http; -using Xunit; +using System.Net.Http.Headers; +using System.Security.Cryptography; +using System.Threading; +using System.Threading.Tasks; +using System.Xml.Linq; +using Isn.Abstract; using isnd.Data; +using isnd.Data.ApiKeys; +using isnd.Helpers; +using isnd.tests; +using Microsoft.AspNetCore.DataProtection; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; -using isnd.tests; -using NuGet.Protocol; +using NuGet.Common; using NuGet.Configuration; -using System.Threading.Tasks; +using NuGet.Protocol; using NuGet.Protocol.Core.Types; -using Isn.Abstract; -using isnd.Helpers; -using Microsoft.AspNetCore.DataProtection; -using System.Security.Cryptography; +using Xunit; namespace isnd.host.tests -{ +{ [Collection("Web server collection")] public class UnitTestWebHost : IClassFixture { - WebServerFixture server; + private const string DummyPackageId = "dummy.nuget"; + private const string DummyPackageVersion = "1.0.0"; + private const string DummyArtifactRelativePath = "test/data/nuget-artifacts/dummy.nuget.1.0.0.nupkg"; + + private readonly WebServerFixture server; + public UnitTestWebHost(WebServerFixture server) { this.server = server; @@ -30,18 +42,16 @@ namespace isnd.host.tests [Fact] public void TestHaveTestDbContextAndMigrate() { - using (var serviceScope = server.Host.Services.CreateScope()) + using var serviceScope = server.Host.Services.CreateScope(); + var services = serviceScope.ServiceProvider; + var myDependency = services.GetRequiredService(); + if (myDependency.Database.ProviderName?.Contains("InMemory", StringComparison.OrdinalIgnoreCase) == true) { - var services = serviceScope.ServiceProvider; - var myDependency = services.GetRequiredService(); - if (myDependency.Database.ProviderName?.Contains("InMemory", StringComparison.OrdinalIgnoreCase) == true) - { - myDependency.Database.EnsureCreated(); - } - else - { - myDependency.Database.Migrate(); - } + myDependency.Database.EnsureCreated(); + } + else + { + myDependency.Database.Migrate(); } } @@ -67,67 +77,121 @@ namespace isnd.host.tests } [Fact] - void TestDropUser() + public void TestDropUser() { - - using (var serviceScope = server.Host.Services.CreateScope()) + using var serviceScope = server.Host.Services.CreateScope(); + var services = serviceScope.ServiceProvider; + var dbContext = services.GetRequiredService(); + var paul = dbContext.Users.FirstOrDefaultAsync(u => u.Email == "paul@pschneider.fr").Result; + if (paul != null) { - var services = serviceScope.ServiceProvider; - var dbContext = services.GetRequiredService(); - var paul = dbContext.Users.FirstOrDefaultAsync(u => u.Email == "paul@pschneider.fr").Result; - if (paul!=null) - { - dbContext.Users.Remove(paul); - dbContext.SaveChanges(); - } + dbContext.Users.Remove(paul); + dbContext.SaveChanges(); } } - [Fact] public void NugetInstallsTest() { + var pkgSourceUrl = GetServerBaseUrl() + "/" + Constants.APIPrefix + "index.json"; + using var client = new HttpClient(); + var response = client.GetAsync(pkgSourceUrl).GetAwaiter().GetResult(); + var body = response.Content.ReadAsStringAsync().GetAwaiter().GetResult(); + + Assert.True(response.IsSuccessStatusCode, $"Expected {pkgSourceUrl} to be reachable but got {(int)response.StatusCode} {response.ReasonPhrase}"); + Assert.False(string.IsNullOrWhiteSpace(body)); + Assert.Contains("PackagePublish/2.0.0", body, StringComparison.OrdinalIgnoreCase); + Assert.Contains("RegistrationsBaseUrl/Versioned", body, StringComparison.OrdinalIgnoreCase); + } + + [Fact] + public void DummyNugetArtifactShouldBeAReadablePackage() + { + var packagePath = GetDummyArtifactPath(); + Assert.True(File.Exists(packagePath), $"Missing dummy artifact at {packagePath}"); + + var fileInfo = new FileInfo(packagePath); + Assert.True(fileInfo.Length > 0, "Dummy artifact is empty."); + + using var stream = File.OpenRead(packagePath); + using var archive = new ZipArchive(stream, ZipArchiveMode.Read, leaveOpen: false); + var nuspecEntry = archive.GetEntry("dummy.nuget.nuspec"); + Assert.NotNull(nuspecEntry); + + using var nuspecStream = nuspecEntry.Open(); + var nuspec = XDocument.Load(nuspecStream); + XNamespace ns = "http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd"; + var id = nuspec.Root?.Element(ns + "metadata")?.Element(ns + "id")?.Value; + var version = nuspec.Root?.Element(ns + "metadata")?.Element(ns + "version")?.Value; + + Assert.Equal(DummyPackageId, id); + Assert.Equal(DummyPackageVersion, version); + } + + [Fact] + public async Task PushDummyPackageAndDiscoverItThroughNuGetEndpoints() + { + var apiKeyValue = $"dummy-key-{Guid.NewGuid():N}"; + var packagePath = GetDummyArtifactPath(); + Assert.True(File.Exists(packagePath), $"Missing dummy artifact at {packagePath}"); + using (var serviceScope = server.Host.Services.CreateScope()) { - var isnSettings = serviceScope.ServiceProvider.GetService>().Value; - string pkgSourceUrl = isnSettings.ExternalUrl + "/" + Constants.APIPrefix + "index.json"; - using var client = new HttpClient(); - var response = client.GetAsync(pkgSourceUrl).GetAwaiter().GetResult(); - var body = response.Content.ReadAsStringAsync().GetAwaiter().GetResult(); + var dbContext = serviceScope.ServiceProvider.GetRequiredService(); + var userId = $"dummy-user-{Guid.NewGuid():N}"; - Assert.True(response.IsSuccessStatusCode, $"Expected {pkgSourceUrl} to be reachable but got {(int)response.StatusCode} {response.ReasonPhrase}"); - Assert.False(string.IsNullOrWhiteSpace(body)); + await ResetDummyPackageStateAsync(serviceScope.ServiceProvider, dbContext); + + dbContext.Users.Add(new ApplicationUser + { + Id = userId, + UserName = userId, + NormalizedUserName = userId.ToUpperInvariant(), + Email = $"{userId}@tests.local", + NormalizedEmail = $"{userId}@tests.local".ToUpperInvariant(), + EmailConfirmed = true + }); + + dbContext.ApiKeys.Add(new ApiKey + { + Id = apiKeyValue, + UserId = userId, + Name = "dummy-key", + CreationDate = DateTime.UtcNow, + ValidityPeriodInDays = 30 + }); + + await dbContext.SaveChangesAsync(); } + + await PushPackageAsync(packagePath, apiKeyValue); + await AssertRegistrationContainsPushedVersionAsync(DummyPackageId, DummyPackageVersion); + await AssertAutocompleteContainsPushedVersionAsync(DummyPackageId, DummyPackageVersion); } [Fact] public void TestRegistrationV3Resource() { - using (var serviceScope = server.Host.Services.CreateScope()) - { var isnSettings = serviceScope.ServiceProvider.GetService>().Value; + using var serviceScope = server.Host.Services.CreateScope(); + var isnSettings = serviceScope.ServiceProvider.GetService>().Value; string pkgSourceUrl = isnSettings.ExternalUrl + "/pkgs/index.json"; - NullThrottle throttle = new NullThrottle(); + var throttle = new NullThrottle(); - PackageSource packageSource = new PackageSource(pkgSourceUrl); - HttpSource client = new HttpSource(packageSource, PkgSourceMessageHandler, throttle); - NuGet.Protocol.RegistrationResourceV3 res = new NuGet.Protocol.RegistrationResourceV3(client , - new Uri(isnSettings.ExternalUrl + "/v3.4.0//registration")); - } + var packageSource = new PackageSource(pkgSourceUrl); + var client = new HttpSource(packageSource, PkgSourceMessageHandler, throttle); + _ = new RegistrationResourceV3(client, new Uri(isnSettings.ExternalUrl + "/v3.4.0//registration")); } - + [Fact] public void TrueTestRegistrationV3Resource() { - using (var serviceScope = server.Host.Services.CreateScope()) - { - var isnSettings = serviceScope.ServiceProvider.GetService>().Value; + using var serviceScope = server.Host.Services.CreateScope(); + var isnSettings = serviceScope.ServiceProvider.GetService>().Value; string pkgSourceUrl = isnSettings.ExternalUrl + "/pkgs/index.json"; var prov = new RegistrationResourceV3Provider(); var source = new PackageSource(pkgSourceUrl); - var repo = new SourceRepository(source, new INuGetResourceProvider[]{ prov }); + var repo = new SourceRepository(source, new INuGetResourceProvider[] { prov }); prov.TryCreate(repo, CancellationToken.None); - - } } private Task PkgSourceMessageHandler() @@ -135,6 +199,103 @@ namespace isnd.host.tests throw new NotImplementedException(); } + private string GetServerBaseUrl() + { + var address = server.Addresses.FirstOrDefault(); + Assert.False(string.IsNullOrWhiteSpace(address), "No listening address was captured from WebServerFixture."); + return address.TrimEnd('/'); + } + + private string GetDummyArtifactPath() + { + var root = FindRepoRoot(); + return Path.Combine(root, DummyArtifactRelativePath); + } + + private static string FindRepoRoot() + { + var dir = new DirectoryInfo(AppContext.BaseDirectory); + while (dir != null) + { + if (File.Exists(Path.Combine(dir.FullName, "isn.sln"))) + { + return dir.FullName; + } + + dir = dir.Parent; + } + + throw new DirectoryNotFoundException("Could not locate repository root from AppContext.BaseDirectory."); + } + + private static async Task ResetDummyPackageStateAsync(IServiceProvider serviceProvider, ApplicationDbContext dbContext) + { + var settings = serviceProvider.GetRequiredService>().Value; + var versions = dbContext.PackageVersions.Where(v => v.PackageId == DummyPackageId); + var packages = dbContext.Packages.Where(p => p.Id == DummyPackageId); + + dbContext.PackageVersions.RemoveRange(versions); + dbContext.Packages.RemoveRange(packages); + await dbContext.SaveChangesAsync(); + + var packageRootDir = settings.PackagesRootDir; + if (!Path.IsPathRooted(packageRootDir)) + { + packageRootDir = Path.Combine(FindRepoRoot(), packageRootDir); + } + + var packageOnDiskPath = Path.Combine(packageRootDir, DummyPackageId); + if (Directory.Exists(packageOnDiskPath)) + { + Directory.Delete(packageOnDiskPath, recursive: true); + } + } + + private async Task PushPackageAsync(string packagePath, string apiKey) + { + using var client = new HttpClient { BaseAddress = new Uri(GetServerBaseUrl()) }; + using var request = new HttpRequestMessage(HttpMethod.Put, $"/{Constants.APIPrefix}{isnd.Entities.ApiConfig.Publish}"); + using var multipart = new MultipartFormDataContent(); + await using var packageStream = File.OpenRead(packagePath); + using var packageContent = new StreamContent(packageStream); + + packageContent.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); + multipart.Add(packageContent, "package", Path.GetFileName(packagePath)); + request.Content = multipart; + request.Headers.Add("X-NuGet-ApiKey", apiKey); + request.Headers.Add("X-NuGet-Client-Version", "6.11.1"); + + var response = await client.SendAsync(request); + var responseBody = await response.Content.ReadAsStringAsync(); + Assert.True(response.IsSuccessStatusCode, + $"Expected push to succeed but got {(int)response.StatusCode} {response.ReasonPhrase}. Body: {responseBody}"); + } + + private async Task AssertRegistrationContainsPushedVersionAsync(string packageId, string packageVersion) + { + using var client = new HttpClient { BaseAddress = new Uri(GetServerBaseUrl()) }; + var lowerId = packageId.ToLowerInvariant(); + var route = $"/{Constants.APIPrefix}v3.4.0/{isnd.Entities.ApiConfig.Registration}/{lowerId}/index.json"; + var response = await client.GetAsync(route); + var body = await response.Content.ReadAsStringAsync(); + + Assert.True(response.IsSuccessStatusCode, + $"Expected registration endpoint to succeed but got {(int)response.StatusCode} {response.ReasonPhrase}. Body: {body}"); + Assert.Contains(packageVersion, body, StringComparison.OrdinalIgnoreCase); + } + + private async Task AssertAutocompleteContainsPushedVersionAsync(string packageId, string packageVersion) + { + using var client = new HttpClient { BaseAddress = new Uri(GetServerBaseUrl()) }; + var route = $"/{Constants.APIPrefix}{isnd.Entities.ApiConfig.AutoComplete}?id={packageId}&semVerLevel=3.0.0&prerelease=true"; + var response = await client.GetAsync(route); + var body = await response.Content.ReadAsStringAsync(); + + Assert.True(response.IsSuccessStatusCode, + $"Expected autocomplete endpoint to succeed but got {(int)response.StatusCode} {response.ReasonPhrase}. Body: {body}"); + Assert.Contains(packageVersion, body, StringComparison.OrdinalIgnoreCase); + } + private sealed class ThrowingProtector : IDataProtector { public byte[] Protect(byte[] plaintext) => throw new CryptographicException("unexpected protect call"); From 934435d1fd85a979c62c9c0c8d05fd24f8b3c2cd Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sun, 5 Jul 2026 23:23:04 +0100 Subject: [PATCH 17/19] test OK --- test/isn.tests/PushTest.cs | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/test/isn.tests/PushTest.cs b/test/isn.tests/PushTest.cs index 1871ebf..10afadc 100644 --- a/test/isn.tests/PushTest.cs +++ b/test/isn.tests/PushTest.cs @@ -208,7 +208,7 @@ namespace Isn.tests public void TestPush() { Program.LoadConfig(); - var report = Program.PushPkg(new[] { Path.Combine(AppContext.BaseDirectory, "dummy.nupkg") }); + var report = Program.PushPkg(new[] { GetDummyPackagePath() }); Assert.NotNull(report); Assert.Single(report); } @@ -222,7 +222,7 @@ namespace Isn.tests Program.SaveConfig(); Program.LoadConfig(); - var report = Program.PushPkg(new[] { Path.Combine(AppContext.BaseDirectory, "dummy.nupkg") }); + var report = Program.PushPkg(new[] { GetDummyPackagePath() }); Assert.NotNull(report); Assert.Single(report); @@ -238,5 +238,33 @@ namespace Isn.tests var pub = model.Resources.FirstOrDefault(r => r.Type.StartsWith("PackagePublish/")); Assert.True(pub != null); } + + private static string GetDummyPackagePath() + { + var localOutputDummy = Path.Combine(AppContext.BaseDirectory, "dummy.nupkg"); + if (File.Exists(localOutputDummy)) + { + return localOutputDummy; + } + + var dir = new DirectoryInfo(AppContext.BaseDirectory); + while (dir != null) + { + if (File.Exists(Path.Combine(dir.FullName, "isn.sln"))) + { + var sharedArtifact = Path.Combine(dir.FullName, "test", "data", "nuget-artifacts", "dummy.nuget.1.0.0.nupkg"); + if (File.Exists(sharedArtifact)) + { + return sharedArtifact; + } + + break; + } + + dir = dir.Parent; + } + + throw new FileNotFoundException("Unable to locate a dummy NuGet package for push tests."); + } } } \ No newline at end of file From ac0a195b5fa3a40eb66cef7b91a025fc6fcc3fea Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sun, 5 Jul 2026 23:26:24 +0100 Subject: [PATCH 18/19] code cleanup --- test/data/test-isn/testcmd | 1 - test/isn.tests/PushTest.cs | 1 - test/isnd.tests/UnitTestWebHost.cs | 1 - 3 files changed, 3 deletions(-) delete mode 100644 test/data/test-isn/testcmd diff --git a/test/data/test-isn/testcmd b/test/data/test-isn/testcmd deleted file mode 100644 index 2127221..0000000 --- a/test/data/test-isn/testcmd +++ /dev/null @@ -1 +0,0 @@ -nuget install -NoCache -Verbosity detailed -ConfigFile ANuGet.Config Yavsc.Abstract diff --git a/test/isn.tests/PushTest.cs b/test/isn.tests/PushTest.cs index 10afadc..bc985ed 100644 --- a/test/isn.tests/PushTest.cs +++ b/test/isn.tests/PushTest.cs @@ -9,7 +9,6 @@ using System.Text; using System.Threading.Tasks; using Newtonsoft.Json; using Xunit; -using isnd.Entities; using Isn.Abstract; namespace Isn.tests diff --git a/test/isnd.tests/UnitTestWebHost.cs b/test/isnd.tests/UnitTestWebHost.cs index c71b5ea..e7386e8 100644 --- a/test/isnd.tests/UnitTestWebHost.cs +++ b/test/isnd.tests/UnitTestWebHost.cs @@ -17,7 +17,6 @@ using Microsoft.AspNetCore.DataProtection; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; -using NuGet.Common; using NuGet.Configuration; using NuGet.Protocol; using NuGet.Protocol.Core.Types; From 4e4d7f0fd7c7be7fc72585cde6fd589d32e97c28 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sun, 5 Jul 2026 23:33:48 +0100 Subject: [PATCH 19/19] Test and get the nuget via the NuGet v3 protocol --- .../Packages/PackagesController.GetPackage.cs | 28 +++++++-- src/isnd/Services/PackageManager.cs | 3 +- test/isnd.tests/UnitTestWebHost.cs | 59 +++++++++++++++++++ 3 files changed, 84 insertions(+), 6 deletions(-) diff --git a/src/isnd/Controllers/Packages/PackagesController.GetPackage.cs b/src/isnd/Controllers/Packages/PackagesController.GetPackage.cs index 8e42b69..182184a 100644 --- a/src/isnd/Controllers/Packages/PackagesController.GetPackage.cs +++ b/src/isnd/Controllers/Packages/PackagesController.GetPackage.cs @@ -1,5 +1,6 @@ using System.ComponentModel.DataAnnotations; using System.IO; +using System.Linq; using Microsoft.AspNetCore.Mvc; using Isn.Abstract; using isnd.Entities; @@ -10,13 +11,28 @@ namespace isnd.Controllers public partial class PackagesController { - // Web get the paquet - [HttpGet("~/" + Constants.APIPrefix + ApiConfig.GetPackage + "/{id}/{lower}/{idf}-{lowerf}." + // NuGet v3 flat-container versions index. + [HttpGet("~/" + Constants.APIPrefix + ApiConfig.GetPackage + "/{id}/" + ApiConfig.IndexDotJson)] + public IActionResult GetPackageVersionsById( + [FromRoute][SafeName][Required] string id) + { + var versions = dbContext.PackageVersions + .Where(v => v.PackageId.ToLower() == id.ToLower()) + .Select(v => v.FullString) + .Distinct() + .OrderBy(v => v) + .ToArray(); + + return Ok(new { versions }); + } + + // NuGet v3 flat-container package download by filename, e.g. id.version.nupkg. + [HttpGet("~/" + Constants.APIPrefix + ApiConfig.GetPackage + "/{id}/{lower}/{filename}." + Constants.PaquetFileEstension)] - public IActionResult GetPackage( - [FromRoute][SafeName][Required] string id, + public IActionResult GetPackageByFilename( + [FromRoute][SafeName][Required] string id, [FromRoute][SafeName][Required] string lower, - [FromRoute] string idf, [FromRoute] string lowerf) + [FromRoute][SafeName][Required] string filename) { var pkgpath = Path.Combine(isndSettings.PackagesRootDir, id, lower, $"{id}-{lower}." + Constants.PaquetFileEstension @@ -32,6 +48,8 @@ namespace isnd.Controllers } // Web get spec + [HttpGet("~/" + Constants.APIPrefix + Constants.SpecFileEstension + "/{id}/{lower}/{idf}.{lowerf}." + + Constants.SpecFileEstension)] [HttpGet("~/" + Constants.APIPrefix + Constants.SpecFileEstension + "/{id}/{lower}/{idf}-{lowerf}." + Constants.SpecFileEstension)] public IActionResult GetNuspec( diff --git a/src/isnd/Services/PackageManager.cs b/src/isnd/Services/PackageManager.cs index 84ac2c0..0ba1c04 100644 --- a/src/isnd/Services/PackageManager.cs +++ b/src/isnd/Services/PackageManager.cs @@ -50,7 +50,8 @@ namespace isnd.Services }, // under dev, only leash in release mode - new Resource(extUrl + ApiConfig.GetPackage, "PackageBaseAddress/3.0.0") + // NuGet clients expect a trailing slash on PackageBaseAddress to resolve relative paths. + new Resource(extUrl + ApiConfig.GetPackage + "/", "PackageBaseAddress/3.0.0") { Comment = @"Package Base Address service - Base URL of where NuGet packages are stored, in the format https:///nupkg/{id-lower}/{version-lower}/{id-lower}.{version-lower}.nupkg" }, diff --git a/test/isnd.tests/UnitTestWebHost.cs b/test/isnd.tests/UnitTestWebHost.cs index e7386e8..126372a 100644 --- a/test/isnd.tests/UnitTestWebHost.cs +++ b/test/isnd.tests/UnitTestWebHost.cs @@ -17,9 +17,11 @@ using Microsoft.AspNetCore.DataProtection; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; +using NuGet.Common; using NuGet.Configuration; using NuGet.Protocol; using NuGet.Protocol.Core.Types; +using NuGet.Versioning; using Xunit; namespace isnd.host.tests @@ -168,6 +170,63 @@ namespace isnd.host.tests await AssertAutocompleteContainsPushedVersionAsync(DummyPackageId, DummyPackageVersion); } + [Fact] + public async Task NuGetV3ProtocolCanDownloadDummyPackage() + { + var apiKeyValue = $"dummy-key-{Guid.NewGuid():N}"; + var packagePath = GetDummyArtifactPath(); + Assert.True(File.Exists(packagePath), $"Missing dummy artifact at {packagePath}"); + + using (var serviceScope = server.Host.Services.CreateScope()) + { + var dbContext = serviceScope.ServiceProvider.GetRequiredService(); + var userId = $"dummy-user-{Guid.NewGuid():N}"; + + await ResetDummyPackageStateAsync(serviceScope.ServiceProvider, dbContext); + + dbContext.Users.Add(new ApplicationUser + { + Id = userId, + UserName = userId, + NormalizedUserName = userId.ToUpperInvariant(), + Email = $"{userId}@tests.local", + NormalizedEmail = $"{userId}@tests.local".ToUpperInvariant(), + EmailConfirmed = true + }); + + dbContext.ApiKeys.Add(new ApiKey + { + Id = apiKeyValue, + UserId = userId, + Name = "dummy-key", + CreationDate = DateTime.UtcNow, + ValidityPeriodInDays = 30 + }); + + await dbContext.SaveChangesAsync(); + } + + await PushPackageAsync(packagePath, apiKeyValue); + + var indexUrl = GetServerBaseUrl() + "/" + Constants.APIPrefix + "index.json"; + var repository = Repository.Factory.GetCoreV3(indexUrl); + var findPackageById = await repository.GetResourceAsync(); + Assert.NotNull(findPackageById); + + await using var nupkgStream = new MemoryStream(); + using var cache = new SourceCacheContext(); + var copied = await findPackageById.CopyNupkgToStreamAsync( + DummyPackageId, + NuGetVersion.Parse(DummyPackageVersion), + nupkgStream, + cache, + NullLogger.Instance, + CancellationToken.None); + + Assert.True(copied, "NuGet v3 client could not download the package from the feed."); + Assert.True(nupkgStream.Length > 0, "Downloaded package stream is empty."); + } + [Fact] public void TestRegistrationV3Resource() {