diff --git a/extra/admin-api/.gitignore b/extra/admin-api/.gitignore
index 65497125b..9e4d34e1d 100644
--- a/extra/admin-api/.gitignore
+++ b/extra/admin-api/.gitignore
@@ -6,4 +6,5 @@ appsettings.Local*.json
/*.patch
Spacebar.Db/**/*.orig
-Spacebar.Db/**/*.rej
\ No newline at end of file
+Spacebar.Db/**/*.rej
+Spacebar.GatewayOffload/http-client.private.env.json
diff --git a/extra/admin-api/Interop/Spacebar.Interop.Authentication.AspNetCore/Spacebar.Interop.Authentication.AspNetCore.csproj b/extra/admin-api/Interop/Spacebar.Interop.Authentication.AspNetCore/Spacebar.Interop.Authentication.AspNetCore.csproj
index 971e4bf34..50dc82f5c 100644
--- a/extra/admin-api/Interop/Spacebar.Interop.Authentication.AspNetCore/Spacebar.Interop.Authentication.AspNetCore.csproj
+++ b/extra/admin-api/Interop/Spacebar.Interop.Authentication.AspNetCore/Spacebar.Interop.Authentication.AspNetCore.csproj
@@ -11,7 +11,8 @@
-
+
+
diff --git a/extra/admin-api/Interop/Spacebar.Interop.Authentication.AspNetCore/deps.json b/extra/admin-api/Interop/Spacebar.Interop.Authentication.AspNetCore/deps.json
new file mode 100644
index 000000000..707a54648
--- /dev/null
+++ b/extra/admin-api/Interop/Spacebar.Interop.Authentication.AspNetCore/deps.json
@@ -0,0 +1,287 @@
+[
+ {
+ "pname": "ArcaneLibs",
+ "version": "1.0.1-preview.20260126-091403",
+ "hash": "sha256-CSmNE16nDi05qyDAcJR+8SqQQ2ReAeX0+/dRP3WpNsg="
+ },
+ {
+ "pname": "Humanizer.Core",
+ "version": "2.14.1",
+ "hash": "sha256-EXvojddPu+9JKgOG9NSQgUTfWq1RpOYw7adxDPKDJ6o="
+ },
+ {
+ "pname": "Microsoft.Build.Framework",
+ "version": "17.11.31",
+ "hash": "sha256-YS4oASrmC5dmZrx5JPS7SfKmUpIJErlUpVDsU3VrfFE="
+ },
+ {
+ "pname": "Microsoft.Build.Framework",
+ "version": "18.0.2",
+ "hash": "sha256-fO31KAdDs2J0RUYD1ov9UB3ucsbALan7K0YdWW+yg7A="
+ },
+ {
+ "pname": "Microsoft.CodeAnalysis.Analyzers",
+ "version": "3.11.0",
+ "hash": "sha256-hQ2l6E6PO4m7i+ZsfFlEx+93UsLPo4IY3wDkNG11/Sw="
+ },
+ {
+ "pname": "Microsoft.CodeAnalysis.Common",
+ "version": "5.0.0",
+ "hash": "sha256-g4ALvBSNyHEmSb1l5TFtWW7zEkiRmhqLx4XWZu9sr2U="
+ },
+ {
+ "pname": "Microsoft.CodeAnalysis.CSharp",
+ "version": "5.0.0",
+ "hash": "sha256-ctBCkQGFpH/xT5rRE3xibu9YxPD108RuC4a4Z25koG8="
+ },
+ {
+ "pname": "Microsoft.CodeAnalysis.CSharp.Workspaces",
+ "version": "5.0.0",
+ "hash": "sha256-yWVcLt/f2CouOfFy966glGdtSFy+RcgrU1dd9UtlL/Q="
+ },
+ {
+ "pname": "Microsoft.CodeAnalysis.Workspaces.Common",
+ "version": "5.0.0",
+ "hash": "sha256-Bir5e1gEhgQQ6upQmVKQHAKLRfenAu60DAzNupNnZsQ="
+ },
+ {
+ "pname": "Microsoft.CodeAnalysis.Workspaces.MSBuild",
+ "version": "5.0.0",
+ "hash": "sha256-+58+iqTayTiE0pDaog1U8mjaDA8bNNDLA8gjCQZZudo="
+ },
+ {
+ "pname": "Microsoft.EntityFrameworkCore",
+ "version": "10.0.0",
+ "hash": "sha256-xfgrlxhtOkQwF5Q7j8gSm41URJiH8IuJ/T/Dh88++hE="
+ },
+ {
+ "pname": "Microsoft.EntityFrameworkCore",
+ "version": "10.0.2",
+ "hash": "sha256-FS6T8EnaWCMtj4PnZhh+oF8mcM44VlM3wkTSMlpte9A="
+ },
+ {
+ "pname": "Microsoft.EntityFrameworkCore.Abstractions",
+ "version": "10.0.0",
+ "hash": "sha256-UDgZbRQcGPaKsE53EH6bvJiv+Q4KSxAbnsVhTVFGG4Q="
+ },
+ {
+ "pname": "Microsoft.EntityFrameworkCore.Abstractions",
+ "version": "10.0.2",
+ "hash": "sha256-qkDfIJpcPO2kk4n5OE/13hI/0mUygpTofInn95XjRZI="
+ },
+ {
+ "pname": "Microsoft.EntityFrameworkCore.Analyzers",
+ "version": "10.0.0",
+ "hash": "sha256-7Q0jYJO50cqGI+u6gLpootbB8GZvgsgtg0F9FZI1jig="
+ },
+ {
+ "pname": "Microsoft.EntityFrameworkCore.Analyzers",
+ "version": "10.0.2",
+ "hash": "sha256-yOv78rgAACBz1zjitpcZbQQ3zx8huJongZTHkhN4PQ0="
+ },
+ {
+ "pname": "Microsoft.EntityFrameworkCore.Design",
+ "version": "10.0.2",
+ "hash": "sha256-bTShsGux0y/49PIIMb/4ZX3x5+rPacvT5/NcooNCI1Y="
+ },
+ {
+ "pname": "Microsoft.EntityFrameworkCore.Relational",
+ "version": "10.0.0",
+ "hash": "sha256-vOP2CE5YA551BlpbOuIy6RuAiAEPEpCVS1cEE33/zN4="
+ },
+ {
+ "pname": "Microsoft.EntityFrameworkCore.Relational",
+ "version": "10.0.2",
+ "hash": "sha256-Y4jPpoYhKizg5wF6QfkBX4sYlE2FU1bYhfoDN3xkhKM="
+ },
+ {
+ "pname": "Microsoft.Extensions.Caching.Abstractions",
+ "version": "10.0.2",
+ "hash": "sha256-nKmQuZTt1g5/8gBajo7wdCV64kdCucdiQR8JTt7ZZb0="
+ },
+ {
+ "pname": "Microsoft.Extensions.Caching.Memory",
+ "version": "10.0.0",
+ "hash": "sha256-AMgDSm1k6q0s17spGtyR5q8nAqUFDOxl/Fe38f9M+d4="
+ },
+ {
+ "pname": "Microsoft.Extensions.Caching.Memory",
+ "version": "10.0.2",
+ "hash": "sha256-sRUF7DM0s1yzZnfjM/hF9A/IysE6Er23gZ6jST+RWh0="
+ },
+ {
+ "pname": "Microsoft.Extensions.Configuration",
+ "version": "10.0.2",
+ "hash": "sha256-dBJAKDyp/sm+ZSMQfH0+4OH8Jnv1s20aHlWS6HNnH+c="
+ },
+ {
+ "pname": "Microsoft.Extensions.Configuration.Abstractions",
+ "version": "10.0.2",
+ "hash": "sha256-P+0kaDGO+xB9KxF9eWHDJ4hzi05sUGM/uMNEX5NdBTE="
+ },
+ {
+ "pname": "Microsoft.Extensions.Configuration.Binder",
+ "version": "10.0.2",
+ "hash": "sha256-resI9gIxHh2cc+258/i+TjW8xxzKf4ZBTLIcWAMEYz0="
+ },
+ {
+ "pname": "Microsoft.Extensions.DependencyInjection",
+ "version": "10.0.2",
+ "hash": "sha256-/9UWQRAI2eoocnJWWf1ktnAx/1Gt65c16fc0Xqr9+CQ="
+ },
+ {
+ "pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
+ "version": "10.0.0",
+ "hash": "sha256-9iodXP39YqgxomnOPOxd/mzbG0JfOSXzFoNU3omT2Ps="
+ },
+ {
+ "pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
+ "version": "10.0.2",
+ "hash": "sha256-UF9T13V5SQxJy2msfLmyovLmitZrjJayf8gHH+uK2eg="
+ },
+ {
+ "pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
+ "version": "9.0.0",
+ "hash": "sha256-CncVwkKZ5CsIG2O0+OM9qXuYXh3p6UGyueTHSLDVL+c="
+ },
+ {
+ "pname": "Microsoft.Extensions.DependencyModel",
+ "version": "10.0.2",
+ "hash": "sha256-w/dGIjtZiGH+KW3969BPOdQpQEV+WB7RPTa2MK2DavE="
+ },
+ {
+ "pname": "Microsoft.Extensions.Logging",
+ "version": "10.0.0",
+ "hash": "sha256-P+zPAadLL63k/GqK34/qChqQjY9aIRxZfxlB9lqsSrs="
+ },
+ {
+ "pname": "Microsoft.Extensions.Logging",
+ "version": "10.0.2",
+ "hash": "sha256-9+gfQwK32JMYscW1YvyCWEzc9mRZOjCACoD9U1vVaJI="
+ },
+ {
+ "pname": "Microsoft.Extensions.Logging",
+ "version": "9.0.0",
+ "hash": "sha256-kR16c+N8nQrWeYLajqnXPg7RiXjZMSFLnKLEs4VfjcM="
+ },
+ {
+ "pname": "Microsoft.Extensions.Logging.Abstractions",
+ "version": "10.0.0",
+ "hash": "sha256-BnhgGZc01HwTSxogavq7Ueq4V7iMA3wPnbfRwQ4RhGk="
+ },
+ {
+ "pname": "Microsoft.Extensions.Logging.Abstractions",
+ "version": "10.0.2",
+ "hash": "sha256-ndKGzq8+2J/hvaIULwBui0L/jDyMQTAY24j+ohX5VX8="
+ },
+ {
+ "pname": "Microsoft.Extensions.Logging.Abstractions",
+ "version": "9.0.0",
+ "hash": "sha256-iBTs9twjWXFeERt4CErkIIcoJZU1jrd1RWCI8V5j7KU="
+ },
+ {
+ "pname": "Microsoft.Extensions.Options",
+ "version": "10.0.2",
+ "hash": "sha256-12AfUEDdta/pmZUyEyqSUfOk0YoA7JOfGmIYnZQ//qk="
+ },
+ {
+ "pname": "Microsoft.Extensions.Options",
+ "version": "9.0.0",
+ "hash": "sha256-DT5euAQY/ItB5LPI8WIp6Dnd0lSvBRP35vFkOXC68ck="
+ },
+ {
+ "pname": "Microsoft.Extensions.Primitives",
+ "version": "10.0.2",
+ "hash": "sha256-8Ccrjjv9cFVf9RyCc7GS/Byt8+DXdSNea0UX3A5BEdA="
+ },
+ {
+ "pname": "Microsoft.Extensions.Primitives",
+ "version": "9.0.0",
+ "hash": "sha256-ZNLusK1CRuq5BZYZMDqaz04PIKScE2Z7sS2tehU7EJs="
+ },
+ {
+ "pname": "Microsoft.IdentityModel.Abstractions",
+ "version": "8.15.0",
+ "hash": "sha256-LKTvERNUTMCEF7xs377tCMwOMRki93OS4kh6Yv0uXJ4="
+ },
+ {
+ "pname": "Microsoft.IdentityModel.JsonWebTokens",
+ "version": "8.15.0",
+ "hash": "sha256-LwzKiGjcnORvmQ9tim6lomXpfVlPpd/fE8FKTFWKlpM="
+ },
+ {
+ "pname": "Microsoft.IdentityModel.Logging",
+ "version": "8.15.0",
+ "hash": "sha256-mMXwsjGcrrmHR1mG7BLTKg/30mX+m93QVX17/ynOOd4="
+ },
+ {
+ "pname": "Microsoft.IdentityModel.Tokens",
+ "version": "8.15.0",
+ "hash": "sha256-7Lo/TsvqgNCEMyFssO3Om233521Pqgb9K9lUeHc5HMk="
+ },
+ {
+ "pname": "Microsoft.VisualStudio.SolutionPersistence",
+ "version": "1.0.52",
+ "hash": "sha256-KZGPtOXe6Hv8RrkcsgoLKTRyaCScIpQEa2NhNB3iOXw="
+ },
+ {
+ "pname": "Mono.TextTemplating",
+ "version": "3.0.0",
+ "hash": "sha256-VlgGDvgNZb7MeBbIZ4DE2Nn/j2aD9k6XqNHnASUSDr0="
+ },
+ {
+ "pname": "Newtonsoft.Json",
+ "version": "13.0.3",
+ "hash": "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="
+ },
+ {
+ "pname": "Npgsql",
+ "version": "10.0.0",
+ "hash": "sha256-UVKz9dH/rVCCbMyFdqA31RYpht1XgDRLIqUy0Dp9ACQ="
+ },
+ {
+ "pname": "Npgsql.EntityFrameworkCore.PostgreSQL",
+ "version": "10.0.0",
+ "hash": "sha256-XIJxnTMektQVP1qtslEIGbmBGrIQsvjQjCMRTs9UIbg="
+ },
+ {
+ "pname": "System.CodeDom",
+ "version": "6.0.0",
+ "hash": "sha256-uPetUFZyHfxjScu5x4agjk9pIhbCkt5rG4Axj25npcQ="
+ },
+ {
+ "pname": "System.Composition",
+ "version": "9.0.0",
+ "hash": "sha256-FehOkQ2u1p8mQ0/wn3cZ+24HjhTLdck8VZYWA1CcgbM="
+ },
+ {
+ "pname": "System.Composition.AttributedModel",
+ "version": "9.0.0",
+ "hash": "sha256-a7y7H6zj+kmYkllNHA402DoVfY9IaqC3Ooys8Vzl24M="
+ },
+ {
+ "pname": "System.Composition.Convention",
+ "version": "9.0.0",
+ "hash": "sha256-tw4vE5JRQ60ubTZBbxoMPhtjOQCC3XoDFUH7NHO7o8U="
+ },
+ {
+ "pname": "System.Composition.Hosting",
+ "version": "9.0.0",
+ "hash": "sha256-oOxU+DPEEfMCuNLgW6wSkZp0JY5gYt44FJNnWt+967s="
+ },
+ {
+ "pname": "System.Composition.Runtime",
+ "version": "9.0.0",
+ "hash": "sha256-AyIe+di1TqwUBbSJ/sJ8Q8tzsnTN+VBdJw4K8xZz43s="
+ },
+ {
+ "pname": "System.Composition.TypedParts",
+ "version": "9.0.0",
+ "hash": "sha256-F5fpTUs3Rr7yP/NyIzr+Xn5NdTXXp8rrjBnF9UBBUog="
+ },
+ {
+ "pname": "System.IdentityModel.Tokens.Jwt",
+ "version": "8.15.0",
+ "hash": "sha256-5O0wbGp0gWnukK+0mWBjMnP1bZc6N0xuNcO2qmFiUX8="
+ }
+]
\ No newline at end of file
diff --git a/extra/admin-api/Interop/Spacebar.Interop.Authentication/Spacebar.Interop.Authentication.csproj b/extra/admin-api/Interop/Spacebar.Interop.Authentication/Spacebar.Interop.Authentication.csproj
index 72ca5f8a7..f4f4e6289 100644
--- a/extra/admin-api/Interop/Spacebar.Interop.Authentication/Spacebar.Interop.Authentication.csproj
+++ b/extra/admin-api/Interop/Spacebar.Interop.Authentication/Spacebar.Interop.Authentication.csproj
@@ -7,11 +7,12 @@
-
+
+
-
+
diff --git a/extra/admin-api/Interop/Spacebar.Interop.Authentication/deps.json b/extra/admin-api/Interop/Spacebar.Interop.Authentication/deps.json
index 1114983ef..f436bccb9 100644
--- a/extra/admin-api/Interop/Spacebar.Interop.Authentication/deps.json
+++ b/extra/admin-api/Interop/Spacebar.Interop.Authentication/deps.json
@@ -1,44 +1,119 @@
[
+ {
+ "pname": "ArcaneLibs",
+ "version": "1.0.1-preview.20260126-091403",
+ "hash": "sha256-CSmNE16nDi05qyDAcJR+8SqQQ2ReAeX0+/dRP3WpNsg="
+ },
+ {
+ "pname": "Humanizer.Core",
+ "version": "2.14.1",
+ "hash": "sha256-EXvojddPu+9JKgOG9NSQgUTfWq1RpOYw7adxDPKDJ6o="
+ },
+ {
+ "pname": "Microsoft.Build.Framework",
+ "version": "17.11.31",
+ "hash": "sha256-YS4oASrmC5dmZrx5JPS7SfKmUpIJErlUpVDsU3VrfFE="
+ },
+ {
+ "pname": "Microsoft.Build.Framework",
+ "version": "18.0.2",
+ "hash": "sha256-fO31KAdDs2J0RUYD1ov9UB3ucsbALan7K0YdWW+yg7A="
+ },
+ {
+ "pname": "Microsoft.CodeAnalysis.Analyzers",
+ "version": "3.11.0",
+ "hash": "sha256-hQ2l6E6PO4m7i+ZsfFlEx+93UsLPo4IY3wDkNG11/Sw="
+ },
+ {
+ "pname": "Microsoft.CodeAnalysis.Common",
+ "version": "5.0.0",
+ "hash": "sha256-g4ALvBSNyHEmSb1l5TFtWW7zEkiRmhqLx4XWZu9sr2U="
+ },
+ {
+ "pname": "Microsoft.CodeAnalysis.CSharp",
+ "version": "5.0.0",
+ "hash": "sha256-ctBCkQGFpH/xT5rRE3xibu9YxPD108RuC4a4Z25koG8="
+ },
+ {
+ "pname": "Microsoft.CodeAnalysis.CSharp.Workspaces",
+ "version": "5.0.0",
+ "hash": "sha256-yWVcLt/f2CouOfFy966glGdtSFy+RcgrU1dd9UtlL/Q="
+ },
+ {
+ "pname": "Microsoft.CodeAnalysis.Workspaces.Common",
+ "version": "5.0.0",
+ "hash": "sha256-Bir5e1gEhgQQ6upQmVKQHAKLRfenAu60DAzNupNnZsQ="
+ },
+ {
+ "pname": "Microsoft.CodeAnalysis.Workspaces.MSBuild",
+ "version": "5.0.0",
+ "hash": "sha256-+58+iqTayTiE0pDaog1U8mjaDA8bNNDLA8gjCQZZudo="
+ },
{
"pname": "Microsoft.EntityFrameworkCore",
"version": "10.0.0",
"hash": "sha256-xfgrlxhtOkQwF5Q7j8gSm41URJiH8IuJ/T/Dh88++hE="
},
+ {
+ "pname": "Microsoft.EntityFrameworkCore",
+ "version": "10.0.2",
+ "hash": "sha256-FS6T8EnaWCMtj4PnZhh+oF8mcM44VlM3wkTSMlpte9A="
+ },
{
"pname": "Microsoft.EntityFrameworkCore.Abstractions",
"version": "10.0.0",
"hash": "sha256-UDgZbRQcGPaKsE53EH6bvJiv+Q4KSxAbnsVhTVFGG4Q="
},
+ {
+ "pname": "Microsoft.EntityFrameworkCore.Abstractions",
+ "version": "10.0.2",
+ "hash": "sha256-qkDfIJpcPO2kk4n5OE/13hI/0mUygpTofInn95XjRZI="
+ },
{
"pname": "Microsoft.EntityFrameworkCore.Analyzers",
"version": "10.0.0",
"hash": "sha256-7Q0jYJO50cqGI+u6gLpootbB8GZvgsgtg0F9FZI1jig="
},
+ {
+ "pname": "Microsoft.EntityFrameworkCore.Analyzers",
+ "version": "10.0.2",
+ "hash": "sha256-yOv78rgAACBz1zjitpcZbQQ3zx8huJongZTHkhN4PQ0="
+ },
+ {
+ "pname": "Microsoft.EntityFrameworkCore.Design",
+ "version": "10.0.2",
+ "hash": "sha256-bTShsGux0y/49PIIMb/4ZX3x5+rPacvT5/NcooNCI1Y="
+ },
{
"pname": "Microsoft.EntityFrameworkCore.Relational",
"version": "10.0.0",
"hash": "sha256-vOP2CE5YA551BlpbOuIy6RuAiAEPEpCVS1cEE33/zN4="
},
+ {
+ "pname": "Microsoft.EntityFrameworkCore.Relational",
+ "version": "10.0.2",
+ "hash": "sha256-Y4jPpoYhKizg5wF6QfkBX4sYlE2FU1bYhfoDN3xkhKM="
+ },
{
"pname": "Microsoft.Extensions.Caching.Abstractions",
- "version": "10.0.0",
- "hash": "sha256-IciARPnXx/S6HZc4t2ED06UyUwfZI9LKSzwKSGdpsfI="
+ "version": "10.0.2",
+ "hash": "sha256-nKmQuZTt1g5/8gBajo7wdCV64kdCucdiQR8JTt7ZZb0="
},
{
"pname": "Microsoft.Extensions.Caching.Memory",
"version": "10.0.0",
"hash": "sha256-AMgDSm1k6q0s17spGtyR5q8nAqUFDOxl/Fe38f9M+d4="
},
+ {
+ "pname": "Microsoft.Extensions.Caching.Memory",
+ "version": "10.0.2",
+ "hash": "sha256-sRUF7DM0s1yzZnfjM/hF9A/IysE6Er23gZ6jST+RWh0="
+ },
{
"pname": "Microsoft.Extensions.Configuration",
"version": "10.0.2",
"hash": "sha256-dBJAKDyp/sm+ZSMQfH0+4OH8Jnv1s20aHlWS6HNnH+c="
},
- {
- "pname": "Microsoft.Extensions.Configuration.Abstractions",
- "version": "10.0.0",
- "hash": "sha256-GcgrnTAieCV7AVT13zyOjfwwL86e99iiO/MiMOxPGG0="
- },
{
"pname": "Microsoft.Extensions.Configuration.Abstractions",
"version": "10.0.2",
@@ -49,11 +124,6 @@
"version": "10.0.2",
"hash": "sha256-resI9gIxHh2cc+258/i+TjW8xxzKf4ZBTLIcWAMEYz0="
},
- {
- "pname": "Microsoft.Extensions.DependencyInjection",
- "version": "10.0.0",
- "hash": "sha256-LYm9hVlo/R9c2aAKHsDYJ5vY9U0+3Jvclme3ou3BtvQ="
- },
{
"pname": "Microsoft.Extensions.DependencyInjection",
"version": "10.0.2",
@@ -69,31 +139,66 @@
"version": "10.0.2",
"hash": "sha256-UF9T13V5SQxJy2msfLmyovLmitZrjJayf8gHH+uK2eg="
},
+ {
+ "pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
+ "version": "9.0.0",
+ "hash": "sha256-CncVwkKZ5CsIG2O0+OM9qXuYXh3p6UGyueTHSLDVL+c="
+ },
+ {
+ "pname": "Microsoft.Extensions.DependencyModel",
+ "version": "10.0.2",
+ "hash": "sha256-w/dGIjtZiGH+KW3969BPOdQpQEV+WB7RPTa2MK2DavE="
+ },
{
"pname": "Microsoft.Extensions.Logging",
"version": "10.0.0",
"hash": "sha256-P+zPAadLL63k/GqK34/qChqQjY9aIRxZfxlB9lqsSrs="
},
+ {
+ "pname": "Microsoft.Extensions.Logging",
+ "version": "10.0.2",
+ "hash": "sha256-9+gfQwK32JMYscW1YvyCWEzc9mRZOjCACoD9U1vVaJI="
+ },
+ {
+ "pname": "Microsoft.Extensions.Logging",
+ "version": "9.0.0",
+ "hash": "sha256-kR16c+N8nQrWeYLajqnXPg7RiXjZMSFLnKLEs4VfjcM="
+ },
{
"pname": "Microsoft.Extensions.Logging.Abstractions",
"version": "10.0.0",
"hash": "sha256-BnhgGZc01HwTSxogavq7Ueq4V7iMA3wPnbfRwQ4RhGk="
},
{
- "pname": "Microsoft.Extensions.Options",
- "version": "10.0.0",
- "hash": "sha256-j5MOqZSKeUtxxzmZjzZMGy0vELHdvPraqwTQQQNVsYA="
+ "pname": "Microsoft.Extensions.Logging.Abstractions",
+ "version": "10.0.2",
+ "hash": "sha256-ndKGzq8+2J/hvaIULwBui0L/jDyMQTAY24j+ohX5VX8="
},
{
- "pname": "Microsoft.Extensions.Primitives",
- "version": "10.0.0",
- "hash": "sha256-Dup08KcptLjlnpN5t5//+p4n8FUTgRAq4n/w1s6us+I="
+ "pname": "Microsoft.Extensions.Logging.Abstractions",
+ "version": "9.0.0",
+ "hash": "sha256-iBTs9twjWXFeERt4CErkIIcoJZU1jrd1RWCI8V5j7KU="
+ },
+ {
+ "pname": "Microsoft.Extensions.Options",
+ "version": "10.0.2",
+ "hash": "sha256-12AfUEDdta/pmZUyEyqSUfOk0YoA7JOfGmIYnZQ//qk="
+ },
+ {
+ "pname": "Microsoft.Extensions.Options",
+ "version": "9.0.0",
+ "hash": "sha256-DT5euAQY/ItB5LPI8WIp6Dnd0lSvBRP35vFkOXC68ck="
},
{
"pname": "Microsoft.Extensions.Primitives",
"version": "10.0.2",
"hash": "sha256-8Ccrjjv9cFVf9RyCc7GS/Byt8+DXdSNea0UX3A5BEdA="
},
+ {
+ "pname": "Microsoft.Extensions.Primitives",
+ "version": "9.0.0",
+ "hash": "sha256-ZNLusK1CRuq5BZYZMDqaz04PIKScE2Z7sS2tehU7EJs="
+ },
{
"pname": "Microsoft.IdentityModel.Abstractions",
"version": "8.15.0",
@@ -114,6 +219,21 @@
"version": "8.15.0",
"hash": "sha256-7Lo/TsvqgNCEMyFssO3Om233521Pqgb9K9lUeHc5HMk="
},
+ {
+ "pname": "Microsoft.VisualStudio.SolutionPersistence",
+ "version": "1.0.52",
+ "hash": "sha256-KZGPtOXe6Hv8RrkcsgoLKTRyaCScIpQEa2NhNB3iOXw="
+ },
+ {
+ "pname": "Mono.TextTemplating",
+ "version": "3.0.0",
+ "hash": "sha256-VlgGDvgNZb7MeBbIZ4DE2Nn/j2aD9k6XqNHnASUSDr0="
+ },
+ {
+ "pname": "Newtonsoft.Json",
+ "version": "13.0.3",
+ "hash": "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="
+ },
{
"pname": "Npgsql",
"version": "10.0.0",
@@ -124,6 +244,41 @@
"version": "10.0.0",
"hash": "sha256-XIJxnTMektQVP1qtslEIGbmBGrIQsvjQjCMRTs9UIbg="
},
+ {
+ "pname": "System.CodeDom",
+ "version": "6.0.0",
+ "hash": "sha256-uPetUFZyHfxjScu5x4agjk9pIhbCkt5rG4Axj25npcQ="
+ },
+ {
+ "pname": "System.Composition",
+ "version": "9.0.0",
+ "hash": "sha256-FehOkQ2u1p8mQ0/wn3cZ+24HjhTLdck8VZYWA1CcgbM="
+ },
+ {
+ "pname": "System.Composition.AttributedModel",
+ "version": "9.0.0",
+ "hash": "sha256-a7y7H6zj+kmYkllNHA402DoVfY9IaqC3Ooys8Vzl24M="
+ },
+ {
+ "pname": "System.Composition.Convention",
+ "version": "9.0.0",
+ "hash": "sha256-tw4vE5JRQ60ubTZBbxoMPhtjOQCC3XoDFUH7NHO7o8U="
+ },
+ {
+ "pname": "System.Composition.Hosting",
+ "version": "9.0.0",
+ "hash": "sha256-oOxU+DPEEfMCuNLgW6wSkZp0JY5gYt44FJNnWt+967s="
+ },
+ {
+ "pname": "System.Composition.Runtime",
+ "version": "9.0.0",
+ "hash": "sha256-AyIe+di1TqwUBbSJ/sJ8Q8tzsnTN+VBdJw4K8xZz43s="
+ },
+ {
+ "pname": "System.Composition.TypedParts",
+ "version": "9.0.0",
+ "hash": "sha256-F5fpTUs3Rr7yP/NyIzr+Xn5NdTXXp8rrjBnF9UBBUog="
+ },
{
"pname": "System.IdentityModel.Tokens.Jwt",
"version": "8.15.0",
diff --git a/extra/admin-api/Interop/Spacebar.Interop.Replication.RabbitMq/Spacebar.Interop.Replication.RabbitMq.csproj b/extra/admin-api/Interop/Spacebar.Interop.Replication.RabbitMq/Spacebar.Interop.Replication.RabbitMq.csproj
index 7b463eaa8..7cc89b437 100644
--- a/extra/admin-api/Interop/Spacebar.Interop.Replication.RabbitMq/Spacebar.Interop.Replication.RabbitMq.csproj
+++ b/extra/admin-api/Interop/Spacebar.Interop.Replication.RabbitMq/Spacebar.Interop.Replication.RabbitMq.csproj
@@ -7,7 +7,8 @@
-
+
+
diff --git a/extra/admin-api/Interop/Spacebar.Interop.Replication.UnixSocket/Spacebar.Interop.Replication.UnixSocket.csproj b/extra/admin-api/Interop/Spacebar.Interop.Replication.UnixSocket/Spacebar.Interop.Replication.UnixSocket.csproj
index 81f042edc..7de7d0251 100644
--- a/extra/admin-api/Interop/Spacebar.Interop.Replication.UnixSocket/Spacebar.Interop.Replication.UnixSocket.csproj
+++ b/extra/admin-api/Interop/Spacebar.Interop.Replication.UnixSocket/Spacebar.Interop.Replication.UnixSocket.csproj
@@ -7,7 +7,8 @@
-
+
+
diff --git a/extra/admin-api/Models/Spacebar.Models.Db/Spacebar.Models.Db.csproj b/extra/admin-api/Models/Spacebar.Models.Db/Spacebar.Models.Db.csproj
index 2d1dcaf5b..05faafe83 100644
--- a/extra/admin-api/Models/Spacebar.Models.Db/Spacebar.Models.Db.csproj
+++ b/extra/admin-api/Models/Spacebar.Models.Db/Spacebar.Models.Db.csproj
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/extra/admin-api/Spacebar.AdminApi/Spacebar.AdminApi.csproj b/extra/admin-api/Spacebar.AdminApi/Spacebar.AdminApi.csproj
index ef27cf689..65824f818 100644
--- a/extra/admin-api/Spacebar.AdminApi/Spacebar.AdminApi.csproj
+++ b/extra/admin-api/Spacebar.AdminApi/Spacebar.AdminApi.csproj
@@ -14,11 +14,16 @@
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/extra/admin-api/Spacebar.Cdn/Spacebar.Cdn.csproj b/extra/admin-api/Spacebar.Cdn/Spacebar.Cdn.csproj
index 6a9ec98fd..ed5f963df 100644
--- a/extra/admin-api/Spacebar.Cdn/Spacebar.Cdn.csproj
+++ b/extra/admin-api/Spacebar.Cdn/Spacebar.Cdn.csproj
@@ -14,8 +14,10 @@
-
-
+
+
+
+
diff --git a/extra/admin-api/Spacebar.GatewayOffload/Spacebar.GatewayOffload.csproj b/extra/admin-api/Spacebar.GatewayOffload/Spacebar.GatewayOffload.csproj
index ca9424836..56257a468 100644
--- a/extra/admin-api/Spacebar.GatewayOffload/Spacebar.GatewayOffload.csproj
+++ b/extra/admin-api/Spacebar.GatewayOffload/Spacebar.GatewayOffload.csproj
@@ -11,9 +11,10 @@
-
-
-
+
+
+
+
diff --git a/extra/admin-api/Utilities/Spacebar.Cdn.Fsck/Spacebar.Cdn.Fsck.csproj b/extra/admin-api/Utilities/Spacebar.Cdn.Fsck/Spacebar.Cdn.Fsck.csproj
index e08d3ae87..b6204556c 100644
--- a/extra/admin-api/Utilities/Spacebar.Cdn.Fsck/Spacebar.Cdn.Fsck.csproj
+++ b/extra/admin-api/Utilities/Spacebar.Cdn.Fsck/Spacebar.Cdn.Fsck.csproj
@@ -4,8 +4,6 @@
net10.0
enable
enable
- dotnet-Spacebar.Cdn.Fsck-a4aee86f-7e64-4c71-88d7-d2a76cc8b77e
- True
@@ -13,7 +11,9 @@
-
-
+
+
+
+
diff --git a/extra/admin-api/Utilities/Spacebar.Cdn.Migration/Spacebar.Cdn.Migration.csproj b/extra/admin-api/Utilities/Spacebar.Cdn.Migration/Spacebar.Cdn.Migration.csproj
index 1791cd1f3..0d076ae96 100644
--- a/extra/admin-api/Utilities/Spacebar.Cdn.Migration/Spacebar.Cdn.Migration.csproj
+++ b/extra/admin-api/Utilities/Spacebar.Cdn.Migration/Spacebar.Cdn.Migration.csproj
@@ -13,8 +13,11 @@
-
-
-
+
+
+
+
+
+
diff --git a/extra/admin-api/Utilities/Spacebar.CleanSettingsRows/Spacebar.CleanSettingsRows.csproj b/extra/admin-api/Utilities/Spacebar.CleanSettingsRows/Spacebar.CleanSettingsRows.csproj
index 4bd3d7d57..3e2412713 100644
--- a/extra/admin-api/Utilities/Spacebar.CleanSettingsRows/Spacebar.CleanSettingsRows.csproj
+++ b/extra/admin-api/Utilities/Spacebar.CleanSettingsRows/Spacebar.CleanSettingsRows.csproj
@@ -7,10 +7,11 @@
-
+
-
+
+
diff --git a/extra/admin-api/outputs.nix b/extra/admin-api/outputs.nix
index 4848147fd..a17363ec5 100644
--- a/extra/admin-api/outputs.nix
+++ b/extra/admin-api/outputs.nix
@@ -28,6 +28,7 @@ flake-utils.lib.eachSystem flake-utils.lib.allSystems (
runtimeId ? null,
useAppHost ? null,
packNupkg ? true,
+ srcRoot ? ./.,
}@args:
pkgs.buildDotnetModule rec {
inherit
@@ -36,6 +37,7 @@ flake-utils.lib.eachSystem flake-utils.lib.allSystems (
projectFile
runtimeId
useAppHost
+ srcRoot
;
pname = "${name}";
@@ -45,10 +47,10 @@ flake-utils.lib.eachSystem flake-utils.lib.allSystems (
"--include-source"
"--version-suffix ${rVersion}"
];
- # dotnetFlags = [ "-v:diag" ];
+ dotnetFlags = [ "-v:n" ]; # diag
dotnet-sdk = pkgs.dotnet-sdk_10;
dotnet-runtime = pkgs.dotnet-aspnetcore_10;
- src = pkgs.lib.cleanSource ./.;
+ src = pkgs.lib.cleanSource srcRoot;
packNupkg = true;
meta = with pkgs.lib; {
description = "Spacebar Server, Typescript Edition (C# extensions)";
@@ -67,50 +69,70 @@ flake-utils.lib.eachSystem flake-utils.lib.allSystems (
# Interop
Spacebar-Interop-Authentication = makeNupkg {
name = "Spacebar.Interop.Authentication";
- projectFile = "Interop/Spacebar.Interop.Authentication/Spacebar.Interop.Authentication.csproj";
+ projectFile = "Spacebar.Interop.Authentication.csproj";
nugetDeps = Interop/Spacebar.Interop.Authentication/deps.json;
+ srcRoot = Interop/Spacebar.Interop.Authentication;
+ projectReferences = [ proj.Spacebar-Models-Db ];
+ };
+ Spacebar-Interop-Authentication-AspNetCore = makeNupkg {
+ name = "Spacebar.Interop.Authentication.AspNetCore";
+ projectFile = "Spacebar.Interop.Authentication.AspNetCore.csproj";
+ nugetDeps = Interop/Spacebar.Interop.Authentication.AspNetCore/deps.json;
+ srcRoot = Interop/Spacebar.Interop.Authentication.AspNetCore;
+ projectReferences = [
+ proj.Spacebar-Models-Db
+ proj.Spacebar-Interop-Authentication
+ ];
};
Spacebar-Interop-Cdn-Abstractions = makeNupkg {
name = "Spacebar.Interop.Cdn.Abstractions";
- projectFile = "Interop/Spacebar.Interop.Cdn.Abstractions/Spacebar.Interop.Cdn.Abstractions.csproj";
+ projectFile = "Spacebar.Interop.Cdn.Abstractions.csproj";
nugetDeps = Interop/Spacebar.Interop.Cdn.Abstractions/deps.json;
+ srcRoot = Interop/Spacebar.Interop.Cdn.Abstractions;
};
Spacebar-Interop-Replication-Abstractions = makeNupkg {
name = "Spacebar.Interop.Replication.Abstractions";
- projectFile = "Interop/Spacebar.Interop.Replication.Abstractions/Spacebar.Interop.Replication.Abstractions.csproj";
+ projectFile = "Spacebar.Interop.Replication.Abstractions.csproj";
+ srcRoot = Interop/Spacebar.Interop.Replication.Abstractions;
};
Spacebar-Interop-Replication-RabbitMq = makeNupkg {
name = "Spacebar.Interop.Replication.RabbitMq";
- projectFile = "Interop/Spacebar.Interop.Replication.RabbitMq/Spacebar.Interop.Replication.RabbitMq.csproj";
+ projectFile = "Spacebar.Interop.Replication.RabbitMq.csproj";
nugetDeps = Interop/Spacebar.Interop.Replication.RabbitMq/deps.json;
+ srcRoot = Interop/Spacebar.Interop.Replication.RabbitMq;
projectReferences = [ proj.Spacebar-Interop-Replication-Abstractions ];
};
Spacebar-Interop-Replication-UnixSocket = makeNupkg {
name = "Spacebar.Interop.Replication.UnixSocket";
- projectFile = "Interop/Spacebar.Interop.Replication.UnixSocket/Spacebar.Interop.Replication.UnixSocket.csproj";
+ projectFile = "Spacebar.Interop.Replication.UnixSocket.csproj";
nugetDeps = Interop/Spacebar.Interop.Replication.UnixSocket/deps.json;
+ srcRoot = Interop/Spacebar.Interop.Replication.UnixSocket;
projectReferences = [ proj.Spacebar-Interop-Replication-Abstractions ];
};
# Models
Spacebar-Models-AdminApi = makeNupkg {
name = "Spacebar.Models.AdminApi";
- projectFile = "Models/Spacebar.Models.AdminApi/Spacebar.Models.AdminApi.csproj";
+ projectFile = "Spacebar.Models.AdminApi.csproj";
+ srcRoot = Models/Spacebar.Models.AdminApi;
};
Spacebar-Models-Config = makeNupkg {
name = "Spacebar.Models.Config";
- projectFile = "Models/Spacebar.Models.Config/Spacebar.Models.Config.csproj";
+ projectFile = "Spacebar.Models.Config.csproj";
+ srcRoot = Models/Spacebar.Models.Config;
};
Spacebar-Models-Db = makeNupkg {
name = "Spacebar.Models.Db";
- projectFile = "Models/Spacebar.Models.Db/Spacebar.Models.Db.csproj";
+ projectFile = "Spacebar.Models.Db.csproj";
nugetDeps = Models/Spacebar.Models.Db/deps.json;
+ srcRoot = Models/Spacebar.Models.Db;
};
# Utilities
Spacebar-CleanSettingsRows = makeNupkg {
name = "Spacebar.CleanSettingsRows";
- projectFile = "Utilities/Spacebar.CleanSettingsRows/Spacebar.CleanSettingsRows.csproj";
+ srcRoot = Utilities/Spacebar.CleanSettingsRows;
+ projectFile = "Spacebar.CleanSettingsRows.csproj";
nugetDeps = Utilities/Spacebar.CleanSettingsRows/deps.json;
packNupkg = false;
projectReferences = [ proj.Spacebar-Models-Db ];
@@ -120,7 +142,10 @@ flake-utils.lib.eachSystem flake-utils.lib.allSystems (
projectFile = "Utilities/Spacebar.Cdn.Fsck/Spacebar.Cdn.Fsck.csproj";
nugetDeps = Utilities/Spacebar.Cdn.Fsck/deps.json;
packNupkg = false;
- projectReferences = [ proj.Spacebar-Models-Db proj.Spacebar-Interop-Cdn-Abstractions ];
+ projectReferences = [
+ proj.Spacebar-Models-Db
+ proj.Spacebar-Interop-Cdn-Abstractions
+ ];
};
# Main projects
@@ -129,7 +154,12 @@ flake-utils.lib.eachSystem flake-utils.lib.allSystems (
nugetDeps = Spacebar.AdminApi/deps.json;
packNupkg = false;
projectReferences = [
+ proj.Spacebar-Interop-Authentication
+ proj.Spacebar-Interop-Authentication-AspNetCore
+ proj.Spacebar-Interop-Replication-Abstractions
+ proj.Spacebar-Interop-Replication-UnixSocket
proj.Spacebar-Models-AdminApi
+ proj.Spacebar-Models-Config
proj.Spacebar-Models-Db
];
};
@@ -139,6 +169,7 @@ flake-utils.lib.eachSystem flake-utils.lib.allSystems (
packNupkg = false;
projectReferences = [
proj.Spacebar-Models-Db
+ proj.Spacebar-Interop-Cdn-Abstractions
];
};
# Spacebar-AdminApi-TestClient = makeNupkg {
diff --git a/extra/admin-api/update-deps.cs b/extra/admin-api/update-deps.cs
index 96814d579..686ae2aed 100755
--- a/extra/admin-api/update-deps.cs
+++ b/extra/admin-api/update-deps.cs
@@ -41,12 +41,12 @@ Console.WriteLine($"==> Updating dependencies for {outs.Length} projects...");
foreach (var outp in outs) {
Console.WriteLine(ConsoleUtils.ColoredString($" ==> Updating {outp}...", 0x80, 0x80, 0xff));
- Console.Write(ConsoleUtils.ColoredString($" ==> Getting project files... ", 0x80, 0xff, 0xff));
- var projectFiles = JsonSerializer.Deserialize(Util.GetCommandOutputSync("nix", $"eval --json .#packages.x86_64-linux.{outp}.dotnetProjectFiles", silent: true, stderr: false));
- Console.WriteLine(ConsoleUtils.ColoredString($"{string.Join(", ", projectFiles)}", 0x80, 0xff, 0xff));
- if (projectFiles.Length != 1) throw new Exception("Invalid project file count?");
+ Console.Write(ConsoleUtils.ColoredString($" ==> Getting project root directory... ", 0x80, 0xff, 0xff));
+ var rootDir = JsonSerializer.Deserialize(Util.GetCommandOutputSync("nix", $"eval --json .#packages.x86_64-linux.{outp}.srcRoot", silent: true, stderr: false)).Split("/extra/admin-api/",2)[1];
+ Console.WriteLine(ConsoleUtils.ColoredString($"{rootDir}", 0x80, 0xff, 0xff));
+ if (rootDir.Length <= 1) throw new Exception("Invalid project file count?");
- var nugetDepsFilePath = Path.Combine(Path.GetDirectoryName(projectFiles[0]), "deps.json");
+ var nugetDepsFilePath = Path.Combine(rootDir, "deps.json");
Console.WriteLine(ConsoleUtils.ColoredString($" ==> {nugetDepsFilePath} exists: {File.Exists(nugetDepsFilePath)}", 0x80, 0xff, 0xff));
if (!File.Exists(nugetDepsFilePath)) {
Console.WriteLine(ConsoleUtils.ColoredString($" ==> No NuGet deps file, skipping!", 0xff, 0x80, 0x80));