mostly ignore files
This commit is contained in:
parent
7bf1613927
commit
5c3c4aef27
57
.gitignore
vendored
57
.gitignore
vendored
@ -1,4 +1,35 @@
|
|||||||
# ---> VisualStudio
|
# Created by https://www.toptal.com/developers/gitignore/api/dotnetcore,visualstudiocode,visualstudio
|
||||||
|
# Edit at https://www.toptal.com/developers/gitignore?templates=dotnetcore,visualstudiocode,visualstudio
|
||||||
|
|
||||||
|
### DotnetCore ###
|
||||||
|
# .NET Core build folders
|
||||||
|
bin/
|
||||||
|
obj/
|
||||||
|
|
||||||
|
# Common node modules locations
|
||||||
|
/node_modules
|
||||||
|
/wwwroot/node_modules
|
||||||
|
|
||||||
|
### VisualStudioCode ###
|
||||||
|
.vscode/*
|
||||||
|
!.vscode/settings.json
|
||||||
|
!.vscode/tasks.json
|
||||||
|
!.vscode/launch.json
|
||||||
|
!.vscode/extensions.json
|
||||||
|
!.vscode/*.code-snippets
|
||||||
|
|
||||||
|
# Local History for Visual Studio Code
|
||||||
|
.history/
|
||||||
|
|
||||||
|
# Built Visual Studio Code Extensions
|
||||||
|
*.vsix
|
||||||
|
|
||||||
|
### VisualStudioCode Patch ###
|
||||||
|
# Ignore all local history of files
|
||||||
|
.history
|
||||||
|
.ionide
|
||||||
|
|
||||||
|
### VisualStudio ###
|
||||||
## Ignore Visual Studio temporary files, build results, and
|
## Ignore Visual Studio temporary files, build results, and
|
||||||
## files generated by popular Visual Studio add-ons.
|
## files generated by popular Visual Studio add-ons.
|
||||||
##
|
##
|
||||||
@ -303,8 +334,6 @@ node_modules/
|
|||||||
*.dsp
|
*.dsp
|
||||||
|
|
||||||
# Visual Studio 6 technical files
|
# Visual Studio 6 technical files
|
||||||
*.ncb
|
|
||||||
*.aps
|
|
||||||
|
|
||||||
# Visual Studio LightSwitch build output
|
# Visual Studio LightSwitch build output
|
||||||
**/*.HTMLClient/GeneratedArtifacts
|
**/*.HTMLClient/GeneratedArtifacts
|
||||||
@ -378,15 +407,9 @@ MigrationBackup/
|
|||||||
FodyWeavers.xsd
|
FodyWeavers.xsd
|
||||||
|
|
||||||
# VS Code files for those working on multiple tools
|
# VS Code files for those working on multiple tools
|
||||||
.vscode/*
|
|
||||||
!.vscode/settings.json
|
|
||||||
!.vscode/tasks.json
|
|
||||||
!.vscode/launch.json
|
|
||||||
!.vscode/extensions.json
|
|
||||||
*.code-workspace
|
*.code-workspace
|
||||||
|
|
||||||
# Local History for Visual Studio Code
|
# Local History for Visual Studio Code
|
||||||
.history/
|
|
||||||
|
|
||||||
# Windows Installer files from build outputs
|
# Windows Installer files from build outputs
|
||||||
*.cab
|
*.cab
|
||||||
@ -398,17 +421,7 @@ FodyWeavers.xsd
|
|||||||
# JetBrains Rider
|
# JetBrains Rider
|
||||||
*.sln.iml
|
*.sln.iml
|
||||||
|
|
||||||
# ---> VisualStudioCode
|
### VisualStudio Patch ###
|
||||||
.vscode/*
|
# Additional files built by Visual Studio
|
||||||
!.vscode/settings.json
|
|
||||||
!.vscode/tasks.json
|
|
||||||
!.vscode/launch.json
|
|
||||||
!.vscode/extensions.json
|
|
||||||
!.vscode/*.code-snippets
|
|
||||||
|
|
||||||
# Local History for Visual Studio Code
|
|
||||||
.history/
|
|
||||||
|
|
||||||
# Built Visual Studio Code Extensions
|
|
||||||
*.vsix
|
|
||||||
|
|
||||||
|
# End of https://www.toptal.com/developers/gitignore/api/dotnetcore,visualstudiocode,visualstudio
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,484 +0,0 @@
|
|||||||
{
|
|
||||||
"Version": 1,
|
|
||||||
"WorkspaceRootPath": "C:\\Users\\khouw\\source\\repos\\Medusa\\",
|
|
||||||
"Documents": [
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|c:\\users\\khouw\\source\\repos\\medusa\\medusa.core\\endpoints\\postcoreendpoint.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
|
||||||
"RelativeMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|solutionrelative:medusa.core\\endpoints\\postcoreendpoint.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|c:\\users\\khouw\\source\\repos\\medusa\\medusa.core\\handlers\\common\\card\\getrefidcardmanagmenthandler.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
|
||||||
"RelativeMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|solutionrelative:medusa.core\\handlers\\common\\card\\getrefidcardmanagmenthandler.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|c:\\users\\khouw\\source\\repos\\medusa\\medusa.core\\handlers\\common\\card\\inquirecardmanagmenthandler.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
|
||||||
"RelativeMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|solutionrelative:medusa.core\\handlers\\common\\card\\inquirecardmanagmenthandler.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|c:\\users\\khouw\\source\\repos\\medusa\\medusa.core\\handlers\\common\\putpcbeventhandler.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
|
||||||
"RelativeMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|solutionrelative:medusa.core\\handlers\\common\\putpcbeventhandler.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|c:\\users\\khouw\\source\\repos\\medusa\\medusa.core\\services\\handlerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
|
||||||
"RelativeMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|solutionrelative:medusa.core\\services\\handlerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|c:\\users\\khouw\\source\\repos\\medusa\\medusa.core\\handlers\\common\\card\\authpasscardmanagmenthandker.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
|
||||||
"RelativeMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|solutionrelative:medusa.core\\handlers\\common\\card\\authpasscardmanagmenthandker.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|c:\\users\\khouw\\source\\repos\\medusa\\medusa.core\\middlewares\\bodyparsingmiddleware.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
|
||||||
"RelativeMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|solutionrelative:medusa.core\\middlewares\\bodyparsingmiddleware.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|c:\\users\\khouw\\source\\repos\\medusa\\medusa.core\\handlers\\common\\otaupdates\\progressdlstatushandler.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
|
||||||
"RelativeMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|solutionrelative:medusa.core\\handlers\\common\\otaupdates\\progressdlstatushandler.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|c:\\users\\khouw\\source\\repos\\medusa\\medusa.core\\handlers\\common\\otaupdates\\listpackagehandler.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
|
||||||
"RelativeMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|solutionrelative:medusa.core\\handlers\\common\\otaupdates\\listpackagehandler.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|c:\\users\\khouw\\source\\repos\\medusa\\medusa.core\\handlers\\common\\getfacilityhandler.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
|
||||||
"RelativeMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|solutionrelative:medusa.core\\handlers\\common\\getfacilityhandler.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\khouw\\AppData\\Local\\SourceServer\\edb40751fff708a3da4e147a6af0640ab794d0ccebd8fd133c6b820cb9c77107\\Src\\Library\\Endpoint\\Endpoint.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|c:\\users\\khouw\\source\\repos\\medusa\\medusa.core\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
|
||||||
"RelativeMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|solutionrelative:medusa.core\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|c:\\users\\khouw\\source\\repos\\medusa\\medusa.core\\handlers\\common\\alivepcbtrackerhandler.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
|
||||||
"RelativeMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|solutionrelative:medusa.core\\handlers\\common\\alivepcbtrackerhandler.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\khouw\\AppData\\Local\\SourceServer\\909cacc2478379831232b3434105b37c53f0813049ac57e89232bb02b7970cfc\\src\\libraries\\System.Private.CoreLib\\src\\System\\Threading\\ThreadPoolWorkQueue.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|c:\\users\\khouw\\source\\repos\\medusa\\medusa.core\\services\\ihandlerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
|
||||||
"RelativeMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|solutionrelative:medusa.core\\services\\ihandlerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|c:\\users\\khouw\\source\\repos\\medusa\\medusa.core\\handlers\\ihandler.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
|
||||||
"RelativeMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|solutionrelative:medusa.core\\handlers\\ihandler.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|c:\\users\\khouw\\source\\repos\\medusa\\medusa.core\\medusa.core.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}",
|
|
||||||
"RelativeMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|solutionrelative:medusa.core\\medusa.core.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|c:\\users\\khouw\\source\\repos\\medusa\\medusa.core\\handlers\\boot\\getserviceshandler.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
|
||||||
"RelativeMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|solutionrelative:medusa.core\\handlers\\boot\\getserviceshandler.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|c:\\users\\khouw\\source\\repos\\medusa\\medusa.core\\attributes\\handlerattribute.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
|
||||||
"RelativeMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|solutionrelative:medusa.core\\attributes\\handlerattribute.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{724FCE14-F3AC-4A5B-9F96-5F4BE90A6DCD}|Medusa.Web\\Server\\Medusa.Web.Server.csproj|c:\\users\\khouw\\source\\repos\\medusa\\medusa.web\\server\\medusa.web.server.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
|
|
||||||
"RelativeMoniker": "D:0:0:{724FCE14-F3AC-4A5B-9F96-5F4BE90A6DCD}|Medusa.Web\\Server\\Medusa.Web.Server.csproj|solutionrelative:medusa.web\\server\\medusa.web.server.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|c:\\users\\khouw\\source\\repos\\medusa\\medusa.core\\extensions\\servicecollectionextensions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
|
||||||
"RelativeMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|solutionrelative:medusa.core\\extensions\\servicecollectionextensions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\khouw\\AppData\\Local\\SourceServer\\af48b09c27d6b8e92adb20818ef3216dfd1c27ffe9efb5641d9c6859ac675ace\\src\\coreclr\\System.Private.CoreLib\\src\\System\\Threading\\Monitor.CoreCLR.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|c:\\users\\khouw\\source\\repos\\medusa\\medusa.core\\extensions\\applicationbuilderextensions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
|
||||||
"RelativeMoniker": "D:0:0:{8C5A78E1-FAC6-487B-8C9F-FAA2A3F2C49D}|Medusa.Core\\Medusa.Core.csproj|solutionrelative:medusa.core\\extensions\\applicationbuilderextensions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{7117790F-732B-4FD4-B2D5-8303D4C6DB46}|Medusa.AppHost\\Medusa.AppHost.csproj|c:\\users\\khouw\\source\\repos\\medusa\\medusa.apphost\\appsettings.development.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
|
|
||||||
"RelativeMoniker": "D:0:0:{7117790F-732B-4FD4-B2D5-8303D4C6DB46}|Medusa.AppHost\\Medusa.AppHost.csproj|solutionrelative:medusa.apphost\\appsettings.development.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{7117790F-732B-4FD4-B2D5-8303D4C6DB46}|Medusa.AppHost\\Medusa.AppHost.csproj|c:\\users\\khouw\\source\\repos\\medusa\\medusa.apphost\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
|
||||||
"RelativeMoniker": "D:0:0:{7117790F-732B-4FD4-B2D5-8303D4C6DB46}|Medusa.AppHost\\Medusa.AppHost.csproj|solutionrelative:medusa.apphost\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{7117790F-732B-4FD4-B2D5-8303D4C6DB46}|Medusa.AppHost\\Medusa.AppHost.csproj|c:\\users\\khouw\\source\\repos\\medusa\\medusa.apphost\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
|
|
||||||
"RelativeMoniker": "D:0:0:{7117790F-732B-4FD4-B2D5-8303D4C6DB46}|Medusa.AppHost\\Medusa.AppHost.csproj|solutionrelative:medusa.apphost\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{7117790F-732B-4FD4-B2D5-8303D4C6DB46}|Medusa.AppHost\\Medusa.AppHost.csproj|c:\\users\\khouw\\source\\repos\\medusa\\medusa.apphost\\medusa.apphost.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
|
|
||||||
"RelativeMoniker": "D:0:0:{7117790F-732B-4FD4-B2D5-8303D4C6DB46}|Medusa.AppHost\\Medusa.AppHost.csproj|solutionrelative:medusa.apphost\\medusa.apphost.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\khouw\\.nuget\\packages\\aspire.hosting.apphost\\8.0.0\\build\\Aspire.Hosting.AppHost.targets||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"DocumentGroupContainers": [
|
|
||||||
{
|
|
||||||
"Orientation": 0,
|
|
||||||
"VerticalTabListWidth": 256,
|
|
||||||
"DocumentGroups": [
|
|
||||||
{
|
|
||||||
"DockedWidth": 200,
|
|
||||||
"SelectedChildIndex": 8,
|
|
||||||
"Children": [
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 1,
|
|
||||||
"Title": "GetRefIdCardManagmentHandler.cs",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Handlers\\Common\\Card\\GetRefIdCardManagmentHandler.cs",
|
|
||||||
"RelativeDocumentMoniker": "Medusa.Core\\Handlers\\Common\\Card\\GetRefIdCardManagmentHandler.cs",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Handlers\\Common\\Card\\GetRefIdCardManagmentHandler.cs",
|
|
||||||
"RelativeToolTip": "Medusa.Core\\Handlers\\Common\\Card\\GetRefIdCardManagmentHandler.cs",
|
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAABkAAAAMAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2024-08-13T22:48:34.622Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 3,
|
|
||||||
"Title": "PutPcbEventHandler.cs",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Handlers\\Common\\PutPcbEventHandler.cs",
|
|
||||||
"RelativeDocumentMoniker": "Medusa.Core\\Handlers\\Common\\PutPcbEventHandler.cs",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Handlers\\Common\\PutPcbEventHandler.cs",
|
|
||||||
"RelativeToolTip": "Medusa.Core\\Handlers\\Common\\PutPcbEventHandler.cs",
|
|
||||||
"ViewState": "AQIAAAwAAAAAAAAAAAAcwBoAAAAMAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2024-08-13T21:33:24.752Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 17,
|
|
||||||
"Title": "GetServicesHandler.cs",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Handlers\\Boot\\GetServicesHandler.cs",
|
|
||||||
"RelativeDocumentMoniker": "Medusa.Core\\Handlers\\Boot\\GetServicesHandler.cs",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Handlers\\Boot\\GetServicesHandler.cs",
|
|
||||||
"RelativeToolTip": "Medusa.Core\\Handlers\\Boot\\GetServicesHandler.cs",
|
|
||||||
"ViewState": "AQIAABYAAAAAAAAAAAAAAA4AAAA0AAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2024-08-13T08:16:00.258Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 18,
|
|
||||||
"Title": "HandlerAttribute.cs",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Attributes\\HandlerAttribute.cs",
|
|
||||||
"RelativeDocumentMoniker": "Medusa.Core\\Attributes\\HandlerAttribute.cs",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Attributes\\HandlerAttribute.cs",
|
|
||||||
"RelativeToolTip": "Medusa.Core\\Attributes\\HandlerAttribute.cs",
|
|
||||||
"ViewState": "AQIAAAEAAAAAAAAAAAAAAAMAAAARAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2024-08-12T23:10:43.098Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 4,
|
|
||||||
"Title": "HandlerService.cs",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Services\\HandlerService.cs",
|
|
||||||
"RelativeDocumentMoniker": "Medusa.Core\\Services\\HandlerService.cs",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Services\\HandlerService.cs",
|
|
||||||
"RelativeToolTip": "Medusa.Core\\Services\\HandlerService.cs",
|
|
||||||
"ViewState": "AQIAAAsAAAAAAAAAAAAqwCEAAAAUAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2024-08-12T11:03:18.969Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 2,
|
|
||||||
"Title": "InquireCardManagmentHandler.cs",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Handlers\\Common\\Card\\InquireCardManagmentHandler.cs",
|
|
||||||
"RelativeDocumentMoniker": "Medusa.Core\\Handlers\\Common\\Card\\InquireCardManagmentHandler.cs",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Handlers\\Common\\Card\\InquireCardManagmentHandler.cs",
|
|
||||||
"RelativeToolTip": "Medusa.Core\\Handlers\\Common\\Card\\InquireCardManagmentHandler.cs",
|
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAsAAABJAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2024-08-13T21:51:38.752Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 5,
|
|
||||||
"Title": "AuthPassCardManagmentHandker.cs",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Handlers\\Common\\Card\\AuthPassCardManagmentHandker.cs",
|
|
||||||
"RelativeDocumentMoniker": "Medusa.Core\\Handlers\\Common\\Card\\AuthPassCardManagmentHandker.cs",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Handlers\\Common\\Card\\AuthPassCardManagmentHandker.cs",
|
|
||||||
"RelativeToolTip": "Medusa.Core\\Handlers\\Common\\Card\\AuthPassCardManagmentHandker.cs",
|
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAwAAABCAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2024-08-13T21:55:49.315Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 11,
|
|
||||||
"Title": "Program.cs",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Program.cs",
|
|
||||||
"RelativeDocumentMoniker": "Medusa.Core\\Program.cs",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Program.cs",
|
|
||||||
"RelativeToolTip": "Medusa.Core\\Program.cs",
|
|
||||||
"ViewState": "AQIAAAcAAAAAAAAAAAAAABUAAAArAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2024-08-12T11:00:55.364Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 0,
|
|
||||||
"Title": "PostCoreEndpoint.cs",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Endpoints\\PostCoreEndpoint.cs",
|
|
||||||
"RelativeDocumentMoniker": "Medusa.Core\\Endpoints\\PostCoreEndpoint.cs",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Endpoints\\PostCoreEndpoint.cs",
|
|
||||||
"RelativeToolTip": "Medusa.Core\\Endpoints\\PostCoreEndpoint.cs",
|
|
||||||
"ViewState": "AQIAACkAAAAAAAAAAAAAAEIAAABtAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2024-08-12T10:59:18.037Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 7,
|
|
||||||
"Title": "ProgressDLStatusHandler.cs",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Handlers\\Common\\OTAUpdates\\ProgressDLStatusHandler.cs",
|
|
||||||
"RelativeDocumentMoniker": "Medusa.Core\\Handlers\\Common\\OTAUpdates\\ProgressDLStatusHandler.cs",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Handlers\\Common\\OTAUpdates\\ProgressDLStatusHandler.cs",
|
|
||||||
"RelativeToolTip": "Medusa.Core\\Handlers\\Common\\OTAUpdates\\ProgressDLStatusHandler.cs",
|
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAABAAAAAtAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2024-08-13T21:41:53.975Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 15,
|
|
||||||
"Title": "IHandler.cs",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Handlers\\IHandler.cs",
|
|
||||||
"RelativeDocumentMoniker": "Medusa.Core\\Handlers\\IHandler.cs",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Handlers\\IHandler.cs",
|
|
||||||
"RelativeToolTip": "Medusa.Core\\Handlers\\IHandler.cs",
|
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAYAAAAjAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2024-08-12T23:11:03.231Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 6,
|
|
||||||
"Title": "BodyParsingMiddleware.cs",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Middlewares\\BodyParsingMiddleware.cs",
|
|
||||||
"RelativeDocumentMoniker": "Medusa.Core\\Middlewares\\BodyParsingMiddleware.cs",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Middlewares\\BodyParsingMiddleware.cs",
|
|
||||||
"RelativeToolTip": "Medusa.Core\\Middlewares\\BodyParsingMiddleware.cs",
|
|
||||||
"ViewState": "AQIAAAgAAAAAAAAAAAAuwCYAAABXAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2024-08-12T23:21:31.455Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 8,
|
|
||||||
"Title": "ListPackageHandler.cs",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Handlers\\Common\\OTAUpdates\\ListPackageHandler.cs",
|
|
||||||
"RelativeDocumentMoniker": "Medusa.Core\\Handlers\\Common\\OTAUpdates\\ListPackageHandler.cs",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Handlers\\Common\\OTAUpdates\\ListPackageHandler.cs",
|
|
||||||
"RelativeToolTip": "Medusa.Core\\Handlers\\Common\\OTAUpdates\\ListPackageHandler.cs",
|
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAABQAAAAAAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2024-08-13T19:55:09.71Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 12,
|
|
||||||
"Title": "AlivePcbTrackerHandler.cs",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Handlers\\Common\\AlivePcbTrackerHandler.cs",
|
|
||||||
"RelativeDocumentMoniker": "Medusa.Core\\Handlers\\Common\\AlivePcbTrackerHandler.cs",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Handlers\\Common\\AlivePcbTrackerHandler.cs",
|
|
||||||
"RelativeToolTip": "Medusa.Core\\Handlers\\Common\\AlivePcbTrackerHandler.cs",
|
|
||||||
"ViewState": "AQIAAAYAAAAAAAAAAAAtwA0AAAAIAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2024-08-13T12:47:03.969Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 9,
|
|
||||||
"Title": "GetFacilityHandler.cs",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Handlers\\Common\\GetFacilityHandler.cs",
|
|
||||||
"RelativeDocumentMoniker": "Medusa.Core\\Handlers\\Common\\GetFacilityHandler.cs",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Handlers\\Common\\GetFacilityHandler.cs",
|
|
||||||
"RelativeToolTip": "Medusa.Core\\Handlers\\Common\\GetFacilityHandler.cs",
|
|
||||||
"ViewState": "AQIAACUAAAAAAAAAAAAAAD0AAAAMAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2024-08-13T13:00:35.411Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 10,
|
|
||||||
"Title": "Endpoint.cs",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\AppData\\Local\\SourceServer\\edb40751fff708a3da4e147a6af0640ab794d0ccebd8fd133c6b820cb9c77107\\Src\\Library\\Endpoint\\Endpoint.cs",
|
|
||||||
"RelativeDocumentMoniker": "..\\..\\..\\AppData\\Local\\SourceServer\\edb40751fff708a3da4e147a6af0640ab794d0ccebd8fd133c6b820cb9c77107\\Src\\Library\\Endpoint\\Endpoint.cs",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\AppData\\Local\\SourceServer\\edb40751fff708a3da4e147a6af0640ab794d0ccebd8fd133c6b820cb9c77107\\Src\\Library\\Endpoint\\Endpoint.cs",
|
|
||||||
"RelativeToolTip": "..\\..\\..\\AppData\\Local\\SourceServer\\edb40751fff708a3da4e147a6af0640ab794d0ccebd8fd133c6b820cb9c77107\\Src\\Library\\Endpoint\\Endpoint.cs",
|
|
||||||
"ViewState": "AQIAAE0AAAAAAAAAAAAqwF4AAAAQAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2024-08-13T19:54:06.74Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 13,
|
|
||||||
"Title": "ThreadPoolWorkQueue.cs",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\AppData\\Local\\SourceServer\\909cacc2478379831232b3434105b37c53f0813049ac57e89232bb02b7970cfc\\src\\libraries\\System.Private.CoreLib\\src\\System\\Threading\\ThreadPoolWorkQueue.cs",
|
|
||||||
"RelativeDocumentMoniker": "..\\..\\..\\AppData\\Local\\SourceServer\\909cacc2478379831232b3434105b37c53f0813049ac57e89232bb02b7970cfc\\src\\libraries\\System.Private.CoreLib\\src\\System\\Threading\\ThreadPoolWorkQueue.cs",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\AppData\\Local\\SourceServer\\909cacc2478379831232b3434105b37c53f0813049ac57e89232bb02b7970cfc\\src\\libraries\\System.Private.CoreLib\\src\\System\\Threading\\ThreadPoolWorkQueue.cs",
|
|
||||||
"RelativeToolTip": "..\\..\\..\\AppData\\Local\\SourceServer\\909cacc2478379831232b3434105b37c53f0813049ac57e89232bb02b7970cfc\\src\\libraries\\System.Private.CoreLib\\src\\System\\Threading\\ThreadPoolWorkQueue.cs",
|
|
||||||
"ViewState": "AQIAAH0DAAAAAAAAAAApwJADAAAUAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2024-08-13T19:54:10.357Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 14,
|
|
||||||
"Title": "IHandlerService.cs",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Services\\IHandlerService.cs",
|
|
||||||
"RelativeDocumentMoniker": "Medusa.Core\\Services\\IHandlerService.cs",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Services\\IHandlerService.cs",
|
|
||||||
"RelativeToolTip": "Medusa.Core\\Services\\IHandlerService.cs",
|
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAgAAAAYAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2024-08-12T11:03:19.833Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 16,
|
|
||||||
"Title": "Medusa.Core",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Medusa.Core.csproj",
|
|
||||||
"RelativeDocumentMoniker": "Medusa.Core\\Medusa.Core.csproj",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Medusa.Core.csproj",
|
|
||||||
"RelativeToolTip": "Medusa.Core\\Medusa.Core.csproj",
|
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAoAAAANAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
|
|
||||||
"WhenOpened": "2024-08-13T18:12:47.277Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 20,
|
|
||||||
"Title": "ServiceCollectionExtensions.cs",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Extensions\\ServiceCollectionExtensions.cs",
|
|
||||||
"RelativeDocumentMoniker": "Medusa.Core\\Extensions\\ServiceCollectionExtensions.cs",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Extensions\\ServiceCollectionExtensions.cs",
|
|
||||||
"RelativeToolTip": "Medusa.Core\\Extensions\\ServiceCollectionExtensions.cs",
|
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAgAAAB7AAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2024-08-12T11:01:45.739Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 19,
|
|
||||||
"Title": "Medusa.Web.Server.csproj",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Web\\Server\\Medusa.Web.Server.csproj",
|
|
||||||
"RelativeDocumentMoniker": "Medusa.Web\\Server\\Medusa.Web.Server.csproj",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Web\\Server\\Medusa.Web.Server.csproj",
|
|
||||||
"RelativeToolTip": "Medusa.Web\\Server\\Medusa.Web.Server.csproj",
|
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAkAAAAgAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
|
|
||||||
"WhenOpened": "2024-08-13T10:49:04.975Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 21,
|
|
||||||
"Title": "Monitor.CoreCLR.cs",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\AppData\\Local\\SourceServer\\af48b09c27d6b8e92adb20818ef3216dfd1c27ffe9efb5641d9c6859ac675ace\\src\\coreclr\\System.Private.CoreLib\\src\\System\\Threading\\Monitor.CoreCLR.cs",
|
|
||||||
"RelativeDocumentMoniker": "..\\..\\..\\AppData\\Local\\SourceServer\\af48b09c27d6b8e92adb20818ef3216dfd1c27ffe9efb5641d9c6859ac675ace\\src\\coreclr\\System.Private.CoreLib\\src\\System\\Threading\\Monitor.CoreCLR.cs",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\AppData\\Local\\SourceServer\\af48b09c27d6b8e92adb20818ef3216dfd1c27ffe9efb5641d9c6859ac675ace\\src\\coreclr\\System.Private.CoreLib\\src\\System\\Threading\\Monitor.CoreCLR.cs",
|
|
||||||
"RelativeToolTip": "..\\..\\..\\AppData\\Local\\SourceServer\\af48b09c27d6b8e92adb20818ef3216dfd1c27ffe9efb5641d9c6859ac675ace\\src\\coreclr\\System.Private.CoreLib\\src\\System\\Threading\\Monitor.CoreCLR.cs",
|
|
||||||
"ViewState": "AQIAAI0AAAAAAAAAAAAawJsAAAAMAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2024-08-13T09:13:59.869Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 22,
|
|
||||||
"Title": "ApplicationBuilderExtensions.cs",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Extensions\\ApplicationBuilderExtensions.cs",
|
|
||||||
"RelativeDocumentMoniker": "Medusa.Core\\Extensions\\ApplicationBuilderExtensions.cs",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.Core\\Extensions\\ApplicationBuilderExtensions.cs",
|
|
||||||
"RelativeToolTip": "Medusa.Core\\Extensions\\ApplicationBuilderExtensions.cs",
|
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAkAAAAIAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2024-08-12T11:02:04.376Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 27,
|
|
||||||
"Title": "Aspire.Hosting.AppHost.targets",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\.nuget\\packages\\aspire.hosting.apphost\\8.0.0\\build\\Aspire.Hosting.AppHost.targets",
|
|
||||||
"RelativeDocumentMoniker": "..\\..\\..\\.nuget\\packages\\aspire.hosting.apphost\\8.0.0\\build\\Aspire.Hosting.AppHost.targets",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\.nuget\\packages\\aspire.hosting.apphost\\8.0.0\\build\\Aspire.Hosting.AppHost.targets",
|
|
||||||
"RelativeToolTip": "..\\..\\..\\.nuget\\packages\\aspire.hosting.apphost\\8.0.0\\build\\Aspire.Hosting.AppHost.targets",
|
|
||||||
"ViewState": "AQIAAIsAAAAAAAAAAAAvwJ8AAAAEAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003801|",
|
|
||||||
"WhenOpened": "2024-08-13T08:26:18.975Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 26,
|
|
||||||
"Title": "Medusa.AppHost.csproj",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.AppHost\\Medusa.AppHost.csproj",
|
|
||||||
"RelativeDocumentMoniker": "Medusa.AppHost\\Medusa.AppHost.csproj",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.AppHost\\Medusa.AppHost.csproj",
|
|
||||||
"RelativeToolTip": "Medusa.AppHost\\Medusa.AppHost.csproj",
|
|
||||||
"ViewState": "AQIAAAMAAAAAAAAAAAAAABEAAAAtAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
|
|
||||||
"WhenOpened": "2024-08-13T08:26:41.884Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 25,
|
|
||||||
"Title": "appsettings.json",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.AppHost\\appsettings.json",
|
|
||||||
"RelativeDocumentMoniker": "Medusa.AppHost\\appsettings.json",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.AppHost\\appsettings.json",
|
|
||||||
"RelativeToolTip": "Medusa.AppHost\\appsettings.json",
|
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
|
|
||||||
"WhenOpened": "2024-08-13T08:27:17.321Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 23,
|
|
||||||
"Title": "appsettings.Development.json",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.AppHost\\appsettings.Development.json",
|
|
||||||
"RelativeDocumentMoniker": "Medusa.AppHost\\appsettings.Development.json",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.AppHost\\appsettings.Development.json",
|
|
||||||
"RelativeToolTip": "Medusa.AppHost\\appsettings.Development.json",
|
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAkAAAADAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
|
|
||||||
"WhenOpened": "2024-08-13T08:27:18.677Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 24,
|
|
||||||
"Title": "Program.cs",
|
|
||||||
"DocumentMoniker": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.AppHost\\Program.cs",
|
|
||||||
"RelativeDocumentMoniker": "Medusa.AppHost\\Program.cs",
|
|
||||||
"ToolTip": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.AppHost\\Program.cs",
|
|
||||||
"RelativeToolTip": "Medusa.AppHost\\Program.cs",
|
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAQAAAApAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2024-08-13T08:28:18.103Z"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -11,10 +11,14 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Aspire.Hosting.AppHost" Version="8.0.0" />
|
<PackageReference Include="Aspire.Hosting.AppHost" Version="8.0.0" />
|
||||||
|
<PackageReference Include="Aspire.Hosting.PostgreSQL" Version="8.1.0" />
|
||||||
|
<PackageReference Include="Aspire.Hosting.RabbitMQ" Version="8.1.0" />
|
||||||
|
<PackageReference Include="Aspire.Hosting.Redis" Version="8.1.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\Medusa.Core\Medusa.Core.csproj" />
|
<ProjectReference Include="..\Medusa.Core\Medusa.Core.csproj" />
|
||||||
|
<ProjectReference Include="..\Medusa.Data\Medusa.Data.csproj" />
|
||||||
<ProjectReference Include="..\Medusa.Web\Server\Medusa.Web.Server.csproj" />
|
<ProjectReference Include="..\Medusa.Web\Server\Medusa.Web.Server.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
@ -1,12 +1,38 @@
|
|||||||
using Aspire.Hosting;
|
using Aspire.Hosting;
|
||||||
|
using Medusa.AppHost;
|
||||||
|
|
||||||
var builder = DistributedApplication.CreateBuilder(args);
|
var builder = DistributedApplication.CreateBuilder(args);
|
||||||
|
|
||||||
var weburl = builder.AddParameter("weburl");
|
var weburl = builder.AddParameter("weburl");
|
||||||
|
|
||||||
|
var dbVolumeName = "MedusaDB";
|
||||||
|
|
||||||
|
var cache = builder.AddRedis("cache")
|
||||||
|
.WithRedisCommander()
|
||||||
|
.WithOtlpExporter();
|
||||||
|
|
||||||
|
var postgres = builder.AddPostgres("database", password: builder.AddParameter("dbPass", true))
|
||||||
|
.WithDataVolume(dbVolumeName)
|
||||||
|
.WithPgAdmin()
|
||||||
|
.WithOtlpExporter();
|
||||||
|
|
||||||
|
var messenger = builder.AddRabbitMQ("messenger")
|
||||||
|
.WithManagementPlugin()
|
||||||
|
.WithOtlpExporter();
|
||||||
|
|
||||||
|
var medusaDB = postgres.AddDatabase(dbVolumeName);
|
||||||
|
|
||||||
builder.AddProject<Projects.Medusa_Core>("Medusa-core")
|
builder.AddProject<Projects.Medusa_Core>("Medusa-core")
|
||||||
|
.WithReference(cache)
|
||||||
|
.WithReference(messenger)
|
||||||
.WithEnvironment("weburl", weburl);
|
.WithEnvironment("weburl", weburl);
|
||||||
|
|
||||||
builder.AddProject<Projects.Medusa_Web_Server>("Medusa-web-server");
|
builder.AddProject<Projects.Medusa_Web_Server>("Medusa-web-server");
|
||||||
|
|
||||||
|
builder.AddProject<Projects.Medusa_Data>("medusa-data")
|
||||||
|
.WithReference(cache)
|
||||||
|
.WithReference(messenger)
|
||||||
|
.WithReference(medusaDB)
|
||||||
|
.WaitOn(postgres);
|
||||||
|
|
||||||
builder.Build().Run();
|
builder.Build().Run();
|
||||||
|
223
Medusa.AppHost/WaitForDependenciesExtensions.cs
Normal file
223
Medusa.AppHost/WaitForDependenciesExtensions.cs
Normal file
@ -0,0 +1,223 @@
|
|||||||
|
using System.Collections.Concurrent;
|
||||||
|
using System.Runtime.ExceptionServices;
|
||||||
|
using Aspire.Hosting.Lifecycle;
|
||||||
|
using Microsoft.Extensions.Diagnostics.HealthChecks;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
|
using Polly;
|
||||||
|
using Polly.Retry;
|
||||||
|
|
||||||
|
namespace Medusa.AppHost;
|
||||||
|
|
||||||
|
// An annotation that associates a health check factory with a resource
|
||||||
|
public class HealthCheckAnnotation(Func<string, IHealthCheck> healthCheckFactory) : IResourceAnnotation
|
||||||
|
{
|
||||||
|
public Func<string, IHealthCheck> HealthCheckFactory { get; } = healthCheckFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class WaitForDependenciesExtensions
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Wait for a resource to be running before starting another resource.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="T"></typeparam>
|
||||||
|
/// <param name="builder"></param>
|
||||||
|
/// <param name="other"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static IResourceBuilder<T> WaitOn<T>(this IResourceBuilder<T> builder, IResourceBuilder<IResource> other)
|
||||||
|
where T : IResource
|
||||||
|
{
|
||||||
|
builder.ApplicationBuilder.AddWaitForDependencies();
|
||||||
|
return builder.WithAnnotation(new WaitOnAnnotation(other.Resource));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Adds a lifecycle hook that waits for all dependencies to be "running" before starting resources. If that resource
|
||||||
|
/// has a health check, it will be executed before the resource is considered "running".
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="builder">The <see cref="IDistributedApplicationBuilder"/>.</param>
|
||||||
|
private static IDistributedApplicationBuilder AddWaitForDependencies(this IDistributedApplicationBuilder builder)
|
||||||
|
{
|
||||||
|
builder.Services.TryAddLifecycleHook<WaitForDependenciesRunningHook>();
|
||||||
|
return builder;
|
||||||
|
}
|
||||||
|
|
||||||
|
private class WaitOnAnnotation(IResource resource) : IResourceAnnotation
|
||||||
|
{
|
||||||
|
public IResource Resource { get; } = resource;
|
||||||
|
}
|
||||||
|
|
||||||
|
private class WaitForDependenciesRunningHook(DistributedApplicationExecutionContext executionContext,
|
||||||
|
ResourceNotificationService resourceNotificationService) :
|
||||||
|
IDistributedApplicationLifecycleHook,
|
||||||
|
IAsyncDisposable
|
||||||
|
{
|
||||||
|
private readonly CancellationTokenSource _cts = new();
|
||||||
|
|
||||||
|
public Task BeforeStartAsync(DistributedApplicationModel appModel, CancellationToken cancellationToken = default)
|
||||||
|
{
|
||||||
|
// We don't need to execute any of this logic in publish mode
|
||||||
|
if(executionContext.IsPublishMode)
|
||||||
|
{
|
||||||
|
return Task.CompletedTask;
|
||||||
|
}
|
||||||
|
|
||||||
|
// The global list of resources being waited on
|
||||||
|
var waitingResources = new ConcurrentDictionary<IResource, TaskCompletionSource>();
|
||||||
|
|
||||||
|
// For each resource, add an environment callback that waits for dependencies to be running
|
||||||
|
foreach(var r in appModel.Resources)
|
||||||
|
{
|
||||||
|
var resourcesToWaitOn = r.Annotations.OfType<WaitOnAnnotation>().Select(a => a.Resource).Distinct().ToArray();
|
||||||
|
|
||||||
|
if(resourcesToWaitOn.Length == 0)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Abuse the environment callback to wait for dependencies to be running
|
||||||
|
|
||||||
|
r.Annotations.Add(new EnvironmentCallbackAnnotation(async context =>
|
||||||
|
{
|
||||||
|
var dependencies = new List<Task>();
|
||||||
|
|
||||||
|
// Find connection strings and endpoint references and get the resource they point to
|
||||||
|
foreach(var resource in resourcesToWaitOn)
|
||||||
|
{
|
||||||
|
// REVIEW: This logic does not handle cycles in the dependency graph (that would result in a deadlock)
|
||||||
|
|
||||||
|
// Don't wait for yourself
|
||||||
|
if(resource != r && resource is not null)
|
||||||
|
{
|
||||||
|
context.Logger?.LogInformation("Waiting for {Resource} to be running", resource.Name);
|
||||||
|
|
||||||
|
dependencies.Add(waitingResources.GetOrAdd(resource, _ => new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously)).Task);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
await Task.WhenAll(dependencies).WaitAsync(context.CancellationToken);
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
|
_ = Task.Run(async () =>
|
||||||
|
{
|
||||||
|
var stoppingToken = _cts.Token;
|
||||||
|
|
||||||
|
// Watch for global resource state changes
|
||||||
|
await foreach(var resourceEvent in resourceNotificationService.WatchAsync(stoppingToken))
|
||||||
|
{
|
||||||
|
// These states are terminal but we need a better way to detect that
|
||||||
|
if(resourceEvent.Snapshot.State == "FailedToStart" ||
|
||||||
|
resourceEvent.Snapshot.State == "Exited" ||
|
||||||
|
resourceEvent.Snapshot.ExitCode is not null)
|
||||||
|
{
|
||||||
|
if(waitingResources.TryRemove(resourceEvent.Resource, out var tcs))
|
||||||
|
{
|
||||||
|
tcs.TrySetCanceled();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(resourceEvent.Snapshot.State == "Running" && waitingResources.TryRemove(resourceEvent.Resource, out var tcs))
|
||||||
|
{
|
||||||
|
_ = DoTheHealthCheck(resourceEvent, tcs);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
cancellationToken);
|
||||||
|
|
||||||
|
return Task.CompletedTask;
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task DoTheHealthCheck(ResourceEvent resourceEvent, TaskCompletionSource tcs)
|
||||||
|
{
|
||||||
|
var url = resourceEvent.Snapshot.Urls.Select(u => new Uri(u.Url)).FirstOrDefault();
|
||||||
|
|
||||||
|
resourceEvent.Resource.TryGetLastAnnotation<HealthCheckAnnotation>(out var healthCheckAnnotation);
|
||||||
|
|
||||||
|
Func<CancellationToken, ValueTask>? operation = (url?.Scheme, healthCheckAnnotation?.HealthCheckFactory) switch
|
||||||
|
{
|
||||||
|
("http" or "https", null) => async (ct) =>
|
||||||
|
{
|
||||||
|
// For an HTTP resource, see if we can make a request to the endpoint
|
||||||
|
using var client = new HttpClient();
|
||||||
|
var response = await client.GetAsync(url, ct);
|
||||||
|
}
|
||||||
|
,
|
||||||
|
(_, Func<string, IHealthCheck> factory) => async (ct) =>
|
||||||
|
{
|
||||||
|
if(resourceEvent.Resource is not IResourceWithConnectionString c)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get the connection string from the resource so we can create the health check
|
||||||
|
// with the correct connection information
|
||||||
|
|
||||||
|
// TODO: We could cache this lookup
|
||||||
|
var cs = await c.GetConnectionStringAsync(ct);
|
||||||
|
|
||||||
|
if(cs is null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var check = factory(cs);
|
||||||
|
|
||||||
|
var context = new HealthCheckContext()
|
||||||
|
{
|
||||||
|
Registration = new HealthCheckRegistration("", check, HealthStatus.Unhealthy, [])
|
||||||
|
};
|
||||||
|
|
||||||
|
var result = await check.CheckHealthAsync(context, ct);
|
||||||
|
|
||||||
|
if(result.Exception is not null)
|
||||||
|
{
|
||||||
|
ExceptionDispatchInfo.Throw(result.Exception);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(result.Status != HealthStatus.Healthy)
|
||||||
|
{
|
||||||
|
throw new Exception("Health check failed");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
,
|
||||||
|
_ => null,
|
||||||
|
};
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if(operation is not null)
|
||||||
|
{
|
||||||
|
await ResiliencePipeline.ExecuteAsync(operation);
|
||||||
|
}
|
||||||
|
|
||||||
|
tcs.TrySetResult();
|
||||||
|
}
|
||||||
|
catch(Exception ex)
|
||||||
|
{
|
||||||
|
tcs.TrySetException(ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private ResiliencePipeline? _resiliencePipeline;
|
||||||
|
private ResiliencePipeline ResiliencePipeline => _resiliencePipeline ??= CreateResiliencyPipeline();
|
||||||
|
|
||||||
|
private static ResiliencePipeline CreateResiliencyPipeline()
|
||||||
|
{
|
||||||
|
var retryUntilCancelled = new RetryStrategyOptions()
|
||||||
|
{
|
||||||
|
ShouldHandle = new PredicateBuilder().HandleInner<Exception>(),
|
||||||
|
BackoffType = DelayBackoffType.Exponential,
|
||||||
|
MaxRetryAttempts = 5,
|
||||||
|
UseJitter = true,
|
||||||
|
MaxDelay = TimeSpan.FromSeconds(30)
|
||||||
|
};
|
||||||
|
|
||||||
|
return new ResiliencePipelineBuilder().AddRetry(retryUntilCancelled).Build();
|
||||||
|
}
|
||||||
|
|
||||||
|
public ValueTask DisposeAsync()
|
||||||
|
{
|
||||||
|
_cts.Cancel();
|
||||||
|
return default;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -6,6 +6,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Parameters": {
|
"Parameters": {
|
||||||
|
"dbpass": "kay2001",
|
||||||
"weburl": "https://localhost"
|
"weburl": "https://localhost"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,914 +0,0 @@
|
|||||||
{
|
|
||||||
"runtimeTarget": {
|
|
||||||
"name": ".NETCoreApp,Version=v8.0",
|
|
||||||
"signature": ""
|
|
||||||
},
|
|
||||||
"compilationOptions": {},
|
|
||||||
"targets": {
|
|
||||||
".NETCoreApp,Version=v8.0": {
|
|
||||||
"Medusa.AppHost/1.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Aspire.Hosting.AppHost": "8.0.0"
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"Medusa.AppHost.dll": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Aspire.Hosting/8.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Grpc.AspNetCore": "2.60.0",
|
|
||||||
"KubernetesClient": "13.0.11",
|
|
||||||
"Microsoft.Extensions.Hosting": "8.0.0",
|
|
||||||
"Polly.Core": "8.3.1"
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"lib/net8.0/Aspire.Hosting.dll": {
|
|
||||||
"assemblyVersion": "8.0.0.0",
|
|
||||||
"fileVersion": "8.0.24.25802"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"resources": {
|
|
||||||
"lib/net8.0/cs/Aspire.Hosting.resources.dll": {
|
|
||||||
"locale": "cs"
|
|
||||||
},
|
|
||||||
"lib/net8.0/de/Aspire.Hosting.resources.dll": {
|
|
||||||
"locale": "de"
|
|
||||||
},
|
|
||||||
"lib/net8.0/es/Aspire.Hosting.resources.dll": {
|
|
||||||
"locale": "es"
|
|
||||||
},
|
|
||||||
"lib/net8.0/fr/Aspire.Hosting.resources.dll": {
|
|
||||||
"locale": "fr"
|
|
||||||
},
|
|
||||||
"lib/net8.0/it/Aspire.Hosting.resources.dll": {
|
|
||||||
"locale": "it"
|
|
||||||
},
|
|
||||||
"lib/net8.0/ja/Aspire.Hosting.resources.dll": {
|
|
||||||
"locale": "ja"
|
|
||||||
},
|
|
||||||
"lib/net8.0/ko/Aspire.Hosting.resources.dll": {
|
|
||||||
"locale": "ko"
|
|
||||||
},
|
|
||||||
"lib/net8.0/pl/Aspire.Hosting.resources.dll": {
|
|
||||||
"locale": "pl"
|
|
||||||
},
|
|
||||||
"lib/net8.0/pt-BR/Aspire.Hosting.resources.dll": {
|
|
||||||
"locale": "pt-BR"
|
|
||||||
},
|
|
||||||
"lib/net8.0/ru/Aspire.Hosting.resources.dll": {
|
|
||||||
"locale": "ru"
|
|
||||||
},
|
|
||||||
"lib/net8.0/tr/Aspire.Hosting.resources.dll": {
|
|
||||||
"locale": "tr"
|
|
||||||
},
|
|
||||||
"lib/net8.0/zh-Hans/Aspire.Hosting.resources.dll": {
|
|
||||||
"locale": "zh-Hans"
|
|
||||||
},
|
|
||||||
"lib/net8.0/zh-Hant/Aspire.Hosting.resources.dll": {
|
|
||||||
"locale": "zh-Hant"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Aspire.Hosting.AppHost/8.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Aspire.Hosting": "8.0.0"
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"lib/net8.0/Aspire.Hosting.AppHost.dll": {
|
|
||||||
"assemblyVersion": "8.0.0.0",
|
|
||||||
"fileVersion": "8.0.24.25802"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Fractions/7.3.0": {
|
|
||||||
"runtime": {
|
|
||||||
"lib/netstandard2.1/Fractions.dll": {
|
|
||||||
"assemblyVersion": "7.3.0.0",
|
|
||||||
"fileVersion": "7.3.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Google.Protobuf/3.24.0": {
|
|
||||||
"runtime": {
|
|
||||||
"lib/net5.0/Google.Protobuf.dll": {
|
|
||||||
"assemblyVersion": "3.24.0.0",
|
|
||||||
"fileVersion": "3.24.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Grpc.AspNetCore/2.60.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Google.Protobuf": "3.24.0",
|
|
||||||
"Grpc.AspNetCore.Server.ClientFactory": "2.60.0",
|
|
||||||
"Grpc.Tools": "2.60.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Grpc.AspNetCore.Server/2.60.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Grpc.Net.Common": "2.60.0"
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"lib/net8.0/Grpc.AspNetCore.Server.dll": {
|
|
||||||
"assemblyVersion": "2.0.0.0",
|
|
||||||
"fileVersion": "2.60.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Grpc.AspNetCore.Server.ClientFactory/2.60.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Grpc.AspNetCore.Server": "2.60.0",
|
|
||||||
"Grpc.Net.ClientFactory": "2.60.0"
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"lib/net8.0/Grpc.AspNetCore.Server.ClientFactory.dll": {
|
|
||||||
"assemblyVersion": "2.0.0.0",
|
|
||||||
"fileVersion": "2.60.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Grpc.Core.Api/2.60.0": {
|
|
||||||
"runtime": {
|
|
||||||
"lib/netstandard2.1/Grpc.Core.Api.dll": {
|
|
||||||
"assemblyVersion": "2.0.0.0",
|
|
||||||
"fileVersion": "2.60.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Grpc.Net.Client/2.60.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Grpc.Net.Common": "2.60.0",
|
|
||||||
"Microsoft.Extensions.Logging.Abstractions": "8.0.0"
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"lib/net8.0/Grpc.Net.Client.dll": {
|
|
||||||
"assemblyVersion": "2.0.0.0",
|
|
||||||
"fileVersion": "2.60.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Grpc.Net.ClientFactory/2.60.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Grpc.Net.Client": "2.60.0",
|
|
||||||
"Microsoft.Extensions.Http": "6.0.0"
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"lib/net8.0/Grpc.Net.ClientFactory.dll": {
|
|
||||||
"assemblyVersion": "2.0.0.0",
|
|
||||||
"fileVersion": "2.60.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Grpc.Net.Common/2.60.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Grpc.Core.Api": "2.60.0"
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"lib/net8.0/Grpc.Net.Common.dll": {
|
|
||||||
"assemblyVersion": "2.0.0.0",
|
|
||||||
"fileVersion": "2.60.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Grpc.Tools/2.60.0": {},
|
|
||||||
"IdentityModel/5.2.0": {
|
|
||||||
"runtime": {
|
|
||||||
"lib/net5.0/IdentityModel.dll": {
|
|
||||||
"assemblyVersion": "5.2.0.0",
|
|
||||||
"fileVersion": "5.2.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"IdentityModel.OidcClient/5.2.1": {
|
|
||||||
"dependencies": {
|
|
||||||
"IdentityModel": "5.2.0",
|
|
||||||
"Microsoft.Extensions.Logging": "8.0.0"
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"lib/netstandard2.0/IdentityModel.OidcClient.dll": {
|
|
||||||
"assemblyVersion": "5.0.0.0",
|
|
||||||
"fileVersion": "5.2.1.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"KubernetesClient/13.0.11": {
|
|
||||||
"dependencies": {
|
|
||||||
"Fractions": "7.3.0",
|
|
||||||
"IdentityModel.OidcClient": "5.2.1",
|
|
||||||
"Microsoft.VisualStudio.SlnGen": "11.1.0",
|
|
||||||
"System.IdentityModel.Tokens.Jwt": "7.1.2",
|
|
||||||
"YamlDotNet": "15.1.0",
|
|
||||||
"prometheus-net": "8.2.1"
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"lib/net8.0/KubernetesClient.dll": {
|
|
||||||
"assemblyVersion": "13.0.0.0",
|
|
||||||
"fileVersion": "13.0.11.196"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Configuration/8.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Primitives": "8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Configuration.Abstractions/8.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.Primitives": "8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Configuration.Binder/8.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Configuration.CommandLine/8.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.Configuration": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Configuration.EnvironmentVariables/8.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.Configuration": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Configuration.FileExtensions/8.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.Configuration": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.FileProviders.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.FileProviders.Physical": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Primitives": "8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Configuration.Json/8.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.Configuration": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Configuration.FileExtensions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.FileProviders.Abstractions": "8.0.0",
|
|
||||||
"System.Text.Json": "8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Configuration.UserSecrets/8.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Configuration.Json": "8.0.0",
|
|
||||||
"Microsoft.Extensions.FileProviders.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.FileProviders.Physical": "8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.DependencyInjection/8.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": {},
|
|
||||||
"Microsoft.Extensions.Diagnostics/8.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.Configuration": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Diagnostics.Abstractions/8.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Options": "8.0.0",
|
|
||||||
"System.Diagnostics.DiagnosticSource": "8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.FileProviders.Abstractions/8.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.Primitives": "8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.FileProviders.Physical/8.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.FileProviders.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.FileSystemGlobbing": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Primitives": "8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.FileSystemGlobbing/8.0.0": {},
|
|
||||||
"Microsoft.Extensions.Hosting/8.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.Configuration": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Configuration.Binder": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Configuration.CommandLine": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Configuration.EnvironmentVariables": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Configuration.FileExtensions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Configuration.Json": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Configuration.UserSecrets": "8.0.0",
|
|
||||||
"Microsoft.Extensions.DependencyInjection": "8.0.0",
|
|
||||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Diagnostics": "8.0.0",
|
|
||||||
"Microsoft.Extensions.FileProviders.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.FileProviders.Physical": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Hosting.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Logging": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Logging.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Logging.Configuration": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Logging.Console": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Logging.Debug": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Logging.EventLog": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Logging.EventSource": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Options": "8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Hosting.Abstractions/8.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.FileProviders.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Logging.Abstractions": "8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Http/6.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Logging": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Logging.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Options": "8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Logging/8.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.DependencyInjection": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Logging.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Options": "8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Logging.Abstractions/8.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Logging.Configuration/8.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.Configuration": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Configuration.Binder": "8.0.0",
|
|
||||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Logging": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Logging.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Options": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Logging.Console/8.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Logging": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Logging.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Logging.Configuration": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Options": "8.0.0",
|
|
||||||
"System.Text.Json": "8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Logging.Debug/8.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Logging": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Logging.Abstractions": "8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Logging.EventLog/8.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Logging": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Logging.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Options": "8.0.0",
|
|
||||||
"System.Diagnostics.EventLog": "8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Logging.EventSource/8.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Logging": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Logging.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Options": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Primitives": "8.0.0",
|
|
||||||
"System.Text.Json": "8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.ObjectPool/7.0.0": {},
|
|
||||||
"Microsoft.Extensions.Options/8.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Primitives": "8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Options.ConfigurationExtensions/8.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Configuration.Binder": "8.0.0",
|
|
||||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Options": "8.0.0",
|
|
||||||
"Microsoft.Extensions.Primitives": "8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Primitives/8.0.0": {},
|
|
||||||
"Microsoft.IdentityModel.Abstractions/7.1.2": {
|
|
||||||
"runtime": {
|
|
||||||
"lib/net8.0/Microsoft.IdentityModel.Abstractions.dll": {
|
|
||||||
"assemblyVersion": "7.1.2.0",
|
|
||||||
"fileVersion": "7.1.2.41121"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.IdentityModel.JsonWebTokens/7.1.2": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.IdentityModel.Tokens": "7.1.2"
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"lib/net8.0/Microsoft.IdentityModel.JsonWebTokens.dll": {
|
|
||||||
"assemblyVersion": "7.1.2.0",
|
|
||||||
"fileVersion": "7.1.2.41121"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.IdentityModel.Logging/7.1.2": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.IdentityModel.Abstractions": "7.1.2"
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"lib/net8.0/Microsoft.IdentityModel.Logging.dll": {
|
|
||||||
"assemblyVersion": "7.1.2.0",
|
|
||||||
"fileVersion": "7.1.2.41121"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.IdentityModel.Tokens/7.1.2": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.IdentityModel.Logging": "7.1.2"
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"lib/net8.0/Microsoft.IdentityModel.Tokens.dll": {
|
|
||||||
"assemblyVersion": "7.1.2.0",
|
|
||||||
"fileVersion": "7.1.2.41121"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Microsoft.VisualStudio.SlnGen/11.1.0": {},
|
|
||||||
"Polly.Core/8.3.1": {
|
|
||||||
"runtime": {
|
|
||||||
"lib/net8.0/Polly.Core.dll": {
|
|
||||||
"assemblyVersion": "8.0.0.0",
|
|
||||||
"fileVersion": "8.3.1.3207"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"prometheus-net/8.2.1": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.Extensions.Http": "6.0.0",
|
|
||||||
"Microsoft.Extensions.ObjectPool": "7.0.0"
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"lib/net7.0/Prometheus.NetStandard.dll": {
|
|
||||||
"assemblyVersion": "8.0.0.0",
|
|
||||||
"fileVersion": "8.2.1.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Diagnostics.DiagnosticSource/8.0.0": {},
|
|
||||||
"System.Diagnostics.EventLog/8.0.0": {},
|
|
||||||
"System.IdentityModel.Tokens.Jwt/7.1.2": {
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.IdentityModel.JsonWebTokens": "7.1.2",
|
|
||||||
"Microsoft.IdentityModel.Tokens": "7.1.2"
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"lib/net8.0/System.IdentityModel.Tokens.Jwt.dll": {
|
|
||||||
"assemblyVersion": "7.1.2.0",
|
|
||||||
"fileVersion": "7.1.2.41121"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Text.Encodings.Web/8.0.0": {},
|
|
||||||
"System.Text.Json/8.0.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"System.Text.Encodings.Web": "8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"YamlDotNet/15.1.0": {
|
|
||||||
"runtime": {
|
|
||||||
"lib/net8.0/YamlDotNet.dll": {
|
|
||||||
"assemblyVersion": "15.0.0.0",
|
|
||||||
"fileVersion": "15.1.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"libraries": {
|
|
||||||
"Medusa.AppHost/1.0.0": {
|
|
||||||
"type": "project",
|
|
||||||
"serviceable": false,
|
|
||||||
"sha512": ""
|
|
||||||
},
|
|
||||||
"Aspire.Hosting/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-ubs9mDceZ2O+wrNAyjEcv1OOht+ZKl4S8sIZw+Psu3lBe0YAG/T6rEl2Ia8pjXasU/aD6XDKoa5FjHFik8FIgw==",
|
|
||||||
"path": "aspire.hosting/8.0.0",
|
|
||||||
"hashPath": "aspire.hosting.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Aspire.Hosting.AppHost/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-m3xv5s0Jha7+320r0E3EzvJv+to4fcaE2lOdq/Z6x+QPxFjloUCsYhJNyqyh+BpQg2bCR3tXSm6Qopt8/zz/Tg==",
|
|
||||||
"path": "aspire.hosting.apphost/8.0.0",
|
|
||||||
"hashPath": "aspire.hosting.apphost.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Fractions/7.3.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-2bETFWLBc8b7Ut2SVi+bxhGVwiSpknHYGBh2PADyGWONLkTxT7bKyDRhF8ao+XUv90tq8Fl7GTPxSI5bacIRJw==",
|
|
||||||
"path": "fractions/7.3.0",
|
|
||||||
"hashPath": "fractions.7.3.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Google.Protobuf/3.24.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-5j/OBUVWPTeRYlG3Dm4PSupyU6nJmbnnhPeqjePzCqtzrh5vErx8dToStuhTnG1ZYZ+dawGziC7DN1I6FEQH0g==",
|
|
||||||
"path": "google.protobuf/3.24.0",
|
|
||||||
"hashPath": "google.protobuf.3.24.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Grpc.AspNetCore/2.60.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-fFLF1/7C+ZZ10vpw63jNRp9VMIXAAmSFKD8pp8rDtD6Z51H4qYYto/go+XhBs7av5piG+GziSP0uA1VZAYLgAA==",
|
|
||||||
"path": "grpc.aspnetcore/2.60.0",
|
|
||||||
"hashPath": "grpc.aspnetcore.2.60.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Grpc.AspNetCore.Server/2.60.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-BwBvT8WJm5YfUtRdUxG1iqxd1p0rVo3GC/+gM93vS2MvQQa+E9o8PH6hrTrS9OMXeN3IzpU0yv27QBryl4OKZw==",
|
|
||||||
"path": "grpc.aspnetcore.server/2.60.0",
|
|
||||||
"hashPath": "grpc.aspnetcore.server.2.60.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Grpc.AspNetCore.Server.ClientFactory/2.60.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-QjhyB/vW1RkvdT2ddxvsOzA5gRhiYxGww3VMXlXVBXD2rKrSj9m8Z3BlatdTtiM+W+zsMfgoggxCIIktcxyWkA==",
|
|
||||||
"path": "grpc.aspnetcore.server.clientfactory/2.60.0",
|
|
||||||
"hashPath": "grpc.aspnetcore.server.clientfactory.2.60.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Grpc.Core.Api/2.60.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-VWah+8dGJhhsay5BQ/Ljq6GYDWj0lSjdzqyoBgUQhXTbBqhs+q5dRFROKxI1xxzlL4pfUO45cf/y+KnHVFG9ew==",
|
|
||||||
"path": "grpc.core.api/2.60.0",
|
|
||||||
"hashPath": "grpc.core.api.2.60.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Grpc.Net.Client/2.60.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-J9U96gjZHOcqSgAThg9vZZhLsbTD005bUggPtMP/RVQnGc3+tQJTpkRUCJtJWq9cykNydsRVoyU38TjPP/VJ4A==",
|
|
||||||
"path": "grpc.net.client/2.60.0",
|
|
||||||
"hashPath": "grpc.net.client.2.60.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Grpc.Net.ClientFactory/2.60.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-lCUZjbv6TtI1FbOUE593PLCkXqW2Yrf3KsFfzxIMdJ54o4ELwCEQ26xjfrm+hMTefiXxvXf9FO7zL1rGLWWSig==",
|
|
||||||
"path": "grpc.net.clientfactory/2.60.0",
|
|
||||||
"hashPath": "grpc.net.clientfactory.2.60.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Grpc.Net.Common/2.60.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-Y/917aplgD1RA0q1cd9WpnMGyl9Luu3WZl6ZMpPvNQwg2TNw/3uXUDSriDBybeCtxnKUCtxUcWO3WsVkhM1DcA==",
|
|
||||||
"path": "grpc.net.common/2.60.0",
|
|
||||||
"hashPath": "grpc.net.common.2.60.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Grpc.Tools/2.60.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-gX2YT08W+4eM25T+ypdbrena91iqz1QywTseu4wVEfYEFpUWbb3G7tDCNU4Fb2D01SS+EipjmRRfXx/BWryrvA==",
|
|
||||||
"path": "grpc.tools/2.60.0",
|
|
||||||
"hashPath": "grpc.tools.2.60.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"IdentityModel/5.2.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-nuhkbaDH9l5QzNJp2MtP3qio57MPtiRneUN8Ocr7od0JvSYaIe3gBj/vxllr11S/Qvu1AG4GZXoyv5469ewYDA==",
|
|
||||||
"path": "identitymodel/5.2.0",
|
|
||||||
"hashPath": "identitymodel.5.2.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"IdentityModel.OidcClient/5.2.1": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-OuPhDNAw/EoJVEmYO6/ChZUBcug4OGoGKTKLUyBCsGhlKegxJk25LYQ0EL7GCBMgkEL+BYNJukNZyaJ+JNaWog==",
|
|
||||||
"path": "identitymodel.oidcclient/5.2.1",
|
|
||||||
"hashPath": "identitymodel.oidcclient.5.2.1.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"KubernetesClient/13.0.11": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-FCzf5tIoVlD3eilPm3/nbklQx7HN1CagQbjAGti6jvI/PyWdhMB8JFquIyWgqQ+uzDJ4XwTA+DeROHeRZJWsCw==",
|
|
||||||
"path": "kubernetesclient/13.0.11",
|
|
||||||
"hashPath": "kubernetesclient.13.0.11.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Configuration/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-0J/9YNXTMWSZP2p2+nvl8p71zpSwokZXZuJW+VjdErkegAnFdO1XlqtA62SJtgVYHdKu3uPxJHcMR/r35HwFBA==",
|
|
||||||
"path": "microsoft.extensions.configuration/8.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.configuration.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Configuration.Abstractions/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==",
|
|
||||||
"path": "microsoft.extensions.configuration.abstractions/8.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Configuration.Binder/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-mBMoXLsr5s1y2zOHWmKsE9veDcx8h1x/c3rz4baEdQKTeDcmQAPNbB54Pi/lhFO3K431eEq6PFbMgLaa6PHFfA==",
|
|
||||||
"path": "microsoft.extensions.configuration.binder/8.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.configuration.binder.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Configuration.CommandLine/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-NZuZMz3Q8Z780nKX3ifV1fE7lS+6pynDHK71OfU4OZ1ItgvDOhyOC7E6z+JMZrAj63zRpwbdldYFk499t3+1dQ==",
|
|
||||||
"path": "microsoft.extensions.configuration.commandline/8.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.configuration.commandline.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Configuration.EnvironmentVariables/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-plvZ0ZIpq+97gdPNNvhwvrEZ92kNml9hd1pe3idMA7svR0PztdzVLkoWLcRFgySYXUJc3kSM3Xw3mNFMo/bxRA==",
|
|
||||||
"path": "microsoft.extensions.configuration.environmentvariables/8.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.configuration.environmentvariables.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Configuration.FileExtensions/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-McP+Lz/EKwvtCv48z0YImw+L1gi1gy5rHhNaNIY2CrjloV+XY8gydT8DjMR6zWeL13AFK+DioVpppwAuO1Gi1w==",
|
|
||||||
"path": "microsoft.extensions.configuration.fileextensions/8.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.configuration.fileextensions.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Configuration.Json/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-C2wqUoh9OmRL1akaCcKSTmRU8z0kckfImG7zLNI8uyi47Lp+zd5LWAD17waPQEqCz3ioWOCrFUo+JJuoeZLOBw==",
|
|
||||||
"path": "microsoft.extensions.configuration.json/8.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.configuration.json.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Configuration.UserSecrets/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-ihDHu2dJYQird9pl2CbdwuNDfvCZdOS0S7SPlNfhPt0B81UTT+yyZKz2pimFZGUp3AfuBRnqUCxB2SjsZKHVUw==",
|
|
||||||
"path": "microsoft.extensions.configuration.usersecrets/8.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.configuration.usersecrets.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.DependencyInjection/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-V8S3bsm50ig6JSyrbcJJ8bW2b9QLGouz+G1miK3UTaOWmMtFwNNNzUf4AleyDWUmTrWMLNnFSLEQtxmxgNQnNQ==",
|
|
||||||
"path": "microsoft.extensions.dependencyinjection/8.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-cjWrLkJXK0rs4zofsK4bSdg+jhDLTaxrkXu4gS6Y7MAlCvRyNNgwY/lJi5RDlQOnSZweHqoyvgvbdvQsRIW+hg==",
|
|
||||||
"path": "microsoft.extensions.dependencyinjection.abstractions/8.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Diagnostics/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-3PZp/YSkIXrF7QK7PfC1bkyRYwqOHpWFad8Qx+4wkuumAeXo1NHaxpS9LboNA9OvNSAu+QOVlXbMyoY+pHSqcw==",
|
|
||||||
"path": "microsoft.extensions.diagnostics/8.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.diagnostics.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Diagnostics.Abstractions/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-JHYCQG7HmugNYUhOl368g+NMxYE/N/AiclCYRNlgCY9eVyiBkOHMwK4x60RYMxv9EL3+rmj1mqHvdCiPpC+D4Q==",
|
|
||||||
"path": "microsoft.extensions.diagnostics.abstractions/8.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.diagnostics.abstractions.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.FileProviders.Abstractions/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-ZbaMlhJlpisjuWbvXr4LdAst/1XxH3vZ6A0BsgTphZ2L4PGuxRLz7Jr/S7mkAAnOn78Vu0fKhEgNF5JO3zfjqQ==",
|
|
||||||
"path": "microsoft.extensions.fileproviders.abstractions/8.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.FileProviders.Physical/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-UboiXxpPUpwulHvIAVE36Knq0VSHaAmfrFkegLyBZeaADuKezJ/AIXYAW8F5GBlGk/VaibN2k/Zn1ca8YAfVdA==",
|
|
||||||
"path": "microsoft.extensions.fileproviders.physical/8.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.fileproviders.physical.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.FileSystemGlobbing/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-OK+670i7esqlQrPjdIKRbsyMCe9g5kSLpRRQGSr4Q58AOYEe/hCnfLZprh7viNisSUUQZmMrbbuDaIrP+V1ebQ==",
|
|
||||||
"path": "microsoft.extensions.filesystemglobbing/8.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.filesystemglobbing.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Hosting/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-ItYHpdqVp5/oFLT5QqbopnkKlyFG9EW/9nhM6/yfObeKt6Su0wkBio6AizgRHGNwhJuAtlE5VIjow5JOTrip6w==",
|
|
||||||
"path": "microsoft.extensions.hosting/8.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.hosting.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Hosting.Abstractions/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-AG7HWwVRdCHlaA++1oKDxLsXIBxmDpMPb3VoyOoAghEWnkUvEAdYQUwnV4jJbAaa/nMYNiEh5ByoLauZBEiovg==",
|
|
||||||
"path": "microsoft.extensions.hosting.abstractions/8.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.hosting.abstractions.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Http/6.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-15+pa2G0bAMHbHewaQIdr/y6ag2H3yh4rd9hTXavtWDzQBkvpe2RMqFg8BxDpcQWssmjmBApGPcw93QRz6YcMg==",
|
|
||||||
"path": "microsoft.extensions.http/6.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.http.6.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Logging/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-tvRkov9tAJ3xP51LCv3FJ2zINmv1P8Hi8lhhtcKGqM+ImiTCC84uOPEI4z8Cdq2C3o9e+Aa0Gw0rmrsJD77W+w==",
|
|
||||||
"path": "microsoft.extensions.logging/8.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.logging.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Logging.Abstractions/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-arDBqTgFCyS0EvRV7O3MZturChstm50OJ0y9bDJvAcmEPJm0FFpFyjU/JLYyStNGGey081DvnQYlncNX5SJJGA==",
|
|
||||||
"path": "microsoft.extensions.logging.abstractions/8.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.logging.abstractions.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Logging.Configuration/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-ixXXV0G/12g6MXK65TLngYN9V5hQQRuV+fZi882WIoVJT7h5JvoYoxTEwCgdqwLjSneqh1O+66gM8sMr9z/rsQ==",
|
|
||||||
"path": "microsoft.extensions.logging.configuration/8.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.logging.configuration.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Logging.Console/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-e+48o7DztoYog+PY430lPxrM4mm3PbA6qucvQtUDDwVo4MO+ejMw7YGc/o2rnxbxj4isPxdfKFzTxvXMwAz83A==",
|
|
||||||
"path": "microsoft.extensions.logging.console/8.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.logging.console.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Logging.Debug/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-dt0x21qBdudHLW/bjMJpkixv858RRr8eSomgVbU8qljOyfrfDGi1JQvpF9w8S7ziRPtRKisuWaOwFxJM82GxeA==",
|
|
||||||
"path": "microsoft.extensions.logging.debug/8.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.logging.debug.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Logging.EventLog/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-3X9D3sl7EmOu7vQp5MJrmIJBl5XSdOhZPYXUeFfYa6Nnm9+tok8x3t3IVPLhm7UJtPOU61ohFchw8rNm9tIYOQ==",
|
|
||||||
"path": "microsoft.extensions.logging.eventlog/8.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.logging.eventlog.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Logging.EventSource/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-oKcPMrw+luz2DUAKhwFXrmFikZWnyc8l2RKoQwqU3KIZZjcfoJE0zRHAnqATfhRZhtcbjl/QkiY2Xjxp0xu+6w==",
|
|
||||||
"path": "microsoft.extensions.logging.eventsource/8.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.logging.eventsource.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.ObjectPool/7.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-udvKco0sAVgYGTBnHUb0tY9JQzJ/nPDiv/8PIyz69wl1AibeCDZOLVVI+6156dPfHmJH7ws5oUJRiW4ZmAvuuA==",
|
|
||||||
"path": "microsoft.extensions.objectpool/7.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.objectpool.7.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Options/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-JOVOfqpnqlVLUzINQ2fox8evY2SKLYJ3BV8QDe/Jyp21u1T7r45x/R/5QdteURMR5r01GxeJSBBUOCOyaNXA3g==",
|
|
||||||
"path": "microsoft.extensions.options/8.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.options.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Options.ConfigurationExtensions/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-0f4DMRqEd50zQh+UyJc+/HiBsZ3vhAQALgdkcQEalSH1L2isdC7Yj54M3cyo5e+BeO5fcBQ7Dxly8XiBBcvRgw==",
|
|
||||||
"path": "microsoft.extensions.options.configurationextensions/8.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.options.configurationextensions.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.Extensions.Primitives/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==",
|
|
||||||
"path": "microsoft.extensions.primitives/8.0.0",
|
|
||||||
"hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.IdentityModel.Abstractions/7.1.2": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-33eTIA2uO/L9utJjZWbKsMSVsQf7F8vtd6q5mQX7ZJzNvCpci5fleD6AeANGlbbb7WX7XKxq9+Dkb5e3GNDrmQ==",
|
|
||||||
"path": "microsoft.identitymodel.abstractions/7.1.2",
|
|
||||||
"hashPath": "microsoft.identitymodel.abstractions.7.1.2.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.IdentityModel.JsonWebTokens/7.1.2": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-cloLGeZolXbCJhJBc5OC05uhrdhdPL6MWHuVUnkkUvPDeK7HkwThBaLZ1XjBQVk9YhxXE2OvHXnKi0PLleXxDg==",
|
|
||||||
"path": "microsoft.identitymodel.jsonwebtokens/7.1.2",
|
|
||||||
"hashPath": "microsoft.identitymodel.jsonwebtokens.7.1.2.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.IdentityModel.Logging/7.1.2": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-YCxBt2EeJP8fcXk9desChkWI+0vFqFLvBwrz5hBMsoh0KJE6BC66DnzkdzkJNqMltLromc52dkdT206jJ38cTw==",
|
|
||||||
"path": "microsoft.identitymodel.logging/7.1.2",
|
|
||||||
"hashPath": "microsoft.identitymodel.logging.7.1.2.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.IdentityModel.Tokens/7.1.2": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-oICJMqr3aNEDZOwnH5SK49bR6Z4aX0zEAnOLuhloumOSuqnNq+GWBdQyrgILnlcT5xj09xKCP/7Y7gJYB+ls/g==",
|
|
||||||
"path": "microsoft.identitymodel.tokens/7.1.2",
|
|
||||||
"hashPath": "microsoft.identitymodel.tokens.7.1.2.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Microsoft.VisualStudio.SlnGen/11.1.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-MwRcasXXtPrsLm2eNpoOj8aElTBiTAXAjG3DWjCstnnhY2DJ2bKAK0PzuZIMr3nWvyf2FzaWwCSJ70ei/1jKvg==",
|
|
||||||
"path": "microsoft.visualstudio.slngen/11.1.0",
|
|
||||||
"hashPath": "microsoft.visualstudio.slngen.11.1.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"Polly.Core/8.3.1": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-b9mMAjqXuCXFCtf/RtRPwFUkAm/sz37s7G+taDvS5EqfkJsLiWfO2xO2cSISjIgIY+88oIZTGguP6UrRGRlqzg==",
|
|
||||||
"path": "polly.core/8.3.1",
|
|
||||||
"hashPath": "polly.core.8.3.1.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"prometheus-net/8.2.1": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-3wVgdEPOCBF752s2xps5T+VH+c9mJK8S8GKEDg49084P6JZMumTZI5Te6aJ9MQpX0sx7om6JOnBpIi7ZBmmiDQ==",
|
|
||||||
"path": "prometheus-net/8.2.1",
|
|
||||||
"hashPath": "prometheus-net.8.2.1.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"System.Diagnostics.DiagnosticSource/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-c9xLpVz6PL9lp/djOWtk5KPDZq3cSYpmXoJQY524EOtuFl5z9ZtsotpsyrDW40U1DRnQSYvcPKEUV0X//u6gkQ==",
|
|
||||||
"path": "system.diagnostics.diagnosticsource/8.0.0",
|
|
||||||
"hashPath": "system.diagnostics.diagnosticsource.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"System.Diagnostics.EventLog/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-fdYxcRjQqTTacKId/2IECojlDSFvp7LP5N78+0z/xH7v/Tuw5ZAxu23Y6PTCRinqyu2ePx+Gn1098NC6jM6d+A==",
|
|
||||||
"path": "system.diagnostics.eventlog/8.0.0",
|
|
||||||
"hashPath": "system.diagnostics.eventlog.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"System.IdentityModel.Tokens.Jwt/7.1.2": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-Thhbe1peAmtSBFaV/ohtykXiZSOkx59Da44hvtWfIMFofDA3M3LaVyjstACf2rKGn4dEDR2cUpRAZ0Xs/zB+7Q==",
|
|
||||||
"path": "system.identitymodel.tokens.jwt/7.1.2",
|
|
||||||
"hashPath": "system.identitymodel.tokens.jwt.7.1.2.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"System.Text.Encodings.Web/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-yev/k9GHAEGx2Rg3/tU6MQh4HGBXJs70y7j1LaM1i/ER9po+6nnQ6RRqTJn1E7Xu0fbIFK80Nh5EoODxrbxwBQ==",
|
|
||||||
"path": "system.text.encodings.web/8.0.0",
|
|
||||||
"hashPath": "system.text.encodings.web.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"System.Text.Json/8.0.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-OdrZO2WjkiEG6ajEFRABTRCi/wuXQPxeV6g8xvUJqdxMvvuCCEk86zPla8UiIQJz3durtUEbNyY/3lIhS0yZvQ==",
|
|
||||||
"path": "system.text.json/8.0.0",
|
|
||||||
"hashPath": "system.text.json.8.0.0.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"YamlDotNet/15.1.0": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-fXrqmKkzBtXeJiHEsZOPEWkonHweiwk/l0Hqhz4yMIZPh57kZy03Xbj2/e8HV1QIkTw7yeBe9bbphuE3YiI4vQ==",
|
|
||||||
"path": "yamldotnet/15.1.0",
|
|
||||||
"hashPath": "yamldotnet.15.1.0.nupkg.sha512"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"runtimeOptions": {
|
|
||||||
"tfm": "net8.0",
|
|
||||||
"frameworks": [
|
|
||||||
{
|
|
||||||
"name": "Microsoft.NETCore.App",
|
|
||||||
"version": "8.0.0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Microsoft.AspNetCore.App",
|
|
||||||
"version": "8.0.0"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"configProperties": {
|
|
||||||
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,4 +0,0 @@
|
|||||||
// <autogenerated />
|
|
||||||
using System;
|
|
||||||
using System.Reflection;
|
|
||||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,33 +0,0 @@
|
|||||||
//------------------------------------------------------------------------------
|
|
||||||
// <auto-generated>
|
|
||||||
// This code was generated by a tool.
|
|
||||||
// Runtime Version:4.0.30319.42000
|
|
||||||
//
|
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
|
||||||
// the code is regenerated.
|
|
||||||
// </auto-generated>
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Reflection;
|
|
||||||
|
|
||||||
[assembly: Microsoft.Extensions.Configuration.UserSecrets.UserSecretsIdAttribute("0cb174ad-1163-4ac4-9ae1-456f6d1fa241")]
|
|
||||||
[assembly: System.Reflection.AssemblyMetadata("dcpclipath", "C:\\Program Files\\dotnet\\packs\\Aspire.Hosting.Orchestration.win-x64\\8.0.0\\tools\\dc" +
|
|
||||||
"p.exe")]
|
|
||||||
[assembly: System.Reflection.AssemblyMetadata("dcpextensionpaths", "C:\\Program Files\\dotnet\\packs\\Aspire.Hosting.Orchestration.win-x64\\8.0.0\\tools\\ex" +
|
|
||||||
"t\\")]
|
|
||||||
[assembly: System.Reflection.AssemblyMetadata("dcpbinpath", "C:\\Program Files\\dotnet\\packs\\Aspire.Hosting.Orchestration.win-x64\\8.0.0\\tools\\ex" +
|
|
||||||
"t\\bin\\")]
|
|
||||||
[assembly: System.Reflection.AssemblyMetadata("apphostprojectpath", "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.AppHost")]
|
|
||||||
[assembly: System.Reflection.AssemblyMetadata("aspiredashboardpath", "C:\\Program Files\\dotnet\\packs\\Aspire.Dashboard.Sdk.win-x64\\8.0.0\\tools\\Aspire.Das" +
|
|
||||||
"hboard.exe")]
|
|
||||||
[assembly: System.Reflection.AssemblyCompanyAttribute("Medusa.AppHost")]
|
|
||||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
|
||||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
|
||||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
|
||||||
[assembly: System.Reflection.AssemblyProductAttribute("Medusa.AppHost")]
|
|
||||||
[assembly: System.Reflection.AssemblyTitleAttribute("Medusa.AppHost")]
|
|
||||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
|
||||||
|
|
||||||
// Generated by the MSBuild WriteCodeFragment class.
|
|
||||||
|
|
@ -1 +0,0 @@
|
|||||||
5463481e0a7eb9d5c79ec269ca9a04d8ff7107b03cc998a37b0453c1edbce3ec
|
|
@ -1,13 +0,0 @@
|
|||||||
is_global = true
|
|
||||||
build_property.TargetFramework = net8.0
|
|
||||||
build_property.TargetPlatformMinVersion =
|
|
||||||
build_property.UsingMicrosoftNETSdkWeb =
|
|
||||||
build_property.ProjectTypeGuids =
|
|
||||||
build_property.InvariantGlobalization =
|
|
||||||
build_property.PlatformNeutralAssembly =
|
|
||||||
build_property.EnforceExtendedAnalyzerRules =
|
|
||||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
|
||||||
build_property.RootNamespace = Madusa.AppHost
|
|
||||||
build_property.ProjectDir = C:\Users\khouw\source\repos\Madusa\Madusa.AppHost\
|
|
||||||
build_property.EnableComHosting =
|
|
||||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
|
@ -1,10 +0,0 @@
|
|||||||
// <auto-generated/>
|
|
||||||
global using global::Aspire.Hosting;
|
|
||||||
global using global::Aspire.Hosting.ApplicationModel;
|
|
||||||
global using global::System;
|
|
||||||
global using global::System.Collections.Generic;
|
|
||||||
global using global::System.IO;
|
|
||||||
global using global::System.Linq;
|
|
||||||
global using global::System.Net.Http;
|
|
||||||
global using global::System.Threading;
|
|
||||||
global using global::System.Threading.Tasks;
|
|
Binary file not shown.
Binary file not shown.
@ -1 +0,0 @@
|
|||||||
d3987521f26a23c70677494d0d6ac2a36db8d990c7caa3b5e50ad0d0a0ad6029
|
|
@ -1,53 +0,0 @@
|
|||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\Medusa.AppHost.exe
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\Medusa.AppHost.deps.json
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\Medusa.AppHost.runtimeconfig.json
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\Medusa.AppHost.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\Medusa.AppHost.pdb
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\Aspire.Hosting.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\Aspire.Hosting.AppHost.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\Fractions.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\Google.Protobuf.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\Grpc.AspNetCore.Server.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\Grpc.AspNetCore.Server.ClientFactory.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\Grpc.Core.Api.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\Grpc.Net.Client.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\Grpc.Net.ClientFactory.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\Grpc.Net.Common.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\IdentityModel.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\IdentityModel.OidcClient.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\KubernetesClient.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\Microsoft.IdentityModel.Abstractions.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\Microsoft.IdentityModel.JsonWebTokens.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\Microsoft.IdentityModel.Logging.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\Microsoft.IdentityModel.Tokens.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\Polly.Core.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\Prometheus.NetStandard.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\System.IdentityModel.Tokens.Jwt.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\YamlDotNet.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\cs\Aspire.Hosting.resources.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\de\Aspire.Hosting.resources.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\es\Aspire.Hosting.resources.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\fr\Aspire.Hosting.resources.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\it\Aspire.Hosting.resources.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\ja\Aspire.Hosting.resources.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\ko\Aspire.Hosting.resources.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\pl\Aspire.Hosting.resources.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\pt-BR\Aspire.Hosting.resources.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\ru\Aspire.Hosting.resources.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\tr\Aspire.Hosting.resources.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\zh-Hans\Aspire.Hosting.resources.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\bin\Debug\net8.0\zh-Hant\Aspire.Hosting.resources.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\obj\Debug\net8.0\Medusa.AppHost.csproj.AssemblyReference.cache
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\obj\Debug\net8.0\Medusa.AppHost.GeneratedMSBuildEditorConfig.editorconfig
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\obj\Debug\net8.0\Medusa.AppHost.AssemblyInfoInputs.cache
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\obj\Debug\net8.0\Medusa.AppHost.AssemblyInfo.cs
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\obj\Debug\net8.0\Medusa.AppHost.csproj.CoreCompileInputs.cache
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\obj\Debug\net8.0\Aspire\references\Medusa_Core.ProjectMetadata.g.cs
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\obj\Debug\net8.0\Aspire\references\_AppHost.ProjectMetadata.g.cs
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\obj\Debug\net8.0\Medusa.A.8BF6B724.Up2Date
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\obj\Debug\net8.0\Medusa.AppHost.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\obj\Debug\net8.0\refint\Medusa.AppHost.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\obj\Debug\net8.0\Medusa.AppHost.pdb
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\obj\Debug\net8.0\Medusa.AppHost.genruntimeconfig.cache
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\obj\Debug\net8.0\ref\Medusa.AppHost.dll
|
|
||||||
C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\obj\Debug\net8.0\Aspire\references\Medusa_Web_Server.ProjectMetadata.g.cs
|
|
Binary file not shown.
@ -1 +0,0 @@
|
|||||||
594a9919974c7f86903bc8cdf04b73e456efa68f7a4f37e846ef155ea0a0ea3a
|
|
Binary file not shown.
@ -1,33 +0,0 @@
|
|||||||
//------------------------------------------------------------------------------
|
|
||||||
// <auto-generated>
|
|
||||||
// This code was generated by a tool.
|
|
||||||
// Runtime Version:4.0.30319.42000
|
|
||||||
//
|
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
|
||||||
// the code is regenerated.
|
|
||||||
// </auto-generated>
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Reflection;
|
|
||||||
|
|
||||||
[assembly: Microsoft.Extensions.Configuration.UserSecrets.UserSecretsIdAttribute("0cb174ad-1163-4ac4-9ae1-456f6d1fa241")]
|
|
||||||
[assembly: System.Reflection.AssemblyMetadata("dcpclipath", "C:\\Program Files\\dotnet\\packs\\Aspire.Hosting.Orchestration.win-x64\\8.0.0\\tools\\dc" +
|
|
||||||
"p.exe")]
|
|
||||||
[assembly: System.Reflection.AssemblyMetadata("dcpextensionpaths", "C:\\Program Files\\dotnet\\packs\\Aspire.Hosting.Orchestration.win-x64\\8.0.0\\tools\\ex" +
|
|
||||||
"t\\")]
|
|
||||||
[assembly: System.Reflection.AssemblyMetadata("dcpbinpath", "C:\\Program Files\\dotnet\\packs\\Aspire.Hosting.Orchestration.win-x64\\8.0.0\\tools\\ex" +
|
|
||||||
"t\\bin\\")]
|
|
||||||
[assembly: System.Reflection.AssemblyMetadata("apphostprojectpath", "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.AppHost")]
|
|
||||||
[assembly: System.Reflection.AssemblyMetadata("aspiredashboardpath", "C:\\Program Files\\dotnet\\packs\\Aspire.Dashboard.Sdk.win-x64\\8.0.0\\tools\\Aspire.Das" +
|
|
||||||
"hboard.exe")]
|
|
||||||
[assembly: System.Reflection.AssemblyCompanyAttribute("Medusa.AppHost")]
|
|
||||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
|
||||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
|
||||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+542957620eaa47fb5f3c0cd3f2ddae4efef863dc")]
|
|
||||||
[assembly: System.Reflection.AssemblyProductAttribute("Medusa.AppHost")]
|
|
||||||
[assembly: System.Reflection.AssemblyTitleAttribute("Medusa.AppHost")]
|
|
||||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
|
||||||
|
|
||||||
// Generated by the MSBuild WriteCodeFragment class.
|
|
||||||
|
|
@ -1 +0,0 @@
|
|||||||
ec7f354a4610b8d134f7641a67c2c1abefe396d4a440d666c2251c1e17e454a1
|
|
@ -1,13 +0,0 @@
|
|||||||
is_global = true
|
|
||||||
build_property.TargetFramework = net8.0
|
|
||||||
build_property.TargetPlatformMinVersion =
|
|
||||||
build_property.UsingMicrosoftNETSdkWeb =
|
|
||||||
build_property.ProjectTypeGuids =
|
|
||||||
build_property.InvariantGlobalization =
|
|
||||||
build_property.PlatformNeutralAssembly =
|
|
||||||
build_property.EnforceExtendedAnalyzerRules =
|
|
||||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
|
||||||
build_property.RootNamespace = Medusa.AppHost
|
|
||||||
build_property.ProjectDir = C:\Users\khouw\source\repos\Medusa\Medusa.AppHost\
|
|
||||||
build_property.EnableComHosting =
|
|
||||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
|
@ -1,10 +0,0 @@
|
|||||||
// <auto-generated/>
|
|
||||||
global using global::Aspire.Hosting;
|
|
||||||
global using global::Aspire.Hosting.ApplicationModel;
|
|
||||||
global using global::System;
|
|
||||||
global using global::System.Collections.Generic;
|
|
||||||
global using global::System.IO;
|
|
||||||
global using global::System.Linq;
|
|
||||||
global using global::System.Net.Http;
|
|
||||||
global using global::System.Threading;
|
|
||||||
global using global::System.Threading.Tasks;
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,79 +0,0 @@
|
|||||||
{
|
|
||||||
"format": 1,
|
|
||||||
"restore": {
|
|
||||||
"C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.AppHost\\Medusa.AppHost.csproj": {}
|
|
||||||
},
|
|
||||||
"projects": {
|
|
||||||
"C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.AppHost\\Medusa.AppHost.csproj": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"restore": {
|
|
||||||
"projectUniqueName": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.AppHost\\Medusa.AppHost.csproj",
|
|
||||||
"projectName": "Medusa.AppHost",
|
|
||||||
"projectPath": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.AppHost\\Medusa.AppHost.csproj",
|
|
||||||
"packagesPath": "C:\\Users\\khouw\\.nuget\\packages\\",
|
|
||||||
"outputPath": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.AppHost\\obj\\",
|
|
||||||
"projectStyle": "PackageReference",
|
|
||||||
"fallbackFolders": [
|
|
||||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
|
|
||||||
],
|
|
||||||
"configFilePaths": [
|
|
||||||
"C:\\Users\\khouw\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
|
||||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
|
|
||||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
|
||||||
],
|
|
||||||
"originalTargetFrameworks": [
|
|
||||||
"net8.0"
|
|
||||||
],
|
|
||||||
"sources": {
|
|
||||||
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
|
||||||
"C:\\Program Files\\dotnet\\library-packs": {},
|
|
||||||
"https://api.nuget.org/v3/index.json": {}
|
|
||||||
},
|
|
||||||
"frameworks": {
|
|
||||||
"net8.0": {
|
|
||||||
"targetAlias": "net8.0",
|
|
||||||
"projectReferences": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"warningProperties": {
|
|
||||||
"warnAsError": [
|
|
||||||
"NU1605"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"restoreAuditProperties": {
|
|
||||||
"enableAudit": "true",
|
|
||||||
"auditLevel": "low",
|
|
||||||
"auditMode": "direct"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"frameworks": {
|
|
||||||
"net8.0": {
|
|
||||||
"targetAlias": "net8.0",
|
|
||||||
"dependencies": {
|
|
||||||
"Aspire.Hosting.AppHost": {
|
|
||||||
"target": "Package",
|
|
||||||
"version": "[8.0.0, )"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"imports": [
|
|
||||||
"net461",
|
|
||||||
"net462",
|
|
||||||
"net47",
|
|
||||||
"net471",
|
|
||||||
"net472",
|
|
||||||
"net48",
|
|
||||||
"net481"
|
|
||||||
],
|
|
||||||
"assetTargetFallback": true,
|
|
||||||
"warn": true,
|
|
||||||
"frameworkReferences": {
|
|
||||||
"Microsoft.NETCore.App": {
|
|
||||||
"privateAssets": "all"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.302/PortableRuntimeIdentifierGraph.json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,24 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
|
||||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
|
||||||
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
|
|
||||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
|
||||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
|
||||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
|
||||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\khouw\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
|
|
||||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
|
||||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.10.1</NuGetToolVersion>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
|
||||||
<SourceRoot Include="C:\Users\khouw\.nuget\packages\" />
|
|
||||||
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
|
||||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Configuration.UserSecrets.props" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Configuration.UserSecrets.props')" />
|
|
||||||
<Import Project="$(NuGetPackageRoot)aspire.hosting.apphost\8.0.0\buildTransitive\Aspire.Hosting.AppHost.props" Condition="Exists('$(NuGetPackageRoot)aspire.hosting.apphost\8.0.0\buildTransitive\Aspire.Hosting.AppHost.props')" />
|
|
||||||
</ImportGroup>
|
|
||||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
|
||||||
<PkgMicrosoft_VisualStudio_SlnGen Condition=" '$(PkgMicrosoft_VisualStudio_SlnGen)' == '' ">C:\Users\khouw\.nuget\packages\microsoft.visualstudio.slngen\11.1.0</PkgMicrosoft_VisualStudio_SlnGen>
|
|
||||||
<PkgGrpc_Tools Condition=" '$(PkgGrpc_Tools)' == '' ">C:\Users\khouw\.nuget\packages\grpc.tools\2.60.0</PkgGrpc_Tools>
|
|
||||||
</PropertyGroup>
|
|
||||||
</Project>
|
|
@ -1,11 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
|
||||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
|
||||||
<Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
|
|
||||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.options\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Options.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.options\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Options.targets')" />
|
|
||||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Logging.Abstractions.targets')" />
|
|
||||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.binder\8.0.0\buildTransitive\netstandard2.0\Microsoft.Extensions.Configuration.Binder.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.binder\8.0.0\buildTransitive\netstandard2.0\Microsoft.Extensions.Configuration.Binder.targets')" />
|
|
||||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Configuration.UserSecrets.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Configuration.UserSecrets.targets')" />
|
|
||||||
<Import Project="$(NuGetPackageRoot)aspire.hosting.apphost\8.0.0\buildTransitive\Aspire.Hosting.AppHost.targets" Condition="Exists('$(NuGetPackageRoot)aspire.hosting.apphost\8.0.0\buildTransitive\Aspire.Hosting.AppHost.targets')" />
|
|
||||||
</ImportGroup>
|
|
||||||
</Project>
|
|
@ -1,79 +0,0 @@
|
|||||||
{
|
|
||||||
"format": 1,
|
|
||||||
"restore": {
|
|
||||||
"C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.AppHost\\Medusa.AppHost.csproj": {}
|
|
||||||
},
|
|
||||||
"projects": {
|
|
||||||
"C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.AppHost\\Medusa.AppHost.csproj": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"restore": {
|
|
||||||
"projectUniqueName": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.AppHost\\Medusa.AppHost.csproj",
|
|
||||||
"projectName": "Medusa.AppHost",
|
|
||||||
"projectPath": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.AppHost\\Medusa.AppHost.csproj",
|
|
||||||
"packagesPath": "C:\\Users\\khouw\\.nuget\\packages\\",
|
|
||||||
"outputPath": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.AppHost\\obj\\",
|
|
||||||
"projectStyle": "PackageReference",
|
|
||||||
"fallbackFolders": [
|
|
||||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
|
|
||||||
],
|
|
||||||
"configFilePaths": [
|
|
||||||
"C:\\Users\\khouw\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
|
||||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
|
|
||||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
|
||||||
],
|
|
||||||
"originalTargetFrameworks": [
|
|
||||||
"net8.0"
|
|
||||||
],
|
|
||||||
"sources": {
|
|
||||||
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
|
||||||
"C:\\Program Files\\dotnet\\library-packs": {},
|
|
||||||
"https://api.nuget.org/v3/index.json": {}
|
|
||||||
},
|
|
||||||
"frameworks": {
|
|
||||||
"net8.0": {
|
|
||||||
"targetAlias": "net8.0",
|
|
||||||
"projectReferences": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"warningProperties": {
|
|
||||||
"warnAsError": [
|
|
||||||
"NU1605"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"restoreAuditProperties": {
|
|
||||||
"enableAudit": "true",
|
|
||||||
"auditLevel": "low",
|
|
||||||
"auditMode": "direct"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"frameworks": {
|
|
||||||
"net8.0": {
|
|
||||||
"targetAlias": "net8.0",
|
|
||||||
"dependencies": {
|
|
||||||
"Aspire.Hosting.AppHost": {
|
|
||||||
"target": "Package",
|
|
||||||
"version": "[8.0.0, )"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"imports": [
|
|
||||||
"net461",
|
|
||||||
"net462",
|
|
||||||
"net47",
|
|
||||||
"net471",
|
|
||||||
"net472",
|
|
||||||
"net48",
|
|
||||||
"net481"
|
|
||||||
],
|
|
||||||
"assetTargetFallback": true,
|
|
||||||
"warn": true,
|
|
||||||
"frameworkReferences": {
|
|
||||||
"Microsoft.NETCore.App": {
|
|
||||||
"privateAssets": "all"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.302/PortableRuntimeIdentifierGraph.json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,24 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
|
||||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
|
||||||
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
|
|
||||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
|
||||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
|
||||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
|
||||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\khouw\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
|
|
||||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
|
||||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.10.1</NuGetToolVersion>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
|
||||||
<SourceRoot Include="C:\Users\khouw\.nuget\packages\" />
|
|
||||||
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
|
||||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Configuration.UserSecrets.props" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Configuration.UserSecrets.props')" />
|
|
||||||
<Import Project="$(NuGetPackageRoot)aspire.hosting.apphost\8.0.0\buildTransitive\Aspire.Hosting.AppHost.props" Condition="Exists('$(NuGetPackageRoot)aspire.hosting.apphost\8.0.0\buildTransitive\Aspire.Hosting.AppHost.props')" />
|
|
||||||
</ImportGroup>
|
|
||||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
|
||||||
<PkgMicrosoft_VisualStudio_SlnGen Condition=" '$(PkgMicrosoft_VisualStudio_SlnGen)' == '' ">C:\Users\khouw\.nuget\packages\microsoft.visualstudio.slngen\11.1.0</PkgMicrosoft_VisualStudio_SlnGen>
|
|
||||||
<PkgGrpc_Tools Condition=" '$(PkgGrpc_Tools)' == '' ">C:\Users\khouw\.nuget\packages\grpc.tools\2.60.0</PkgGrpc_Tools>
|
|
||||||
</PropertyGroup>
|
|
||||||
</Project>
|
|
@ -1,11 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
|
||||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
|
||||||
<Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
|
|
||||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.options\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Options.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.options\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Options.targets')" />
|
|
||||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Logging.Abstractions.targets')" />
|
|
||||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.binder\8.0.0\buildTransitive\netstandard2.0\Microsoft.Extensions.Configuration.Binder.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.binder\8.0.0\buildTransitive\netstandard2.0\Microsoft.Extensions.Configuration.Binder.targets')" />
|
|
||||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Configuration.UserSecrets.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Configuration.UserSecrets.targets')" />
|
|
||||||
<Import Project="$(NuGetPackageRoot)aspire.hosting.apphost\8.0.0\buildTransitive\Aspire.Hosting.AppHost.targets" Condition="Exists('$(NuGetPackageRoot)aspire.hosting.apphost\8.0.0\buildTransitive\Aspire.Hosting.AppHost.targets')" />
|
|
||||||
</ImportGroup>
|
|
||||||
</Project>
|
|
File diff suppressed because it is too large
Load Diff
@ -1,66 +0,0 @@
|
|||||||
{
|
|
||||||
"version": 2,
|
|
||||||
"dgSpecHash": "Dww892BY3nA=",
|
|
||||||
"success": true,
|
|
||||||
"projectFilePath": "C:\\Users\\khouw\\source\\repos\\Medusa\\Medusa.AppHost\\Medusa.AppHost.csproj",
|
|
||||||
"expectedPackageFiles": [
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\aspire.hosting\\8.0.0\\aspire.hosting.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\aspire.hosting.apphost\\8.0.0\\aspire.hosting.apphost.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\fractions\\7.3.0\\fractions.7.3.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\google.protobuf\\3.24.0\\google.protobuf.3.24.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\grpc.aspnetcore\\2.60.0\\grpc.aspnetcore.2.60.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\grpc.aspnetcore.server\\2.60.0\\grpc.aspnetcore.server.2.60.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\grpc.aspnetcore.server.clientfactory\\2.60.0\\grpc.aspnetcore.server.clientfactory.2.60.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\grpc.core.api\\2.60.0\\grpc.core.api.2.60.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\grpc.net.client\\2.60.0\\grpc.net.client.2.60.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\grpc.net.clientfactory\\2.60.0\\grpc.net.clientfactory.2.60.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\grpc.net.common\\2.60.0\\grpc.net.common.2.60.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\grpc.tools\\2.60.0\\grpc.tools.2.60.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\identitymodel\\5.2.0\\identitymodel.5.2.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\identitymodel.oidcclient\\5.2.1\\identitymodel.oidcclient.5.2.1.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\kubernetesclient\\13.0.11\\kubernetesclient.13.0.11.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.configuration\\8.0.0\\microsoft.extensions.configuration.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\8.0.0\\microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.configuration.binder\\8.0.0\\microsoft.extensions.configuration.binder.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.configuration.commandline\\8.0.0\\microsoft.extensions.configuration.commandline.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.configuration.environmentvariables\\8.0.0\\microsoft.extensions.configuration.environmentvariables.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.configuration.fileextensions\\8.0.0\\microsoft.extensions.configuration.fileextensions.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.configuration.json\\8.0.0\\microsoft.extensions.configuration.json.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.configuration.usersecrets\\8.0.0\\microsoft.extensions.configuration.usersecrets.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\8.0.0\\microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\8.0.0\\microsoft.extensions.dependencyinjection.abstractions.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.diagnostics\\8.0.0\\microsoft.extensions.diagnostics.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.diagnostics.abstractions\\8.0.0\\microsoft.extensions.diagnostics.abstractions.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.fileproviders.abstractions\\8.0.0\\microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.fileproviders.physical\\8.0.0\\microsoft.extensions.fileproviders.physical.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.filesystemglobbing\\8.0.0\\microsoft.extensions.filesystemglobbing.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.hosting\\8.0.0\\microsoft.extensions.hosting.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.hosting.abstractions\\8.0.0\\microsoft.extensions.hosting.abstractions.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.http\\6.0.0\\microsoft.extensions.http.6.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.logging\\8.0.0\\microsoft.extensions.logging.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\8.0.0\\microsoft.extensions.logging.abstractions.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.logging.configuration\\8.0.0\\microsoft.extensions.logging.configuration.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.logging.console\\8.0.0\\microsoft.extensions.logging.console.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.logging.debug\\8.0.0\\microsoft.extensions.logging.debug.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.logging.eventlog\\8.0.0\\microsoft.extensions.logging.eventlog.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.logging.eventsource\\8.0.0\\microsoft.extensions.logging.eventsource.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.objectpool\\7.0.0\\microsoft.extensions.objectpool.7.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.options\\8.0.0\\microsoft.extensions.options.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.options.configurationextensions\\8.0.0\\microsoft.extensions.options.configurationextensions.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.extensions.primitives\\8.0.0\\microsoft.extensions.primitives.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.identitymodel.abstractions\\7.1.2\\microsoft.identitymodel.abstractions.7.1.2.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.identitymodel.jsonwebtokens\\7.1.2\\microsoft.identitymodel.jsonwebtokens.7.1.2.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.identitymodel.logging\\7.1.2\\microsoft.identitymodel.logging.7.1.2.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.identitymodel.tokens\\7.1.2\\microsoft.identitymodel.tokens.7.1.2.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\microsoft.visualstudio.slngen\\11.1.0\\microsoft.visualstudio.slngen.11.1.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\polly.core\\8.3.1\\polly.core.8.3.1.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\prometheus-net\\8.2.1\\prometheus-net.8.2.1.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\system.diagnostics.diagnosticsource\\8.0.0\\system.diagnostics.diagnosticsource.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\system.diagnostics.eventlog\\8.0.0\\system.diagnostics.eventlog.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\system.identitymodel.tokens.jwt\\7.1.2\\system.identitymodel.tokens.jwt.7.1.2.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\system.text.encodings.web\\8.0.0\\system.text.encodings.web.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\system.text.json\\8.0.0\\system.text.json.8.0.0.nupkg.sha512",
|
|
||||||
"C:\\Users\\khouw\\.nuget\\packages\\yamldotnet\\15.1.0\\yamldotnet.15.1.0.nupkg.sha512"
|
|
||||||
],
|
|
||||||
"logs": []
|
|
||||||
}
|
|
@ -1,14 +1,225 @@
|
|||||||
using Medusa.Core.Services;
|
using Medusa.Core.Services;
|
||||||
|
using Microsoft.Extensions.DependencyInjection.Extensions;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Reflection;
|
||||||
|
|
||||||
namespace Medusa.Core.Extensions
|
namespace Medusa.Core.Extensions
|
||||||
{
|
{
|
||||||
public static class ServiceCollectionExtensions
|
public static class ServiceCollectionExtensions
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Add handler service to DI
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="services">The extended IServiceCollection</param>
|
||||||
|
/// <returns></returns>
|
||||||
public static IServiceCollection AddHandlers(this IServiceCollection services)
|
public static IServiceCollection AddHandlers(this IServiceCollection services)
|
||||||
{
|
{
|
||||||
services.Add(new ServiceDescriptor(typeof(IHandlerService), typeof(HandlerService), ServiceLifetime.Singleton));
|
services.Add(new ServiceDescriptor(typeof(IHandlerService), typeof(HandlerService), ServiceLifetime.Singleton));
|
||||||
|
services.AddTransient<ICardService, CardService>();
|
||||||
|
|
||||||
return services;
|
return services;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Adds services implementing an interface to the DI container.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TType">The interface type</typeparam>
|
||||||
|
/// <param name="serviceCollection">The extended IServiceCollection</param>
|
||||||
|
/// <param name="lifetime">The lifetime of the services</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static IServiceCollection AddIServicesWithType<TType>(this IServiceCollection serviceCollection,
|
||||||
|
ServiceLifetime lifetime = ServiceLifetime.Transient)
|
||||||
|
{
|
||||||
|
var assembly = typeof(TType).Assembly;
|
||||||
|
var types = assembly.DefinedTypes
|
||||||
|
.Where(x => typeof(TType).IsAssignableFrom(x) && !x.IsInterface && !x.IsAbstract)
|
||||||
|
.ToArray();
|
||||||
|
|
||||||
|
if(types.Length == 0) return serviceCollection;
|
||||||
|
|
||||||
|
foreach(var type in types)
|
||||||
|
{
|
||||||
|
serviceCollection.TryAdd(new ServiceDescriptor(typeof(TType), type.AsType(), lifetime));
|
||||||
|
}
|
||||||
|
|
||||||
|
return serviceCollection;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Adds services from a namespace that implement an interface to the DI container.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="serviceCollection">The extended IServiceCollection</param>
|
||||||
|
/// <param name="interfaceNamespace">The namespace of the interfaces</param>
|
||||||
|
/// <param name="lifetime">The lifetime of the services</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static IServiceCollection AddServicesInNamespaceWithInterface(this IServiceCollection serviceCollection,
|
||||||
|
string interfaceNamespace, ServiceLifetime lifetime = ServiceLifetime.Transient)
|
||||||
|
{
|
||||||
|
var assemblies = AppDomain.CurrentDomain.GetAssemblies();
|
||||||
|
var foundAssembly = assemblies.FirstOrDefault(x => x.DefinedTypes.Any(typeInfo => typeInfo.Namespace?.Equals(interfaceNamespace) ?? false));
|
||||||
|
|
||||||
|
if(foundAssembly == null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var loaded = Assembly.Load(interfaceNamespace.Split('.')[0]);
|
||||||
|
foundAssembly = loaded;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return serviceCollection;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var types = foundAssembly.DefinedTypes
|
||||||
|
.Where(x => x.Namespace == interfaceNamespace && !x.IsInterface && !x.IsAbstract && !x.ContainsGenericParameters && !x.IsNested)
|
||||||
|
.ToList();
|
||||||
|
|
||||||
|
if(types.Count == 0) return serviceCollection;
|
||||||
|
|
||||||
|
foreach(var type in types)
|
||||||
|
{
|
||||||
|
var interfaceType = type.GetInterfaces().FirstOrDefault();
|
||||||
|
if(interfaceType != null)
|
||||||
|
{
|
||||||
|
serviceCollection.TryAdd(new ServiceDescriptor(interfaceType, type.AsType(), lifetime));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return serviceCollection;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Adds services from multiple namespaces to the DI container.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="serviceCollection">The extended IServiceCollection</param>
|
||||||
|
/// <param name="namespaces">List of namespaces</param>
|
||||||
|
/// <param name="lifetime">The lifetime of the services</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static IServiceCollection AddServicesInNamespaces(this IServiceCollection serviceCollection,
|
||||||
|
string[] namespaces, ServiceLifetime lifetime = ServiceLifetime.Transient)
|
||||||
|
{
|
||||||
|
var assemblies = AppDomain.CurrentDomain.GetAssemblies();
|
||||||
|
var foundAssemblies = assemblies
|
||||||
|
.Where(a => a.DefinedTypes.Any(t => namespaces.Contains(t.Namespace)))
|
||||||
|
.ToList();
|
||||||
|
|
||||||
|
var notFoundNamespaces = namespaces.Except(foundAssemblies.SelectMany(a => a.GetTypes().Select(t => t.Namespace))).ToList();
|
||||||
|
var types = new List<TypeInfo>();
|
||||||
|
|
||||||
|
foreach(var assembly in foundAssemblies)
|
||||||
|
{
|
||||||
|
var foundTypes = assembly.DefinedTypes
|
||||||
|
.Where(x => namespaces.Contains(x.Namespace) && !x.IsInterface && !x.IsAbstract && !x.IsNested)
|
||||||
|
.ToArray();
|
||||||
|
types.AddRange(foundTypes);
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach(var notFound in notFoundNamespaces)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var assemblyName = notFound?.Split('.')[0];
|
||||||
|
var assembly = Assembly.Load(assemblyName ?? "");
|
||||||
|
var foundTypes = assembly.DefinedTypes
|
||||||
|
.Where(x => x.Namespace == notFound && !x.IsInterface && !x.IsAbstract && !x.IsNested)
|
||||||
|
.ToArray();
|
||||||
|
types.AddRange(foundTypes);
|
||||||
|
}
|
||||||
|
catch { }
|
||||||
|
}
|
||||||
|
|
||||||
|
if(types.Count == 0) return serviceCollection;
|
||||||
|
|
||||||
|
foreach(var type in types)
|
||||||
|
{
|
||||||
|
serviceCollection.TryAdd(new ServiceDescriptor(type.AsType(), type.AsType(), lifetime));
|
||||||
|
}
|
||||||
|
|
||||||
|
return serviceCollection;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Adds services from a single namespace to the DI container.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="serviceCollection">The extended IServiceCollection</param>
|
||||||
|
/// <param name="namespace">The namespace to scan</param>
|
||||||
|
/// <param name="lifetime">The lifetime of the services</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static IServiceCollection AddServicesInNamespace(this IServiceCollection serviceCollection,
|
||||||
|
string @namespace, ServiceLifetime lifetime = ServiceLifetime.Transient)
|
||||||
|
{
|
||||||
|
var assemblies = AppDomain.CurrentDomain.GetAssemblies();
|
||||||
|
var assembly = assemblies.FirstOrDefault(x => x.DefinedTypes.Any(typeInfo => typeInfo.Namespace == @namespace));
|
||||||
|
|
||||||
|
var types = assembly?.DefinedTypes
|
||||||
|
.Where(x => x.Namespace == @namespace && !x.IsInterface && !x.IsAbstract && !x.IsNested)
|
||||||
|
.ToArray();
|
||||||
|
|
||||||
|
if(types == null || types.Length == 0) return serviceCollection;
|
||||||
|
|
||||||
|
foreach(var type in types)
|
||||||
|
{
|
||||||
|
serviceCollection.TryAdd(new ServiceDescriptor(type.AsType(), type.AsType(), lifetime));
|
||||||
|
}
|
||||||
|
|
||||||
|
return serviceCollection;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Adds a single class as a service to the DI container.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="serviceCollection">The extended IServiceCollection</param>
|
||||||
|
/// <param name="serviceClassType">The class type to add</param>
|
||||||
|
/// <param name="lifetime">The lifetime of the service</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static IServiceCollection CreateServiceFromClass(this IServiceCollection serviceCollection,
|
||||||
|
Type serviceClassType, ServiceLifetime lifetime = ServiceLifetime.Transient)
|
||||||
|
{
|
||||||
|
serviceCollection.TryAdd(new ServiceDescriptor(serviceClassType, serviceClassType, lifetime));
|
||||||
|
return serviceCollection;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Adds multiple classes as services to the DI container.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="serviceCollection">The extended IServiceCollection</param>
|
||||||
|
/// <param name="serviceClassTypes">A list of class types</param>
|
||||||
|
/// <param name="lifetime">The lifetime of the services</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static IServiceCollection CreateServiceFromClasses(this IServiceCollection serviceCollection,
|
||||||
|
IEnumerable<Type> serviceClassTypes, ServiceLifetime lifetime = ServiceLifetime.Transient)
|
||||||
|
{
|
||||||
|
foreach(var serviceClassType in serviceClassTypes)
|
||||||
|
{
|
||||||
|
serviceCollection.TryAdd(new ServiceDescriptor(serviceClassType, serviceClassType, lifetime));
|
||||||
|
}
|
||||||
|
return serviceCollection;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Adds services based on a type that implements an interface, without adding the interface itself.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TType">The extended interface</typeparam>
|
||||||
|
/// <param name="serviceDescriptors">The extended IServiceCollection</param>
|
||||||
|
/// <param name="lifetime">The lifetime of the services</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static IServiceCollection AddServicesWithType<TType>(this IServiceCollection serviceDescriptors,
|
||||||
|
ServiceLifetime lifetime = ServiceLifetime.Transient)
|
||||||
|
{
|
||||||
|
var assembly = typeof(TType).Assembly;
|
||||||
|
var types = assembly.DefinedTypes
|
||||||
|
.Where(x => typeof(TType).IsAssignableFrom(x) && !x.IsInterface && !x.IsAbstract)
|
||||||
|
.ToArray();
|
||||||
|
|
||||||
|
if(types.Length == 0) return serviceDescriptors;
|
||||||
|
|
||||||
|
foreach(var type in types)
|
||||||
|
{
|
||||||
|
serviceDescriptors.TryAdd(new ServiceDescriptor(type.AsType(), type.AsType(), lifetime));
|
||||||
|
}
|
||||||
|
|
||||||
|
return serviceDescriptors;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,18 @@
|
|||||||
using Medusa.Core.Attributes;
|
using Medusa.Core.Attributes;
|
||||||
|
using Microsoft.AspNetCore.Hosting.Server;
|
||||||
|
using Microsoft.AspNetCore.Hosting.Server.Features;
|
||||||
using System.Xml.Linq;
|
using System.Xml.Linq;
|
||||||
|
|
||||||
namespace Medusa.Core.Handlers.Boot
|
namespace Medusa.Core.Handlers.Boot
|
||||||
{
|
{
|
||||||
[Handler("services", "get")]
|
[Handler("services", "get")]
|
||||||
public class GetServicesHandler(ILogger<GetServicesHandler> logger, XDocument body) : IHandler
|
public class GetServicesHandler(IServer server, ILogger<GetServicesHandler> logger, XDocument body) : IHandler
|
||||||
{
|
{
|
||||||
|
private readonly IServer _server = server;
|
||||||
private readonly ILogger<GetServicesHandler> _logger = logger;
|
private readonly ILogger<GetServicesHandler> _logger = logger;
|
||||||
private readonly XDocument _body = body;
|
private readonly XDocument _body = body;
|
||||||
private const string CommonUrl = "http://localhost:5293/service/services/";
|
private const string CommonUrl = "http://127.0.0.1:8083/";
|
||||||
|
private string listeningAddress = "http://127.0.0.1:8083";
|
||||||
|
|
||||||
public Task<XDocument> HandleAsync(string model)
|
public Task<XDocument> HandleAsync(string model)
|
||||||
{
|
{
|
||||||
@ -22,6 +26,9 @@ namespace Medusa.Core.Handlers.Boot
|
|||||||
case "MDX":
|
case "MDX":
|
||||||
AddMdxServices(services);
|
AddMdxServices(services);
|
||||||
break;
|
break;
|
||||||
|
case "M39":
|
||||||
|
AddM39Services(services);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
var document = new XDocument(new XElement("response", services));
|
var document = new XDocument(new XElement("response", services));
|
||||||
@ -53,14 +60,14 @@ namespace Medusa.Core.Handlers.Boot
|
|||||||
|
|
||||||
services.Add(new XElement("item", new XAttribute("name", "keepalive"),
|
services.Add(new XElement("item", new XAttribute("name", "keepalive"),
|
||||||
new XAttribute("url",
|
new XAttribute("url",
|
||||||
"http://127.0.0.1/keepalive?pa=127.0.0.1&ia=127.0.0.1&ga=127.0.0.1&ma=127.0.0.1&t1=2&t2=10")));
|
"http://127.0.0.1:8083/keepalive?pa=127.0.0.1&ia=127.0.0.1&ga=127.0.0.1&ma=127.0.0.1&t1=2&t2=10")));
|
||||||
|
|
||||||
return services;
|
return services;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void AddKfcServices(XElement services)
|
private static void AddKfcServices(XElement services)
|
||||||
{
|
{
|
||||||
const string sdvxurl = "http://127.0.0.1/service/services/sdvx";
|
const string sdvxurl = $"{CommonUrl}";
|
||||||
string[] kfcServices = [
|
string[] kfcServices = [
|
||||||
"local", "local2", "lobby", "slocal", "slocal2", "sglocal", "sglocal2", "lab", "globby",
|
"local", "local2", "lobby", "slocal", "slocal2", "sglocal", "sglocal2", "lab", "globby",
|
||||||
"slobby", "sglobby"
|
"slobby", "sglobby"
|
||||||
@ -72,11 +79,20 @@ namespace Medusa.Core.Handlers.Boot
|
|||||||
|
|
||||||
private static void AddMdxServices(XElement services)
|
private static void AddMdxServices(XElement services)
|
||||||
{
|
{
|
||||||
const string mdxurl = "http://127.0.0.1/service/services/ddr";
|
const string mdxurl = $"{CommonUrl}";
|
||||||
string[] mdxServices = ["local"];
|
string[] mdxServices = ["local"];
|
||||||
|
|
||||||
foreach(string service in mdxServices)
|
foreach(string service in mdxServices)
|
||||||
services.Add(new XElement("item", new XAttribute("name", service), new XAttribute("url", mdxurl)));
|
services.Add(new XElement("item", new XAttribute("name", service), new XAttribute("url", mdxurl)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void AddM39Services(XElement services)
|
||||||
|
{
|
||||||
|
const string m39url = $"{CommonUrl}";
|
||||||
|
string[] m39Services = ["local"];
|
||||||
|
|
||||||
|
foreach(string service in m39Services)
|
||||||
|
services.Add(new XElement("item", new XAttribute("name", service), new XAttribute("url", m39url)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,9 +16,9 @@ namespace Medusa.Core.Handlers.Common
|
|||||||
new XElement("pcbtracker",
|
new XElement("pcbtracker",
|
||||||
new XAttribute("status", "0"),
|
new XAttribute("status", "0"),
|
||||||
new XAttribute("expire", "1200"),
|
new XAttribute("expire", "1200"),
|
||||||
new XAttribute("ecenable", "1"),
|
new XAttribute("ecenable", "0"),
|
||||||
new XAttribute("eclimit", "2000"),
|
new XAttribute("eclimit", "0"),
|
||||||
new XAttribute("limit", "2000"),
|
new XAttribute("limit", "0"),
|
||||||
new XAttribute("time", DateTimeOffset.UtcNow.ToUnixTimeSeconds().ToString())));
|
new XAttribute("time", DateTimeOffset.UtcNow.ToUnixTimeSeconds().ToString())));
|
||||||
|
|
||||||
var document = new XDocument(new XElement("response", pcbTracker));
|
var document = new XDocument(new XElement("response", pcbTracker));
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
using Medusa.Core.Attributes;
|
using Medusa.Core.Attributes;
|
||||||
|
using Medusa.Core.Services;
|
||||||
using System.Xml.Linq;
|
using System.Xml.Linq;
|
||||||
|
|
||||||
namespace Medusa.Core.Handlers.Common.Card
|
namespace Medusa.Core.Handlers.Common.Card
|
||||||
{
|
{
|
||||||
[Handler("cardmng", "getrefid")]
|
[Handler("cardmng", "getrefid")]
|
||||||
public class GetRefIdCardManagmentHandler(XDocument body) : IHandler
|
public class GetRefIdCardManagmentHandler(ICardService cardService, XDocument body) : IHandler
|
||||||
{
|
{
|
||||||
private readonly XDocument _body = body;
|
private readonly XDocument _body = body;
|
||||||
|
private readonly ICardService _cardService = cardService;
|
||||||
|
|
||||||
public Task<XDocument> HandleAsync(string model)
|
public Task<XDocument> HandleAsync(string model)
|
||||||
{
|
{
|
||||||
@ -16,10 +18,12 @@ namespace Medusa.Core.Handlers.Common.Card
|
|||||||
var cardId = cardManagement.Attribute("cardid")?.Value;
|
var cardId = cardManagement.Attribute("cardid")?.Value;
|
||||||
var password = cardManagement.Attribute("passwd")?.Value;
|
var password = cardManagement.Attribute("passwd")?.Value;
|
||||||
|
|
||||||
InquireCardManagmentHandler.CardIds.Add((cardId, password));
|
var konamiId = _cardService.ConvertUidToKonamiId(cardId);
|
||||||
|
|
||||||
|
InquireCardManagmentHandler.CardIds.Add((konamiId, cardId, password));
|
||||||
}
|
}
|
||||||
|
|
||||||
var getRefId = new XElement("cardmng", new XAttribute("status", "0"), new XAttribute("refid", "00000000000"), new XAttribute("dataid", "000000000000000"));
|
var getRefId = new XElement("cardmng", new XAttribute("status", "0"), new XAttribute("refid", "675678776"), new XAttribute("dataid", "87656787"));
|
||||||
|
|
||||||
var document = new XDocument(new XElement("response", getRefId));
|
var document = new XDocument(new XElement("response", getRefId));
|
||||||
|
|
||||||
|
@ -1,29 +1,45 @@
|
|||||||
using Medusa.Core.Attributes;
|
using Medusa.Core.Attributes;
|
||||||
|
using Medusa.Core.Services;
|
||||||
|
using System.Text;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
using System.Xml.Linq;
|
using System.Xml.Linq;
|
||||||
|
|
||||||
namespace Medusa.Core.Handlers.Common.Card
|
namespace Medusa.Core.Handlers.Common.Card
|
||||||
{
|
{
|
||||||
[Handler("cardmng", "inquire")]
|
[Handler("cardmng", "inquire")]
|
||||||
public class InquireCardManagmentHandler(XDocument body) : IHandler
|
public class InquireCardManagmentHandler(ICardService cardService, XDocument body) : IHandler
|
||||||
{
|
{
|
||||||
private readonly XDocument _body = body;
|
private readonly XDocument _body = body;
|
||||||
|
private readonly ICardService _cardService = cardService;
|
||||||
|
|
||||||
public static List<(string cardId, string pincode)> CardIds = [];
|
public static List<(string konamiId, string cardId, string pincode)> CardIds = [];
|
||||||
|
|
||||||
public Task<XDocument> HandleAsync(string model)
|
public Task<XDocument> HandleAsync(string model)
|
||||||
{
|
{
|
||||||
var cardId = _body.Root?.Element("cardmng")?.Attribute("cardid")?.Value;
|
var cardId = _body.Root?.Element("cardmng")?.Attribute("cardid")?.Value;
|
||||||
|
|
||||||
var existingCard = CardIds.FirstOrDefault(x => x.cardId == cardId);
|
if (string.IsNullOrEmpty(cardId))
|
||||||
|
{
|
||||||
|
var noCardId = new XElement("cardmng", new XAttribute("status", "111"));
|
||||||
|
return Task.FromResult(new XDocument(new XElement("response", noCardId)));
|
||||||
|
}
|
||||||
|
|
||||||
var cardManagment = new XElement("cardmng", new XAttribute("binded", "1"), new XAttribute("dataid", "0000000000000000"),
|
var konamiId = _cardService.ConvertUidToKonamiId(cardId);
|
||||||
|
if (string.IsNullOrEmpty(konamiId))
|
||||||
|
{
|
||||||
|
var noKonamiId = new XElement("cardmng", new XAttribute("status", "111"));
|
||||||
|
return Task.FromResult(new XDocument(new XElement("response", noKonamiId)));
|
||||||
|
}
|
||||||
|
|
||||||
|
var existingCard = CardIds.FirstOrDefault(x => x.cardId == cardId && x.konamiId == konamiId);
|
||||||
|
|
||||||
|
var cardManagment = new XElement("cardmng", new XAttribute("binded", "1"), new XAttribute("dataid", "675678776"),
|
||||||
new XAttribute("exflag", "1"), new XAttribute("expired", "0"), new XAttribute("newflag", "0"),
|
new XAttribute("exflag", "1"), new XAttribute("expired", "0"), new XAttribute("newflag", "0"),
|
||||||
new XAttribute("refid", "0000000000000000"), new XAttribute("status", "0"));
|
new XAttribute("refid", "87656787"), new XAttribute("status", "0"));
|
||||||
|
|
||||||
var document = new XDocument(new XElement("response", cardManagment));
|
var document = new XDocument(new XElement("response", cardManagment));
|
||||||
|
|
||||||
if (existingCard is (null, null))
|
if (existingCard is (null, null, null))
|
||||||
{
|
{
|
||||||
cardManagment = new XElement("cardmng", new XAttribute("status", "112"));
|
cardManagment = new XElement("cardmng", new XAttribute("status", "112"));
|
||||||
document = new XDocument(new XElement("response", cardManagment));
|
document = new XDocument(new XElement("response", cardManagment));
|
||||||
|
@ -16,7 +16,7 @@ namespace Medusa.Core.Handlers.Common
|
|||||||
|
|
||||||
public Task<XDocument> HandleAsync(string model)
|
public Task<XDocument> HandleAsync(string model)
|
||||||
{
|
{
|
||||||
var port = serverAddressesFeature?.Addresses?.FirstOrDefault(x => x.StartsWith("http://"))?.Split(":")[2] ?? "5293";
|
var port = "5293";
|
||||||
|
|
||||||
var facility = new XElement("facility",
|
var facility = new XElement("facility",
|
||||||
new XAttribute("status", "0"));
|
new XAttribute("status", "0"));
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<PropertyGroup>
|
|
||||||
<ActiveDebugProfile>http</ActiveDebugProfile>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
|
||||||
<DebuggerFlavor>ProjectDebugger</DebuggerFlavor>
|
|
||||||
</PropertyGroup>
|
|
||||||
</Project>
|
|
196
Medusa.Core/Services/CardService.cs
Normal file
196
Medusa.Core/Services/CardService.cs
Normal file
@ -0,0 +1,196 @@
|
|||||||
|
using Medusa.Core.Utils;
|
||||||
|
using System.Text;
|
||||||
|
using static System.Runtime.InteropServices.JavaScript.JSType;
|
||||||
|
|
||||||
|
namespace Medusa.Core.Services
|
||||||
|
{
|
||||||
|
public class CardService : ICardService
|
||||||
|
{
|
||||||
|
private const string Alphabet = "0123456789ABCDEFGHJKLMNPRSTUWXYZ";
|
||||||
|
private readonly byte[] RawKey = Encoding.ASCII.GetBytes("?I'llB2c.YouXXXeMeHaYpy!");
|
||||||
|
private readonly DESEncryption _desEncryption;
|
||||||
|
|
||||||
|
private readonly ILogger<CardService> _logger;
|
||||||
|
|
||||||
|
public CardService(ILogger<CardService> logger)
|
||||||
|
{
|
||||||
|
var encryptionKey = RawKey.Select(x => (byte)(x * 2)).ToArray();
|
||||||
|
_desEncryption = new DESEncryption(encryptionKey);
|
||||||
|
_logger = logger;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string ConvertKonamiIdToUid(string konamiId)
|
||||||
|
{
|
||||||
|
if(konamiId.Length != 16)
|
||||||
|
{
|
||||||
|
_logger.LogError("Invalid Konami ID length must be 16 characters");
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
int cardType = konamiId[14] == '1' ? 1 : konamiId[14] == '2' ? 2 : -1;
|
||||||
|
|
||||||
|
if(cardType == -1)
|
||||||
|
{
|
||||||
|
_logger.LogError("Invalid Konami ID");
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
var card = konamiId.Select(k => (byte)Alphabet.IndexOf(k)).ToArray();
|
||||||
|
|
||||||
|
if(card[11] % 2 != card[12] % 2 || card[13] != (card[12] ^ 1) || card[15] != CalculateChecksum(card))
|
||||||
|
{
|
||||||
|
|
||||||
|
_logger.LogError("Invalid card data");
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int i = 13; i > 0; i--)
|
||||||
|
{
|
||||||
|
card[i] ^= card[i - 1];
|
||||||
|
}
|
||||||
|
|
||||||
|
card[0] ^= (byte)cardType;
|
||||||
|
|
||||||
|
var packed = Pack5(card.Take(13).ToArray()).Take(8).ToArray();
|
||||||
|
var decrypted = _desEncryption.Decrypt(packed).Reverse().ToArray();
|
||||||
|
|
||||||
|
string cardId = BitConverter.ToString(decrypted).Replace("-", "").ToUpper();
|
||||||
|
|
||||||
|
if(cardType == 1 && !cardId.StartsWith("E004") || cardType == 2 && cardId[0] != '0')
|
||||||
|
{
|
||||||
|
_logger.LogError("Invalid card `type");
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
return cardId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string ConvertUidToKonamiId(string uid)
|
||||||
|
{
|
||||||
|
if(uid.Length != 16)
|
||||||
|
{
|
||||||
|
_logger.LogError("Invalid UID length must be 16 characters");
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
int cardType = uid.StartsWith("E004") ? 1 : uid[0] == '0' ? 2 : -1;
|
||||||
|
|
||||||
|
if(cardType == -1)
|
||||||
|
{
|
||||||
|
_logger.LogError("Invalid UID prefix");
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
var konamiId = Enumerable.Range(0, uid.Length / 2)
|
||||||
|
.Select(x => Convert.ToByte(uid.Substring(x * 2, 2), 16))
|
||||||
|
.ToArray();
|
||||||
|
|
||||||
|
konamiId = konamiId.Reverse().ToArray();
|
||||||
|
|
||||||
|
if(konamiId.Length != 8)
|
||||||
|
{
|
||||||
|
_logger.LogError("Invalid UID length. Must be 8 bytes");
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
var encryptedId = _desEncryption.Encrypt(konamiId);
|
||||||
|
|
||||||
|
if(encryptedId.Length != 8)
|
||||||
|
{
|
||||||
|
_logger.LogError("Invalid ID length. Must be 8 bytes");
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
var unpackedId = Unpack5(encryptedId);
|
||||||
|
unpackedId = unpackedId.Take(13).Concat(new byte[] { 0, 0, 0 }).ToArray();
|
||||||
|
|
||||||
|
if(unpackedId.Length != 16)
|
||||||
|
{
|
||||||
|
_logger.LogError("Invalid unpacked ID length. Must be 16 bytes");
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
unpackedId[0] ^= (byte)cardType;
|
||||||
|
unpackedId[13] = 1;
|
||||||
|
|
||||||
|
for(int i = 1; i < 14; i++)
|
||||||
|
{
|
||||||
|
unpackedId[i] ^= unpackedId[i - 1];
|
||||||
|
}
|
||||||
|
|
||||||
|
unpackedId[14] = (byte)cardType;
|
||||||
|
unpackedId[15] = (byte)CalculateChecksum(unpackedId);
|
||||||
|
|
||||||
|
return string.Concat(unpackedId.Select(u => Alphabet[u]));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static byte[] Unpack5(byte[] data)
|
||||||
|
{
|
||||||
|
// Convert each byte to an 8-bit binary string and concatenate them
|
||||||
|
var binaryString = new StringBuilder();
|
||||||
|
foreach(byte b in data)
|
||||||
|
{
|
||||||
|
binaryString.Append(Convert.ToString(b, 2).PadLeft(8, '0'));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ensure the total length is a multiple of 5 by padding with zeroes if necessary
|
||||||
|
int remainder = binaryString.Length % 5;
|
||||||
|
if(remainder != 0)
|
||||||
|
{
|
||||||
|
binaryString.Append(new string('0', 5 - remainder));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convert the 5-bit chunks back into bytes
|
||||||
|
var result = new List<byte>();
|
||||||
|
for(int i = 0; i < binaryString.Length; i += 5)
|
||||||
|
{
|
||||||
|
string chunk = binaryString.ToString(i, 5);
|
||||||
|
result.Add(Convert.ToByte(chunk, 2));
|
||||||
|
}
|
||||||
|
|
||||||
|
return [.. result];
|
||||||
|
}
|
||||||
|
|
||||||
|
private static byte[] Pack5(byte[] data)
|
||||||
|
{
|
||||||
|
var packed = new StringBuilder();
|
||||||
|
foreach(byte b in data)
|
||||||
|
{
|
||||||
|
packed.Append(Convert.ToString(b, 2).PadLeft(5, '0'));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Padding if not a multiple of 8
|
||||||
|
if(packed.Length % 8 != 0)
|
||||||
|
{
|
||||||
|
packed.Append('0', 8 - packed.Length % 8);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Enumerable.Range(0, packed.Length / 8)
|
||||||
|
.Select(i => Convert.ToByte(packed.ToString().Substring(i * 8, 8), 2))
|
||||||
|
.ToArray();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static byte CalculateChecksum(byte[] data)
|
||||||
|
{
|
||||||
|
int checksum = 0;
|
||||||
|
for(int i = 0; i < 15; i++)
|
||||||
|
{
|
||||||
|
if(i >= data.Length)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
checksum += data[i] * ((i % 3) + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Reduce the checksum to fit within 5 bits
|
||||||
|
while(checksum > 31)
|
||||||
|
{
|
||||||
|
checksum = (checksum >> 5) + (checksum & 31);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return the checksum as a byte
|
||||||
|
return (byte)checksum;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user