diff --git a/publish/Dapper.AOT.dll b/publish/Dapper.AOT.dll new file mode 100644 index 00000000..49c3b48f Binary files /dev/null and b/publish/Dapper.AOT.dll differ diff --git a/publish/Dapper.dll b/publish/Dapper.dll new file mode 100644 index 00000000..84d2de05 Binary files /dev/null and b/publish/Dapper.dll differ diff --git a/publish/FastEndpoints.Attributes.dll b/publish/FastEndpoints.Attributes.dll new file mode 100644 index 00000000..fa4614bf Binary files /dev/null and b/publish/FastEndpoints.Attributes.dll differ diff --git a/publish/FastEndpoints.Messaging.Core.dll b/publish/FastEndpoints.Messaging.Core.dll new file mode 100644 index 00000000..861e651f Binary files /dev/null and b/publish/FastEndpoints.Messaging.Core.dll differ diff --git a/publish/FastEndpoints.dll b/publish/FastEndpoints.dll new file mode 100644 index 00000000..22cc8e13 Binary files /dev/null and b/publish/FastEndpoints.dll differ diff --git a/publish/FluentValidation.dll b/publish/FluentValidation.dll new file mode 100644 index 00000000..bfd0db65 Binary files /dev/null and b/publish/FluentValidation.dll differ diff --git a/publish/Hangfire.AspNetCore.dll b/publish/Hangfire.AspNetCore.dll new file mode 100644 index 00000000..670102f0 Binary files /dev/null and b/publish/Hangfire.AspNetCore.dll differ diff --git a/publish/Hangfire.Core.dll b/publish/Hangfire.Core.dll new file mode 100644 index 00000000..0f7b1e15 Binary files /dev/null and b/publish/Hangfire.Core.dll differ diff --git a/publish/Hangfire.NetCore.dll b/publish/Hangfire.NetCore.dll new file mode 100644 index 00000000..788cba93 Binary files /dev/null and b/publish/Hangfire.NetCore.dll differ diff --git a/publish/Hangfire.PostgreSql.dll b/publish/Hangfire.PostgreSql.dll new file mode 100644 index 00000000..9616cd6b Binary files /dev/null and b/publish/Hangfire.PostgreSql.dll differ diff --git a/publish/KArtSell.BuildingBlocks.dll b/publish/KArtSell.BuildingBlocks.dll new file mode 100644 index 00000000..61acc5de Binary files /dev/null and b/publish/KArtSell.BuildingBlocks.dll differ diff --git a/publish/KArtSell.BuildingBlocks.pdb b/publish/KArtSell.BuildingBlocks.pdb new file mode 100644 index 00000000..7e33513d Binary files /dev/null and b/publish/KArtSell.BuildingBlocks.pdb differ diff --git a/publish/KArtSell.Host.deps.json b/publish/KArtSell.Host.deps.json new file mode 100644 index 00000000..b8f47d85 --- /dev/null +++ b/publish/KArtSell.Host.deps.json @@ -0,0 +1,781 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v10.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v10.0": { + "KArtSell.Host/1.0.0": { + "dependencies": { + "FastEndpoints": "7.1.0", + "Hangfire.AspNetCore": "1.8.24", + "Hangfire.PostgreSql": "1.21.1", + "KArtSell.BuildingBlocks": "1.0.0", + "KArtSell.Modules.ModelOperations": "1.0.0", + "KArtSell.Modules.SignalEngine": "1.0.0", + "Newtonsoft.Json": "13.0.3", + "Npgsql": "10.0.3", + "OpenTelemetry.Exporter.OpenTelemetryProtocol": "1.17.0", + "OpenTelemetry.Extensions.Hosting": "1.17.0", + "OpenTelemetry.Instrumentation.AspNetCore": "1.17.0", + "OpenTelemetry.Instrumentation.Http": "1.17.0", + "OpenTelemetry.Instrumentation.Runtime": "1.17.0", + "Polly": "8.7.0", + "Serilog.AspNetCore": "10.0.0", + "Serilog.Settings.Configuration": "10.0.1", + "Serilog.Sinks.Console": "6.1.1", + "Swashbuckle.AspNetCore": "10.2.3" + }, + "runtime": { + "KArtSell.Host.dll": {} + } + }, + "Dapper/2.1.79": { + "runtime": { + "lib/net10.0/Dapper.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.1.79.29349" + } + } + }, + "Dapper.AOT/1.0.48": { + "runtime": { + "lib/net8.0/Dapper.AOT.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.48.20364" + } + } + }, + "FastEndpoints/7.1.0": { + "dependencies": { + "FastEndpoints.Attributes": "7.1.0", + "FastEndpoints.Messaging.Core": "7.1.0", + "FluentValidation": "12.0.0" + }, + "runtime": { + "lib/net10.0/FastEndpoints.dll": { + "assemblyVersion": "7.1.0.0", + "fileVersion": "7.1.0.0" + } + } + }, + "FastEndpoints.Attributes/7.1.0": { + "runtime": { + "lib/netstandard2.0/FastEndpoints.Attributes.dll": { + "assemblyVersion": "7.1.0.0", + "fileVersion": "7.1.0.0" + } + } + }, + "FastEndpoints.Messaging.Core/7.1.0": { + "runtime": { + "lib/netstandard2.1/FastEndpoints.Messaging.Core.dll": { + "assemblyVersion": "7.1.0.0", + "fileVersion": "7.1.0.0" + } + } + }, + "FluentValidation/12.0.0": { + "runtime": { + "lib/net8.0/FluentValidation.dll": { + "assemblyVersion": "12.0.0.0", + "fileVersion": "12.0.0.0" + } + } + }, + "Hangfire.AspNetCore/1.8.24": { + "dependencies": { + "Hangfire.NetCore": "1.8.24" + }, + "runtime": { + "lib/netcoreapp3.0/Hangfire.AspNetCore.dll": { + "assemblyVersion": "1.8.24.0", + "fileVersion": "1.8.24.0" + } + } + }, + "Hangfire.Core/1.8.24": { + "dependencies": { + "Newtonsoft.Json": "13.0.3" + }, + "runtime": { + "lib/netstandard2.0/Hangfire.Core.dll": { + "assemblyVersion": "1.8.24.0", + "fileVersion": "1.8.24.0" + } + }, + "resources": { + "lib/netstandard2.0/ca/Hangfire.Core.resources.dll": { + "locale": "ca" + }, + "lib/netstandard2.0/de/Hangfire.Core.resources.dll": { + "locale": "de" + }, + "lib/netstandard2.0/es/Hangfire.Core.resources.dll": { + "locale": "es" + }, + "lib/netstandard2.0/fa/Hangfire.Core.resources.dll": { + "locale": "fa" + }, + "lib/netstandard2.0/fr/Hangfire.Core.resources.dll": { + "locale": "fr" + }, + "lib/netstandard2.0/nb/Hangfire.Core.resources.dll": { + "locale": "nb" + }, + "lib/netstandard2.0/nl/Hangfire.Core.resources.dll": { + "locale": "nl" + }, + "lib/netstandard2.0/pt-BR/Hangfire.Core.resources.dll": { + "locale": "pt-BR" + }, + "lib/netstandard2.0/pt-PT/Hangfire.Core.resources.dll": { + "locale": "pt-PT" + }, + "lib/netstandard2.0/pt/Hangfire.Core.resources.dll": { + "locale": "pt" + }, + "lib/netstandard2.0/ru/Hangfire.Core.resources.dll": { + "locale": "ru" + }, + "lib/netstandard2.0/sv/Hangfire.Core.resources.dll": { + "locale": "sv" + }, + "lib/netstandard2.0/tr-TR/Hangfire.Core.resources.dll": { + "locale": "tr-TR" + }, + "lib/netstandard2.0/zh-TW/Hangfire.Core.resources.dll": { + "locale": "zh-TW" + }, + "lib/netstandard2.0/zh/Hangfire.Core.resources.dll": { + "locale": "zh" + } + } + }, + "Hangfire.NetCore/1.8.24": { + "dependencies": { + "Hangfire.Core": "1.8.24" + }, + "runtime": { + "lib/netstandard2.1/Hangfire.NetCore.dll": { + "assemblyVersion": "1.8.24.0", + "fileVersion": "1.8.24.0" + } + } + }, + "Hangfire.PostgreSql/1.21.1": { + "dependencies": { + "Dapper": "2.1.79", + "Dapper.AOT": "1.0.48", + "Hangfire.Core": "1.8.24", + "Npgsql": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Hangfire.PostgreSql.dll": { + "assemblyVersion": "1.21.1.0", + "fileVersion": "1.21.1.0" + } + } + }, + "Microsoft.Extensions.DependencyModel/10.0.0": { + "runtime": { + "lib/net10.0/Microsoft.Extensions.DependencyModel.dll": { + "assemblyVersion": "10.0.0.0", + "fileVersion": "10.0.25.52411" + } + } + }, + "Microsoft.OpenApi/2.7.5": { + "runtime": { + "lib/net8.0/Microsoft.OpenApi.dll": { + "assemblyVersion": "2.7.5.0", + "fileVersion": "2.7.5.0" + } + } + }, + "Newtonsoft.Json/13.0.3": { + "runtime": { + "lib/net6.0/Newtonsoft.Json.dll": { + "assemblyVersion": "13.0.0.0", + "fileVersion": "13.0.3.27908" + } + } + }, + "Npgsql/10.0.3": { + "runtime": { + "lib/net10.0/Npgsql.dll": { + "assemblyVersion": "10.0.3.0", + "fileVersion": "10.0.3.0" + } + } + }, + "OpenTelemetry/1.17.0": { + "dependencies": { + "OpenTelemetry.Api.ProviderBuilderExtensions": "1.17.0" + }, + "runtime": { + "lib/net10.0/OpenTelemetry.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.17.0.2115" + } + } + }, + "OpenTelemetry.Api/1.17.0": { + "runtime": { + "lib/net10.0/OpenTelemetry.Api.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.17.0.2115" + } + } + }, + "OpenTelemetry.Api.ProviderBuilderExtensions/1.17.0": { + "dependencies": { + "OpenTelemetry.Api": "1.17.0" + }, + "runtime": { + "lib/net10.0/OpenTelemetry.Api.ProviderBuilderExtensions.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.17.0.2115" + } + } + }, + "OpenTelemetry.Exporter.OpenTelemetryProtocol/1.17.0": { + "dependencies": { + "OpenTelemetry": "1.17.0" + }, + "runtime": { + "lib/net10.0/OpenTelemetry.Exporter.OpenTelemetryProtocol.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.17.0.2115" + } + } + }, + "OpenTelemetry.Extensions.Hosting/1.17.0": { + "dependencies": { + "OpenTelemetry": "1.17.0" + }, + "runtime": { + "lib/net10.0/OpenTelemetry.Extensions.Hosting.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.17.0.2115" + } + } + }, + "OpenTelemetry.Instrumentation.AspNetCore/1.17.0": { + "dependencies": { + "OpenTelemetry.Api.ProviderBuilderExtensions": "1.17.0" + }, + "runtime": { + "lib/net10.0/OpenTelemetry.Instrumentation.AspNetCore.dll": { + "assemblyVersion": "1.17.0.1204", + "fileVersion": "1.17.0.1204" + } + } + }, + "OpenTelemetry.Instrumentation.Http/1.17.0": { + "dependencies": { + "OpenTelemetry.Api.ProviderBuilderExtensions": "1.17.0" + }, + "runtime": { + "lib/net10.0/OpenTelemetry.Instrumentation.Http.dll": { + "assemblyVersion": "1.17.0.1210", + "fileVersion": "1.17.0.1210" + } + } + }, + "OpenTelemetry.Instrumentation.Runtime/1.17.0": { + "dependencies": { + "OpenTelemetry.Api": "1.17.0" + }, + "runtime": { + "lib/net10.0/OpenTelemetry.Instrumentation.Runtime.dll": { + "assemblyVersion": "1.17.0.1215", + "fileVersion": "1.17.0.1215" + } + } + }, + "Polly/8.7.0": { + "dependencies": { + "Polly.Core": "8.7.0" + }, + "runtime": { + "lib/net6.0/Polly.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.7.0.5801" + } + } + }, + "Polly.Core/8.7.0": { + "runtime": { + "lib/net8.0/Polly.Core.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.7.0.5801" + } + } + }, + "Serilog/4.3.0": { + "runtime": { + "lib/net9.0/Serilog.dll": { + "assemblyVersion": "4.3.0.0", + "fileVersion": "4.3.0.0" + } + } + }, + "Serilog.AspNetCore/10.0.0": { + "dependencies": { + "Serilog": "4.3.0", + "Serilog.Extensions.Hosting": "10.0.0", + "Serilog.Formatting.Compact": "3.0.0", + "Serilog.Settings.Configuration": "10.0.1", + "Serilog.Sinks.Console": "6.1.1", + "Serilog.Sinks.Debug": "3.0.0", + "Serilog.Sinks.File": "7.0.0" + }, + "runtime": { + "lib/net10.0/Serilog.AspNetCore.dll": { + "assemblyVersion": "10.0.0.0", + "fileVersion": "10.0.0.0" + } + } + }, + "Serilog.Extensions.Hosting/10.0.0": { + "dependencies": { + "Serilog": "4.3.0", + "Serilog.Extensions.Logging": "10.0.0" + }, + "runtime": { + "lib/net10.0/Serilog.Extensions.Hosting.dll": { + "assemblyVersion": "10.0.0.0", + "fileVersion": "10.0.0.0" + } + } + }, + "Serilog.Extensions.Logging/10.0.0": { + "dependencies": { + "Serilog": "4.3.0" + }, + "runtime": { + "lib/net10.0/Serilog.Extensions.Logging.dll": { + "assemblyVersion": "10.0.0.0", + "fileVersion": "10.0.0.0" + } + } + }, + "Serilog.Formatting.Compact/3.0.0": { + "dependencies": { + "Serilog": "4.3.0" + }, + "runtime": { + "lib/net8.0/Serilog.Formatting.Compact.dll": { + "assemblyVersion": "3.0.0.0", + "fileVersion": "3.0.0.0" + } + } + }, + "Serilog.Settings.Configuration/10.0.1": { + "dependencies": { + "Microsoft.Extensions.DependencyModel": "10.0.0", + "Serilog": "4.3.0" + }, + "runtime": { + "lib/net10.0/Serilog.Settings.Configuration.dll": { + "assemblyVersion": "10.0.1.0", + "fileVersion": "10.0.1.0" + } + } + }, + "Serilog.Sinks.Console/6.1.1": { + "dependencies": { + "Serilog": "4.3.0" + }, + "runtime": { + "lib/net8.0/Serilog.Sinks.Console.dll": { + "assemblyVersion": "6.1.1.0", + "fileVersion": "6.1.1.0" + } + } + }, + "Serilog.Sinks.Debug/3.0.0": { + "dependencies": { + "Serilog": "4.3.0" + }, + "runtime": { + "lib/net8.0/Serilog.Sinks.Debug.dll": { + "assemblyVersion": "3.0.0.0", + "fileVersion": "3.0.0.0" + } + } + }, + "Serilog.Sinks.File/7.0.0": { + "dependencies": { + "Serilog": "4.3.0" + }, + "runtime": { + "lib/net9.0/Serilog.Sinks.File.dll": { + "assemblyVersion": "7.0.0.0", + "fileVersion": "7.0.0.0" + } + } + }, + "Swashbuckle.AspNetCore/10.2.3": { + "dependencies": { + "Swashbuckle.AspNetCore.Swagger": "10.2.3", + "Swashbuckle.AspNetCore.SwaggerGen": "10.2.3", + "Swashbuckle.AspNetCore.SwaggerUI": "10.2.3" + } + }, + "Swashbuckle.AspNetCore.Swagger/10.2.3": { + "dependencies": { + "Microsoft.OpenApi": "2.7.5" + }, + "runtime": { + "lib/net10.0/Swashbuckle.AspNetCore.Swagger.dll": { + "assemblyVersion": "10.2.3.0", + "fileVersion": "10.2.3.2721" + } + } + }, + "Swashbuckle.AspNetCore.SwaggerGen/10.2.3": { + "dependencies": { + "Swashbuckle.AspNetCore.Swagger": "10.2.3" + }, + "runtime": { + "lib/net10.0/Swashbuckle.AspNetCore.SwaggerGen.dll": { + "assemblyVersion": "10.2.3.0", + "fileVersion": "10.2.3.2721" + } + } + }, + "Swashbuckle.AspNetCore.SwaggerUI/10.2.3": { + "runtime": { + "lib/net10.0/Swashbuckle.AspNetCore.SwaggerUI.dll": { + "assemblyVersion": "10.2.3.0", + "fileVersion": "10.2.3.2721" + } + } + }, + "KArtSell.BuildingBlocks/1.0.0": { + "dependencies": { + "Dapper": "2.1.79", + "Npgsql": "10.0.3" + }, + "runtime": { + "KArtSell.BuildingBlocks.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "KArtSell.Modules.ModelOperations/1.0.0": { + "dependencies": { + "Dapper": "2.1.79", + "FastEndpoints": "7.1.0", + "Hangfire.Core": "1.8.24", + "KArtSell.BuildingBlocks": "1.0.0", + "Newtonsoft.Json": "13.0.3" + }, + "runtime": { + "KArtSell.Modules.ModelOperations.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "KArtSell.Modules.SignalEngine/1.0.0": { + "dependencies": { + "Dapper": "2.1.79", + "FastEndpoints": "7.1.0", + "KArtSell.BuildingBlocks": "1.0.0" + }, + "runtime": { + "KArtSell.Modules.SignalEngine.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "KArtSell.Host/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Dapper/2.1.79": { + "type": "package", + "serviceable": true, + "sha512": "sha512-8YijbzgTfmqmQOnVNorYM6K++pxqnW3nJ4aC1sRHzxUA2CcuoJ9gsTem3kgBnPRMc38zZHl4Esb6hAezXIEEuw==", + "path": "dapper/2.1.79", + "hashPath": "dapper.2.1.79.nupkg.sha512" + }, + "Dapper.AOT/1.0.48": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rsLM3yKr4g+YKKox9lhc8D+kz67P7Q9+xdyn1LmCsoYr1kYpJSm+Nt6slo5UrfUrcTiGJ57zUlyO8XUdV7G7iA==", + "path": "dapper.aot/1.0.48", + "hashPath": "dapper.aot.1.0.48.nupkg.sha512" + }, + "FastEndpoints/7.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0GmWCYlzDz6bXj8FeRDAG3XxaZ6EeaQg8EdlOCo+HYWSHjbKSt5WpbxR8RznCLJGNkDRNZvnBaVHZg/4hsGKoA==", + "path": "fastendpoints/7.1.0", + "hashPath": "fastendpoints.7.1.0.nupkg.sha512" + }, + "FastEndpoints.Attributes/7.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6JpMZ1smMs2bMT6IY+sezbz4qLiBDePjiQ9jn4L3NTnAO6jH7eEEuhxGVl8CiawbCZuslPBPsnHfwCp7emncXQ==", + "path": "fastendpoints.attributes/7.1.0", + "hashPath": "fastendpoints.attributes.7.1.0.nupkg.sha512" + }, + "FastEndpoints.Messaging.Core/7.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P9cp727v7fLYaMNRh79dG2tnSAwp35dMK+VflsybITvnrv+H+UCAlESgVisI6K34oWWG/LOvz5GWRkE00QssIw==", + "path": "fastendpoints.messaging.core/7.1.0", + "hashPath": "fastendpoints.messaging.core.7.1.0.nupkg.sha512" + }, + "FluentValidation/12.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-8NVLxtMUXynRHJIX3Hn1ACovaqZIJASufXIIFkD0EUbcd5PmMsL1xUD5h548gCezJ5BzlITaR9CAMrGe29aWpA==", + "path": "fluentvalidation/12.0.0", + "hashPath": "fluentvalidation.12.0.0.nupkg.sha512" + }, + "Hangfire.AspNetCore/1.8.24": { + "type": "package", + "serviceable": true, + "sha512": "sha512-K7eugZIFcBgGI+lI6Z3H9a7Ax6ZkauWjOUJxE5xawu5UQmH+WS7gXBlar1zGUqLTWqWxNAMj+K95OE0zvAtHNg==", + "path": "hangfire.aspnetcore/1.8.24", + "hashPath": "hangfire.aspnetcore.1.8.24.nupkg.sha512" + }, + "Hangfire.Core/1.8.24": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XhiE55abcXXw4jEe0EClnU1fainkfi7ZVINbcCB+Se6ZatfVAglLsvNc6wtTMq5aZz0tv2DuW+U5lx1R0DcWOg==", + "path": "hangfire.core/1.8.24", + "hashPath": "hangfire.core.1.8.24.nupkg.sha512" + }, + "Hangfire.NetCore/1.8.24": { + "type": "package", + "serviceable": true, + "sha512": "sha512-iKRSO7gzMq4KhI+px98OtRubI5FaDHJgHvhLqlILvsuCPVFraTdVWdRgwjIS4bIyahl/3RaiGhFOqlpwgU724Q==", + "path": "hangfire.netcore/1.8.24", + "hashPath": "hangfire.netcore.1.8.24.nupkg.sha512" + }, + "Hangfire.PostgreSql/1.21.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hFNZAxv+1p72/XCZdImnH6ovCzZ2DKAMTOI8CReT0P3yw/k0b0YJP2teA18agNH1ZYInPzhtxGk8hx5n2cxbbQ==", + "path": "hangfire.postgresql/1.21.1", + "hashPath": "hangfire.postgresql.1.21.1.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyModel/10.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-RFYJR7APio/BiqdQunRq6DB+nDB6nc2qhHr77mlvZ0q0BT8PubMXN7XicmfzCbrDE/dzhBnUKBRXLTcqUiZDGg==", + "path": "microsoft.extensions.dependencymodel/10.0.0", + "hashPath": "microsoft.extensions.dependencymodel.10.0.0.nupkg.sha512" + }, + "Microsoft.OpenApi/2.7.5": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0FA67RSnRM4tcBKqiqVu/HPdZ9+QOKbmeRjxRUGTCjPU4C0bmUhd97Dso7Yild5P7nOV6GxJ2xrK0Kv/O9xp0w==", + "path": "microsoft.openapi/2.7.5", + "hashPath": "microsoft.openapi.2.7.5.nupkg.sha512" + }, + "Newtonsoft.Json/13.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==", + "path": "newtonsoft.json/13.0.3", + "hashPath": "newtonsoft.json.13.0.3.nupkg.sha512" + }, + "Npgsql/10.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7nb5YzXuvWWJxB0J8DiyL3we+X4FOctZrt0fIBnucOIaIevFEEwGQVZKtiu9olXdlNAK1eNgqSral6r/jlhI4w==", + "path": "npgsql/10.0.3", + "hashPath": "npgsql.10.0.3.nupkg.sha512" + }, + "OpenTelemetry/1.17.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rMLOTftlMlTm7+MSrvXDHnJRjVkROFNKXHZrYjOsX+LankaFG7QSflx7qRRGjoqZoirohnxmJQ7GEb9occO4Gg==", + "path": "opentelemetry/1.17.0", + "hashPath": "opentelemetry.1.17.0.nupkg.sha512" + }, + "OpenTelemetry.Api/1.17.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-mSBxzomZgHIJu9CyVNqyDu/n2JHEtqVgfcCD1Br0cV5iLYogjZOMqhlVLt99PEp+0KGBNUR3GXgeOdN2GR3F9g==", + "path": "opentelemetry.api/1.17.0", + "hashPath": "opentelemetry.api.1.17.0.nupkg.sha512" + }, + "OpenTelemetry.Api.ProviderBuilderExtensions/1.17.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Xgc3Qf9B9TFMFpx6exTdGqMWuYIT2miNzkdMPutVvT9YuMFaEovXWke1Gb6z8NxYaQbbGF38vYLuSg1JCeui5Q==", + "path": "opentelemetry.api.providerbuilderextensions/1.17.0", + "hashPath": "opentelemetry.api.providerbuilderextensions.1.17.0.nupkg.sha512" + }, + "OpenTelemetry.Exporter.OpenTelemetryProtocol/1.17.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-R1omQOrQpGlS0Cp5UIr/TAiuEA48JrPlgr1NPV5gESiTU7HhWU+ILe2EBSYb1fKdsSavZ7nZkHcUxAzofPqr2A==", + "path": "opentelemetry.exporter.opentelemetryprotocol/1.17.0", + "hashPath": "opentelemetry.exporter.opentelemetryprotocol.1.17.0.nupkg.sha512" + }, + "OpenTelemetry.Extensions.Hosting/1.17.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-t1OwL/4qgboGMobYVT+UV5zgWnFqCp4Pw8lcsmzh8m2K8PQsTKkyxrC32tqYTMYny3GOW4q5cltE3dTVzLmRew==", + "path": "opentelemetry.extensions.hosting/1.17.0", + "hashPath": "opentelemetry.extensions.hosting.1.17.0.nupkg.sha512" + }, + "OpenTelemetry.Instrumentation.AspNetCore/1.17.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rGbmk1vuy1kvgZmE0ps7Vb99YZvDap6AalrrF60FwnNit1uW/PbeFZj1cpb0T8MPkYmjhBrRJ1/JB6QqXkRjHA==", + "path": "opentelemetry.instrumentation.aspnetcore/1.17.0", + "hashPath": "opentelemetry.instrumentation.aspnetcore.1.17.0.nupkg.sha512" + }, + "OpenTelemetry.Instrumentation.Http/1.17.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uTwVtxIJ/xB96wGYTaDsbkJVeCFdUxTwvrlDUn2YJixy0UuKc8DvQMzwKNJMTzNFiiyYO9c40id6tUHTmWs33A==", + "path": "opentelemetry.instrumentation.http/1.17.0", + "hashPath": "opentelemetry.instrumentation.http.1.17.0.nupkg.sha512" + }, + "OpenTelemetry.Instrumentation.Runtime/1.17.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HyYenisDn/xdtyVXdjImsCl+RNC2gq01N0rvSR7tsYAylXR2sxX/YgMsyTajMXA27+r1vB7lNU8cWRhV0fwL+Q==", + "path": "opentelemetry.instrumentation.runtime/1.17.0", + "hashPath": "opentelemetry.instrumentation.runtime.1.17.0.nupkg.sha512" + }, + "Polly/8.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0qR4f0OR8FeCAfLWcfwzAM7w6EmpUgwa22PgxKjcL25dEAto7sKpQQXbtxp38vVvK+V3RFkh/TeI7g/iUdoYIQ==", + "path": "polly/8.7.0", + "hashPath": "polly.8.7.0.nupkg.sha512" + }, + "Polly.Core/8.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BS2t+nsBer16PIebCEPNBK5fgMisADQyRCd7K+BgkMWpFmSaiYE+rVVNpFhGRqUkJmNSLmw0uCNzHHWfgml28Q==", + "path": "polly.core/8.7.0", + "hashPath": "polly.core.8.7.0.nupkg.sha512" + }, + "Serilog/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+cDryFR0GRhsGOnZSKwaDzRRl4MupvJ42FhCE4zhQRVanX0Jpg6WuCBk59OVhVDPmab1bB+nRykAnykYELA9qQ==", + "path": "serilog/4.3.0", + "hashPath": "serilog.4.3.0.nupkg.sha512" + }, + "Serilog.AspNetCore/10.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-a/cNa1mY4On1oJlfGG1wAvxjp5g7OEzk/Jf/nm7NF9cWoE7KlZw1GldrifUBWm9oKibHkR7Lg/l5jy3y7ACR8w==", + "path": "serilog.aspnetcore/10.0.0", + "hashPath": "serilog.aspnetcore.10.0.0.nupkg.sha512" + }, + "Serilog.Extensions.Hosting/10.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-E7juuIc+gzoGxgzFooFgAV8g9BfiSXNKsUok9NmEpyAXg2odkcPsMa/Yo4axkJRlh0se7mkYQ1GXDaBemR+b6w==", + "path": "serilog.extensions.hosting/10.0.0", + "hashPath": "serilog.extensions.hosting.10.0.0.nupkg.sha512" + }, + "Serilog.Extensions.Logging/10.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vx0kABKl2dWbBhhqAfTOk53/i8aV/5VaT3a6il9gn72Wqs2pM7EK2OB6No6xdqK2IaY6Zf9gdjLuK9BVa2rT+Q==", + "path": "serilog.extensions.logging/10.0.0", + "hashPath": "serilog.extensions.logging.10.0.0.nupkg.sha512" + }, + "Serilog.Formatting.Compact/3.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-wQsv14w9cqlfB5FX2MZpNsTawckN4a8dryuNGbebB/3Nh1pXnROHZov3swtu3Nj5oNG7Ba+xdu7Et/ulAUPanQ==", + "path": "serilog.formatting.compact/3.0.0", + "hashPath": "serilog.formatting.compact.3.0.0.nupkg.sha512" + }, + "Serilog.Settings.Configuration/10.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ayFE7h66mqMqzwfPrzDCMbWU27FdNC2bkCG+jnkeHFZTBRh+yWdr4aa/2WuX7c8RmqxGPMW2UqoJ3fw9hK3QhA==", + "path": "serilog.settings.configuration/10.0.1", + "hashPath": "serilog.settings.configuration.10.0.1.nupkg.sha512" + }, + "Serilog.Sinks.Console/6.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-8jbqgjUyZlfCuSTaJk6lOca465OndqOz3KZP6Cryt/IqZYybyBu7GP0fE/AXBzrrQB3EBmQntBFAvMVz1COvAA==", + "path": "serilog.sinks.console/6.1.1", + "hashPath": "serilog.sinks.console.6.1.1.nupkg.sha512" + }, + "Serilog.Sinks.Debug/3.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4BzXcdrgRX7wde9PmHuYd9U6YqycCC28hhpKonK7hx0wb19eiuRj16fPcPSVp0o/Y1ipJuNLYQ00R3q2Zs8FDA==", + "path": "serilog.sinks.debug/3.0.0", + "hashPath": "serilog.sinks.debug.3.0.0.nupkg.sha512" + }, + "Serilog.Sinks.File/7.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fKL7mXv7qaiNBUC71ssvn/dU0k9t0o45+qm2XgKAlSt19xF+ijjxyA3R6HmCgfKEKwfcfkwWjayuQtRueZFkYw==", + "path": "serilog.sinks.file/7.0.0", + "hashPath": "serilog.sinks.file.7.0.0.nupkg.sha512" + }, + "Swashbuckle.AspNetCore/10.2.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-8KNh1RWvofdU6DVLyBs4Z/OpUMnmf8oNvJQc0QxpwySRbi42bwLfdVMMrXZWANg5U5KQGQq1xW6r/hlcqw99tQ==", + "path": "swashbuckle.aspnetcore/10.2.3", + "hashPath": "swashbuckle.aspnetcore.10.2.3.nupkg.sha512" + }, + "Swashbuckle.AspNetCore.Swagger/10.2.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1jUUs3WQnrS0FUtaZPLSy1yYMEwS1zlvDmvQ2/eldPHUANX0LJSLVZecCMgSMdeGiRqeaRrIXLtSz++TCiTMww==", + "path": "swashbuckle.aspnetcore.swagger/10.2.3", + "hashPath": "swashbuckle.aspnetcore.swagger.10.2.3.nupkg.sha512" + }, + "Swashbuckle.AspNetCore.SwaggerGen/10.2.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-y7t4coDRAeFYChmvlMRiH2OjbiRrm9AVIDgt17fQfs3x9PVAI5PiwWYOhg+4F13R4Q36WDc9lqfoOnNa3tNbGg==", + "path": "swashbuckle.aspnetcore.swaggergen/10.2.3", + "hashPath": "swashbuckle.aspnetcore.swaggergen.10.2.3.nupkg.sha512" + }, + "Swashbuckle.AspNetCore.SwaggerUI/10.2.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nthWONRs/FJ4yyG206g1cC52WEG8EqrjuMWjGdR+5XG7lbjFto6NqcI9EMICgVFom/UivIjUVwI76ZHbHwTPfQ==", + "path": "swashbuckle.aspnetcore.swaggerui/10.2.3", + "hashPath": "swashbuckle.aspnetcore.swaggerui.10.2.3.nupkg.sha512" + }, + "KArtSell.BuildingBlocks/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "KArtSell.Modules.ModelOperations/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "KArtSell.Modules.SignalEngine/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/publish/KArtSell.Host.dll b/publish/KArtSell.Host.dll new file mode 100644 index 00000000..0d8fa086 Binary files /dev/null and b/publish/KArtSell.Host.dll differ diff --git a/publish/KArtSell.Host.exe b/publish/KArtSell.Host.exe new file mode 100644 index 00000000..3726098a Binary files /dev/null and b/publish/KArtSell.Host.exe differ diff --git a/publish/KArtSell.Host.pdb b/publish/KArtSell.Host.pdb new file mode 100644 index 00000000..41f7429d Binary files /dev/null and b/publish/KArtSell.Host.pdb differ diff --git a/publish/KArtSell.Host.runtimeconfig.json b/publish/KArtSell.Host.runtimeconfig.json new file mode 100644 index 00000000..29111500 --- /dev/null +++ b/publish/KArtSell.Host.runtimeconfig.json @@ -0,0 +1,20 @@ +{ + "runtimeOptions": { + "tfm": "net10.0", + "frameworks": [ + { + "name": "Microsoft.NETCore.App", + "version": "10.0.0" + }, + { + "name": "Microsoft.AspNetCore.App", + "version": "10.0.0" + } + ], + "configProperties": { + "System.GC.Server": true, + "System.Reflection.Metadata.MetadataUpdater.IsSupported": false, + "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false + } + } +} \ No newline at end of file diff --git a/publish/KArtSell.Host.staticwebassets.endpoints.json b/publish/KArtSell.Host.staticwebassets.endpoints.json new file mode 100644 index 00000000..21da96bf --- /dev/null +++ b/publish/KArtSell.Host.staticwebassets.endpoints.json @@ -0,0 +1 @@ +{"Version":1,"ManifestType":"Publish","Endpoints":[]} \ No newline at end of file diff --git a/publish/KArtSell.Modules.ModelOperations.dll b/publish/KArtSell.Modules.ModelOperations.dll new file mode 100644 index 00000000..8205345e Binary files /dev/null and b/publish/KArtSell.Modules.ModelOperations.dll differ diff --git a/publish/KArtSell.Modules.ModelOperations.pdb b/publish/KArtSell.Modules.ModelOperations.pdb new file mode 100644 index 00000000..7b4b0813 Binary files /dev/null and b/publish/KArtSell.Modules.ModelOperations.pdb differ diff --git a/publish/KArtSell.Modules.SignalEngine.dll b/publish/KArtSell.Modules.SignalEngine.dll new file mode 100644 index 00000000..e882a44e Binary files /dev/null and b/publish/KArtSell.Modules.SignalEngine.dll differ diff --git a/publish/KArtSell.Modules.SignalEngine.pdb b/publish/KArtSell.Modules.SignalEngine.pdb new file mode 100644 index 00000000..81e37dcb Binary files /dev/null and b/publish/KArtSell.Modules.SignalEngine.pdb differ diff --git a/publish/Microsoft.Extensions.DependencyModel.dll b/publish/Microsoft.Extensions.DependencyModel.dll new file mode 100644 index 00000000..dae19509 Binary files /dev/null and b/publish/Microsoft.Extensions.DependencyModel.dll differ diff --git a/publish/Microsoft.OpenApi.dll b/publish/Microsoft.OpenApi.dll new file mode 100644 index 00000000..fc8cd69f Binary files /dev/null and b/publish/Microsoft.OpenApi.dll differ diff --git a/publish/Newtonsoft.Json.dll b/publish/Newtonsoft.Json.dll new file mode 100644 index 00000000..d035c38b Binary files /dev/null and b/publish/Newtonsoft.Json.dll differ diff --git a/publish/Npgsql.dll b/publish/Npgsql.dll new file mode 100644 index 00000000..184db8d5 Binary files /dev/null and b/publish/Npgsql.dll differ diff --git a/publish/OpenTelemetry.Api.ProviderBuilderExtensions.dll b/publish/OpenTelemetry.Api.ProviderBuilderExtensions.dll new file mode 100644 index 00000000..2ba5dcc3 Binary files /dev/null and b/publish/OpenTelemetry.Api.ProviderBuilderExtensions.dll differ diff --git a/publish/OpenTelemetry.Api.dll b/publish/OpenTelemetry.Api.dll new file mode 100644 index 00000000..56a63a5a Binary files /dev/null and b/publish/OpenTelemetry.Api.dll differ diff --git a/publish/OpenTelemetry.Exporter.OpenTelemetryProtocol.dll b/publish/OpenTelemetry.Exporter.OpenTelemetryProtocol.dll new file mode 100644 index 00000000..47a5a5d4 Binary files /dev/null and b/publish/OpenTelemetry.Exporter.OpenTelemetryProtocol.dll differ diff --git a/publish/OpenTelemetry.Extensions.Hosting.dll b/publish/OpenTelemetry.Extensions.Hosting.dll new file mode 100644 index 00000000..58aa298b Binary files /dev/null and b/publish/OpenTelemetry.Extensions.Hosting.dll differ diff --git a/publish/OpenTelemetry.Instrumentation.AspNetCore.dll b/publish/OpenTelemetry.Instrumentation.AspNetCore.dll new file mode 100644 index 00000000..8de005c8 Binary files /dev/null and b/publish/OpenTelemetry.Instrumentation.AspNetCore.dll differ diff --git a/publish/OpenTelemetry.Instrumentation.Http.dll b/publish/OpenTelemetry.Instrumentation.Http.dll new file mode 100644 index 00000000..7dff026d Binary files /dev/null and b/publish/OpenTelemetry.Instrumentation.Http.dll differ diff --git a/publish/OpenTelemetry.Instrumentation.Runtime.dll b/publish/OpenTelemetry.Instrumentation.Runtime.dll new file mode 100644 index 00000000..e52a185e Binary files /dev/null and b/publish/OpenTelemetry.Instrumentation.Runtime.dll differ diff --git a/publish/OpenTelemetry.dll b/publish/OpenTelemetry.dll new file mode 100644 index 00000000..fdac6763 Binary files /dev/null and b/publish/OpenTelemetry.dll differ diff --git a/publish/Polly.Core.dll b/publish/Polly.Core.dll new file mode 100644 index 00000000..bea44fb6 Binary files /dev/null and b/publish/Polly.Core.dll differ diff --git a/publish/Polly.dll b/publish/Polly.dll new file mode 100644 index 00000000..765b9ee0 Binary files /dev/null and b/publish/Polly.dll differ diff --git a/publish/Serilog.AspNetCore.dll b/publish/Serilog.AspNetCore.dll new file mode 100644 index 00000000..6f50f9e9 Binary files /dev/null and b/publish/Serilog.AspNetCore.dll differ diff --git a/publish/Serilog.Extensions.Hosting.dll b/publish/Serilog.Extensions.Hosting.dll new file mode 100644 index 00000000..b050a9b0 Binary files /dev/null and b/publish/Serilog.Extensions.Hosting.dll differ diff --git a/publish/Serilog.Extensions.Logging.dll b/publish/Serilog.Extensions.Logging.dll new file mode 100644 index 00000000..fa270b86 Binary files /dev/null and b/publish/Serilog.Extensions.Logging.dll differ diff --git a/publish/Serilog.Formatting.Compact.dll b/publish/Serilog.Formatting.Compact.dll new file mode 100644 index 00000000..bbd2122c Binary files /dev/null and b/publish/Serilog.Formatting.Compact.dll differ diff --git a/publish/Serilog.Settings.Configuration.dll b/publish/Serilog.Settings.Configuration.dll new file mode 100644 index 00000000..68151ee2 Binary files /dev/null and b/publish/Serilog.Settings.Configuration.dll differ diff --git a/publish/Serilog.Sinks.Console.dll b/publish/Serilog.Sinks.Console.dll new file mode 100644 index 00000000..8d0638da Binary files /dev/null and b/publish/Serilog.Sinks.Console.dll differ diff --git a/publish/Serilog.Sinks.Debug.dll b/publish/Serilog.Sinks.Debug.dll new file mode 100644 index 00000000..7c940154 Binary files /dev/null and b/publish/Serilog.Sinks.Debug.dll differ diff --git a/publish/Serilog.Sinks.File.dll b/publish/Serilog.Sinks.File.dll new file mode 100644 index 00000000..066c164e Binary files /dev/null and b/publish/Serilog.Sinks.File.dll differ diff --git a/publish/Serilog.dll b/publish/Serilog.dll new file mode 100644 index 00000000..de3e99db Binary files /dev/null and b/publish/Serilog.dll differ diff --git a/publish/Swashbuckle.AspNetCore.Swagger.dll b/publish/Swashbuckle.AspNetCore.Swagger.dll new file mode 100644 index 00000000..d912cb7a Binary files /dev/null and b/publish/Swashbuckle.AspNetCore.Swagger.dll differ diff --git a/publish/Swashbuckle.AspNetCore.SwaggerGen.dll b/publish/Swashbuckle.AspNetCore.SwaggerGen.dll new file mode 100644 index 00000000..8db37011 Binary files /dev/null and b/publish/Swashbuckle.AspNetCore.SwaggerGen.dll differ diff --git a/publish/Swashbuckle.AspNetCore.SwaggerUI.dll b/publish/Swashbuckle.AspNetCore.SwaggerUI.dll new file mode 100644 index 00000000..0dc52133 Binary files /dev/null and b/publish/Swashbuckle.AspNetCore.SwaggerUI.dll differ diff --git a/publish/appsettings.Development.json b/publish/appsettings.Development.json new file mode 100644 index 00000000..9e76dd5c --- /dev/null +++ b/publish/appsettings.Development.json @@ -0,0 +1,5 @@ +{ + "Authentication": { + "Mode": "DevelopmentHeader" + } +} diff --git a/publish/appsettings.json b/publish/appsettings.json new file mode 100644 index 00000000..534246e5 --- /dev/null +++ b/publish/appsettings.json @@ -0,0 +1,41 @@ +{ + "Kestrel": { + "Endpoints": { + "Http": { + "Url": "http://127.0.0.1:5002" + } + } + }, + "ConnectionStrings": { + "Postgres": "Host=127.0.0.1;Port=5432;Database=kartselldb;Username=kartsell;Password=kartsell4321@!" + }, + "ExternalApis": { + "KrxOpenApi": { + "ApiKey": "${KRX_API_KEY}", + "BaseUrl": "https://openapi.krx.co.kr" + } + }, + "Authentication": { + "Mode": "FailClosed" + }, + "Capabilities": { + "AutomaticOrder": false, + "KisOrderAdapter": false, + "ClientPublication": false, + "ShadowEvaluation": true + }, + "Serilog": { + "MinimumLevel": { + "Default": "Information", + "Override": { + "Microsoft.AspNetCore": "Warning" + } + } + }, + "OTEL_EXPORTER_OTLP_ENDPOINT": "http://localhost:4317", + "ModelOperations": { + "DispatcherEnabled": false, + "DispatcherCron": "*/15 * * * *", + "Boundary": "EVIDENCE_ONLY_NO_AUTO_MODEL_OR_ORDER_MUTATION" + } +} diff --git a/publish/ca/Hangfire.Core.resources.dll b/publish/ca/Hangfire.Core.resources.dll new file mode 100644 index 00000000..28d3d414 Binary files /dev/null and b/publish/ca/Hangfire.Core.resources.dll differ diff --git a/publish/de/Hangfire.Core.resources.dll b/publish/de/Hangfire.Core.resources.dll new file mode 100644 index 00000000..1fc202ec Binary files /dev/null and b/publish/de/Hangfire.Core.resources.dll differ diff --git a/publish/es/Hangfire.Core.resources.dll b/publish/es/Hangfire.Core.resources.dll new file mode 100644 index 00000000..453ebea9 Binary files /dev/null and b/publish/es/Hangfire.Core.resources.dll differ diff --git a/publish/fa/Hangfire.Core.resources.dll b/publish/fa/Hangfire.Core.resources.dll new file mode 100644 index 00000000..db3e3545 Binary files /dev/null and b/publish/fa/Hangfire.Core.resources.dll differ diff --git a/publish/fr/Hangfire.Core.resources.dll b/publish/fr/Hangfire.Core.resources.dll new file mode 100644 index 00000000..63d241b7 Binary files /dev/null and b/publish/fr/Hangfire.Core.resources.dll differ diff --git a/publish/nb/Hangfire.Core.resources.dll b/publish/nb/Hangfire.Core.resources.dll new file mode 100644 index 00000000..e4115701 Binary files /dev/null and b/publish/nb/Hangfire.Core.resources.dll differ diff --git a/publish/nl/Hangfire.Core.resources.dll b/publish/nl/Hangfire.Core.resources.dll new file mode 100644 index 00000000..a26b22d4 Binary files /dev/null and b/publish/nl/Hangfire.Core.resources.dll differ diff --git a/publish/pt-BR/Hangfire.Core.resources.dll b/publish/pt-BR/Hangfire.Core.resources.dll new file mode 100644 index 00000000..21fe660b Binary files /dev/null and b/publish/pt-BR/Hangfire.Core.resources.dll differ diff --git a/publish/pt-PT/Hangfire.Core.resources.dll b/publish/pt-PT/Hangfire.Core.resources.dll new file mode 100644 index 00000000..3a3cd536 Binary files /dev/null and b/publish/pt-PT/Hangfire.Core.resources.dll differ diff --git a/publish/pt/Hangfire.Core.resources.dll b/publish/pt/Hangfire.Core.resources.dll new file mode 100644 index 00000000..f07b93b0 Binary files /dev/null and b/publish/pt/Hangfire.Core.resources.dll differ diff --git a/publish/ru/Hangfire.Core.resources.dll b/publish/ru/Hangfire.Core.resources.dll new file mode 100644 index 00000000..43bb9a17 Binary files /dev/null and b/publish/ru/Hangfire.Core.resources.dll differ diff --git a/publish/sv/Hangfire.Core.resources.dll b/publish/sv/Hangfire.Core.resources.dll new file mode 100644 index 00000000..112a688a Binary files /dev/null and b/publish/sv/Hangfire.Core.resources.dll differ diff --git a/publish/tr-TR/Hangfire.Core.resources.dll b/publish/tr-TR/Hangfire.Core.resources.dll new file mode 100644 index 00000000..246525f6 Binary files /dev/null and b/publish/tr-TR/Hangfire.Core.resources.dll differ diff --git a/publish/web.config b/publish/web.config new file mode 100644 index 00000000..9ac20edd --- /dev/null +++ b/publish/web.config @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/publish/zh-TW/Hangfire.Core.resources.dll b/publish/zh-TW/Hangfire.Core.resources.dll new file mode 100644 index 00000000..371ea43c Binary files /dev/null and b/publish/zh-TW/Hangfire.Core.resources.dll differ diff --git a/publish/zh/Hangfire.Core.resources.dll b/publish/zh/Hangfire.Core.resources.dll new file mode 100644 index 00000000..9f260ac5 Binary files /dev/null and b/publish/zh/Hangfire.Core.resources.dll differ diff --git a/src/KArtSell.Host/Features/SecurityMaster/VS02_SyncSecurityMasterEndpoint.cs b/src/KArtSell.Host/Features/SecurityMaster/VS02_SyncSecurityMasterEndpoint.cs index 68da26a3..b2a4c15d 100644 --- a/src/KArtSell.Host/Features/SecurityMaster/VS02_SyncSecurityMasterEndpoint.cs +++ b/src/KArtSell.Host/Features/SecurityMaster/VS02_SyncSecurityMasterEndpoint.cs @@ -30,52 +30,51 @@ public sealed class SyncSecurityMasterResponse public List Conflicts { get; set; } = new(); } -// DISABLED: SecurityMaster sync endpoint requires full DI setup -// public sealed class SyncSecurityMasterEndpoint : Endpoint -// { -// private readonly ISecurityMasterSyncHandler _handler; -// -// public SyncSecurityMasterEndpoint(ISecurityMasterSyncHandler handler) -// { -// _handler = handler; -// } -// -// public override void Configure() -// { -// Post("/api/security/master/sync"); -// Roles("SecurityAdmin"); -// AllowAnonymous(); // Override role check if needed for service-to-service -// } -// -// public override async Task HandleAsync(SyncSecurityMasterRequest req, CancellationToken ct) -// { -// var correlationId = HttpContext.TraceIdentifier; -// var idempotencyKey = SecurityMasterPolicy.CreateIdempotencyKey(req.FromVersion, correlationId); -// -// var result = await _handler.SyncAsync( -// fromVersion: req.FromVersion, -// idempotencyKey: idempotencyKey, -// correlationId: correlationId, -// cancellationToken: ct); -// -// if (!result.IsSuccess) -// { -// ThrowError($"Version conflict. Local: {req.FromVersion}, Remote: {result.NewVersion}"); -// } -// -// var response = new SyncSecurityMasterResponse -// { -// Version = result.NewVersion, -// RulesCount = result.AppliedRules.Count, -// SyncedAt = DateTime.UtcNow, -// Conflicts = result.Conflicts, -// }; -// -// HttpContext.Response.StatusCode = StatusCodes.Status200OK; -// HttpContext.Response.ContentType = "application/json"; -// await HttpContext.Response.WriteAsync(JsonSerializer.Serialize(response), ct); -// } -// } +public sealed class SyncSecurityMasterEndpoint : Endpoint +{ + private readonly ISecurityMasterSyncHandler _handler; + + public SyncSecurityMasterEndpoint(ISecurityMasterSyncHandler handler) + { + _handler = handler; + } + + public override void Configure() + { + Post("/api/security/master/sync"); + Roles("SecurityAdmin"); + AllowAnonymous(); // Override role check if needed for service-to-service + } + + public override async Task HandleAsync(SyncSecurityMasterRequest req, CancellationToken ct) + { + var correlationId = HttpContext.TraceIdentifier; + var idempotencyKey = SecurityMasterPolicy.CreateIdempotencyKey(req.FromVersion, correlationId); + + var result = await _handler.SyncAsync( + fromVersion: req.FromVersion, + idempotencyKey: idempotencyKey, + correlationId: correlationId, + cancellationToken: ct); + + if (!result.IsSuccess) + { + ThrowError($"Version conflict. Local: {req.FromVersion}, Remote: {result.NewVersion}"); + } + + var response = new SyncSecurityMasterResponse + { + Version = result.NewVersion, + RulesCount = result.AppliedRules.Count, + SyncedAt = DateTime.UtcNow, + Conflicts = result.Conflicts, + }; + + HttpContext.Response.StatusCode = StatusCodes.Status200OK; + HttpContext.Response.ContentType = "application/json"; + await HttpContext.Response.WriteAsync(JsonSerializer.Serialize(response), ct); + } +} /// /// VS-02 BE: Get Security Rules Endpoint @@ -103,59 +102,58 @@ public sealed class SecurityRuleDto public DateTime? ExpiresAt { get; set; } } -// DISABLED: GetSecurityMasterRulesEndpoint requires full DI setup -// public sealed class GetSecurityMasterRulesEndpoint : EndpointWithoutRequest -// { -// private readonly ISecurityMasterRulesStore _store; -// private readonly IClock _clock; -// -// public GetSecurityMasterRulesEndpoint(ISecurityMasterRulesStore store, IClock clock) -// { -// _store = store; -// _clock = clock; -// } -// -// public override void Configure() -// { -// Get("/api/security/master/rules"); -// AllowAnonymous(); -// } -// -// public override async Task HandleAsync(CancellationToken ct) -// { -// var state = await _store.GetCurrentStateAsync(ct); -// -// var staleTreshold = _clock.UtcNow.AddMinutes(-5); -// if (state.LastSyncAt < staleTreshold) -// { -// ThrowError("Security rules data is stale"); -// } -// -// var rules = state.Rules -// .Where(r => SecurityMasterPolicy.IsRuleActive(r, _clock.UtcNow.DateTime)) -// .Select(r => new SecurityRuleDto -// { -// RuleId = r.RuleId, -// ResourceName = r.ResourceName, -// Action = r.Action, -// Version = r.Version, -// EffectiveAt = r.EffectiveAt, -// ExpiresAt = r.ExpiresAt, -// }) -// .ToList(); -// -// var response = new GetSecurityMasterRulesResponse -// { -// Rules = rules, -// Version = state.Version, -// LastSyncAt = state.LastSyncAt, -// }; -// -// HttpContext.Response.StatusCode = StatusCodes.Status200OK; -// HttpContext.Response.ContentType = "application/json"; -// await HttpContext.Response.WriteAsync(JsonSerializer.Serialize(response), ct); -// } -// } +public sealed class GetSecurityMasterRulesEndpoint : EndpointWithoutRequest +{ + private readonly ISecurityMasterRulesStore _store; + private readonly IClock _clock; + + public GetSecurityMasterRulesEndpoint(ISecurityMasterRulesStore store, IClock clock) + { + _store = store; + _clock = clock; + } + + public override void Configure() + { + Get("/api/security/master/rules"); + AllowAnonymous(); + } + + public override async Task HandleAsync(CancellationToken ct) + { + var state = await _store.GetCurrentStateAsync(ct); + + var staleTreshold = _clock.UtcNow.AddMinutes(-5); + if (state.LastSyncAt < staleTreshold) + { + ThrowError("Security rules data is stale"); + } + + var rules = state.Rules + .Where(r => SecurityMasterPolicy.IsRuleActive(r, _clock.UtcNow.DateTime)) + .Select(r => new SecurityRuleDto + { + RuleId = r.RuleId, + ResourceName = r.ResourceName, + Action = r.Action, + Version = r.Version, + EffectiveAt = r.EffectiveAt, + ExpiresAt = r.ExpiresAt, + }) + .ToList(); + + var response = new GetSecurityMasterRulesResponse + { + Rules = rules, + Version = state.Version, + LastSyncAt = state.LastSyncAt, + }; + + HttpContext.Response.StatusCode = StatusCodes.Status200OK; + HttpContext.Response.ContentType = "application/json"; + await HttpContext.Response.WriteAsync(JsonSerializer.Serialize(response), ct); + } +} /// /// VS-02 Application Handler: Orchestrates sync operation diff --git a/src/KArtSell.Host/Program.cs b/src/KArtSell.Host/Program.cs index a51e4a73..fe1a4353 100644 --- a/src/KArtSell.Host/Program.cs +++ b/src/KArtSell.Host/Program.cs @@ -132,6 +132,46 @@ builder.Services.AddScoped(); +// Feature Services (DI for Endpoints) +// Market Data (VS-03) +builder.Services.AddScoped(sp => + new KArtSell.Host.Features.MarketData.MarketDataIngestionService( + sp.GetRequiredService(), + sp.GetRequiredService())); + +// Portfolio (VS-04~05) +builder.Services.AddScoped(sp => + new KArtSell.Host.Features.Portfolio.PortfolioRebalanceService( + sp.GetRequiredService(), + sp.GetRequiredService())); + +builder.Services.AddScoped(sp => + new KArtSell.Host.Features.Portfolio.RiskMetricsService( + sp.GetRequiredService())); + +// Risk & Stress (VS-06~07) +builder.Services.AddScoped(sp => + new KArtSell.Host.Features.Portfolio.StressTestService( + sp.GetRequiredService(), + sp.GetRequiredService())); + +builder.Services.AddScoped(sp => + new KArtSell.Host.Features.Portfolio.AlertService( + sp.GetRequiredService())); + +// Dashboard (VS-08) +builder.Services.AddScoped(sp => + new KArtSell.Host.Features.Portfolio.DashboardService( + sp.GetRequiredService())); + +// Security Master (VS-02) - Temporarily disabled: ISecurityMasterRulesStore implementation pending +// builder.Services.AddScoped(sp => +// new KArtSell.Host.Features.SecurityMaster.SecurityMasterSyncHandler( +// sp.GetRequiredService(), +// sp.GetRequiredService(), +// sp.GetRequiredService(), +// sp.GetRequiredService())); + builder.Services.AddProblemDetails(); const string authenticationScheme = "KArtSell";