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/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/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/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..a99ff29 100644 --- a/src/isn/isn.csproj +++ b/src/isn/isn.csproj @@ -1,25 +1,24 @@  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..399d228 100644 --- a/src/isnd/Controllers/HomeController.cs +++ b/src/isnd/Controllers/HomeController.cs @@ -1,12 +1,9 @@ -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 +13,33 @@ namespace isnd.Controllers public class HomeController : Controller { private readonly ApplicationDbContext _dbContext; - private readonly IUnleash _unleashĈlient; /// /// Home controller ctor /// /// - /// public HomeController( - ApplicationDbContext dbContext, - IUnleash unleashĈlient) + ApplicationDbContext dbContext) { _dbContext = dbContext; - _unleashĈlient = unleashĈlient; - } - - public IActionResult Index() - { - return View(new HomeIndexViewModel{ - PkgCount = _dbContext.Packages - .Where(p => p.Versions.Count > 0) - .Count(), - UnleashClient = _unleashĈlient - }); } + /** + * Index + */ + public IActionResult Index() + { + return View(new HomeIndexViewModel + { + PkgCount = _dbContext.Packages + .Where(p => p.Versions.Count > 0) + .Count() + }); + } + + /** + * About + */ public IActionResult About() { ViewData["Message"] = "Your application description page."; @@ -48,18 +47,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 +72,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..eb2fc87 100644 --- a/src/isnd/Controllers/Packages/ApiIndex.cs +++ b/src/isnd/Controllers/Packages/ApiIndex.cs @@ -1,12 +1,9 @@ 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 { @@ -22,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.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..c890314 100644 --- a/src/isnd/Controllers/Packages/PackagesController.cs +++ b/src/isnd/Controllers/Packages/PackagesController.cs @@ -1,21 +1,13 @@ -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 +22,15 @@ namespace isnd.Controllers private readonly IsndSettings isndSettings; readonly ApplicationDbContext dbContext; private readonly IPackageManager packageManager; - private readonly IUnleash unleashĈlient; + + /** + * PackagesController + */ public PackagesController( ILoggerFactory loggerFactory, IDataProtectionProvider provider, IOptions isndOptions, - IUnleash unleashĈlient, ApplicationDbContext dbContext, IPackageManager pm) { @@ -45,8 +39,7 @@ namespace isnd.Controllers protector = provider.CreateProtector(isndSettings.ProtectionTitle); this.dbContext = dbContext; packageManager = pm; - this.unleashĈlient = unleashĈlient; - resources = packageManager.GetResources(unleashĈlient).ToArray(); + resources = packageManager.GetResources().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 deleted file mode 100644 index d107bff..0000000 --- a/src/isnd/Helpers/UnleashHelpers.cs +++ /dev/null @@ -1,32 +0,0 @@ -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 -{ - public static class UnleashHelpers - { - - public static IUnleash CreateUnleahClient(this IHostingEnvironment env, - UnleashClientSettings unleashClientSettings) - { - var unleashSettings = new UnleashSettings - { - UnleashApi = new Uri(unleashClientSettings.ApiUrl), - AppName = "isnd", - Environment = 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 8e5c2b2..9dd8ffc 100644 --- a/src/isnd/Interfaces/IPackageManager.cs +++ b/src/isnd/Interfaces/IPackageManager.cs @@ -1,35 +1,76 @@ 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; -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(); + /** + * 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..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 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,18 +116,24 @@ namespace isnd.Services } - + /** + * CatalogBaseUrl + */ public string CatalogBaseUrl => extUrl; private IsndSettings isndSettings; private string extUrl; + /** + * GetCatalogIndexAsync + */ + 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 +208,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..9ef1a52 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,41 +14,46 @@ 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"); var isndSettingsconf = Configuration.GetSection("Isn"); var adminStartupListConf = Configuration.GetSection("AdminList"); - var unleashConf = Configuration.GetSection("Unleash"); services.Configure(options => { @@ -57,14 +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(unleashConf) .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() @@ -89,20 +105,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().CreateUnleahClient(config.Value); - }); - - - services.AddAuthentication("Bearer") + .AddAuthentication("Bearer") .AddJwtBearer("Bearer", options => { options.Authority = isndSettingsconf.GetValue("ExternalUrl"); @@ -141,7 +144,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/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/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/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" diff --git a/src/isnd/isnd.csproj b/src/isnd/isnd.csproj index c3c424c..9b04000 100644 --- a/src/isnd/isnd.csproj +++ b/src/isnd/isnd.csproj @@ -1,48 +1,42 @@  - 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..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.abst; using isnd.Entities; +using Isn.Abstract; -namespace isn.tests +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/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/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/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 diff --git a/test/isnd.tests/wwwroot/favicon.ico b/test/isnd.tests/wwwroot/favicon.ico deleted file mode 100644 index e69de29..0000000