diff --git a/KonSoft.BackgroundJobs b/KonSoft.BackgroundJobs new file mode 100644 index 0000000..e69de29 diff --git a/KonSoft.BackgroundWorker b/KonSoft.BackgroundWorker new file mode 100644 index 0000000..e69de29 diff --git a/KonSoft.sln b/KonSoft.sln index 7115e4f..ba13866 100644 --- a/KonSoft.sln +++ b/KonSoft.sln @@ -19,16 +19,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.InternalGateway", " EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.PublicGateway", "gateways\KonSoft.PublicGateway\KonSoft.PublicGateway.csproj", "{AEBC7053-743F-4F80-BD10-8ED6A8A7B3EE}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Admin.HttpApi.Host", "microservices\KonSoft.Admin.HttpApi.Host\KonSoft.Admin.HttpApi.Host.csproj", "{97BC949A-9142-B129-10FE-0D9381A49C05}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Dispatch.HttpApi.Host", "microservices\KonSoft.Dispatch.HttpApi.Host\KonSoft.Dispatch.HttpApi.Host.csproj", "{D422C785-D6D0-8F6B-A6C3-2B0E5497B923}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Payment.HttpApi.Host", "microservices\KonSoft.Payment.HttpApi.Host\KonSoft.Payment.HttpApi.Host.csproj", "{9A034977-0FBC-A3C8-8432-9FDD073F215A}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Report.HttpApi.Host", "microservices\KonSoft.Report.HttpApi.Host\KonSoft.Report.HttpApi.Host.csproj", "{1C89424B-DA16-8840-4AB0-C446CFBD634C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.TenantManagement.HttpApi.Host", "microservices\KonSoft.TenantManagement.HttpApi.Host\KonSoft.TenantManagement.HttpApi.Host.csproj", "{3641CA05-99C5-2245-C663-6CE00730E87C}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "admin", "admin", "{A53664DF-71AE-4C8E-A2DC-A60605FDF57C}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "dispatch", "dispatch", "{75A22B51-A986-48BD-A633-383DA18DE644}" @@ -61,6 +51,140 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{1C06151A-4 EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Shared", "shared\KonSoft.Shared\KonSoft.Shared.csproj", "{345B5CDA-DC77-4956-BF96-80707EC1B5B2}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Admin.Application", "modules\admin\src\KonSoft.Admin.Application\KonSoft.Admin.Application.csproj", "{9D9D979A-AFC7-F9D0-2D23-8809E83F9EF9}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Admin.Application.Contracts", "modules\admin\src\KonSoft.Admin.Application.Contracts\KonSoft.Admin.Application.Contracts.csproj", "{9F68B0E2-0B1D-E0E8-1BE7-079F693A4643}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Admin.Domain", "modules\admin\src\KonSoft.Admin.Domain\KonSoft.Admin.Domain.csproj", "{D1A86C77-533D-5B68-04F1-7F7BFBF56AC7}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Admin.Domain.Shared", "modules\admin\src\KonSoft.Admin.Domain.Shared\KonSoft.Admin.Domain.Shared.csproj", "{75F92EFD-9FCD-3BF4-ED33-066E84A1A906}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Admin.EntityFrameworkCore", "modules\admin\src\KonSoft.Admin.EntityFrameworkCore\KonSoft.Admin.EntityFrameworkCore.csproj", "{A306661D-B99C-4623-61D9-9968D0260F53}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Admin.HttpApi", "modules\admin\src\KonSoft.Admin.HttpApi\KonSoft.Admin.HttpApi.csproj", "{B449B5F0-DAB0-27DD-BC8A-75A1D63FB924}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Admin.HttpApi.Client", "modules\admin\src\KonSoft.Admin.HttpApi.Client\KonSoft.Admin.HttpApi.Client.csproj", "{846FE47C-4E7F-D4CE-46DE-460FBBDAD6EB}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Admin.Application.Tests", "modules\admin\test\KonSoft.Admin.Application.Tests\KonSoft.Admin.Application.Tests.csproj", "{2B1AB90F-3EE1-DA95-26E9-41657FA2BE1C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Admin.Domain.Tests", "modules\admin\test\KonSoft.Admin.Domain.Tests\KonSoft.Admin.Domain.Tests.csproj", "{3BEDE290-7D99-7F2C-C76D-108C016CE6D1}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Admin.EntityFrameworkCore.Tests", "modules\admin\test\KonSoft.Admin.EntityFrameworkCore.Tests\KonSoft.Admin.EntityFrameworkCore.Tests.csproj", "{D87DBC28-58B7-9D6A-D2E5-BE4C748CF920}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Admin.HttpApi.Client.ConsoleTestApp", "modules\admin\test\KonSoft.Admin.HttpApi.Client.ConsoleTestApp\KonSoft.Admin.HttpApi.Client.ConsoleTestApp.csproj", "{B2C32755-D986-3F1C-913A-3A6F1E56EF97}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Admin.TestBase", "modules\admin\test\KonSoft.Admin.TestBase\KonSoft.Admin.TestBase.csproj", "{C5FC9F08-9A41-8581-A672-B6F8753C9991}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Dispatch.Application", "modules\dispatch\src\KonSoft.Dispatch.Application\KonSoft.Dispatch.Application.csproj", "{B2020B57-1CAE-8C23-A413-92F54BF40313}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Dispatch.Application.Contracts", "modules\dispatch\src\KonSoft.Dispatch.Application.Contracts\KonSoft.Dispatch.Application.Contracts.csproj", "{80D04466-EACE-9998-DACB-A68BE9B93847}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Dispatch.Domain", "modules\dispatch\src\KonSoft.Dispatch.Domain\KonSoft.Dispatch.Domain.csproj", "{9F684B76-D619-765D-4F43-EDEE32F5DEF7}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Dispatch.Domain.Shared", "modules\dispatch\src\KonSoft.Dispatch.Domain.Shared\KonSoft.Dispatch.Domain.Shared.csproj", "{BAF030F5-3E23-4A8E-7ED6-504EB5BBD4FE}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Dispatch.EntityFrameworkCore", "modules\dispatch\src\KonSoft.Dispatch.EntityFrameworkCore\KonSoft.Dispatch.EntityFrameworkCore.csproj", "{B9B6B43D-6D13-C11B-1AE5-ADCBFEE68E67}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Dispatch.HttpApi", "modules\dispatch\src\KonSoft.Dispatch.HttpApi\KonSoft.Dispatch.HttpApi.csproj", "{BEEB83BF-B5B0-EB53-EF78-415D4565187F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Dispatch.HttpApi.Client", "modules\dispatch\src\KonSoft.Dispatch.HttpApi.Client\KonSoft.Dispatch.HttpApi.Client.csproj", "{9E9AAE6F-1C3C-B542-64E7-E11CE55E187A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Dispatch.Application.Tests", "modules\dispatch\test\KonSoft.Dispatch.Application.Tests\KonSoft.Dispatch.Application.Tests.csproj", "{FA473ED4-54D4-C0DD-E589-31835F3AC9AA}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Dispatch.Domain.Tests", "modules\dispatch\test\KonSoft.Dispatch.Domain.Tests\KonSoft.Dispatch.Domain.Tests.csproj", "{99D81094-6B32-1C9D-5F84-E7FCEF67DFB5}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Dispatch.EntityFrameworkCore.Tests", "modules\dispatch\test\KonSoft.Dispatch.EntityFrameworkCore.Tests\KonSoft.Dispatch.EntityFrameworkCore.Tests.csproj", "{D3091C1B-443C-23F1-B007-A1262E92A3BB}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Dispatch.HttpApi.Client.ConsoleTestApp", "modules\dispatch\test\KonSoft.Dispatch.HttpApi.Client.ConsoleTestApp\KonSoft.Dispatch.HttpApi.Client.ConsoleTestApp.csproj", "{AA2EB1B6-B6BF-A9DF-7C1C-F30B2DCA1E2A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Dispatch.TestBase", "modules\dispatch\test\KonSoft.Dispatch.TestBase\KonSoft.Dispatch.TestBase.csproj", "{92CC92BF-8025-40F4-5121-DC2570ADAA04}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Payment.Application", "modules\payment\src\KonSoft.Payment.Application\KonSoft.Payment.Application.csproj", "{E9EE0B66-228F-B8EC-417C-445CAF351F76}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Payment.Application.Contracts", "modules\payment\src\KonSoft.Payment.Application.Contracts\KonSoft.Payment.Application.Contracts.csproj", "{EC6F5CC9-D45A-2CBC-5C84-63F6766E9359}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Payment.Domain", "modules\payment\src\KonSoft.Payment.Domain\KonSoft.Payment.Domain.csproj", "{E2C7EA39-82A9-DFC8-F1B5-87298AAA02AE}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Payment.Domain.Shared", "modules\payment\src\KonSoft.Payment.Domain.Shared\KonSoft.Payment.Domain.Shared.csproj", "{2FA0AC97-1BF7-5B4B-4B3A-81AA3B3882F3}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Payment.EntityFrameworkCore", "modules\payment\src\KonSoft.Payment.EntityFrameworkCore\KonSoft.Payment.EntityFrameworkCore.csproj", "{817CE319-21A4-6FB1-3002-E786F8D0DAC5}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Payment.HttpApi", "modules\payment\src\KonSoft.Payment.HttpApi\KonSoft.Payment.HttpApi.csproj", "{D9F0918C-5DB6-B97D-FF09-18345B23DF44}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Payment.HttpApi.Client", "modules\payment\src\KonSoft.Payment.HttpApi.Client\KonSoft.Payment.HttpApi.Client.csproj", "{087E7661-DB2D-07F9-586E-A49EE0399A07}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Payment.Application.Tests", "modules\payment\test\KonSoft.Payment.Application.Tests\KonSoft.Payment.Application.Tests.csproj", "{C49DCA14-AA0E-CE33-9028-AFE76A31B00F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Payment.Domain.Tests", "modules\payment\test\KonSoft.Payment.Domain.Tests\KonSoft.Payment.Domain.Tests.csproj", "{E84CB613-ADF5-3F80-3CC2-0CB7424865B0}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Payment.EntityFrameworkCore.Tests", "modules\payment\test\KonSoft.Payment.EntityFrameworkCore.Tests\KonSoft.Payment.EntityFrameworkCore.Tests.csproj", "{959EA8DB-5C6D-58C9-A71B-FBA5D93F3B39}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Payment.HttpApi.Client.ConsoleTestApp", "modules\payment\test\KonSoft.Payment.HttpApi.Client.ConsoleTestApp\KonSoft.Payment.HttpApi.Client.ConsoleTestApp.csproj", "{9DD56F78-BA2E-E3F0-373F-C5F6509D1E9D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Payment.TestBase", "modules\payment\test\KonSoft.Payment.TestBase\KonSoft.Payment.TestBase.csproj", "{7E5945D8-0B0B-4426-BB05-8F7EE37036E1}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Report.Application", "modules\report\src\KonSoft.Report.Application\KonSoft.Report.Application.csproj", "{C14C9349-5A9B-079B-1DAA-F68D09745F4B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Report.Application.Contracts", "modules\report\src\KonSoft.Report.Application.Contracts\KonSoft.Report.Application.Contracts.csproj", "{DE7BD236-A0C3-DB34-DF42-B4258E3DD72F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Report.Domain", "modules\report\src\KonSoft.Report.Domain\KonSoft.Report.Domain.csproj", "{0BCC52A7-8D67-64D7-FCD7-436D6B13B053}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Report.Domain.Shared", "modules\report\src\KonSoft.Report.Domain.Shared\KonSoft.Report.Domain.Shared.csproj", "{60D113CF-9C20-11BC-AB4B-A4CAB288EDD7}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Report.EntityFrameworkCore", "modules\report\src\KonSoft.Report.EntityFrameworkCore\KonSoft.Report.EntityFrameworkCore.csproj", "{403AF0D9-5199-E02A-4CBA-F877E0559DE4}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Report.HttpApi", "modules\report\src\KonSoft.Report.HttpApi\KonSoft.Report.HttpApi.csproj", "{73B2CDFD-63F6-0023-B10C-E844D978279A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Report.HttpApi.Client", "modules\report\src\KonSoft.Report.HttpApi.Client\KonSoft.Report.HttpApi.Client.csproj", "{93E93A6B-2808-BCC8-979D-B6E0C6A08558}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Report.Application.Tests", "modules\report\test\KonSoft.Report.Application.Tests\KonSoft.Report.Application.Tests.csproj", "{D801B2E8-DACB-2B61-D54A-06F16D1A976B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Report.Domain.Tests", "modules\report\test\KonSoft.Report.Domain.Tests\KonSoft.Report.Domain.Tests.csproj", "{4930C29C-A870-AB21-34E8-496898DCF474}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Report.EntityFrameworkCore.Tests", "modules\report\test\KonSoft.Report.EntityFrameworkCore.Tests\KonSoft.Report.EntityFrameworkCore.Tests.csproj", "{4E4B7F2C-EADC-EAEB-C087-309A6FD2E99D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Report.HttpApi.Client.ConsoleTestApp", "modules\report\test\KonSoft.Report.HttpApi.Client.ConsoleTestApp\KonSoft.Report.HttpApi.Client.ConsoleTestApp.csproj", "{B92604FE-8BEB-D7C8-E849-EE87E6BDB65E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Report.TestBase", "modules\report\test\KonSoft.Report.TestBase\KonSoft.Report.TestBase.csproj", "{768F149B-659D-3769-3570-86C753EE8896}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.TenantManagement.Application", "modules\tenant-management\src\KonSoft.TenantManagement.Application\KonSoft.TenantManagement.Application.csproj", "{22F62964-1C2C-339D-7572-E91E34B3530F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.TenantManagement.Application.Contracts", "modules\tenant-management\src\KonSoft.TenantManagement.Application.Contracts\KonSoft.TenantManagement.Application.Contracts.csproj", "{2E097B16-F382-0F60-8806-79960016032A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.TenantManagement.Domain", "modules\tenant-management\src\KonSoft.TenantManagement.Domain\KonSoft.TenantManagement.Domain.csproj", "{DBBB7A40-EC3E-2018-F2B7-C0041D1DD215}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.TenantManagement.Domain.Shared", "modules\tenant-management\src\KonSoft.TenantManagement.Domain.Shared\KonSoft.TenantManagement.Domain.Shared.csproj", "{2D47B675-1235-052F-4409-DC335A633FCD}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.TenantManagement.EntityFrameworkCore", "modules\tenant-management\src\KonSoft.TenantManagement.EntityFrameworkCore\KonSoft.TenantManagement.EntityFrameworkCore.csproj", "{BA608D2C-406D-B666-5383-D806C46EDD05}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.TenantManagement.HttpApi", "modules\tenant-management\src\KonSoft.TenantManagement.HttpApi\KonSoft.TenantManagement.HttpApi.csproj", "{70F10069-D717-0C25-33A4-9AC90FF5E8A3}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.TenantManagement.HttpApi.Client", "modules\tenant-management\src\KonSoft.TenantManagement.HttpApi.Client\KonSoft.TenantManagement.HttpApi.Client.csproj", "{6958C0D9-6C81-EF5F-D68C-B9E8AD8E7130}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.TenantManagement.Application.Tests", "modules\tenant-management\test\KonSoft.TenantManagement.Application.Tests\KonSoft.TenantManagement.Application.Tests.csproj", "{B1D8B704-8077-00FC-B44B-B5B1071DD934}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.TenantManagement.Domain.Tests", "modules\tenant-management\test\KonSoft.TenantManagement.Domain.Tests\KonSoft.TenantManagement.Domain.Tests.csproj", "{B89FEABF-4CDA-9A62-E9E1-896DC9AD7AA3}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.TenantManagement.EntityFrameworkCore.Tests", "modules\tenant-management\test\KonSoft.TenantManagement.EntityFrameworkCore.Tests\KonSoft.TenantManagement.EntityFrameworkCore.Tests.csproj", "{A8F64512-A7F7-6670-D7C7-4AA41C4B2E0F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.TenantManagement.HttpApi.Client.ConsoleTestApp", "modules\tenant-management\test\KonSoft.TenantManagement.HttpApi.Client.ConsoleTestApp\KonSoft.TenantManagement.HttpApi.Client.ConsoleTestApp.csproj", "{AAF0C46B-F69F-56D6-319F-B0AF8B3A7C1D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.TenantManagement.TestBase", "modules\tenant-management\test\KonSoft.TenantManagement.TestBase\KonSoft.TenantManagement.TestBase.csproj", "{1E3AA937-6394-0C20-C59B-127D2B01DE4F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.BackgroundWorker", "applications\KonSoft.BackgroundWorker\KonSoft.BackgroundWorker.csproj", "{410A79A5-24B5-473E-BE7B-5C787B7431A2}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.BackgroundJobs", "applications\KonSoft.BackgroundJobs\KonSoft.BackgroundJobs.csproj", "{95718E42-884D-4396-AF1E-EDFFDD8C86D4}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Admin.HttpApi.Host", "microservices\KonSoft.Admin.HttpApi.Host\KonSoft.Admin.HttpApi.Host.csproj", "{97BC949A-9142-B129-10FE-0D9381A49C05}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Dispatch.HttpApi.Host", "microservices\KonSoft.Dispatch.HttpApi.Host\KonSoft.Dispatch.HttpApi.Host.csproj", "{D422C785-D6D0-8F6B-A6C3-2B0E5497B923}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Payment.HttpApi.Host", "microservices\KonSoft.Payment.HttpApi.Host\KonSoft.Payment.HttpApi.Host.csproj", "{9A034977-0FBC-A3C8-8432-9FDD073F215A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.Report.HttpApi.Host", "microservices\KonSoft.Report.HttpApi.Host\KonSoft.Report.HttpApi.Host.csproj", "{1C89424B-DA16-8840-4AB0-C446CFBD634C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KonSoft.TenantManagement.HttpApi.Host", "microservices\KonSoft.TenantManagement.HttpApi.Host\KonSoft.TenantManagement.HttpApi.Host.csproj", "{3641CA05-99C5-2245-C663-6CE00730E87C}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -79,6 +203,258 @@ Global {AEBC7053-743F-4F80-BD10-8ED6A8A7B3EE}.Debug|Any CPU.Build.0 = Debug|Any CPU {AEBC7053-743F-4F80-BD10-8ED6A8A7B3EE}.Release|Any CPU.ActiveCfg = Release|Any CPU {AEBC7053-743F-4F80-BD10-8ED6A8A7B3EE}.Release|Any CPU.Build.0 = Release|Any CPU + {345B5CDA-DC77-4956-BF96-80707EC1B5B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {345B5CDA-DC77-4956-BF96-80707EC1B5B2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {345B5CDA-DC77-4956-BF96-80707EC1B5B2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {345B5CDA-DC77-4956-BF96-80707EC1B5B2}.Release|Any CPU.Build.0 = Release|Any CPU + {9D9D979A-AFC7-F9D0-2D23-8809E83F9EF9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9D9D979A-AFC7-F9D0-2D23-8809E83F9EF9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9D9D979A-AFC7-F9D0-2D23-8809E83F9EF9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9D9D979A-AFC7-F9D0-2D23-8809E83F9EF9}.Release|Any CPU.Build.0 = Release|Any CPU + {9F68B0E2-0B1D-E0E8-1BE7-079F693A4643}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9F68B0E2-0B1D-E0E8-1BE7-079F693A4643}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9F68B0E2-0B1D-E0E8-1BE7-079F693A4643}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9F68B0E2-0B1D-E0E8-1BE7-079F693A4643}.Release|Any CPU.Build.0 = Release|Any CPU + {D1A86C77-533D-5B68-04F1-7F7BFBF56AC7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D1A86C77-533D-5B68-04F1-7F7BFBF56AC7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D1A86C77-533D-5B68-04F1-7F7BFBF56AC7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D1A86C77-533D-5B68-04F1-7F7BFBF56AC7}.Release|Any CPU.Build.0 = Release|Any CPU + {75F92EFD-9FCD-3BF4-ED33-066E84A1A906}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {75F92EFD-9FCD-3BF4-ED33-066E84A1A906}.Debug|Any CPU.Build.0 = Debug|Any CPU + {75F92EFD-9FCD-3BF4-ED33-066E84A1A906}.Release|Any CPU.ActiveCfg = Release|Any CPU + {75F92EFD-9FCD-3BF4-ED33-066E84A1A906}.Release|Any CPU.Build.0 = Release|Any CPU + {A306661D-B99C-4623-61D9-9968D0260F53}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A306661D-B99C-4623-61D9-9968D0260F53}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A306661D-B99C-4623-61D9-9968D0260F53}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A306661D-B99C-4623-61D9-9968D0260F53}.Release|Any CPU.Build.0 = Release|Any CPU + {B449B5F0-DAB0-27DD-BC8A-75A1D63FB924}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B449B5F0-DAB0-27DD-BC8A-75A1D63FB924}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B449B5F0-DAB0-27DD-BC8A-75A1D63FB924}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B449B5F0-DAB0-27DD-BC8A-75A1D63FB924}.Release|Any CPU.Build.0 = Release|Any CPU + {846FE47C-4E7F-D4CE-46DE-460FBBDAD6EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {846FE47C-4E7F-D4CE-46DE-460FBBDAD6EB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {846FE47C-4E7F-D4CE-46DE-460FBBDAD6EB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {846FE47C-4E7F-D4CE-46DE-460FBBDAD6EB}.Release|Any CPU.Build.0 = Release|Any CPU + {2B1AB90F-3EE1-DA95-26E9-41657FA2BE1C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2B1AB90F-3EE1-DA95-26E9-41657FA2BE1C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2B1AB90F-3EE1-DA95-26E9-41657FA2BE1C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2B1AB90F-3EE1-DA95-26E9-41657FA2BE1C}.Release|Any CPU.Build.0 = Release|Any CPU + {3BEDE290-7D99-7F2C-C76D-108C016CE6D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3BEDE290-7D99-7F2C-C76D-108C016CE6D1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3BEDE290-7D99-7F2C-C76D-108C016CE6D1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3BEDE290-7D99-7F2C-C76D-108C016CE6D1}.Release|Any CPU.Build.0 = Release|Any CPU + {D87DBC28-58B7-9D6A-D2E5-BE4C748CF920}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D87DBC28-58B7-9D6A-D2E5-BE4C748CF920}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D87DBC28-58B7-9D6A-D2E5-BE4C748CF920}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D87DBC28-58B7-9D6A-D2E5-BE4C748CF920}.Release|Any CPU.Build.0 = Release|Any CPU + {B2C32755-D986-3F1C-913A-3A6F1E56EF97}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B2C32755-D986-3F1C-913A-3A6F1E56EF97}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B2C32755-D986-3F1C-913A-3A6F1E56EF97}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B2C32755-D986-3F1C-913A-3A6F1E56EF97}.Release|Any CPU.Build.0 = Release|Any CPU + {C5FC9F08-9A41-8581-A672-B6F8753C9991}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C5FC9F08-9A41-8581-A672-B6F8753C9991}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C5FC9F08-9A41-8581-A672-B6F8753C9991}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C5FC9F08-9A41-8581-A672-B6F8753C9991}.Release|Any CPU.Build.0 = Release|Any CPU + {B2020B57-1CAE-8C23-A413-92F54BF40313}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B2020B57-1CAE-8C23-A413-92F54BF40313}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B2020B57-1CAE-8C23-A413-92F54BF40313}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B2020B57-1CAE-8C23-A413-92F54BF40313}.Release|Any CPU.Build.0 = Release|Any CPU + {80D04466-EACE-9998-DACB-A68BE9B93847}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {80D04466-EACE-9998-DACB-A68BE9B93847}.Debug|Any CPU.Build.0 = Debug|Any CPU + {80D04466-EACE-9998-DACB-A68BE9B93847}.Release|Any CPU.ActiveCfg = Release|Any CPU + {80D04466-EACE-9998-DACB-A68BE9B93847}.Release|Any CPU.Build.0 = Release|Any CPU + {9F684B76-D619-765D-4F43-EDEE32F5DEF7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9F684B76-D619-765D-4F43-EDEE32F5DEF7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9F684B76-D619-765D-4F43-EDEE32F5DEF7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9F684B76-D619-765D-4F43-EDEE32F5DEF7}.Release|Any CPU.Build.0 = Release|Any CPU + {BAF030F5-3E23-4A8E-7ED6-504EB5BBD4FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BAF030F5-3E23-4A8E-7ED6-504EB5BBD4FE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BAF030F5-3E23-4A8E-7ED6-504EB5BBD4FE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BAF030F5-3E23-4A8E-7ED6-504EB5BBD4FE}.Release|Any CPU.Build.0 = Release|Any CPU + {B9B6B43D-6D13-C11B-1AE5-ADCBFEE68E67}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B9B6B43D-6D13-C11B-1AE5-ADCBFEE68E67}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B9B6B43D-6D13-C11B-1AE5-ADCBFEE68E67}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B9B6B43D-6D13-C11B-1AE5-ADCBFEE68E67}.Release|Any CPU.Build.0 = Release|Any CPU + {BEEB83BF-B5B0-EB53-EF78-415D4565187F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BEEB83BF-B5B0-EB53-EF78-415D4565187F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BEEB83BF-B5B0-EB53-EF78-415D4565187F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BEEB83BF-B5B0-EB53-EF78-415D4565187F}.Release|Any CPU.Build.0 = Release|Any CPU + {9E9AAE6F-1C3C-B542-64E7-E11CE55E187A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9E9AAE6F-1C3C-B542-64E7-E11CE55E187A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9E9AAE6F-1C3C-B542-64E7-E11CE55E187A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9E9AAE6F-1C3C-B542-64E7-E11CE55E187A}.Release|Any CPU.Build.0 = Release|Any CPU + {FA473ED4-54D4-C0DD-E589-31835F3AC9AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FA473ED4-54D4-C0DD-E589-31835F3AC9AA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FA473ED4-54D4-C0DD-E589-31835F3AC9AA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FA473ED4-54D4-C0DD-E589-31835F3AC9AA}.Release|Any CPU.Build.0 = Release|Any CPU + {99D81094-6B32-1C9D-5F84-E7FCEF67DFB5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {99D81094-6B32-1C9D-5F84-E7FCEF67DFB5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {99D81094-6B32-1C9D-5F84-E7FCEF67DFB5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {99D81094-6B32-1C9D-5F84-E7FCEF67DFB5}.Release|Any CPU.Build.0 = Release|Any CPU + {D3091C1B-443C-23F1-B007-A1262E92A3BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D3091C1B-443C-23F1-B007-A1262E92A3BB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D3091C1B-443C-23F1-B007-A1262E92A3BB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D3091C1B-443C-23F1-B007-A1262E92A3BB}.Release|Any CPU.Build.0 = Release|Any CPU + {AA2EB1B6-B6BF-A9DF-7C1C-F30B2DCA1E2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {AA2EB1B6-B6BF-A9DF-7C1C-F30B2DCA1E2A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AA2EB1B6-B6BF-A9DF-7C1C-F30B2DCA1E2A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {AA2EB1B6-B6BF-A9DF-7C1C-F30B2DCA1E2A}.Release|Any CPU.Build.0 = Release|Any CPU + {92CC92BF-8025-40F4-5121-DC2570ADAA04}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {92CC92BF-8025-40F4-5121-DC2570ADAA04}.Debug|Any CPU.Build.0 = Debug|Any CPU + {92CC92BF-8025-40F4-5121-DC2570ADAA04}.Release|Any CPU.ActiveCfg = Release|Any CPU + {92CC92BF-8025-40F4-5121-DC2570ADAA04}.Release|Any CPU.Build.0 = Release|Any CPU + {E9EE0B66-228F-B8EC-417C-445CAF351F76}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E9EE0B66-228F-B8EC-417C-445CAF351F76}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E9EE0B66-228F-B8EC-417C-445CAF351F76}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E9EE0B66-228F-B8EC-417C-445CAF351F76}.Release|Any CPU.Build.0 = Release|Any CPU + {EC6F5CC9-D45A-2CBC-5C84-63F6766E9359}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EC6F5CC9-D45A-2CBC-5C84-63F6766E9359}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EC6F5CC9-D45A-2CBC-5C84-63F6766E9359}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EC6F5CC9-D45A-2CBC-5C84-63F6766E9359}.Release|Any CPU.Build.0 = Release|Any CPU + {E2C7EA39-82A9-DFC8-F1B5-87298AAA02AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E2C7EA39-82A9-DFC8-F1B5-87298AAA02AE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E2C7EA39-82A9-DFC8-F1B5-87298AAA02AE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E2C7EA39-82A9-DFC8-F1B5-87298AAA02AE}.Release|Any CPU.Build.0 = Release|Any CPU + {2FA0AC97-1BF7-5B4B-4B3A-81AA3B3882F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2FA0AC97-1BF7-5B4B-4B3A-81AA3B3882F3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2FA0AC97-1BF7-5B4B-4B3A-81AA3B3882F3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2FA0AC97-1BF7-5B4B-4B3A-81AA3B3882F3}.Release|Any CPU.Build.0 = Release|Any CPU + {817CE319-21A4-6FB1-3002-E786F8D0DAC5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {817CE319-21A4-6FB1-3002-E786F8D0DAC5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {817CE319-21A4-6FB1-3002-E786F8D0DAC5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {817CE319-21A4-6FB1-3002-E786F8D0DAC5}.Release|Any CPU.Build.0 = Release|Any CPU + {D9F0918C-5DB6-B97D-FF09-18345B23DF44}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D9F0918C-5DB6-B97D-FF09-18345B23DF44}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D9F0918C-5DB6-B97D-FF09-18345B23DF44}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D9F0918C-5DB6-B97D-FF09-18345B23DF44}.Release|Any CPU.Build.0 = Release|Any CPU + {087E7661-DB2D-07F9-586E-A49EE0399A07}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {087E7661-DB2D-07F9-586E-A49EE0399A07}.Debug|Any CPU.Build.0 = Debug|Any CPU + {087E7661-DB2D-07F9-586E-A49EE0399A07}.Release|Any CPU.ActiveCfg = Release|Any CPU + {087E7661-DB2D-07F9-586E-A49EE0399A07}.Release|Any CPU.Build.0 = Release|Any CPU + {C49DCA14-AA0E-CE33-9028-AFE76A31B00F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C49DCA14-AA0E-CE33-9028-AFE76A31B00F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C49DCA14-AA0E-CE33-9028-AFE76A31B00F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C49DCA14-AA0E-CE33-9028-AFE76A31B00F}.Release|Any CPU.Build.0 = Release|Any CPU + {E84CB613-ADF5-3F80-3CC2-0CB7424865B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E84CB613-ADF5-3F80-3CC2-0CB7424865B0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E84CB613-ADF5-3F80-3CC2-0CB7424865B0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E84CB613-ADF5-3F80-3CC2-0CB7424865B0}.Release|Any CPU.Build.0 = Release|Any CPU + {959EA8DB-5C6D-58C9-A71B-FBA5D93F3B39}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {959EA8DB-5C6D-58C9-A71B-FBA5D93F3B39}.Debug|Any CPU.Build.0 = Debug|Any CPU + {959EA8DB-5C6D-58C9-A71B-FBA5D93F3B39}.Release|Any CPU.ActiveCfg = Release|Any CPU + {959EA8DB-5C6D-58C9-A71B-FBA5D93F3B39}.Release|Any CPU.Build.0 = Release|Any CPU + {9DD56F78-BA2E-E3F0-373F-C5F6509D1E9D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9DD56F78-BA2E-E3F0-373F-C5F6509D1E9D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9DD56F78-BA2E-E3F0-373F-C5F6509D1E9D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9DD56F78-BA2E-E3F0-373F-C5F6509D1E9D}.Release|Any CPU.Build.0 = Release|Any CPU + {7E5945D8-0B0B-4426-BB05-8F7EE37036E1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7E5945D8-0B0B-4426-BB05-8F7EE37036E1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7E5945D8-0B0B-4426-BB05-8F7EE37036E1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7E5945D8-0B0B-4426-BB05-8F7EE37036E1}.Release|Any CPU.Build.0 = Release|Any CPU + {C14C9349-5A9B-079B-1DAA-F68D09745F4B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C14C9349-5A9B-079B-1DAA-F68D09745F4B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C14C9349-5A9B-079B-1DAA-F68D09745F4B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C14C9349-5A9B-079B-1DAA-F68D09745F4B}.Release|Any CPU.Build.0 = Release|Any CPU + {DE7BD236-A0C3-DB34-DF42-B4258E3DD72F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DE7BD236-A0C3-DB34-DF42-B4258E3DD72F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DE7BD236-A0C3-DB34-DF42-B4258E3DD72F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DE7BD236-A0C3-DB34-DF42-B4258E3DD72F}.Release|Any CPU.Build.0 = Release|Any CPU + {0BCC52A7-8D67-64D7-FCD7-436D6B13B053}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0BCC52A7-8D67-64D7-FCD7-436D6B13B053}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0BCC52A7-8D67-64D7-FCD7-436D6B13B053}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0BCC52A7-8D67-64D7-FCD7-436D6B13B053}.Release|Any CPU.Build.0 = Release|Any CPU + {60D113CF-9C20-11BC-AB4B-A4CAB288EDD7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {60D113CF-9C20-11BC-AB4B-A4CAB288EDD7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {60D113CF-9C20-11BC-AB4B-A4CAB288EDD7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {60D113CF-9C20-11BC-AB4B-A4CAB288EDD7}.Release|Any CPU.Build.0 = Release|Any CPU + {403AF0D9-5199-E02A-4CBA-F877E0559DE4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {403AF0D9-5199-E02A-4CBA-F877E0559DE4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {403AF0D9-5199-E02A-4CBA-F877E0559DE4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {403AF0D9-5199-E02A-4CBA-F877E0559DE4}.Release|Any CPU.Build.0 = Release|Any CPU + {73B2CDFD-63F6-0023-B10C-E844D978279A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {73B2CDFD-63F6-0023-B10C-E844D978279A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {73B2CDFD-63F6-0023-B10C-E844D978279A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {73B2CDFD-63F6-0023-B10C-E844D978279A}.Release|Any CPU.Build.0 = Release|Any CPU + {93E93A6B-2808-BCC8-979D-B6E0C6A08558}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {93E93A6B-2808-BCC8-979D-B6E0C6A08558}.Debug|Any CPU.Build.0 = Debug|Any CPU + {93E93A6B-2808-BCC8-979D-B6E0C6A08558}.Release|Any CPU.ActiveCfg = Release|Any CPU + {93E93A6B-2808-BCC8-979D-B6E0C6A08558}.Release|Any CPU.Build.0 = Release|Any CPU + {D801B2E8-DACB-2B61-D54A-06F16D1A976B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D801B2E8-DACB-2B61-D54A-06F16D1A976B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D801B2E8-DACB-2B61-D54A-06F16D1A976B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D801B2E8-DACB-2B61-D54A-06F16D1A976B}.Release|Any CPU.Build.0 = Release|Any CPU + {4930C29C-A870-AB21-34E8-496898DCF474}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4930C29C-A870-AB21-34E8-496898DCF474}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4930C29C-A870-AB21-34E8-496898DCF474}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4930C29C-A870-AB21-34E8-496898DCF474}.Release|Any CPU.Build.0 = Release|Any CPU + {4E4B7F2C-EADC-EAEB-C087-309A6FD2E99D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4E4B7F2C-EADC-EAEB-C087-309A6FD2E99D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4E4B7F2C-EADC-EAEB-C087-309A6FD2E99D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4E4B7F2C-EADC-EAEB-C087-309A6FD2E99D}.Release|Any CPU.Build.0 = Release|Any CPU + {B92604FE-8BEB-D7C8-E849-EE87E6BDB65E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B92604FE-8BEB-D7C8-E849-EE87E6BDB65E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B92604FE-8BEB-D7C8-E849-EE87E6BDB65E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B92604FE-8BEB-D7C8-E849-EE87E6BDB65E}.Release|Any CPU.Build.0 = Release|Any CPU + {768F149B-659D-3769-3570-86C753EE8896}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {768F149B-659D-3769-3570-86C753EE8896}.Debug|Any CPU.Build.0 = Debug|Any CPU + {768F149B-659D-3769-3570-86C753EE8896}.Release|Any CPU.ActiveCfg = Release|Any CPU + {768F149B-659D-3769-3570-86C753EE8896}.Release|Any CPU.Build.0 = Release|Any CPU + {22F62964-1C2C-339D-7572-E91E34B3530F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {22F62964-1C2C-339D-7572-E91E34B3530F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {22F62964-1C2C-339D-7572-E91E34B3530F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {22F62964-1C2C-339D-7572-E91E34B3530F}.Release|Any CPU.Build.0 = Release|Any CPU + {2E097B16-F382-0F60-8806-79960016032A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2E097B16-F382-0F60-8806-79960016032A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2E097B16-F382-0F60-8806-79960016032A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2E097B16-F382-0F60-8806-79960016032A}.Release|Any CPU.Build.0 = Release|Any CPU + {DBBB7A40-EC3E-2018-F2B7-C0041D1DD215}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DBBB7A40-EC3E-2018-F2B7-C0041D1DD215}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DBBB7A40-EC3E-2018-F2B7-C0041D1DD215}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DBBB7A40-EC3E-2018-F2B7-C0041D1DD215}.Release|Any CPU.Build.0 = Release|Any CPU + {2D47B675-1235-052F-4409-DC335A633FCD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2D47B675-1235-052F-4409-DC335A633FCD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2D47B675-1235-052F-4409-DC335A633FCD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2D47B675-1235-052F-4409-DC335A633FCD}.Release|Any CPU.Build.0 = Release|Any CPU + {BA608D2C-406D-B666-5383-D806C46EDD05}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BA608D2C-406D-B666-5383-D806C46EDD05}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BA608D2C-406D-B666-5383-D806C46EDD05}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BA608D2C-406D-B666-5383-D806C46EDD05}.Release|Any CPU.Build.0 = Release|Any CPU + {70F10069-D717-0C25-33A4-9AC90FF5E8A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {70F10069-D717-0C25-33A4-9AC90FF5E8A3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {70F10069-D717-0C25-33A4-9AC90FF5E8A3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {70F10069-D717-0C25-33A4-9AC90FF5E8A3}.Release|Any CPU.Build.0 = Release|Any CPU + {6958C0D9-6C81-EF5F-D68C-B9E8AD8E7130}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6958C0D9-6C81-EF5F-D68C-B9E8AD8E7130}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6958C0D9-6C81-EF5F-D68C-B9E8AD8E7130}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6958C0D9-6C81-EF5F-D68C-B9E8AD8E7130}.Release|Any CPU.Build.0 = Release|Any CPU + {B1D8B704-8077-00FC-B44B-B5B1071DD934}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B1D8B704-8077-00FC-B44B-B5B1071DD934}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B1D8B704-8077-00FC-B44B-B5B1071DD934}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B1D8B704-8077-00FC-B44B-B5B1071DD934}.Release|Any CPU.Build.0 = Release|Any CPU + {B89FEABF-4CDA-9A62-E9E1-896DC9AD7AA3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B89FEABF-4CDA-9A62-E9E1-896DC9AD7AA3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B89FEABF-4CDA-9A62-E9E1-896DC9AD7AA3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B89FEABF-4CDA-9A62-E9E1-896DC9AD7AA3}.Release|Any CPU.Build.0 = Release|Any CPU + {A8F64512-A7F7-6670-D7C7-4AA41C4B2E0F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A8F64512-A7F7-6670-D7C7-4AA41C4B2E0F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A8F64512-A7F7-6670-D7C7-4AA41C4B2E0F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A8F64512-A7F7-6670-D7C7-4AA41C4B2E0F}.Release|Any CPU.Build.0 = Release|Any CPU + {AAF0C46B-F69F-56D6-319F-B0AF8B3A7C1D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {AAF0C46B-F69F-56D6-319F-B0AF8B3A7C1D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AAF0C46B-F69F-56D6-319F-B0AF8B3A7C1D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {AAF0C46B-F69F-56D6-319F-B0AF8B3A7C1D}.Release|Any CPU.Build.0 = Release|Any CPU + {1E3AA937-6394-0C20-C59B-127D2B01DE4F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1E3AA937-6394-0C20-C59B-127D2B01DE4F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1E3AA937-6394-0C20-C59B-127D2B01DE4F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1E3AA937-6394-0C20-C59B-127D2B01DE4F}.Release|Any CPU.Build.0 = Release|Any CPU + {410A79A5-24B5-473E-BE7B-5C787B7431A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {410A79A5-24B5-473E-BE7B-5C787B7431A2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {410A79A5-24B5-473E-BE7B-5C787B7431A2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {410A79A5-24B5-473E-BE7B-5C787B7431A2}.Release|Any CPU.Build.0 = Release|Any CPU + {95718E42-884D-4396-AF1E-EDFFDD8C86D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {95718E42-884D-4396-AF1E-EDFFDD8C86D4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {95718E42-884D-4396-AF1E-EDFFDD8C86D4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {95718E42-884D-4396-AF1E-EDFFDD8C86D4}.Release|Any CPU.Build.0 = Release|Any CPU {97BC949A-9142-B129-10FE-0D9381A49C05}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {97BC949A-9142-B129-10FE-0D9381A49C05}.Debug|Any CPU.Build.0 = Debug|Any CPU {97BC949A-9142-B129-10FE-0D9381A49C05}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -99,10 +475,6 @@ Global {3641CA05-99C5-2245-C663-6CE00730E87C}.Debug|Any CPU.Build.0 = Debug|Any CPU {3641CA05-99C5-2245-C663-6CE00730E87C}.Release|Any CPU.ActiveCfg = Release|Any CPU {3641CA05-99C5-2245-C663-6CE00730E87C}.Release|Any CPU.Build.0 = Release|Any CPU - {345B5CDA-DC77-4956-BF96-80707EC1B5B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {345B5CDA-DC77-4956-BF96-80707EC1B5B2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {345B5CDA-DC77-4956-BF96-80707EC1B5B2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {345B5CDA-DC77-4956-BF96-80707EC1B5B2}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -111,11 +483,6 @@ Global {D02078B5-294E-DA0D-DD69-46FDEFBD76F9} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} {14E3D6EA-528D-4983-9EC8-77FEE4BC2FED} = {C5AC3FEE-4315-4D82-A142-5068D5A6DD73} {AEBC7053-743F-4F80-BD10-8ED6A8A7B3EE} = {C5AC3FEE-4315-4D82-A142-5068D5A6DD73} - {97BC949A-9142-B129-10FE-0D9381A49C05} = {4CBFE8AF-968B-453D-B763-3D0437C0883D} - {D422C785-D6D0-8F6B-A6C3-2B0E5497B923} = {4CBFE8AF-968B-453D-B763-3D0437C0883D} - {9A034977-0FBC-A3C8-8432-9FDD073F215A} = {4CBFE8AF-968B-453D-B763-3D0437C0883D} - {1C89424B-DA16-8840-4AB0-C446CFBD634C} = {4CBFE8AF-968B-453D-B763-3D0437C0883D} - {3641CA05-99C5-2245-C663-6CE00730E87C} = {4CBFE8AF-968B-453D-B763-3D0437C0883D} {A53664DF-71AE-4C8E-A2DC-A60605FDF57C} = {327E64CE-CB3C-480A-AB52-816B8A5329B6} {75A22B51-A986-48BD-A633-383DA18DE644} = {327E64CE-CB3C-480A-AB52-816B8A5329B6} {244E1153-5BE5-4DC2-BA9D-2988BA25F208} = {327E64CE-CB3C-480A-AB52-816B8A5329B6} @@ -132,6 +499,73 @@ Global {E67FA5C3-132C-4F47-B6A6-8FA4376C70BB} = {CF59695F-7948-4743-A467-42E4B4C9EECA} {1C06151A-45F0-4D48-8303-3D4CBE9517F7} = {CF59695F-7948-4743-A467-42E4B4C9EECA} {345B5CDA-DC77-4956-BF96-80707EC1B5B2} = {7EFFD2C6-2041-4967-A715-0F817D70C433} + {9D9D979A-AFC7-F9D0-2D23-8809E83F9EF9} = {EBCB740D-07E7-4CED-A422-90EB824B9021} + {9F68B0E2-0B1D-E0E8-1BE7-079F693A4643} = {EBCB740D-07E7-4CED-A422-90EB824B9021} + {D1A86C77-533D-5B68-04F1-7F7BFBF56AC7} = {EBCB740D-07E7-4CED-A422-90EB824B9021} + {75F92EFD-9FCD-3BF4-ED33-066E84A1A906} = {EBCB740D-07E7-4CED-A422-90EB824B9021} + {A306661D-B99C-4623-61D9-9968D0260F53} = {EBCB740D-07E7-4CED-A422-90EB824B9021} + {B449B5F0-DAB0-27DD-BC8A-75A1D63FB924} = {EBCB740D-07E7-4CED-A422-90EB824B9021} + {846FE47C-4E7F-D4CE-46DE-460FBBDAD6EB} = {EBCB740D-07E7-4CED-A422-90EB824B9021} + {2B1AB90F-3EE1-DA95-26E9-41657FA2BE1C} = {68C52E9A-2894-4F56-B121-EBDEB8AEE5FE} + {3BEDE290-7D99-7F2C-C76D-108C016CE6D1} = {68C52E9A-2894-4F56-B121-EBDEB8AEE5FE} + {D87DBC28-58B7-9D6A-D2E5-BE4C748CF920} = {68C52E9A-2894-4F56-B121-EBDEB8AEE5FE} + {B2C32755-D986-3F1C-913A-3A6F1E56EF97} = {68C52E9A-2894-4F56-B121-EBDEB8AEE5FE} + {C5FC9F08-9A41-8581-A672-B6F8753C9991} = {68C52E9A-2894-4F56-B121-EBDEB8AEE5FE} + {B2020B57-1CAE-8C23-A413-92F54BF40313} = {9EDB9917-F429-447B-915D-7D51D38DB33E} + {80D04466-EACE-9998-DACB-A68BE9B93847} = {9EDB9917-F429-447B-915D-7D51D38DB33E} + {9F684B76-D619-765D-4F43-EDEE32F5DEF7} = {9EDB9917-F429-447B-915D-7D51D38DB33E} + {BAF030F5-3E23-4A8E-7ED6-504EB5BBD4FE} = {9EDB9917-F429-447B-915D-7D51D38DB33E} + {B9B6B43D-6D13-C11B-1AE5-ADCBFEE68E67} = {9EDB9917-F429-447B-915D-7D51D38DB33E} + {BEEB83BF-B5B0-EB53-EF78-415D4565187F} = {9EDB9917-F429-447B-915D-7D51D38DB33E} + {9E9AAE6F-1C3C-B542-64E7-E11CE55E187A} = {9EDB9917-F429-447B-915D-7D51D38DB33E} + {FA473ED4-54D4-C0DD-E589-31835F3AC9AA} = {73DCA9DB-1A3D-449F-8957-924B2CF8B7B1} + {99D81094-6B32-1C9D-5F84-E7FCEF67DFB5} = {73DCA9DB-1A3D-449F-8957-924B2CF8B7B1} + {D3091C1B-443C-23F1-B007-A1262E92A3BB} = {73DCA9DB-1A3D-449F-8957-924B2CF8B7B1} + {AA2EB1B6-B6BF-A9DF-7C1C-F30B2DCA1E2A} = {73DCA9DB-1A3D-449F-8957-924B2CF8B7B1} + {92CC92BF-8025-40F4-5121-DC2570ADAA04} = {73DCA9DB-1A3D-449F-8957-924B2CF8B7B1} + {E9EE0B66-228F-B8EC-417C-445CAF351F76} = {B93EB51F-E75E-4735-8BC8-382015B4DBD5} + {EC6F5CC9-D45A-2CBC-5C84-63F6766E9359} = {B93EB51F-E75E-4735-8BC8-382015B4DBD5} + {E2C7EA39-82A9-DFC8-F1B5-87298AAA02AE} = {B93EB51F-E75E-4735-8BC8-382015B4DBD5} + {2FA0AC97-1BF7-5B4B-4B3A-81AA3B3882F3} = {B93EB51F-E75E-4735-8BC8-382015B4DBD5} + {817CE319-21A4-6FB1-3002-E786F8D0DAC5} = {B93EB51F-E75E-4735-8BC8-382015B4DBD5} + {D9F0918C-5DB6-B97D-FF09-18345B23DF44} = {B93EB51F-E75E-4735-8BC8-382015B4DBD5} + {087E7661-DB2D-07F9-586E-A49EE0399A07} = {B93EB51F-E75E-4735-8BC8-382015B4DBD5} + {C49DCA14-AA0E-CE33-9028-AFE76A31B00F} = {026D8210-9B71-4296-9DD8-D4E178802E4D} + {E84CB613-ADF5-3F80-3CC2-0CB7424865B0} = {026D8210-9B71-4296-9DD8-D4E178802E4D} + {959EA8DB-5C6D-58C9-A71B-FBA5D93F3B39} = {026D8210-9B71-4296-9DD8-D4E178802E4D} + {9DD56F78-BA2E-E3F0-373F-C5F6509D1E9D} = {026D8210-9B71-4296-9DD8-D4E178802E4D} + {7E5945D8-0B0B-4426-BB05-8F7EE37036E1} = {026D8210-9B71-4296-9DD8-D4E178802E4D} + {C14C9349-5A9B-079B-1DAA-F68D09745F4B} = {7FEC24C5-6DA6-4844-B409-0361AB1C192C} + {DE7BD236-A0C3-DB34-DF42-B4258E3DD72F} = {7FEC24C5-6DA6-4844-B409-0361AB1C192C} + {0BCC52A7-8D67-64D7-FCD7-436D6B13B053} = {7FEC24C5-6DA6-4844-B409-0361AB1C192C} + {60D113CF-9C20-11BC-AB4B-A4CAB288EDD7} = {7FEC24C5-6DA6-4844-B409-0361AB1C192C} + {403AF0D9-5199-E02A-4CBA-F877E0559DE4} = {7FEC24C5-6DA6-4844-B409-0361AB1C192C} + {73B2CDFD-63F6-0023-B10C-E844D978279A} = {7FEC24C5-6DA6-4844-B409-0361AB1C192C} + {93E93A6B-2808-BCC8-979D-B6E0C6A08558} = {7FEC24C5-6DA6-4844-B409-0361AB1C192C} + {D801B2E8-DACB-2B61-D54A-06F16D1A976B} = {6C762F40-30BB-4CDA-951B-01D45F7C2B53} + {4930C29C-A870-AB21-34E8-496898DCF474} = {6C762F40-30BB-4CDA-951B-01D45F7C2B53} + {4E4B7F2C-EADC-EAEB-C087-309A6FD2E99D} = {6C762F40-30BB-4CDA-951B-01D45F7C2B53} + {B92604FE-8BEB-D7C8-E849-EE87E6BDB65E} = {6C762F40-30BB-4CDA-951B-01D45F7C2B53} + {768F149B-659D-3769-3570-86C753EE8896} = {6C762F40-30BB-4CDA-951B-01D45F7C2B53} + {22F62964-1C2C-339D-7572-E91E34B3530F} = {E67FA5C3-132C-4F47-B6A6-8FA4376C70BB} + {2E097B16-F382-0F60-8806-79960016032A} = {E67FA5C3-132C-4F47-B6A6-8FA4376C70BB} + {DBBB7A40-EC3E-2018-F2B7-C0041D1DD215} = {E67FA5C3-132C-4F47-B6A6-8FA4376C70BB} + {2D47B675-1235-052F-4409-DC335A633FCD} = {E67FA5C3-132C-4F47-B6A6-8FA4376C70BB} + {BA608D2C-406D-B666-5383-D806C46EDD05} = {E67FA5C3-132C-4F47-B6A6-8FA4376C70BB} + {70F10069-D717-0C25-33A4-9AC90FF5E8A3} = {E67FA5C3-132C-4F47-B6A6-8FA4376C70BB} + {6958C0D9-6C81-EF5F-D68C-B9E8AD8E7130} = {E67FA5C3-132C-4F47-B6A6-8FA4376C70BB} + {B1D8B704-8077-00FC-B44B-B5B1071DD934} = {1C06151A-45F0-4D48-8303-3D4CBE9517F7} + {B89FEABF-4CDA-9A62-E9E1-896DC9AD7AA3} = {1C06151A-45F0-4D48-8303-3D4CBE9517F7} + {A8F64512-A7F7-6670-D7C7-4AA41C4B2E0F} = {1C06151A-45F0-4D48-8303-3D4CBE9517F7} + {AAF0C46B-F69F-56D6-319F-B0AF8B3A7C1D} = {1C06151A-45F0-4D48-8303-3D4CBE9517F7} + {1E3AA937-6394-0C20-C59B-127D2B01DE4F} = {1C06151A-45F0-4D48-8303-3D4CBE9517F7} + {410A79A5-24B5-473E-BE7B-5C787B7431A2} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} + {95718E42-884D-4396-AF1E-EDFFDD8C86D4} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} + {97BC949A-9142-B129-10FE-0D9381A49C05} = {4CBFE8AF-968B-453D-B763-3D0437C0883D} + {D422C785-D6D0-8F6B-A6C3-2B0E5497B923} = {4CBFE8AF-968B-453D-B763-3D0437C0883D} + {9A034977-0FBC-A3C8-8432-9FDD073F215A} = {4CBFE8AF-968B-453D-B763-3D0437C0883D} + {1C89424B-DA16-8840-4AB0-C446CFBD634C} = {4CBFE8AF-968B-453D-B763-3D0437C0883D} + {3641CA05-99C5-2245-C663-6CE00730E87C} = {4CBFE8AF-968B-453D-B763-3D0437C0883D} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {28315BFD-90E7-4E14-A2EA-F3D23AF4126F} diff --git a/applications/KonSoft.AuthServer/KonSoft.AuthServer.csproj b/applications/KonSoft.AuthServer/KonSoft.AuthServer.csproj index 2279469..6d147fd 100644 --- a/applications/KonSoft.AuthServer/KonSoft.AuthServer.csproj +++ b/applications/KonSoft.AuthServer/KonSoft.AuthServer.csproj @@ -1,6 +1,4 @@ - - - + net8.0 @@ -47,7 +45,6 @@ - @@ -58,7 +55,6 @@ - diff --git a/applications/KonSoft.BackgroundJobs/Controllers/WeatherForecastController.cs b/applications/KonSoft.BackgroundJobs/Controllers/WeatherForecastController.cs new file mode 100644 index 0000000..66a55f4 --- /dev/null +++ b/applications/KonSoft.BackgroundJobs/Controllers/WeatherForecastController.cs @@ -0,0 +1,33 @@ +using Microsoft.AspNetCore.Mvc; + +namespace KonSoft.BackgroundJobs.Controllers +{ + [ApiController] + [Route("[controller]")] + public class WeatherForecastController : ControllerBase + { + private static readonly string[] Summaries = new[] + { + "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" + }; + + private readonly ILogger _logger; + + public WeatherForecastController(ILogger logger) + { + _logger = logger; + } + + [HttpGet(Name = "GetWeatherForecast")] + public IEnumerable Get() + { + return Enumerable.Range(1, 5).Select(index => new WeatherForecast + { + Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)), + TemperatureC = Random.Shared.Next(-20, 55), + Summary = Summaries[Random.Shared.Next(Summaries.Length)] + }) + .ToArray(); + } + } +} diff --git a/applications/KonSoft.BackgroundJobs/KonSoft.BackgroundJobs.csproj b/applications/KonSoft.BackgroundJobs/KonSoft.BackgroundJobs.csproj new file mode 100644 index 0000000..5419ef0 --- /dev/null +++ b/applications/KonSoft.BackgroundJobs/KonSoft.BackgroundJobs.csproj @@ -0,0 +1,13 @@ + + + + net8.0 + enable + enable + + + + + + + diff --git a/applications/KonSoft.BackgroundJobs/KonSoft.BackgroundJobs.http b/applications/KonSoft.BackgroundJobs/KonSoft.BackgroundJobs.http new file mode 100644 index 0000000..f277390 --- /dev/null +++ b/applications/KonSoft.BackgroundJobs/KonSoft.BackgroundJobs.http @@ -0,0 +1,6 @@ +@KonSoft.BackgroundJobs_HostAddress = http://localhost:5243 + +GET {{KonSoft.BackgroundJobs_HostAddress}}/weatherforecast/ +Accept: application/json + +### diff --git a/applications/KonSoft.BackgroundJobs/Program.cs b/applications/KonSoft.BackgroundJobs/Program.cs new file mode 100644 index 0000000..48863a6 --- /dev/null +++ b/applications/KonSoft.BackgroundJobs/Program.cs @@ -0,0 +1,25 @@ +var builder = WebApplication.CreateBuilder(args); + +// Add services to the container. + +builder.Services.AddControllers(); +// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); + +var app = builder.Build(); + +// Configure the HTTP request pipeline. +if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(); +} + +app.UseHttpsRedirection(); + +app.UseAuthorization(); + +app.MapControllers(); + +app.Run(); diff --git a/applications/KonSoft.BackgroundJobs/Properties/launchSettings.json b/applications/KonSoft.BackgroundJobs/Properties/launchSettings.json new file mode 100644 index 0000000..22675ba --- /dev/null +++ b/applications/KonSoft.BackgroundJobs/Properties/launchSettings.json @@ -0,0 +1,41 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:4773", + "sslPort": 44380 + } + }, + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "http://localhost:5243", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "https://localhost:7094;http://localhost:5243", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "launchUrl": "swagger", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/applications/KonSoft.BackgroundJobs/WeatherForecast.cs b/applications/KonSoft.BackgroundJobs/WeatherForecast.cs new file mode 100644 index 0000000..95cf6dc --- /dev/null +++ b/applications/KonSoft.BackgroundJobs/WeatherForecast.cs @@ -0,0 +1,13 @@ +namespace KonSoft.BackgroundJobs +{ + public class WeatherForecast + { + public DateOnly Date { get; set; } + + public int TemperatureC { get; set; } + + public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); + + public string? Summary { get; set; } + } +} diff --git a/applications/KonSoft.BackgroundJobs/appsettings.Development.json b/applications/KonSoft.BackgroundJobs/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/applications/KonSoft.BackgroundJobs/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/applications/KonSoft.BackgroundJobs/appsettings.json b/applications/KonSoft.BackgroundJobs/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/applications/KonSoft.BackgroundJobs/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/applications/KonSoft.BackgroundWorker/Controllers/WeatherForecastController.cs b/applications/KonSoft.BackgroundWorker/Controllers/WeatherForecastController.cs new file mode 100644 index 0000000..ae0b710 --- /dev/null +++ b/applications/KonSoft.BackgroundWorker/Controllers/WeatherForecastController.cs @@ -0,0 +1,33 @@ +using Microsoft.AspNetCore.Mvc; + +namespace KonSoft.BackgroundWorker.Controllers +{ + [ApiController] + [Route("[controller]")] + public class WeatherForecastController : ControllerBase + { + private static readonly string[] Summaries = new[] + { + "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" + }; + + private readonly ILogger _logger; + + public WeatherForecastController(ILogger logger) + { + _logger = logger; + } + + [HttpGet(Name = "GetWeatherForecast")] + public IEnumerable Get() + { + return Enumerable.Range(1, 5).Select(index => new WeatherForecast + { + Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)), + TemperatureC = Random.Shared.Next(-20, 55), + Summary = Summaries[Random.Shared.Next(Summaries.Length)] + }) + .ToArray(); + } + } +} diff --git a/applications/KonSoft.BackgroundWorker/KonSoft.BackgroundWorker.csproj b/applications/KonSoft.BackgroundWorker/KonSoft.BackgroundWorker.csproj new file mode 100644 index 0000000..5419ef0 --- /dev/null +++ b/applications/KonSoft.BackgroundWorker/KonSoft.BackgroundWorker.csproj @@ -0,0 +1,13 @@ + + + + net8.0 + enable + enable + + + + + + + diff --git a/applications/KonSoft.BackgroundWorker/KonSoft.BackgroundWorker.http b/applications/KonSoft.BackgroundWorker/KonSoft.BackgroundWorker.http new file mode 100644 index 0000000..5559ec8 --- /dev/null +++ b/applications/KonSoft.BackgroundWorker/KonSoft.BackgroundWorker.http @@ -0,0 +1,6 @@ +@KonSoft.BackgroundWorker_HostAddress = http://localhost:5074 + +GET {{KonSoft.BackgroundWorker_HostAddress}}/weatherforecast/ +Accept: application/json + +### diff --git a/applications/KonSoft.BackgroundWorker/Program.cs b/applications/KonSoft.BackgroundWorker/Program.cs new file mode 100644 index 0000000..48863a6 --- /dev/null +++ b/applications/KonSoft.BackgroundWorker/Program.cs @@ -0,0 +1,25 @@ +var builder = WebApplication.CreateBuilder(args); + +// Add services to the container. + +builder.Services.AddControllers(); +// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); + +var app = builder.Build(); + +// Configure the HTTP request pipeline. +if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(); +} + +app.UseHttpsRedirection(); + +app.UseAuthorization(); + +app.MapControllers(); + +app.Run(); diff --git a/applications/KonSoft.BackgroundWorker/Properties/launchSettings.json b/applications/KonSoft.BackgroundWorker/Properties/launchSettings.json new file mode 100644 index 0000000..2730824 --- /dev/null +++ b/applications/KonSoft.BackgroundWorker/Properties/launchSettings.json @@ -0,0 +1,41 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:22937", + "sslPort": 44300 + } + }, + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "http://localhost:5074", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "https://localhost:7183;http://localhost:5074", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "launchUrl": "swagger", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/applications/KonSoft.BackgroundWorker/WeatherForecast.cs b/applications/KonSoft.BackgroundWorker/WeatherForecast.cs new file mode 100644 index 0000000..8a9a070 --- /dev/null +++ b/applications/KonSoft.BackgroundWorker/WeatherForecast.cs @@ -0,0 +1,13 @@ +namespace KonSoft.BackgroundWorker +{ + public class WeatherForecast + { + public DateOnly Date { get; set; } + + public int TemperatureC { get; set; } + + public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); + + public string? Summary { get; set; } + } +} diff --git a/applications/KonSoft.BackgroundWorker/appsettings.Development.json b/applications/KonSoft.BackgroundWorker/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/applications/KonSoft.BackgroundWorker/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/applications/KonSoft.BackgroundWorker/appsettings.json b/applications/KonSoft.BackgroundWorker/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/applications/KonSoft.BackgroundWorker/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/microservices/KonSoft.Admin.HttpApi.Host/AdminBrandingProvider.cs b/microservices/KonSoft.Admin.HttpApi.Host/AdminBrandingProvider.cs deleted file mode 100644 index 6c1ffde..0000000 --- a/microservices/KonSoft.Admin.HttpApi.Host/AdminBrandingProvider.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Microsoft.Extensions.Localization; -using KonSoft.Admin.Localization; -using Volo.Abp.DependencyInjection; -using Volo.Abp.Ui.Branding; - -namespace KonSoft.Admin; - -[Dependency(ReplaceServices = true)] -public class AdminBrandingProvider : DefaultBrandingProvider -{ - private IStringLocalizer _localizer; - - public AdminBrandingProvider(IStringLocalizer localizer) - { - _localizer = localizer; - } - - public override string AppName => _localizer["AppName"]; -} diff --git a/microservices/KonSoft.Admin.HttpApi.Host/AdminHttpApiHostModule.cs b/microservices/KonSoft.Admin.HttpApi.Host/AdminHttpApiHostModule.cs index 85f450e..687e112 100644 --- a/microservices/KonSoft.Admin.HttpApi.Host/AdminHttpApiHostModule.cs +++ b/microservices/KonSoft.Admin.HttpApi.Host/AdminHttpApiHostModule.cs @@ -2,32 +2,34 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; +using Medallion.Threading; +using Medallion.Threading.Redis; +using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Cors; -using Microsoft.AspNetCore.Extensions.DependencyInjection; +using Microsoft.AspNetCore.DataProtection; +using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using KonSoft.Admin.EntityFrameworkCore; using KonSoft.Admin.MultiTenancy; -using Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite; -using Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite.Bundling; +using StackExchange.Redis; using Microsoft.OpenApi.Models; -using OpenIddict.Validation.AspNetCore; using Volo.Abp; -using Volo.Abp.Account; -using Volo.Abp.Account.Web; -using Volo.Abp.AspNetCore.MultiTenancy; +using Volo.Abp.AspNetCore.Authentication.JwtBearer; using Volo.Abp.AspNetCore.Mvc; -using Volo.Abp.AspNetCore.Mvc.UI.Bundling; -using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared; +using Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy; using Volo.Abp.AspNetCore.Serilog; using Volo.Abp.Autofac; +using Volo.Abp.Caching; +using Volo.Abp.Caching.StackExchangeRedis; +using Volo.Abp.DistributedLocking; +using Volo.Abp.Identity; using Volo.Abp.Localization; using Volo.Abp.Modularity; using Volo.Abp.Security.Claims; using Volo.Abp.Swashbuckle; -using Volo.Abp.UI.Navigation.Urls; using Volo.Abp.VirtualFileSystem; namespace KonSoft.Admin; @@ -35,76 +37,35 @@ namespace KonSoft.Admin; [DependsOn( typeof(AdminHttpApiModule), typeof(AbpAutofacModule), - typeof(AbpAspNetCoreMultiTenancyModule), + typeof(AbpCachingStackExchangeRedisModule), + typeof(AbpDistributedLockingModule), + typeof(AbpAspNetCoreMvcUiMultiTenancyModule), + typeof(AbpAspNetCoreAuthenticationJwtBearerModule), typeof(AdminApplicationModule), typeof(AdminEntityFrameworkCoreModule), - typeof(AbpAspNetCoreMvcUiLeptonXLiteThemeModule), - typeof(AbpAccountWebOpenIddictModule), typeof(AbpAspNetCoreSerilogModule), typeof(AbpSwashbuckleModule) )] public class AdminHttpApiHostModule : AbpModule { - public override void PreConfigureServices(ServiceConfigurationContext context) - { - PreConfigure(builder => - { - builder.AddValidation(options => - { - options.AddAudiences("Admin"); - options.UseLocalServer(); - options.UseAspNetCore(); - }); - }); - } - public override void ConfigureServices(ServiceConfigurationContext context) { var configuration = context.Services.GetConfiguration(); var hostingEnvironment = context.Services.GetHostingEnvironment(); - ConfigureAuthentication(context); - ConfigureBundles(); - ConfigureUrls(configuration); ConfigureConventionalControllers(); + ConfigureAuthentication(context, configuration); + ConfigureCache(configuration); ConfigureVirtualFileSystem(context); + ConfigureDataProtection(context, configuration, hostingEnvironment); + ConfigureDistributedLocking(context, configuration); ConfigureCors(context, configuration); ConfigureSwaggerServices(context, configuration); } - private void ConfigureAuthentication(ServiceConfigurationContext context) + private void ConfigureCache(IConfiguration configuration) { - context.Services.ForwardIdentityAuthenticationForBearer(OpenIddictValidationAspNetCoreDefaults.AuthenticationScheme); - context.Services.Configure(options => - { - options.IsDynamicClaimsEnabled = true; - }); - } - - private void ConfigureBundles() - { - Configure(options => - { - options.StyleBundles.Configure( - LeptonXLiteThemeBundles.Styles.Global, - bundle => - { - bundle.AddFiles("/global-styles.css"); - } - ); - }); - } - - private void ConfigureUrls(IConfiguration configuration) - { - Configure(options => - { - options.Applications["MVC"].RootUrl = configuration["App:SelfUrl"]; - options.RedirectAllowedUrls.AddRange(configuration["App:RedirectAllowedUrls"]?.Split(',') ?? Array.Empty()); - - options.Applications["Angular"].RootUrl = configuration["App:ClientUrl"]; - options.Applications["Angular"].Urls[AccountUrlNames.PasswordReset] = "account/reset-password"; - }); + Configure(options => { options.KeyPrefix = "Admin:"; }); } private void ConfigureVirtualFileSystem(ServiceConfigurationContext context) @@ -139,6 +100,22 @@ public class AdminHttpApiHostModule : AbpModule }); } + private void ConfigureAuthentication(ServiceConfigurationContext context, IConfiguration configuration) + { + context.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) + .AddAbpJwtBearer(options => + { + options.Authority = configuration["AuthServer:Authority"]; + options.RequireHttpsMetadata = configuration.GetValue("AuthServer:RequireHttpsMetadata"); + options.Audience = "Admin"; + }); + + context.Services.Configure(options => + { + options.IsDynamicClaimsEnabled = true; + }); + } + private static void ConfigureSwaggerServices(ServiceConfigurationContext context, IConfiguration configuration) { context.Services.AddAbpSwaggerGenWithOAuth( @@ -155,6 +132,30 @@ public class AdminHttpApiHostModule : AbpModule }); } + private void ConfigureDataProtection( + ServiceConfigurationContext context, + IConfiguration configuration, + IWebHostEnvironment hostingEnvironment) + { + var dataProtectionBuilder = context.Services.AddDataProtection().SetApplicationName("Admin"); + if (!hostingEnvironment.IsDevelopment()) + { + var redis = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]!); + dataProtectionBuilder.PersistKeysToStackExchangeRedis(redis, "Admin-Protection-Keys"); + } + } + + private void ConfigureDistributedLocking( + ServiceConfigurationContext context, + IConfiguration configuration) + { + context.Services.AddSingleton(sp => + { + var connection = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]!); + return new RedisDistributedSynchronizationProvider(connection.GetDatabase()); + }); + } + private void ConfigureCors(ServiceConfigurationContext context, IConfiguration configuration) { context.Services.AddCors(options => @@ -186,35 +187,29 @@ public class AdminHttpApiHostModule : AbpModule } app.UseAbpRequestLocalization(); - - if (!env.IsDevelopment()) - { - app.UseErrorPage(); - } - app.UseCorrelationId(); app.UseStaticFiles(); app.UseRouting(); app.UseCors(); app.UseAuthentication(); - app.UseAbpOpenIddictValidation(); if (MultiTenancyConsts.IsEnabled) { app.UseMultiTenancy(); } + app.UseUnitOfWork(); app.UseDynamicClaims(); app.UseAuthorization(); app.UseSwagger(); - app.UseAbpSwaggerUI(c => + app.UseAbpSwaggerUI(options => { - c.SwaggerEndpoint("/swagger/v1/swagger.json", "Admin API"); + options.SwaggerEndpoint("/swagger/v1/swagger.json", "Admin API"); - var configuration = context.ServiceProvider.GetRequiredService(); - c.OAuthClientId(configuration["AuthServer:SwaggerClientId"]); - c.OAuthScopes("Admin"); + var configuration = context.GetConfiguration(); + options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]); + options.OAuthScopes("Admin"); }); app.UseAuditing(); diff --git a/microservices/KonSoft.Admin.HttpApi.Host/KonSoft.Admin.HttpApi.Host.csproj b/microservices/KonSoft.Admin.HttpApi.Host/KonSoft.Admin.HttpApi.Host.csproj index 98cca8f..47c0620 100644 --- a/microservices/KonSoft.Admin.HttpApi.Host/KonSoft.Admin.HttpApi.Host.csproj +++ b/microservices/KonSoft.Admin.HttpApi.Host/KonSoft.Admin.HttpApi.Host.csproj @@ -1,7 +1,5 @@ - - net8.0 enable @@ -13,21 +11,16 @@ - + + + + + + + - - - - - - - - - - - diff --git a/microservices/KonSoft.Admin.HttpApi.Host/Properties/launchSettings.json b/microservices/KonSoft.Admin.HttpApi.Host/Properties/launchSettings.json index 1116d11..6beb1ca 100644 --- a/microservices/KonSoft.Admin.HttpApi.Host/Properties/launchSettings.json +++ b/microservices/KonSoft.Admin.HttpApi.Host/Properties/launchSettings.json @@ -1,10 +1,10 @@ { "iisSettings": { - "windowsAuthentication": false, + "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { - "applicationUrl": "https://localhost:44350", - "sslPort": 44350 + "applicationUrl": "https://localhost:44354", + "sslPort": 44354 } }, "profiles": { @@ -18,7 +18,7 @@ "KonSoft.Admin.HttpApi.Host": { "commandName": "Project", "launchBrowser": true, - "applicationUrl": "https://localhost:44350", + "applicationUrl": "https://localhost:44354", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } diff --git a/microservices/KonSoft.Admin.HttpApi.Host/abp.resourcemapping.js b/microservices/KonSoft.Admin.HttpApi.Host/abp.resourcemapping.js deleted file mode 100644 index 4a2ad45..0000000 --- a/microservices/KonSoft.Admin.HttpApi.Host/abp.resourcemapping.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - aliases: { - - }, - clean: [ - - ], - mappings: { - - } -}; diff --git a/microservices/KonSoft.Admin.HttpApi.Host/appsettings.json b/microservices/KonSoft.Admin.HttpApi.Host/appsettings.json index 8096818..969d4fa 100644 --- a/microservices/KonSoft.Admin.HttpApi.Host/appsettings.json +++ b/microservices/KonSoft.Admin.HttpApi.Host/appsettings.json @@ -1,18 +1,19 @@ { "App": { - "SelfUrl": "https://localhost:44350", - "CorsOrigins": "https://*.Admin.com", - "RedirectAllowedUrls": "" + "CorsOrigins": "https://*.Admin.com,https://localhost:44357" }, "ConnectionStrings": { "Default": "Host=localhost;Port=5432;Database=Admin;User ID=root;Password=myPassword;" }, + "Redis": { + "Configuration": "127.0.0.1" + }, "AuthServer": { - "Authority": "https://localhost:44350", - "RequireHttpsMetadata": false, + "Authority": "https://localhost:44397", + "RequireHttpsMetadata": true, "SwaggerClientId": "Admin_Swagger" }, "StringEncryption": { - "DefaultPassPhrase": "YXM86JJ7EFsh21K9" + "DefaultPassPhrase": "g3NdNOyDR9oYj0gK" } } diff --git a/microservices/KonSoft.Admin.HttpApi.Host/package.json b/microservices/KonSoft.Admin.HttpApi.Host/package.json deleted file mode 100644 index b8d616a..0000000 --- a/microservices/KonSoft.Admin.HttpApi.Host/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "version": "1.0.0", - "name": "my-app", - "private": true, - "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~3.3.4" - } -} diff --git a/microservices/KonSoft.Admin.HttpApi.Host/wwwroot/global-styles.css b/microservices/KonSoft.Admin.HttpApi.Host/wwwroot/global-styles.css deleted file mode 100644 index 74db4bd..0000000 --- a/microservices/KonSoft.Admin.HttpApi.Host/wwwroot/global-styles.css +++ /dev/null @@ -1,6 +0,0 @@ -/* Your Global Styles */ - -:root .lpx-brand-logo { - --lpx-logo: url('/images/logo/leptonx/logo-light.png'); - --lpx-logo-icon: url('/images/logo/leptonx/logo-light-thumbnail.png'); -} \ No newline at end of file diff --git a/microservices/KonSoft.Admin.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png b/microservices/KonSoft.Admin.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png deleted file mode 100644 index 9734a07..0000000 Binary files a/microservices/KonSoft.Admin.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png and /dev/null differ diff --git a/microservices/KonSoft.Admin.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark.png b/microservices/KonSoft.Admin.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark.png deleted file mode 100644 index a3bbe82..0000000 Binary files a/microservices/KonSoft.Admin.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark.png and /dev/null differ diff --git a/microservices/KonSoft.Admin.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light-thumbnail.png b/microservices/KonSoft.Admin.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light-thumbnail.png deleted file mode 100644 index ca39184..0000000 Binary files a/microservices/KonSoft.Admin.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light-thumbnail.png and /dev/null differ diff --git a/microservices/KonSoft.Admin.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light.png b/microservices/KonSoft.Admin.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light.png deleted file mode 100644 index 761fb44..0000000 Binary files a/microservices/KonSoft.Admin.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light.png and /dev/null differ diff --git a/microservices/KonSoft.Admin.HttpApi.Host/yarn.lock b/microservices/KonSoft.Admin.HttpApi.Host/yarn.lock deleted file mode 100644 index 1dfe9d4..0000000 --- a/microservices/KonSoft.Admin.HttpApi.Host/yarn.lock +++ /dev/null @@ -1,322 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@abp/aspnetcore.mvc.ui.theme.leptonxlite@~3.3.4": - version "3.3.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.leptonxlite/-/aspnetcore.mvc.ui.theme.leptonxlite-3.3.4.tgz#fb6879075aec2f06e0302e941dcefbe519b18e1d" - integrity sha512-5rrwwZ9n2/yePo+GnHuUsP0TelCwRwCQjYyQFdF/Nd4B3UNQVO/AXQc0Ep3+vHhUxSL386j6ObZYu14VdjPg2g== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~8.3.4" - -"@abp/aspnetcore.mvc.ui.theme.shared@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.3.4.tgz#169ae0893302ced9256f94174d9bb870e49f446c" - integrity sha512-bZy8iAIN0QfNJXCRg+RR1NxqTzNDSXRPBx+ksFtDxY6FzMJvwwSOmHF0wqsMLj1xpwXjijWaVWQ2RM/7scDWmw== - dependencies: - "@abp/aspnetcore.mvc.ui" "~8.3.4" - "@abp/bootstrap" "~8.3.4" - "@abp/bootstrap-datepicker" "~8.3.4" - "@abp/bootstrap-daterangepicker" "~8.3.4" - "@abp/datatables.net-bs5" "~8.3.4" - "@abp/font-awesome" "~8.3.4" - "@abp/jquery-form" "~8.3.4" - "@abp/jquery-validation-unobtrusive" "~8.3.4" - "@abp/lodash" "~8.3.4" - "@abp/luxon" "~8.3.4" - "@abp/malihu-custom-scrollbar-plugin" "~8.3.4" - "@abp/moment" "~8.3.4" - "@abp/select2" "~8.3.4" - "@abp/sweetalert2" "~8.3.4" - "@abp/timeago" "~8.3.4" - "@abp/toastr" "~8.3.4" - -"@abp/aspnetcore.mvc.ui@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.3.4.tgz#041d83f34541081d9e0f37c36c302cbe871a4897" - integrity sha512-sjGE/EoNM98mXNYPze2C7GPP+TNpv4TLIt416ojaqtxru60oddr4VWrOGuhaqUCO2jJes3OwFZi5PY3hVOBbYw== - dependencies: - ansi-colors "^4.1.3" - -"@abp/bootstrap-datepicker@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.3.4.tgz#072f4a3cea93e3a1bb1de13b355201648929f84c" - integrity sha512-txilFovf9zT1w+fTkyI3eZdiISjaxc/+wRRFKwrkVH+0xEgaiR41svKm6sjWBORxgTddlGas87SZJvYY3IKBjA== - dependencies: - bootstrap-datepicker "^1.10.0" - -"@abp/bootstrap-daterangepicker@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.3.4.tgz#b0f65611ca4fafdf2b551f9f139868eae6e22e9a" - integrity sha512-bYkYjk1zTdWcM4DGwnDoU+4pDvs1S8hkNWhrnpP0o8oRoJiesO8Aeda+82rtydtWnxHg+HkDC0iYFFqaNuHvbg== - dependencies: - bootstrap-daterangepicker "^3.1.0" - -"@abp/bootstrap@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-8.3.4.tgz#744bb4d30d4c269ce8e6a7d16c6777dd3cd9fe1e" - integrity sha512-GXCLFFmPNaR3DjQYSaqACL5sH/M9FPia2OKAAMOd796+NmcoFpT+S7l4C6ihqeQc4bjFm0voB8QklueGWx6r8A== - dependencies: - "@abp/core" "~8.3.4" - bootstrap "^5.3.3" - -"@abp/core@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-8.3.4.tgz#12635bc2ac325a426334150502a32fefa4ec3767" - integrity sha512-wImAdZABahaQe6mmZAZlPfYZ3PEhL7eEq+18c1WFO0xeD98oxqi8H1X7+3ABjyFscIh9LIxJVaD3RJ9OHCc5bw== - dependencies: - "@abp/utils" "~8.3.4" - -"@abp/datatables.net-bs5@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-8.3.4.tgz#efc28fa57144c7b495a4aeea38df962807ca20df" - integrity sha512-u85aXjqYIJJfOsMq6oNqfxNgxQqV6vOEnJ32vrH294ceW8RzUxHA+G/ZkGRLLRGWVuxuARD/UXzEotH5sd1Ssw== - dependencies: - "@abp/datatables.net" "~8.3.4" - datatables.net-bs5 "^2.0.8" - -"@abp/datatables.net@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-8.3.4.tgz#23a3155a2d84247a29a6b80ff98d1d5f6422a245" - integrity sha512-cwE9TFoRoszmI3zNVaYJtqjSPtwkL9dhCfE02zsmJo8GBdFAlbzAmQenfQiWb3BZhvUvKKN20e+og9S8qoCbXA== - dependencies: - "@abp/jquery" "~8.3.4" - datatables.net "^2.0.8" - -"@abp/font-awesome@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-8.3.4.tgz#f79f7b439f9ffadfc03be3a415a977eab21fa5a1" - integrity sha512-5+D5XKnrZROtg9PJ2zex52gbphXGK/7ZIUsszEg8rOIc/niXggaZLmuDcYJwOEzIkwpGO9OvYy7lc0tHv/Pr4g== - dependencies: - "@abp/core" "~8.3.4" - "@fortawesome/fontawesome-free" "^6.5.2" - -"@abp/jquery-form@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-8.3.4.tgz#c1705bd5213ab5c2b895dd5bd9f3e54f3d94cf54" - integrity sha512-vFjWbTbHQyIsk5SS7Cc+5YrJ15ORjJU+YWVPchI0qoug26for06a7lDGpazWMadxx3iPL7cKLqneOqaVtHkgJA== - dependencies: - "@abp/jquery" "~8.3.4" - jquery-form "^4.3.0" - -"@abp/jquery-validation-unobtrusive@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.3.4.tgz#e89eafed89787bcb5221c0ba89832b79a7396d19" - integrity sha512-+kJA5vfvxkrj/iW4Q84BrMTrAGOhC2Hb5czAKr6c60Prmayk5hcakZdXc3wDBHREBLVAq1Muk4AtEJZmaKIeaA== - dependencies: - "@abp/jquery-validation" "~8.3.4" - jquery-validation-unobtrusive "^4.0.0" - -"@abp/jquery-validation@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-8.3.4.tgz#a445592d80edc6b6b1334ece2007b3084c329cc6" - integrity sha512-XvL0H3IRuSHwpPKUyJmW6PH8KwPDt9NllMqPGreRANF8l5IU10hOLEeP2BnGFfGMqFwqUMh+eJRar5yZcegkmg== - dependencies: - "@abp/jquery" "~8.3.4" - jquery-validation "^1.20.1" - -"@abp/jquery@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-8.3.4.tgz#2dc3f5f124ac65b5f45d29749ebb5d6cf17db23b" - integrity sha512-Zx2rErtgc0gxjX5PURjp6sjDQfzxBChUE9YWN37Xh+Ysm3tTGcXlF0Emwl94MZ640NfmYRpG4AWdik6kbaU5Wg== - dependencies: - "@abp/core" "~8.3.4" - jquery "~3.7.1" - -"@abp/lodash@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-8.3.4.tgz#b0ef4e82a788ae7389a31793c3bad6702efdbe33" - integrity sha512-yGd/oLds0jpTgTpmkFYOEomS4K15DGcffMP3N1t0qKLgTaBYTQzeugHVgQ0baufC+OvLjumDNuu3eHjBJewwKg== - dependencies: - "@abp/core" "~8.3.4" - lodash "^4.17.21" - -"@abp/luxon@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-8.3.4.tgz#f152b2d7b62bd27f3d27aa3a1794b868bf06a1a4" - integrity sha512-l1nvfqdhHBgHBPK+bLClAEprRK3K5zx5Jar93o5++6r3zXUhYi5OUHUxl+LuGn8MXLvHJVGL41irHl6sYjFSww== - dependencies: - "@abp/core" "~8.3.4" - luxon "^3.4.4" - -"@abp/malihu-custom-scrollbar-plugin@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.3.4.tgz#0868214884e3e0b94dade0e8e78c01741d71106a" - integrity sha512-uKRk8+HCvXtpmvof5W09908AkivlweErTE62b0JhkrJVIlYt/0LC1MmB/qHHBfPj6OK05HYGBi3inr7fNAPXEQ== - dependencies: - "@abp/core" "~8.3.4" - malihu-custom-scrollbar-plugin "^3.1.5" - -"@abp/moment@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-8.3.4.tgz#a5809520dc50b50402ade4ac630c6ec985fd4518" - integrity sha512-61J8drO3OqkaaAn66xBg6jCws1iV6zutjYQvpEXLdGBA9Kvw2J87GSomxJ4mcIo/5+jzrVro6JYaCfKWY8b1dw== - dependencies: - moment "^2.30.1" - -"@abp/select2@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-8.3.4.tgz#1731b465760e0515d0d4280f38189c9366fecda5" - integrity sha512-sPtYstFVvMTT8fdXRIfHeODIgSN2ufWm6zCMGH7C0cST3FF59M4m/MtdKGBlA/itzHPxeDv7A6dy4Aw4l7Gk4Q== - dependencies: - "@abp/core" "~8.3.4" - select2 "^4.0.13" - -"@abp/sweetalert2@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-8.3.4.tgz#c0768ca4fe0a9926b8f33d8bf5251d3e4202cd2f" - integrity sha512-6HqxISh+FodwUsCrR3nX49RQDhzHtDlz8ul42TecUMsGa96qX2lvwnoWkXAHLG3mdLRy62Z0dhJ1JKMfrPeJeg== - dependencies: - "@abp/core" "~8.3.4" - sweetalert2 "^11.3.6" - -"@abp/timeago@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-8.3.4.tgz#26ca0bec90d861f9f4af714061b370950551c839" - integrity sha512-cDARYysPn5Rr/9rqVn7S4sBWbeEpaIXr8NKwGZqNOzMF2g283SkLKrkQJBWIC6Pn2lVeIB7AV1+GtVn81V/nnw== - dependencies: - "@abp/jquery" "~8.3.4" - timeago "^1.6.7" - -"@abp/toastr@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-8.3.4.tgz#cb433bc4ed2e302f2704ad0456c99d6f12fd0529" - integrity sha512-29C9GgwlumrHgt1iZ4lArDnlXfSvmCHDehxkbDutrkC1m257UxQaOID11us2UeCs3JobueQcLlQKD/LqnDB4xA== - dependencies: - "@abp/jquery" "~8.3.4" - toastr "^2.1.4" - -"@abp/utils@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-8.3.4.tgz#4b06575a110e85e2a360294f678b782818e1ab10" - integrity sha512-7Lq3wdk/07vKgQnR56DTmdSuYRABMe0XTGPJRS5F91DVbggeJyDUaqifVvOeurF/3CZJOS7fJpoIHQXeUveFtQ== - dependencies: - just-compare "^2.3.0" - -"@fortawesome/fontawesome-free@^6.5.2": - version "6.7.2" - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-6.7.2.tgz#8249de9b7e22fcb3ceb5e66090c30a1d5492b81a" - integrity sha512-JUOtgFW6k9u4Y+xeIaEiLr3+cjoUPiAuLXoyKOJSia6Duzb7pq+A76P9ZdPDoAoxHdHzq6gE9/jKBGXlZT8FbA== - -ansi-colors@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - -bootstrap-datepicker@^1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/bootstrap-datepicker/-/bootstrap-datepicker-1.10.0.tgz#61612bbe8bf0a69a5bce32bbcdda93ebb6ccf24a" - integrity sha512-lWxtSYddAQOpbAO8UhYhHLcK6425eWoSjb5JDvZU3ePHEPF6A3eUr51WKaFy4PccU19JRxUG6wEU3KdhtKfvpg== - dependencies: - jquery ">=3.4.0 <4.0.0" - -bootstrap-daterangepicker@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/bootstrap-daterangepicker/-/bootstrap-daterangepicker-3.1.0.tgz#632e6fb2de4b6360c5c0a9d5f6adb9aace051fe8" - integrity sha512-oaQZx6ZBDo/dZNyXGVi2rx5GmFXThyQLAxdtIqjtLlYVaQUfQALl5JZMJJZzyDIX7blfy4ppZPAJ10g8Ma4d/g== - dependencies: - jquery ">=1.10" - moment "^2.9.0" - -bootstrap@^5.3.3: - version "5.3.8" - resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-5.3.8.tgz#6401a10057a22752d21f4e19055508980656aeed" - integrity sha512-HP1SZDqaLDPwsNiqRqi5NcP0SSXciX2s9E+RyqJIIqGo+vJeN5AJVM98CXmW/Wux0nQ5L7jeWUdplCEf0Ee+tg== - -datatables.net-bs5@^2.0.8: - version "2.3.3" - resolved "https://registry.yarnpkg.com/datatables.net-bs5/-/datatables.net-bs5-2.3.3.tgz#8bf3aec484a69e373f6007038eaac0cc0ef4ee15" - integrity sha512-IPtC57k3KyZaLzIYTHies23Cm2zqaKfD6lkxy/aOAUUAtsg35l53VqNY9y84AEySYG3YLghMHVBvl2ckUhvm0A== - dependencies: - datatables.net "2.3.3" - jquery ">=1.7" - -datatables.net@2.3.3, datatables.net@^2.0.8: - version "2.3.3" - resolved "https://registry.yarnpkg.com/datatables.net/-/datatables.net-2.3.3.tgz#fe4f96bdbc4cf47c8d11162a7af525ca6a3683d2" - integrity sha512-SWL3za6nheY6gdoiLgCc++tYmxbwrmv2bjrEiII9rXBWXXSbOZct6pjR3FueMVRM5jmt7pQcXiGovfuFDnutQg== - dependencies: - jquery ">=1.7" - -jquery-form@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/jquery-form/-/jquery-form-4.3.0.tgz#7d3961c314a1f2d15298f4af1d3943f54f4149c6" - integrity sha512-q3uaVCEWdLOYUCI6dpNdwf/7cJFOsUgdpq6r0taxtGQ5NJSkOzofyWm4jpOuJ5YxdmL1FI5QR+q+HB63HHLGnQ== - dependencies: - jquery ">=1.7.2" - -jquery-mousewheel@>=3.0.6: - version "3.2.2" - resolved "https://registry.yarnpkg.com/jquery-mousewheel/-/jquery-mousewheel-3.2.2.tgz#48c833f6260ee0c46d438a999e7d0060ec9eed0b" - integrity sha512-JP71xTAg08ZY3hcs9ZbYUZ5i+dkSsz4yRl/zpWkAmtzc+kMs5EfPkpkINSidiLYMaR0MTo3DfFGF9WIezMsFQQ== - dependencies: - jquery ">=1.2.6" - -jquery-validation-unobtrusive@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.0.0.tgz#dfcf25a558496a2c883db6021d10f5398d15f99d" - integrity sha512-1ervYFFv6LX/rp7ktuLnMakHNG0piNRDyROI8Ir3hL1vPIwylAehB1AY3BPrYJnzW3WmwWryZq+Bz4sazZK9iQ== - dependencies: - jquery "^3.6.0" - jquery-validation ">=1.19" - -jquery-validation@>=1.19, jquery-validation@^1.20.1: - version "1.21.0" - resolved "https://registry.yarnpkg.com/jquery-validation/-/jquery-validation-1.21.0.tgz#78fc05ab76020912a246af3661b3f54a438bca93" - integrity sha512-xNot0rlUIgu7duMcQ5qb6MGkGL/Z1PQaRJQoZAURW9+a/2PGOUxY36o/WyNeP2T9R6jvWB8Z9lUVvvQWI/Zs5w== - -jquery@>=1.10, jquery@>=1.12.0, jquery@>=1.2.6, "jquery@>=1.5.0 <4.0", jquery@>=1.7, jquery@>=1.7.2, "jquery@>=3.4.0 <4.0.0", jquery@^3.6.0, jquery@~3.7.1: - version "3.7.1" - resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.7.1.tgz#083ef98927c9a6a74d05a6af02806566d16274de" - integrity sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg== - -just-compare@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/just-compare/-/just-compare-2.3.0.tgz#a2adcc1d1940536263275f5a1ef1298bcacfeda7" - integrity sha512-6shoR7HDT+fzfL3gBahx1jZG3hWLrhPAf+l7nCwahDdT9XDtosB9kIF0ZrzUp5QY8dJWfQVr5rnsPqsbvflDzg== - -lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -luxon@^3.4.4: - version "3.7.2" - resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.7.2.tgz#d697e48f478553cca187a0f8436aff468e3ba0ba" - integrity sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew== - -malihu-custom-scrollbar-plugin@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.1.5.tgz#310cecc5e59415a1c29e9dfb5d2b6e01d66a29ef" - integrity sha512-lwW3LgI+CNDMPnP4ED2la6oYxWMkCXlnhex+s2wuOLhFDFGnGmQuTQVdRK9bvDLpxs10sGlfErVufJy9ztfgJQ== - dependencies: - jquery-mousewheel ">=3.0.6" - -moment@^2.30.1, moment@^2.9.0: - version "2.30.1" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae" - integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== - -select2@^4.0.13: - version "4.0.13" - resolved "https://registry.yarnpkg.com/select2/-/select2-4.0.13.tgz#0dbe377df3f96167c4c1626033e924372d8ef44d" - integrity sha512-1JeB87s6oN/TDxQQYCvS5EFoQyvV6eYMZZ0AeA4tdFDYWN3BAGZ8npr17UBFddU0lgAt3H0yjX3X6/ekOj1yjw== - -sweetalert2@^11.3.6: - version "11.23.0" - resolved "https://registry.yarnpkg.com/sweetalert2/-/sweetalert2-11.23.0.tgz#ba8a051b1e94215c762af08692171b7b4611c4c1" - integrity sha512-cKzzbC3C1sIs7o9XAMw4E8F9kBtGXsBDUsd2JZ8JM/dqa+nzWwSGM+9LLYILZWzWHzX9W+HJNHyBlbHPVS/krw== - -timeago@^1.6.7: - version "1.6.7" - resolved "https://registry.yarnpkg.com/timeago/-/timeago-1.6.7.tgz#afd467c29a911e697fc22a81888c7c3022783cb5" - integrity sha512-FikcjN98+ij0siKH4VO4dZ358PR3oDDq4Vdl1+sN9gWz1/+JXGr3uZbUShYH/hL7bMhcTpPbplJU5Tej4b4jbQ== - dependencies: - jquery ">=1.5.0 <4.0" - -toastr@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/toastr/-/toastr-2.1.4.tgz#8b43be64fb9d0c414871446f2db8e8ca4e95f181" - integrity sha512-LIy77F5n+sz4tefMmFOntcJ6HL0Fv3k1TDnNmFZ0bU/GcvIIfy6eG2v7zQmMiYgaalAiUv75ttFrPn5s0gyqlA== - dependencies: - jquery ">=1.12.0" diff --git a/microservices/KonSoft.Dispatch.HttpApi.Host/DispatchBrandingProvider.cs b/microservices/KonSoft.Dispatch.HttpApi.Host/DispatchBrandingProvider.cs deleted file mode 100644 index 8337c66..0000000 --- a/microservices/KonSoft.Dispatch.HttpApi.Host/DispatchBrandingProvider.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Microsoft.Extensions.Localization; -using KonSoft.Dispatch.Localization; -using Volo.Abp.DependencyInjection; -using Volo.Abp.Ui.Branding; - -namespace KonSoft.Dispatch; - -[Dependency(ReplaceServices = true)] -public class DispatchBrandingProvider : DefaultBrandingProvider -{ - private IStringLocalizer _localizer; - - public DispatchBrandingProvider(IStringLocalizer localizer) - { - _localizer = localizer; - } - - public override string AppName => _localizer["AppName"]; -} diff --git a/microservices/KonSoft.Dispatch.HttpApi.Host/DispatchHttpApiHostModule.cs b/microservices/KonSoft.Dispatch.HttpApi.Host/DispatchHttpApiHostModule.cs index dbf0e2f..40f87cd 100644 --- a/microservices/KonSoft.Dispatch.HttpApi.Host/DispatchHttpApiHostModule.cs +++ b/microservices/KonSoft.Dispatch.HttpApi.Host/DispatchHttpApiHostModule.cs @@ -2,32 +2,34 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; +using Medallion.Threading; +using Medallion.Threading.Redis; +using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Cors; -using Microsoft.AspNetCore.Extensions.DependencyInjection; +using Microsoft.AspNetCore.DataProtection; +using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using KonSoft.Dispatch.EntityFrameworkCore; using KonSoft.Dispatch.MultiTenancy; -using Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite; -using Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite.Bundling; +using StackExchange.Redis; using Microsoft.OpenApi.Models; -using OpenIddict.Validation.AspNetCore; using Volo.Abp; -using Volo.Abp.Account; -using Volo.Abp.Account.Web; -using Volo.Abp.AspNetCore.MultiTenancy; +using Volo.Abp.AspNetCore.Authentication.JwtBearer; using Volo.Abp.AspNetCore.Mvc; -using Volo.Abp.AspNetCore.Mvc.UI.Bundling; -using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared; +using Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy; using Volo.Abp.AspNetCore.Serilog; using Volo.Abp.Autofac; +using Volo.Abp.Caching; +using Volo.Abp.Caching.StackExchangeRedis; +using Volo.Abp.DistributedLocking; +using Volo.Abp.Identity; using Volo.Abp.Localization; using Volo.Abp.Modularity; using Volo.Abp.Security.Claims; using Volo.Abp.Swashbuckle; -using Volo.Abp.UI.Navigation.Urls; using Volo.Abp.VirtualFileSystem; namespace KonSoft.Dispatch; @@ -35,76 +37,35 @@ namespace KonSoft.Dispatch; [DependsOn( typeof(DispatchHttpApiModule), typeof(AbpAutofacModule), - typeof(AbpAspNetCoreMultiTenancyModule), + typeof(AbpCachingStackExchangeRedisModule), + typeof(AbpDistributedLockingModule), + typeof(AbpAspNetCoreMvcUiMultiTenancyModule), + typeof(AbpAspNetCoreAuthenticationJwtBearerModule), typeof(DispatchApplicationModule), typeof(DispatchEntityFrameworkCoreModule), - typeof(AbpAspNetCoreMvcUiLeptonXLiteThemeModule), - typeof(AbpAccountWebOpenIddictModule), typeof(AbpAspNetCoreSerilogModule), typeof(AbpSwashbuckleModule) )] public class DispatchHttpApiHostModule : AbpModule { - public override void PreConfigureServices(ServiceConfigurationContext context) - { - PreConfigure(builder => - { - builder.AddValidation(options => - { - options.AddAudiences("Dispatch"); - options.UseLocalServer(); - options.UseAspNetCore(); - }); - }); - } - public override void ConfigureServices(ServiceConfigurationContext context) { var configuration = context.Services.GetConfiguration(); var hostingEnvironment = context.Services.GetHostingEnvironment(); - ConfigureAuthentication(context); - ConfigureBundles(); - ConfigureUrls(configuration); ConfigureConventionalControllers(); + ConfigureAuthentication(context, configuration); + ConfigureCache(configuration); ConfigureVirtualFileSystem(context); + ConfigureDataProtection(context, configuration, hostingEnvironment); + ConfigureDistributedLocking(context, configuration); ConfigureCors(context, configuration); ConfigureSwaggerServices(context, configuration); } - private void ConfigureAuthentication(ServiceConfigurationContext context) + private void ConfigureCache(IConfiguration configuration) { - context.Services.ForwardIdentityAuthenticationForBearer(OpenIddictValidationAspNetCoreDefaults.AuthenticationScheme); - context.Services.Configure(options => - { - options.IsDynamicClaimsEnabled = true; - }); - } - - private void ConfigureBundles() - { - Configure(options => - { - options.StyleBundles.Configure( - LeptonXLiteThemeBundles.Styles.Global, - bundle => - { - bundle.AddFiles("/global-styles.css"); - } - ); - }); - } - - private void ConfigureUrls(IConfiguration configuration) - { - Configure(options => - { - options.Applications["MVC"].RootUrl = configuration["App:SelfUrl"]; - options.RedirectAllowedUrls.AddRange(configuration["App:RedirectAllowedUrls"]?.Split(',') ?? Array.Empty()); - - options.Applications["Angular"].RootUrl = configuration["App:ClientUrl"]; - options.Applications["Angular"].Urls[AccountUrlNames.PasswordReset] = "account/reset-password"; - }); + Configure(options => { options.KeyPrefix = "Dispatch:"; }); } private void ConfigureVirtualFileSystem(ServiceConfigurationContext context) @@ -139,6 +100,22 @@ public class DispatchHttpApiHostModule : AbpModule }); } + private void ConfigureAuthentication(ServiceConfigurationContext context, IConfiguration configuration) + { + context.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) + .AddAbpJwtBearer(options => + { + options.Authority = configuration["AuthServer:Authority"]; + options.RequireHttpsMetadata = configuration.GetValue("AuthServer:RequireHttpsMetadata"); + options.Audience = "Dispatch"; + }); + + context.Services.Configure(options => + { + options.IsDynamicClaimsEnabled = true; + }); + } + private static void ConfigureSwaggerServices(ServiceConfigurationContext context, IConfiguration configuration) { context.Services.AddAbpSwaggerGenWithOAuth( @@ -155,6 +132,30 @@ public class DispatchHttpApiHostModule : AbpModule }); } + private void ConfigureDataProtection( + ServiceConfigurationContext context, + IConfiguration configuration, + IWebHostEnvironment hostingEnvironment) + { + var dataProtectionBuilder = context.Services.AddDataProtection().SetApplicationName("Dispatch"); + if (!hostingEnvironment.IsDevelopment()) + { + var redis = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]!); + dataProtectionBuilder.PersistKeysToStackExchangeRedis(redis, "Dispatch-Protection-Keys"); + } + } + + private void ConfigureDistributedLocking( + ServiceConfigurationContext context, + IConfiguration configuration) + { + context.Services.AddSingleton(sp => + { + var connection = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]!); + return new RedisDistributedSynchronizationProvider(connection.GetDatabase()); + }); + } + private void ConfigureCors(ServiceConfigurationContext context, IConfiguration configuration) { context.Services.AddCors(options => @@ -186,35 +187,29 @@ public class DispatchHttpApiHostModule : AbpModule } app.UseAbpRequestLocalization(); - - if (!env.IsDevelopment()) - { - app.UseErrorPage(); - } - app.UseCorrelationId(); app.UseStaticFiles(); app.UseRouting(); app.UseCors(); app.UseAuthentication(); - app.UseAbpOpenIddictValidation(); if (MultiTenancyConsts.IsEnabled) { app.UseMultiTenancy(); } + app.UseUnitOfWork(); app.UseDynamicClaims(); app.UseAuthorization(); app.UseSwagger(); - app.UseAbpSwaggerUI(c => + app.UseAbpSwaggerUI(options => { - c.SwaggerEndpoint("/swagger/v1/swagger.json", "Dispatch API"); + options.SwaggerEndpoint("/swagger/v1/swagger.json", "Dispatch API"); - var configuration = context.ServiceProvider.GetRequiredService(); - c.OAuthClientId(configuration["AuthServer:SwaggerClientId"]); - c.OAuthScopes("Dispatch"); + var configuration = context.GetConfiguration(); + options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]); + options.OAuthScopes("Dispatch"); }); app.UseAuditing(); diff --git a/microservices/KonSoft.Dispatch.HttpApi.Host/KonSoft.Dispatch.HttpApi.Host.csproj b/microservices/KonSoft.Dispatch.HttpApi.Host/KonSoft.Dispatch.HttpApi.Host.csproj index 4626828..7789c2d 100644 --- a/microservices/KonSoft.Dispatch.HttpApi.Host/KonSoft.Dispatch.HttpApi.Host.csproj +++ b/microservices/KonSoft.Dispatch.HttpApi.Host/KonSoft.Dispatch.HttpApi.Host.csproj @@ -1,7 +1,5 @@ - - net8.0 enable @@ -13,21 +11,16 @@ - + + + + + + + - - - - - - - - - - - diff --git a/microservices/KonSoft.Dispatch.HttpApi.Host/Properties/launchSettings.json b/microservices/KonSoft.Dispatch.HttpApi.Host/Properties/launchSettings.json index 10bade1..8856199 100644 --- a/microservices/KonSoft.Dispatch.HttpApi.Host/Properties/launchSettings.json +++ b/microservices/KonSoft.Dispatch.HttpApi.Host/Properties/launchSettings.json @@ -1,10 +1,10 @@ { "iisSettings": { - "windowsAuthentication": false, + "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { - "applicationUrl": "https://localhost:44321", - "sslPort": 44321 + "applicationUrl": "https://localhost:44331", + "sslPort": 44331 } }, "profiles": { @@ -18,7 +18,7 @@ "KonSoft.Dispatch.HttpApi.Host": { "commandName": "Project", "launchBrowser": true, - "applicationUrl": "https://localhost:44321", + "applicationUrl": "https://localhost:44331", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } diff --git a/microservices/KonSoft.Dispatch.HttpApi.Host/abp.resourcemapping.js b/microservices/KonSoft.Dispatch.HttpApi.Host/abp.resourcemapping.js deleted file mode 100644 index 4a2ad45..0000000 --- a/microservices/KonSoft.Dispatch.HttpApi.Host/abp.resourcemapping.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - aliases: { - - }, - clean: [ - - ], - mappings: { - - } -}; diff --git a/microservices/KonSoft.Dispatch.HttpApi.Host/appsettings.json b/microservices/KonSoft.Dispatch.HttpApi.Host/appsettings.json index 094bd17..5fd25ef 100644 --- a/microservices/KonSoft.Dispatch.HttpApi.Host/appsettings.json +++ b/microservices/KonSoft.Dispatch.HttpApi.Host/appsettings.json @@ -1,18 +1,19 @@ { "App": { - "SelfUrl": "https://localhost:44321", - "CorsOrigins": "https://*.Dispatch.com", - "RedirectAllowedUrls": "" + "CorsOrigins": "https://*.Dispatch.com,https://localhost:44327" }, "ConnectionStrings": { "Default": "Host=localhost;Port=5432;Database=Dispatch;User ID=root;Password=myPassword;" }, + "Redis": { + "Configuration": "127.0.0.1" + }, "AuthServer": { - "Authority": "https://localhost:44321", - "RequireHttpsMetadata": false, + "Authority": "https://localhost:44361", + "RequireHttpsMetadata": true, "SwaggerClientId": "Dispatch_Swagger" }, "StringEncryption": { - "DefaultPassPhrase": "AcY4JMdp6hCRgMYj" + "DefaultPassPhrase": "vYUQJbcqDROWyx2n" } } diff --git a/microservices/KonSoft.Dispatch.HttpApi.Host/package.json b/microservices/KonSoft.Dispatch.HttpApi.Host/package.json deleted file mode 100644 index b8d616a..0000000 --- a/microservices/KonSoft.Dispatch.HttpApi.Host/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "version": "1.0.0", - "name": "my-app", - "private": true, - "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~3.3.4" - } -} diff --git a/microservices/KonSoft.Dispatch.HttpApi.Host/wwwroot/global-styles.css b/microservices/KonSoft.Dispatch.HttpApi.Host/wwwroot/global-styles.css deleted file mode 100644 index 74db4bd..0000000 --- a/microservices/KonSoft.Dispatch.HttpApi.Host/wwwroot/global-styles.css +++ /dev/null @@ -1,6 +0,0 @@ -/* Your Global Styles */ - -:root .lpx-brand-logo { - --lpx-logo: url('/images/logo/leptonx/logo-light.png'); - --lpx-logo-icon: url('/images/logo/leptonx/logo-light-thumbnail.png'); -} \ No newline at end of file diff --git a/microservices/KonSoft.Dispatch.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png b/microservices/KonSoft.Dispatch.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png deleted file mode 100644 index 9734a07..0000000 Binary files a/microservices/KonSoft.Dispatch.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png and /dev/null differ diff --git a/microservices/KonSoft.Dispatch.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark.png b/microservices/KonSoft.Dispatch.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark.png deleted file mode 100644 index a3bbe82..0000000 Binary files a/microservices/KonSoft.Dispatch.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark.png and /dev/null differ diff --git a/microservices/KonSoft.Dispatch.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light-thumbnail.png b/microservices/KonSoft.Dispatch.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light-thumbnail.png deleted file mode 100644 index ca39184..0000000 Binary files a/microservices/KonSoft.Dispatch.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light-thumbnail.png and /dev/null differ diff --git a/microservices/KonSoft.Dispatch.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light.png b/microservices/KonSoft.Dispatch.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light.png deleted file mode 100644 index 761fb44..0000000 Binary files a/microservices/KonSoft.Dispatch.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light.png and /dev/null differ diff --git a/microservices/KonSoft.Dispatch.HttpApi.Host/yarn.lock b/microservices/KonSoft.Dispatch.HttpApi.Host/yarn.lock deleted file mode 100644 index 1dfe9d4..0000000 --- a/microservices/KonSoft.Dispatch.HttpApi.Host/yarn.lock +++ /dev/null @@ -1,322 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@abp/aspnetcore.mvc.ui.theme.leptonxlite@~3.3.4": - version "3.3.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.leptonxlite/-/aspnetcore.mvc.ui.theme.leptonxlite-3.3.4.tgz#fb6879075aec2f06e0302e941dcefbe519b18e1d" - integrity sha512-5rrwwZ9n2/yePo+GnHuUsP0TelCwRwCQjYyQFdF/Nd4B3UNQVO/AXQc0Ep3+vHhUxSL386j6ObZYu14VdjPg2g== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~8.3.4" - -"@abp/aspnetcore.mvc.ui.theme.shared@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.3.4.tgz#169ae0893302ced9256f94174d9bb870e49f446c" - integrity sha512-bZy8iAIN0QfNJXCRg+RR1NxqTzNDSXRPBx+ksFtDxY6FzMJvwwSOmHF0wqsMLj1xpwXjijWaVWQ2RM/7scDWmw== - dependencies: - "@abp/aspnetcore.mvc.ui" "~8.3.4" - "@abp/bootstrap" "~8.3.4" - "@abp/bootstrap-datepicker" "~8.3.4" - "@abp/bootstrap-daterangepicker" "~8.3.4" - "@abp/datatables.net-bs5" "~8.3.4" - "@abp/font-awesome" "~8.3.4" - "@abp/jquery-form" "~8.3.4" - "@abp/jquery-validation-unobtrusive" "~8.3.4" - "@abp/lodash" "~8.3.4" - "@abp/luxon" "~8.3.4" - "@abp/malihu-custom-scrollbar-plugin" "~8.3.4" - "@abp/moment" "~8.3.4" - "@abp/select2" "~8.3.4" - "@abp/sweetalert2" "~8.3.4" - "@abp/timeago" "~8.3.4" - "@abp/toastr" "~8.3.4" - -"@abp/aspnetcore.mvc.ui@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.3.4.tgz#041d83f34541081d9e0f37c36c302cbe871a4897" - integrity sha512-sjGE/EoNM98mXNYPze2C7GPP+TNpv4TLIt416ojaqtxru60oddr4VWrOGuhaqUCO2jJes3OwFZi5PY3hVOBbYw== - dependencies: - ansi-colors "^4.1.3" - -"@abp/bootstrap-datepicker@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.3.4.tgz#072f4a3cea93e3a1bb1de13b355201648929f84c" - integrity sha512-txilFovf9zT1w+fTkyI3eZdiISjaxc/+wRRFKwrkVH+0xEgaiR41svKm6sjWBORxgTddlGas87SZJvYY3IKBjA== - dependencies: - bootstrap-datepicker "^1.10.0" - -"@abp/bootstrap-daterangepicker@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.3.4.tgz#b0f65611ca4fafdf2b551f9f139868eae6e22e9a" - integrity sha512-bYkYjk1zTdWcM4DGwnDoU+4pDvs1S8hkNWhrnpP0o8oRoJiesO8Aeda+82rtydtWnxHg+HkDC0iYFFqaNuHvbg== - dependencies: - bootstrap-daterangepicker "^3.1.0" - -"@abp/bootstrap@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-8.3.4.tgz#744bb4d30d4c269ce8e6a7d16c6777dd3cd9fe1e" - integrity sha512-GXCLFFmPNaR3DjQYSaqACL5sH/M9FPia2OKAAMOd796+NmcoFpT+S7l4C6ihqeQc4bjFm0voB8QklueGWx6r8A== - dependencies: - "@abp/core" "~8.3.4" - bootstrap "^5.3.3" - -"@abp/core@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-8.3.4.tgz#12635bc2ac325a426334150502a32fefa4ec3767" - integrity sha512-wImAdZABahaQe6mmZAZlPfYZ3PEhL7eEq+18c1WFO0xeD98oxqi8H1X7+3ABjyFscIh9LIxJVaD3RJ9OHCc5bw== - dependencies: - "@abp/utils" "~8.3.4" - -"@abp/datatables.net-bs5@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-8.3.4.tgz#efc28fa57144c7b495a4aeea38df962807ca20df" - integrity sha512-u85aXjqYIJJfOsMq6oNqfxNgxQqV6vOEnJ32vrH294ceW8RzUxHA+G/ZkGRLLRGWVuxuARD/UXzEotH5sd1Ssw== - dependencies: - "@abp/datatables.net" "~8.3.4" - datatables.net-bs5 "^2.0.8" - -"@abp/datatables.net@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-8.3.4.tgz#23a3155a2d84247a29a6b80ff98d1d5f6422a245" - integrity sha512-cwE9TFoRoszmI3zNVaYJtqjSPtwkL9dhCfE02zsmJo8GBdFAlbzAmQenfQiWb3BZhvUvKKN20e+og9S8qoCbXA== - dependencies: - "@abp/jquery" "~8.3.4" - datatables.net "^2.0.8" - -"@abp/font-awesome@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-8.3.4.tgz#f79f7b439f9ffadfc03be3a415a977eab21fa5a1" - integrity sha512-5+D5XKnrZROtg9PJ2zex52gbphXGK/7ZIUsszEg8rOIc/niXggaZLmuDcYJwOEzIkwpGO9OvYy7lc0tHv/Pr4g== - dependencies: - "@abp/core" "~8.3.4" - "@fortawesome/fontawesome-free" "^6.5.2" - -"@abp/jquery-form@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-8.3.4.tgz#c1705bd5213ab5c2b895dd5bd9f3e54f3d94cf54" - integrity sha512-vFjWbTbHQyIsk5SS7Cc+5YrJ15ORjJU+YWVPchI0qoug26for06a7lDGpazWMadxx3iPL7cKLqneOqaVtHkgJA== - dependencies: - "@abp/jquery" "~8.3.4" - jquery-form "^4.3.0" - -"@abp/jquery-validation-unobtrusive@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.3.4.tgz#e89eafed89787bcb5221c0ba89832b79a7396d19" - integrity sha512-+kJA5vfvxkrj/iW4Q84BrMTrAGOhC2Hb5czAKr6c60Prmayk5hcakZdXc3wDBHREBLVAq1Muk4AtEJZmaKIeaA== - dependencies: - "@abp/jquery-validation" "~8.3.4" - jquery-validation-unobtrusive "^4.0.0" - -"@abp/jquery-validation@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-8.3.4.tgz#a445592d80edc6b6b1334ece2007b3084c329cc6" - integrity sha512-XvL0H3IRuSHwpPKUyJmW6PH8KwPDt9NllMqPGreRANF8l5IU10hOLEeP2BnGFfGMqFwqUMh+eJRar5yZcegkmg== - dependencies: - "@abp/jquery" "~8.3.4" - jquery-validation "^1.20.1" - -"@abp/jquery@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-8.3.4.tgz#2dc3f5f124ac65b5f45d29749ebb5d6cf17db23b" - integrity sha512-Zx2rErtgc0gxjX5PURjp6sjDQfzxBChUE9YWN37Xh+Ysm3tTGcXlF0Emwl94MZ640NfmYRpG4AWdik6kbaU5Wg== - dependencies: - "@abp/core" "~8.3.4" - jquery "~3.7.1" - -"@abp/lodash@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-8.3.4.tgz#b0ef4e82a788ae7389a31793c3bad6702efdbe33" - integrity sha512-yGd/oLds0jpTgTpmkFYOEomS4K15DGcffMP3N1t0qKLgTaBYTQzeugHVgQ0baufC+OvLjumDNuu3eHjBJewwKg== - dependencies: - "@abp/core" "~8.3.4" - lodash "^4.17.21" - -"@abp/luxon@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-8.3.4.tgz#f152b2d7b62bd27f3d27aa3a1794b868bf06a1a4" - integrity sha512-l1nvfqdhHBgHBPK+bLClAEprRK3K5zx5Jar93o5++6r3zXUhYi5OUHUxl+LuGn8MXLvHJVGL41irHl6sYjFSww== - dependencies: - "@abp/core" "~8.3.4" - luxon "^3.4.4" - -"@abp/malihu-custom-scrollbar-plugin@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.3.4.tgz#0868214884e3e0b94dade0e8e78c01741d71106a" - integrity sha512-uKRk8+HCvXtpmvof5W09908AkivlweErTE62b0JhkrJVIlYt/0LC1MmB/qHHBfPj6OK05HYGBi3inr7fNAPXEQ== - dependencies: - "@abp/core" "~8.3.4" - malihu-custom-scrollbar-plugin "^3.1.5" - -"@abp/moment@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-8.3.4.tgz#a5809520dc50b50402ade4ac630c6ec985fd4518" - integrity sha512-61J8drO3OqkaaAn66xBg6jCws1iV6zutjYQvpEXLdGBA9Kvw2J87GSomxJ4mcIo/5+jzrVro6JYaCfKWY8b1dw== - dependencies: - moment "^2.30.1" - -"@abp/select2@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-8.3.4.tgz#1731b465760e0515d0d4280f38189c9366fecda5" - integrity sha512-sPtYstFVvMTT8fdXRIfHeODIgSN2ufWm6zCMGH7C0cST3FF59M4m/MtdKGBlA/itzHPxeDv7A6dy4Aw4l7Gk4Q== - dependencies: - "@abp/core" "~8.3.4" - select2 "^4.0.13" - -"@abp/sweetalert2@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-8.3.4.tgz#c0768ca4fe0a9926b8f33d8bf5251d3e4202cd2f" - integrity sha512-6HqxISh+FodwUsCrR3nX49RQDhzHtDlz8ul42TecUMsGa96qX2lvwnoWkXAHLG3mdLRy62Z0dhJ1JKMfrPeJeg== - dependencies: - "@abp/core" "~8.3.4" - sweetalert2 "^11.3.6" - -"@abp/timeago@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-8.3.4.tgz#26ca0bec90d861f9f4af714061b370950551c839" - integrity sha512-cDARYysPn5Rr/9rqVn7S4sBWbeEpaIXr8NKwGZqNOzMF2g283SkLKrkQJBWIC6Pn2lVeIB7AV1+GtVn81V/nnw== - dependencies: - "@abp/jquery" "~8.3.4" - timeago "^1.6.7" - -"@abp/toastr@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-8.3.4.tgz#cb433bc4ed2e302f2704ad0456c99d6f12fd0529" - integrity sha512-29C9GgwlumrHgt1iZ4lArDnlXfSvmCHDehxkbDutrkC1m257UxQaOID11us2UeCs3JobueQcLlQKD/LqnDB4xA== - dependencies: - "@abp/jquery" "~8.3.4" - toastr "^2.1.4" - -"@abp/utils@~8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-8.3.4.tgz#4b06575a110e85e2a360294f678b782818e1ab10" - integrity sha512-7Lq3wdk/07vKgQnR56DTmdSuYRABMe0XTGPJRS5F91DVbggeJyDUaqifVvOeurF/3CZJOS7fJpoIHQXeUveFtQ== - dependencies: - just-compare "^2.3.0" - -"@fortawesome/fontawesome-free@^6.5.2": - version "6.7.2" - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-6.7.2.tgz#8249de9b7e22fcb3ceb5e66090c30a1d5492b81a" - integrity sha512-JUOtgFW6k9u4Y+xeIaEiLr3+cjoUPiAuLXoyKOJSia6Duzb7pq+A76P9ZdPDoAoxHdHzq6gE9/jKBGXlZT8FbA== - -ansi-colors@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - -bootstrap-datepicker@^1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/bootstrap-datepicker/-/bootstrap-datepicker-1.10.0.tgz#61612bbe8bf0a69a5bce32bbcdda93ebb6ccf24a" - integrity sha512-lWxtSYddAQOpbAO8UhYhHLcK6425eWoSjb5JDvZU3ePHEPF6A3eUr51WKaFy4PccU19JRxUG6wEU3KdhtKfvpg== - dependencies: - jquery ">=3.4.0 <4.0.0" - -bootstrap-daterangepicker@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/bootstrap-daterangepicker/-/bootstrap-daterangepicker-3.1.0.tgz#632e6fb2de4b6360c5c0a9d5f6adb9aace051fe8" - integrity sha512-oaQZx6ZBDo/dZNyXGVi2rx5GmFXThyQLAxdtIqjtLlYVaQUfQALl5JZMJJZzyDIX7blfy4ppZPAJ10g8Ma4d/g== - dependencies: - jquery ">=1.10" - moment "^2.9.0" - -bootstrap@^5.3.3: - version "5.3.8" - resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-5.3.8.tgz#6401a10057a22752d21f4e19055508980656aeed" - integrity sha512-HP1SZDqaLDPwsNiqRqi5NcP0SSXciX2s9E+RyqJIIqGo+vJeN5AJVM98CXmW/Wux0nQ5L7jeWUdplCEf0Ee+tg== - -datatables.net-bs5@^2.0.8: - version "2.3.3" - resolved "https://registry.yarnpkg.com/datatables.net-bs5/-/datatables.net-bs5-2.3.3.tgz#8bf3aec484a69e373f6007038eaac0cc0ef4ee15" - integrity sha512-IPtC57k3KyZaLzIYTHies23Cm2zqaKfD6lkxy/aOAUUAtsg35l53VqNY9y84AEySYG3YLghMHVBvl2ckUhvm0A== - dependencies: - datatables.net "2.3.3" - jquery ">=1.7" - -datatables.net@2.3.3, datatables.net@^2.0.8: - version "2.3.3" - resolved "https://registry.yarnpkg.com/datatables.net/-/datatables.net-2.3.3.tgz#fe4f96bdbc4cf47c8d11162a7af525ca6a3683d2" - integrity sha512-SWL3za6nheY6gdoiLgCc++tYmxbwrmv2bjrEiII9rXBWXXSbOZct6pjR3FueMVRM5jmt7pQcXiGovfuFDnutQg== - dependencies: - jquery ">=1.7" - -jquery-form@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/jquery-form/-/jquery-form-4.3.0.tgz#7d3961c314a1f2d15298f4af1d3943f54f4149c6" - integrity sha512-q3uaVCEWdLOYUCI6dpNdwf/7cJFOsUgdpq6r0taxtGQ5NJSkOzofyWm4jpOuJ5YxdmL1FI5QR+q+HB63HHLGnQ== - dependencies: - jquery ">=1.7.2" - -jquery-mousewheel@>=3.0.6: - version "3.2.2" - resolved "https://registry.yarnpkg.com/jquery-mousewheel/-/jquery-mousewheel-3.2.2.tgz#48c833f6260ee0c46d438a999e7d0060ec9eed0b" - integrity sha512-JP71xTAg08ZY3hcs9ZbYUZ5i+dkSsz4yRl/zpWkAmtzc+kMs5EfPkpkINSidiLYMaR0MTo3DfFGF9WIezMsFQQ== - dependencies: - jquery ">=1.2.6" - -jquery-validation-unobtrusive@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.0.0.tgz#dfcf25a558496a2c883db6021d10f5398d15f99d" - integrity sha512-1ervYFFv6LX/rp7ktuLnMakHNG0piNRDyROI8Ir3hL1vPIwylAehB1AY3BPrYJnzW3WmwWryZq+Bz4sazZK9iQ== - dependencies: - jquery "^3.6.0" - jquery-validation ">=1.19" - -jquery-validation@>=1.19, jquery-validation@^1.20.1: - version "1.21.0" - resolved "https://registry.yarnpkg.com/jquery-validation/-/jquery-validation-1.21.0.tgz#78fc05ab76020912a246af3661b3f54a438bca93" - integrity sha512-xNot0rlUIgu7duMcQ5qb6MGkGL/Z1PQaRJQoZAURW9+a/2PGOUxY36o/WyNeP2T9R6jvWB8Z9lUVvvQWI/Zs5w== - -jquery@>=1.10, jquery@>=1.12.0, jquery@>=1.2.6, "jquery@>=1.5.0 <4.0", jquery@>=1.7, jquery@>=1.7.2, "jquery@>=3.4.0 <4.0.0", jquery@^3.6.0, jquery@~3.7.1: - version "3.7.1" - resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.7.1.tgz#083ef98927c9a6a74d05a6af02806566d16274de" - integrity sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg== - -just-compare@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/just-compare/-/just-compare-2.3.0.tgz#a2adcc1d1940536263275f5a1ef1298bcacfeda7" - integrity sha512-6shoR7HDT+fzfL3gBahx1jZG3hWLrhPAf+l7nCwahDdT9XDtosB9kIF0ZrzUp5QY8dJWfQVr5rnsPqsbvflDzg== - -lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -luxon@^3.4.4: - version "3.7.2" - resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.7.2.tgz#d697e48f478553cca187a0f8436aff468e3ba0ba" - integrity sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew== - -malihu-custom-scrollbar-plugin@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.1.5.tgz#310cecc5e59415a1c29e9dfb5d2b6e01d66a29ef" - integrity sha512-lwW3LgI+CNDMPnP4ED2la6oYxWMkCXlnhex+s2wuOLhFDFGnGmQuTQVdRK9bvDLpxs10sGlfErVufJy9ztfgJQ== - dependencies: - jquery-mousewheel ">=3.0.6" - -moment@^2.30.1, moment@^2.9.0: - version "2.30.1" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae" - integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== - -select2@^4.0.13: - version "4.0.13" - resolved "https://registry.yarnpkg.com/select2/-/select2-4.0.13.tgz#0dbe377df3f96167c4c1626033e924372d8ef44d" - integrity sha512-1JeB87s6oN/TDxQQYCvS5EFoQyvV6eYMZZ0AeA4tdFDYWN3BAGZ8npr17UBFddU0lgAt3H0yjX3X6/ekOj1yjw== - -sweetalert2@^11.3.6: - version "11.23.0" - resolved "https://registry.yarnpkg.com/sweetalert2/-/sweetalert2-11.23.0.tgz#ba8a051b1e94215c762af08692171b7b4611c4c1" - integrity sha512-cKzzbC3C1sIs7o9XAMw4E8F9kBtGXsBDUsd2JZ8JM/dqa+nzWwSGM+9LLYILZWzWHzX9W+HJNHyBlbHPVS/krw== - -timeago@^1.6.7: - version "1.6.7" - resolved "https://registry.yarnpkg.com/timeago/-/timeago-1.6.7.tgz#afd467c29a911e697fc22a81888c7c3022783cb5" - integrity sha512-FikcjN98+ij0siKH4VO4dZ358PR3oDDq4Vdl1+sN9gWz1/+JXGr3uZbUShYH/hL7bMhcTpPbplJU5Tej4b4jbQ== - dependencies: - jquery ">=1.5.0 <4.0" - -toastr@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/toastr/-/toastr-2.1.4.tgz#8b43be64fb9d0c414871446f2db8e8ca4e95f181" - integrity sha512-LIy77F5n+sz4tefMmFOntcJ6HL0Fv3k1TDnNmFZ0bU/GcvIIfy6eG2v7zQmMiYgaalAiUv75ttFrPn5s0gyqlA== - dependencies: - jquery ">=1.12.0" diff --git a/microservices/KonSoft.Payment.HttpApi.Host/KonSoft.Payment.HttpApi.Host.csproj b/microservices/KonSoft.Payment.HttpApi.Host/KonSoft.Payment.HttpApi.Host.csproj index c60b2bc..3e1c497 100644 --- a/microservices/KonSoft.Payment.HttpApi.Host/KonSoft.Payment.HttpApi.Host.csproj +++ b/microservices/KonSoft.Payment.HttpApi.Host/KonSoft.Payment.HttpApi.Host.csproj @@ -1,7 +1,5 @@ - - net8.0 enable @@ -13,21 +11,16 @@ - + + + + + + + - - - - - - - - - - - diff --git a/microservices/KonSoft.Payment.HttpApi.Host/PaymentBrandingProvider.cs b/microservices/KonSoft.Payment.HttpApi.Host/PaymentBrandingProvider.cs deleted file mode 100644 index 92e730d..0000000 --- a/microservices/KonSoft.Payment.HttpApi.Host/PaymentBrandingProvider.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Microsoft.Extensions.Localization; -using KonSoft.Payment.Localization; -using Volo.Abp.DependencyInjection; -using Volo.Abp.Ui.Branding; - -namespace KonSoft.Payment; - -[Dependency(ReplaceServices = true)] -public class PaymentBrandingProvider : DefaultBrandingProvider -{ - private IStringLocalizer _localizer; - - public PaymentBrandingProvider(IStringLocalizer localizer) - { - _localizer = localizer; - } - - public override string AppName => _localizer["AppName"]; -} diff --git a/microservices/KonSoft.Payment.HttpApi.Host/PaymentHttpApiHostModule.cs b/microservices/KonSoft.Payment.HttpApi.Host/PaymentHttpApiHostModule.cs index dd75b40..5173ad7 100644 --- a/microservices/KonSoft.Payment.HttpApi.Host/PaymentHttpApiHostModule.cs +++ b/microservices/KonSoft.Payment.HttpApi.Host/PaymentHttpApiHostModule.cs @@ -2,32 +2,34 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; +using Medallion.Threading; +using Medallion.Threading.Redis; +using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Cors; -using Microsoft.AspNetCore.Extensions.DependencyInjection; +using Microsoft.AspNetCore.DataProtection; +using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using KonSoft.Payment.EntityFrameworkCore; using KonSoft.Payment.MultiTenancy; -using Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite; -using Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite.Bundling; +using StackExchange.Redis; using Microsoft.OpenApi.Models; -using OpenIddict.Validation.AspNetCore; using Volo.Abp; -using Volo.Abp.Account; -using Volo.Abp.Account.Web; -using Volo.Abp.AspNetCore.MultiTenancy; +using Volo.Abp.AspNetCore.Authentication.JwtBearer; using Volo.Abp.AspNetCore.Mvc; -using Volo.Abp.AspNetCore.Mvc.UI.Bundling; -using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared; +using Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy; using Volo.Abp.AspNetCore.Serilog; using Volo.Abp.Autofac; +using Volo.Abp.Caching; +using Volo.Abp.Caching.StackExchangeRedis; +using Volo.Abp.DistributedLocking; +using Volo.Abp.Identity; using Volo.Abp.Localization; using Volo.Abp.Modularity; using Volo.Abp.Security.Claims; using Volo.Abp.Swashbuckle; -using Volo.Abp.UI.Navigation.Urls; using Volo.Abp.VirtualFileSystem; namespace KonSoft.Payment; @@ -35,76 +37,35 @@ namespace KonSoft.Payment; [DependsOn( typeof(PaymentHttpApiModule), typeof(AbpAutofacModule), - typeof(AbpAspNetCoreMultiTenancyModule), + typeof(AbpCachingStackExchangeRedisModule), + typeof(AbpDistributedLockingModule), + typeof(AbpAspNetCoreMvcUiMultiTenancyModule), + typeof(AbpAspNetCoreAuthenticationJwtBearerModule), typeof(PaymentApplicationModule), typeof(PaymentEntityFrameworkCoreModule), - typeof(AbpAspNetCoreMvcUiLeptonXLiteThemeModule), - typeof(AbpAccountWebOpenIddictModule), typeof(AbpAspNetCoreSerilogModule), typeof(AbpSwashbuckleModule) )] public class PaymentHttpApiHostModule : AbpModule { - public override void PreConfigureServices(ServiceConfigurationContext context) - { - PreConfigure(builder => - { - builder.AddValidation(options => - { - options.AddAudiences("Payment"); - options.UseLocalServer(); - options.UseAspNetCore(); - }); - }); - } - public override void ConfigureServices(ServiceConfigurationContext context) { var configuration = context.Services.GetConfiguration(); var hostingEnvironment = context.Services.GetHostingEnvironment(); - ConfigureAuthentication(context); - ConfigureBundles(); - ConfigureUrls(configuration); ConfigureConventionalControllers(); + ConfigureAuthentication(context, configuration); + ConfigureCache(configuration); ConfigureVirtualFileSystem(context); + ConfigureDataProtection(context, configuration, hostingEnvironment); + ConfigureDistributedLocking(context, configuration); ConfigureCors(context, configuration); ConfigureSwaggerServices(context, configuration); } - private void ConfigureAuthentication(ServiceConfigurationContext context) + private void ConfigureCache(IConfiguration configuration) { - context.Services.ForwardIdentityAuthenticationForBearer(OpenIddictValidationAspNetCoreDefaults.AuthenticationScheme); - context.Services.Configure(options => - { - options.IsDynamicClaimsEnabled = true; - }); - } - - private void ConfigureBundles() - { - Configure(options => - { - options.StyleBundles.Configure( - LeptonXLiteThemeBundles.Styles.Global, - bundle => - { - bundle.AddFiles("/global-styles.css"); - } - ); - }); - } - - private void ConfigureUrls(IConfiguration configuration) - { - Configure(options => - { - options.Applications["MVC"].RootUrl = configuration["App:SelfUrl"]; - options.RedirectAllowedUrls.AddRange(configuration["App:RedirectAllowedUrls"]?.Split(',') ?? Array.Empty()); - - options.Applications["Angular"].RootUrl = configuration["App:ClientUrl"]; - options.Applications["Angular"].Urls[AccountUrlNames.PasswordReset] = "account/reset-password"; - }); + Configure(options => { options.KeyPrefix = "Payment:"; }); } private void ConfigureVirtualFileSystem(ServiceConfigurationContext context) @@ -139,6 +100,22 @@ public class PaymentHttpApiHostModule : AbpModule }); } + private void ConfigureAuthentication(ServiceConfigurationContext context, IConfiguration configuration) + { + context.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) + .AddAbpJwtBearer(options => + { + options.Authority = configuration["AuthServer:Authority"]; + options.RequireHttpsMetadata = configuration.GetValue("AuthServer:RequireHttpsMetadata"); + options.Audience = "Payment"; + }); + + context.Services.Configure(options => + { + options.IsDynamicClaimsEnabled = true; + }); + } + private static void ConfigureSwaggerServices(ServiceConfigurationContext context, IConfiguration configuration) { context.Services.AddAbpSwaggerGenWithOAuth( @@ -155,6 +132,30 @@ public class PaymentHttpApiHostModule : AbpModule }); } + private void ConfigureDataProtection( + ServiceConfigurationContext context, + IConfiguration configuration, + IWebHostEnvironment hostingEnvironment) + { + var dataProtectionBuilder = context.Services.AddDataProtection().SetApplicationName("Payment"); + if (!hostingEnvironment.IsDevelopment()) + { + var redis = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]!); + dataProtectionBuilder.PersistKeysToStackExchangeRedis(redis, "Payment-Protection-Keys"); + } + } + + private void ConfigureDistributedLocking( + ServiceConfigurationContext context, + IConfiguration configuration) + { + context.Services.AddSingleton(sp => + { + var connection = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]!); + return new RedisDistributedSynchronizationProvider(connection.GetDatabase()); + }); + } + private void ConfigureCors(ServiceConfigurationContext context, IConfiguration configuration) { context.Services.AddCors(options => @@ -186,35 +187,29 @@ public class PaymentHttpApiHostModule : AbpModule } app.UseAbpRequestLocalization(); - - if (!env.IsDevelopment()) - { - app.UseErrorPage(); - } - app.UseCorrelationId(); app.UseStaticFiles(); app.UseRouting(); app.UseCors(); app.UseAuthentication(); - app.UseAbpOpenIddictValidation(); if (MultiTenancyConsts.IsEnabled) { app.UseMultiTenancy(); } + app.UseUnitOfWork(); app.UseDynamicClaims(); app.UseAuthorization(); app.UseSwagger(); - app.UseAbpSwaggerUI(c => + app.UseAbpSwaggerUI(options => { - c.SwaggerEndpoint("/swagger/v1/swagger.json", "Payment API"); + options.SwaggerEndpoint("/swagger/v1/swagger.json", "Payment API"); - var configuration = context.ServiceProvider.GetRequiredService(); - c.OAuthClientId(configuration["AuthServer:SwaggerClientId"]); - c.OAuthScopes("Payment"); + var configuration = context.GetConfiguration(); + options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]); + options.OAuthScopes("Payment"); }); app.UseAuditing(); diff --git a/microservices/KonSoft.Payment.HttpApi.Host/Properties/launchSettings.json b/microservices/KonSoft.Payment.HttpApi.Host/Properties/launchSettings.json index 6ed65af..1516abd 100644 --- a/microservices/KonSoft.Payment.HttpApi.Host/Properties/launchSettings.json +++ b/microservices/KonSoft.Payment.HttpApi.Host/Properties/launchSettings.json @@ -1,10 +1,10 @@ { "iisSettings": { - "windowsAuthentication": false, + "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { - "applicationUrl": "https://localhost:44355", - "sslPort": 44355 + "applicationUrl": "https://localhost:44326", + "sslPort": 44326 } }, "profiles": { @@ -18,7 +18,7 @@ "KonSoft.Payment.HttpApi.Host": { "commandName": "Project", "launchBrowser": true, - "applicationUrl": "https://localhost:44355", + "applicationUrl": "https://localhost:44326", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } diff --git a/microservices/KonSoft.Payment.HttpApi.Host/abp.resourcemapping.js b/microservices/KonSoft.Payment.HttpApi.Host/abp.resourcemapping.js deleted file mode 100644 index 4a2ad45..0000000 --- a/microservices/KonSoft.Payment.HttpApi.Host/abp.resourcemapping.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - aliases: { - - }, - clean: [ - - ], - mappings: { - - } -}; diff --git a/microservices/KonSoft.Payment.HttpApi.Host/appsettings.json b/microservices/KonSoft.Payment.HttpApi.Host/appsettings.json index ab7bc0b..4081578 100644 --- a/microservices/KonSoft.Payment.HttpApi.Host/appsettings.json +++ b/microservices/KonSoft.Payment.HttpApi.Host/appsettings.json @@ -1,18 +1,19 @@ { "App": { - "SelfUrl": "https://localhost:44355", - "CorsOrigins": "https://*.Payment.com", - "RedirectAllowedUrls": "" + "CorsOrigins": "https://*.Payment.com,https://localhost:44361" }, "ConnectionStrings": { "Default": "Host=localhost;Port=5432;Database=Payment;User ID=root;Password=myPassword;" }, + "Redis": { + "Configuration": "127.0.0.1" + }, "AuthServer": { - "Authority": "https://localhost:44355", - "RequireHttpsMetadata": false, + "Authority": "https://localhost:44317", + "RequireHttpsMetadata": true, "SwaggerClientId": "Payment_Swagger" }, "StringEncryption": { - "DefaultPassPhrase": "ex1X6Pe2UOTsR6Tv" + "DefaultPassPhrase": "X8BiQDb1AVYqDATC" } } diff --git a/microservices/KonSoft.Payment.HttpApi.Host/package.json b/microservices/KonSoft.Payment.HttpApi.Host/package.json deleted file mode 100644 index b8d616a..0000000 --- a/microservices/KonSoft.Payment.HttpApi.Host/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "version": "1.0.0", - "name": "my-app", - "private": true, - "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~3.3.4" - } -} diff --git a/microservices/KonSoft.Payment.HttpApi.Host/wwwroot/global-styles.css b/microservices/KonSoft.Payment.HttpApi.Host/wwwroot/global-styles.css deleted file mode 100644 index 74db4bd..0000000 --- a/microservices/KonSoft.Payment.HttpApi.Host/wwwroot/global-styles.css +++ /dev/null @@ -1,6 +0,0 @@ -/* Your Global Styles */ - -:root .lpx-brand-logo { - --lpx-logo: url('/images/logo/leptonx/logo-light.png'); - --lpx-logo-icon: url('/images/logo/leptonx/logo-light-thumbnail.png'); -} \ No newline at end of file diff --git a/microservices/KonSoft.Payment.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png b/microservices/KonSoft.Payment.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png deleted file mode 100644 index 9734a07..0000000 Binary files a/microservices/KonSoft.Payment.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png and /dev/null differ diff --git a/microservices/KonSoft.Payment.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark.png b/microservices/KonSoft.Payment.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark.png deleted file mode 100644 index a3bbe82..0000000 Binary files a/microservices/KonSoft.Payment.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark.png and /dev/null differ diff --git a/microservices/KonSoft.Payment.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light-thumbnail.png b/microservices/KonSoft.Payment.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light-thumbnail.png deleted file mode 100644 index ca39184..0000000 Binary files a/microservices/KonSoft.Payment.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light-thumbnail.png and /dev/null differ diff --git a/microservices/KonSoft.Payment.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light.png b/microservices/KonSoft.Payment.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light.png deleted file mode 100644 index 761fb44..0000000 Binary files a/microservices/KonSoft.Payment.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light.png and /dev/null differ diff --git a/microservices/KonSoft.Report.HttpApi.Host/KonSoft.Report.HttpApi.Host.csproj b/microservices/KonSoft.Report.HttpApi.Host/KonSoft.Report.HttpApi.Host.csproj index e860229..045a4b1 100644 --- a/microservices/KonSoft.Report.HttpApi.Host/KonSoft.Report.HttpApi.Host.csproj +++ b/microservices/KonSoft.Report.HttpApi.Host/KonSoft.Report.HttpApi.Host.csproj @@ -1,7 +1,5 @@ - - net8.0 enable @@ -13,21 +11,16 @@ - + + + + + + + - - - - - - - - - - - diff --git a/microservices/KonSoft.Report.HttpApi.Host/Properties/launchSettings.json b/microservices/KonSoft.Report.HttpApi.Host/Properties/launchSettings.json index e200271..1dda845 100644 --- a/microservices/KonSoft.Report.HttpApi.Host/Properties/launchSettings.json +++ b/microservices/KonSoft.Report.HttpApi.Host/Properties/launchSettings.json @@ -1,10 +1,10 @@ { "iisSettings": { - "windowsAuthentication": false, + "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { - "applicationUrl": "https://localhost:44340", - "sslPort": 44340 + "applicationUrl": "https://localhost:44320", + "sslPort": 44320 } }, "profiles": { @@ -18,7 +18,7 @@ "KonSoft.Report.HttpApi.Host": { "commandName": "Project", "launchBrowser": true, - "applicationUrl": "https://localhost:44340", + "applicationUrl": "https://localhost:44320", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } diff --git a/microservices/KonSoft.Report.HttpApi.Host/ReportBrandingProvider.cs b/microservices/KonSoft.Report.HttpApi.Host/ReportBrandingProvider.cs deleted file mode 100644 index ae370f7..0000000 --- a/microservices/KonSoft.Report.HttpApi.Host/ReportBrandingProvider.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Microsoft.Extensions.Localization; -using KonSoft.Report.Localization; -using Volo.Abp.DependencyInjection; -using Volo.Abp.Ui.Branding; - -namespace KonSoft.Report; - -[Dependency(ReplaceServices = true)] -public class ReportBrandingProvider : DefaultBrandingProvider -{ - private IStringLocalizer _localizer; - - public ReportBrandingProvider(IStringLocalizer localizer) - { - _localizer = localizer; - } - - public override string AppName => _localizer["AppName"]; -} diff --git a/microservices/KonSoft.Report.HttpApi.Host/ReportHttpApiHostModule.cs b/microservices/KonSoft.Report.HttpApi.Host/ReportHttpApiHostModule.cs index 31254ad..6cca2bd 100644 --- a/microservices/KonSoft.Report.HttpApi.Host/ReportHttpApiHostModule.cs +++ b/microservices/KonSoft.Report.HttpApi.Host/ReportHttpApiHostModule.cs @@ -2,32 +2,34 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; +using Medallion.Threading; +using Medallion.Threading.Redis; +using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Cors; -using Microsoft.AspNetCore.Extensions.DependencyInjection; +using Microsoft.AspNetCore.DataProtection; +using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using KonSoft.Report.EntityFrameworkCore; using KonSoft.Report.MultiTenancy; -using Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite; -using Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite.Bundling; +using StackExchange.Redis; using Microsoft.OpenApi.Models; -using OpenIddict.Validation.AspNetCore; using Volo.Abp; -using Volo.Abp.Account; -using Volo.Abp.Account.Web; -using Volo.Abp.AspNetCore.MultiTenancy; +using Volo.Abp.AspNetCore.Authentication.JwtBearer; using Volo.Abp.AspNetCore.Mvc; -using Volo.Abp.AspNetCore.Mvc.UI.Bundling; -using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared; +using Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy; using Volo.Abp.AspNetCore.Serilog; using Volo.Abp.Autofac; +using Volo.Abp.Caching; +using Volo.Abp.Caching.StackExchangeRedis; +using Volo.Abp.DistributedLocking; +using Volo.Abp.Identity; using Volo.Abp.Localization; using Volo.Abp.Modularity; using Volo.Abp.Security.Claims; using Volo.Abp.Swashbuckle; -using Volo.Abp.UI.Navigation.Urls; using Volo.Abp.VirtualFileSystem; namespace KonSoft.Report; @@ -35,76 +37,35 @@ namespace KonSoft.Report; [DependsOn( typeof(ReportHttpApiModule), typeof(AbpAutofacModule), - typeof(AbpAspNetCoreMultiTenancyModule), + typeof(AbpCachingStackExchangeRedisModule), + typeof(AbpDistributedLockingModule), + typeof(AbpAspNetCoreMvcUiMultiTenancyModule), + typeof(AbpAspNetCoreAuthenticationJwtBearerModule), typeof(ReportApplicationModule), typeof(ReportEntityFrameworkCoreModule), - typeof(AbpAspNetCoreMvcUiLeptonXLiteThemeModule), - typeof(AbpAccountWebOpenIddictModule), typeof(AbpAspNetCoreSerilogModule), typeof(AbpSwashbuckleModule) )] public class ReportHttpApiHostModule : AbpModule { - public override void PreConfigureServices(ServiceConfigurationContext context) - { - PreConfigure(builder => - { - builder.AddValidation(options => - { - options.AddAudiences("Report"); - options.UseLocalServer(); - options.UseAspNetCore(); - }); - }); - } - public override void ConfigureServices(ServiceConfigurationContext context) { var configuration = context.Services.GetConfiguration(); var hostingEnvironment = context.Services.GetHostingEnvironment(); - ConfigureAuthentication(context); - ConfigureBundles(); - ConfigureUrls(configuration); ConfigureConventionalControllers(); + ConfigureAuthentication(context, configuration); + ConfigureCache(configuration); ConfigureVirtualFileSystem(context); + ConfigureDataProtection(context, configuration, hostingEnvironment); + ConfigureDistributedLocking(context, configuration); ConfigureCors(context, configuration); ConfigureSwaggerServices(context, configuration); } - private void ConfigureAuthentication(ServiceConfigurationContext context) + private void ConfigureCache(IConfiguration configuration) { - context.Services.ForwardIdentityAuthenticationForBearer(OpenIddictValidationAspNetCoreDefaults.AuthenticationScheme); - context.Services.Configure(options => - { - options.IsDynamicClaimsEnabled = true; - }); - } - - private void ConfigureBundles() - { - Configure(options => - { - options.StyleBundles.Configure( - LeptonXLiteThemeBundles.Styles.Global, - bundle => - { - bundle.AddFiles("/global-styles.css"); - } - ); - }); - } - - private void ConfigureUrls(IConfiguration configuration) - { - Configure(options => - { - options.Applications["MVC"].RootUrl = configuration["App:SelfUrl"]; - options.RedirectAllowedUrls.AddRange(configuration["App:RedirectAllowedUrls"]?.Split(',') ?? Array.Empty()); - - options.Applications["Angular"].RootUrl = configuration["App:ClientUrl"]; - options.Applications["Angular"].Urls[AccountUrlNames.PasswordReset] = "account/reset-password"; - }); + Configure(options => { options.KeyPrefix = "Report:"; }); } private void ConfigureVirtualFileSystem(ServiceConfigurationContext context) @@ -139,6 +100,22 @@ public class ReportHttpApiHostModule : AbpModule }); } + private void ConfigureAuthentication(ServiceConfigurationContext context, IConfiguration configuration) + { + context.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) + .AddAbpJwtBearer(options => + { + options.Authority = configuration["AuthServer:Authority"]; + options.RequireHttpsMetadata = configuration.GetValue("AuthServer:RequireHttpsMetadata"); + options.Audience = "Report"; + }); + + context.Services.Configure(options => + { + options.IsDynamicClaimsEnabled = true; + }); + } + private static void ConfigureSwaggerServices(ServiceConfigurationContext context, IConfiguration configuration) { context.Services.AddAbpSwaggerGenWithOAuth( @@ -155,6 +132,30 @@ public class ReportHttpApiHostModule : AbpModule }); } + private void ConfigureDataProtection( + ServiceConfigurationContext context, + IConfiguration configuration, + IWebHostEnvironment hostingEnvironment) + { + var dataProtectionBuilder = context.Services.AddDataProtection().SetApplicationName("Report"); + if (!hostingEnvironment.IsDevelopment()) + { + var redis = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]!); + dataProtectionBuilder.PersistKeysToStackExchangeRedis(redis, "Report-Protection-Keys"); + } + } + + private void ConfigureDistributedLocking( + ServiceConfigurationContext context, + IConfiguration configuration) + { + context.Services.AddSingleton(sp => + { + var connection = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]!); + return new RedisDistributedSynchronizationProvider(connection.GetDatabase()); + }); + } + private void ConfigureCors(ServiceConfigurationContext context, IConfiguration configuration) { context.Services.AddCors(options => @@ -186,35 +187,29 @@ public class ReportHttpApiHostModule : AbpModule } app.UseAbpRequestLocalization(); - - if (!env.IsDevelopment()) - { - app.UseErrorPage(); - } - app.UseCorrelationId(); app.UseStaticFiles(); app.UseRouting(); app.UseCors(); app.UseAuthentication(); - app.UseAbpOpenIddictValidation(); if (MultiTenancyConsts.IsEnabled) { app.UseMultiTenancy(); } + app.UseUnitOfWork(); app.UseDynamicClaims(); app.UseAuthorization(); app.UseSwagger(); - app.UseAbpSwaggerUI(c => + app.UseAbpSwaggerUI(options => { - c.SwaggerEndpoint("/swagger/v1/swagger.json", "Report API"); + options.SwaggerEndpoint("/swagger/v1/swagger.json", "Report API"); - var configuration = context.ServiceProvider.GetRequiredService(); - c.OAuthClientId(configuration["AuthServer:SwaggerClientId"]); - c.OAuthScopes("Report"); + var configuration = context.GetConfiguration(); + options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]); + options.OAuthScopes("Report"); }); app.UseAuditing(); diff --git a/microservices/KonSoft.Report.HttpApi.Host/abp.resourcemapping.js b/microservices/KonSoft.Report.HttpApi.Host/abp.resourcemapping.js deleted file mode 100644 index 4a2ad45..0000000 --- a/microservices/KonSoft.Report.HttpApi.Host/abp.resourcemapping.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - aliases: { - - }, - clean: [ - - ], - mappings: { - - } -}; diff --git a/microservices/KonSoft.Report.HttpApi.Host/appsettings.json b/microservices/KonSoft.Report.HttpApi.Host/appsettings.json index 582f153..40441ae 100644 --- a/microservices/KonSoft.Report.HttpApi.Host/appsettings.json +++ b/microservices/KonSoft.Report.HttpApi.Host/appsettings.json @@ -1,18 +1,19 @@ { "App": { - "SelfUrl": "https://localhost:44340", - "CorsOrigins": "https://*.Report.com", - "RedirectAllowedUrls": "" + "CorsOrigins": "https://*.Report.com,https://localhost:44387" }, "ConnectionStrings": { "Default": "Host=localhost;Port=5432;Database=Report;User ID=root;Password=myPassword;" }, + "Redis": { + "Configuration": "127.0.0.1" + }, "AuthServer": { - "Authority": "https://localhost:44340", - "RequireHttpsMetadata": false, + "Authority": "https://localhost:44379", + "RequireHttpsMetadata": true, "SwaggerClientId": "Report_Swagger" }, "StringEncryption": { - "DefaultPassPhrase": "aRnRGh9BVWKdfQXb" + "DefaultPassPhrase": "CnofoVnefiZOTqgF" } } diff --git a/microservices/KonSoft.Report.HttpApi.Host/package.json b/microservices/KonSoft.Report.HttpApi.Host/package.json deleted file mode 100644 index b8d616a..0000000 --- a/microservices/KonSoft.Report.HttpApi.Host/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "version": "1.0.0", - "name": "my-app", - "private": true, - "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~3.3.4" - } -} diff --git a/microservices/KonSoft.Report.HttpApi.Host/wwwroot/global-styles.css b/microservices/KonSoft.Report.HttpApi.Host/wwwroot/global-styles.css deleted file mode 100644 index 74db4bd..0000000 --- a/microservices/KonSoft.Report.HttpApi.Host/wwwroot/global-styles.css +++ /dev/null @@ -1,6 +0,0 @@ -/* Your Global Styles */ - -:root .lpx-brand-logo { - --lpx-logo: url('/images/logo/leptonx/logo-light.png'); - --lpx-logo-icon: url('/images/logo/leptonx/logo-light-thumbnail.png'); -} \ No newline at end of file diff --git a/microservices/KonSoft.Report.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png b/microservices/KonSoft.Report.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png deleted file mode 100644 index 9734a07..0000000 Binary files a/microservices/KonSoft.Report.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png and /dev/null differ diff --git a/microservices/KonSoft.Report.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark.png b/microservices/KonSoft.Report.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark.png deleted file mode 100644 index a3bbe82..0000000 Binary files a/microservices/KonSoft.Report.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark.png and /dev/null differ diff --git a/microservices/KonSoft.Report.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light-thumbnail.png b/microservices/KonSoft.Report.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light-thumbnail.png deleted file mode 100644 index ca39184..0000000 Binary files a/microservices/KonSoft.Report.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light-thumbnail.png and /dev/null differ diff --git a/microservices/KonSoft.Report.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light.png b/microservices/KonSoft.Report.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light.png deleted file mode 100644 index 761fb44..0000000 Binary files a/microservices/KonSoft.Report.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light.png and /dev/null differ diff --git a/microservices/KonSoft.TenantManagement.HttpApi.Host/KonSoft.TenantManagement.HttpApi.Host.csproj b/microservices/KonSoft.TenantManagement.HttpApi.Host/KonSoft.TenantManagement.HttpApi.Host.csproj index 2126148..a70d61d 100644 --- a/microservices/KonSoft.TenantManagement.HttpApi.Host/KonSoft.TenantManagement.HttpApi.Host.csproj +++ b/microservices/KonSoft.TenantManagement.HttpApi.Host/KonSoft.TenantManagement.HttpApi.Host.csproj @@ -1,7 +1,5 @@ - - net8.0 enable @@ -13,21 +11,16 @@ - + + + + + + + - - - - - - - - - - - diff --git a/microservices/KonSoft.TenantManagement.HttpApi.Host/Properties/launchSettings.json b/microservices/KonSoft.TenantManagement.HttpApi.Host/Properties/launchSettings.json index c10ca48..fc76879 100644 --- a/microservices/KonSoft.TenantManagement.HttpApi.Host/Properties/launchSettings.json +++ b/microservices/KonSoft.TenantManagement.HttpApi.Host/Properties/launchSettings.json @@ -1,10 +1,10 @@ { "iisSettings": { - "windowsAuthentication": false, + "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { - "applicationUrl": "https://localhost:44316", - "sslPort": 44316 + "applicationUrl": "https://localhost:44348", + "sslPort": 44348 } }, "profiles": { @@ -18,7 +18,7 @@ "KonSoft.TenantManagement.HttpApi.Host": { "commandName": "Project", "launchBrowser": true, - "applicationUrl": "https://localhost:44316", + "applicationUrl": "https://localhost:44348", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } diff --git a/microservices/KonSoft.TenantManagement.HttpApi.Host/TenantManagementBrandingProvider.cs b/microservices/KonSoft.TenantManagement.HttpApi.Host/TenantManagementBrandingProvider.cs deleted file mode 100644 index ac30d7f..0000000 --- a/microservices/KonSoft.TenantManagement.HttpApi.Host/TenantManagementBrandingProvider.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Microsoft.Extensions.Localization; -using KonSoft.TenantManagement.Localization; -using Volo.Abp.DependencyInjection; -using Volo.Abp.Ui.Branding; - -namespace KonSoft.TenantManagement; - -[Dependency(ReplaceServices = true)] -public class TenantManagementBrandingProvider : DefaultBrandingProvider -{ - private IStringLocalizer _localizer; - - public TenantManagementBrandingProvider(IStringLocalizer localizer) - { - _localizer = localizer; - } - - public override string AppName => _localizer["AppName"]; -} diff --git a/microservices/KonSoft.TenantManagement.HttpApi.Host/TenantManagementHttpApiHostModule.cs b/microservices/KonSoft.TenantManagement.HttpApi.Host/TenantManagementHttpApiHostModule.cs index adf740c..4b37479 100644 --- a/microservices/KonSoft.TenantManagement.HttpApi.Host/TenantManagementHttpApiHostModule.cs +++ b/microservices/KonSoft.TenantManagement.HttpApi.Host/TenantManagementHttpApiHostModule.cs @@ -2,32 +2,34 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; +using Medallion.Threading; +using Medallion.Threading.Redis; +using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Cors; -using Microsoft.AspNetCore.Extensions.DependencyInjection; +using Microsoft.AspNetCore.DataProtection; +using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using KonSoft.TenantManagement.EntityFrameworkCore; using KonSoft.TenantManagement.MultiTenancy; -using Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite; -using Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite.Bundling; +using StackExchange.Redis; using Microsoft.OpenApi.Models; -using OpenIddict.Validation.AspNetCore; using Volo.Abp; -using Volo.Abp.Account; -using Volo.Abp.Account.Web; -using Volo.Abp.AspNetCore.MultiTenancy; +using Volo.Abp.AspNetCore.Authentication.JwtBearer; using Volo.Abp.AspNetCore.Mvc; -using Volo.Abp.AspNetCore.Mvc.UI.Bundling; -using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared; +using Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy; using Volo.Abp.AspNetCore.Serilog; using Volo.Abp.Autofac; +using Volo.Abp.Caching; +using Volo.Abp.Caching.StackExchangeRedis; +using Volo.Abp.DistributedLocking; +using Volo.Abp.Identity; using Volo.Abp.Localization; using Volo.Abp.Modularity; using Volo.Abp.Security.Claims; using Volo.Abp.Swashbuckle; -using Volo.Abp.UI.Navigation.Urls; using Volo.Abp.VirtualFileSystem; namespace KonSoft.TenantManagement; @@ -35,76 +37,35 @@ namespace KonSoft.TenantManagement; [DependsOn( typeof(TenantManagementHttpApiModule), typeof(AbpAutofacModule), - typeof(AbpAspNetCoreMultiTenancyModule), + typeof(AbpCachingStackExchangeRedisModule), + typeof(AbpDistributedLockingModule), + typeof(AbpAspNetCoreMvcUiMultiTenancyModule), + typeof(AbpAspNetCoreAuthenticationJwtBearerModule), typeof(TenantManagementApplicationModule), typeof(TenantManagementEntityFrameworkCoreModule), - typeof(AbpAspNetCoreMvcUiLeptonXLiteThemeModule), - typeof(AbpAccountWebOpenIddictModule), typeof(AbpAspNetCoreSerilogModule), typeof(AbpSwashbuckleModule) )] public class TenantManagementHttpApiHostModule : AbpModule { - public override void PreConfigureServices(ServiceConfigurationContext context) - { - PreConfigure(builder => - { - builder.AddValidation(options => - { - options.AddAudiences("TenantManagement"); - options.UseLocalServer(); - options.UseAspNetCore(); - }); - }); - } - public override void ConfigureServices(ServiceConfigurationContext context) { var configuration = context.Services.GetConfiguration(); var hostingEnvironment = context.Services.GetHostingEnvironment(); - ConfigureAuthentication(context); - ConfigureBundles(); - ConfigureUrls(configuration); ConfigureConventionalControllers(); + ConfigureAuthentication(context, configuration); + ConfigureCache(configuration); ConfigureVirtualFileSystem(context); + ConfigureDataProtection(context, configuration, hostingEnvironment); + ConfigureDistributedLocking(context, configuration); ConfigureCors(context, configuration); ConfigureSwaggerServices(context, configuration); } - private void ConfigureAuthentication(ServiceConfigurationContext context) + private void ConfigureCache(IConfiguration configuration) { - context.Services.ForwardIdentityAuthenticationForBearer(OpenIddictValidationAspNetCoreDefaults.AuthenticationScheme); - context.Services.Configure(options => - { - options.IsDynamicClaimsEnabled = true; - }); - } - - private void ConfigureBundles() - { - Configure(options => - { - options.StyleBundles.Configure( - LeptonXLiteThemeBundles.Styles.Global, - bundle => - { - bundle.AddFiles("/global-styles.css"); - } - ); - }); - } - - private void ConfigureUrls(IConfiguration configuration) - { - Configure(options => - { - options.Applications["MVC"].RootUrl = configuration["App:SelfUrl"]; - options.RedirectAllowedUrls.AddRange(configuration["App:RedirectAllowedUrls"]?.Split(',') ?? Array.Empty()); - - options.Applications["Angular"].RootUrl = configuration["App:ClientUrl"]; - options.Applications["Angular"].Urls[AccountUrlNames.PasswordReset] = "account/reset-password"; - }); + Configure(options => { options.KeyPrefix = "TenantManagement:"; }); } private void ConfigureVirtualFileSystem(ServiceConfigurationContext context) @@ -139,6 +100,22 @@ public class TenantManagementHttpApiHostModule : AbpModule }); } + private void ConfigureAuthentication(ServiceConfigurationContext context, IConfiguration configuration) + { + context.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) + .AddAbpJwtBearer(options => + { + options.Authority = configuration["AuthServer:Authority"]; + options.RequireHttpsMetadata = configuration.GetValue("AuthServer:RequireHttpsMetadata"); + options.Audience = "TenantManagement"; + }); + + context.Services.Configure(options => + { + options.IsDynamicClaimsEnabled = true; + }); + } + private static void ConfigureSwaggerServices(ServiceConfigurationContext context, IConfiguration configuration) { context.Services.AddAbpSwaggerGenWithOAuth( @@ -155,6 +132,30 @@ public class TenantManagementHttpApiHostModule : AbpModule }); } + private void ConfigureDataProtection( + ServiceConfigurationContext context, + IConfiguration configuration, + IWebHostEnvironment hostingEnvironment) + { + var dataProtectionBuilder = context.Services.AddDataProtection().SetApplicationName("TenantManagement"); + if (!hostingEnvironment.IsDevelopment()) + { + var redis = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]!); + dataProtectionBuilder.PersistKeysToStackExchangeRedis(redis, "TenantManagement-Protection-Keys"); + } + } + + private void ConfigureDistributedLocking( + ServiceConfigurationContext context, + IConfiguration configuration) + { + context.Services.AddSingleton(sp => + { + var connection = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]!); + return new RedisDistributedSynchronizationProvider(connection.GetDatabase()); + }); + } + private void ConfigureCors(ServiceConfigurationContext context, IConfiguration configuration) { context.Services.AddCors(options => @@ -186,35 +187,29 @@ public class TenantManagementHttpApiHostModule : AbpModule } app.UseAbpRequestLocalization(); - - if (!env.IsDevelopment()) - { - app.UseErrorPage(); - } - app.UseCorrelationId(); app.UseStaticFiles(); app.UseRouting(); app.UseCors(); app.UseAuthentication(); - app.UseAbpOpenIddictValidation(); if (MultiTenancyConsts.IsEnabled) { app.UseMultiTenancy(); } + app.UseUnitOfWork(); app.UseDynamicClaims(); app.UseAuthorization(); app.UseSwagger(); - app.UseAbpSwaggerUI(c => + app.UseAbpSwaggerUI(options => { - c.SwaggerEndpoint("/swagger/v1/swagger.json", "TenantManagement API"); + options.SwaggerEndpoint("/swagger/v1/swagger.json", "TenantManagement API"); - var configuration = context.ServiceProvider.GetRequiredService(); - c.OAuthClientId(configuration["AuthServer:SwaggerClientId"]); - c.OAuthScopes("TenantManagement"); + var configuration = context.GetConfiguration(); + options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]); + options.OAuthScopes("TenantManagement"); }); app.UseAuditing(); diff --git a/microservices/KonSoft.TenantManagement.HttpApi.Host/abp.resourcemapping.js b/microservices/KonSoft.TenantManagement.HttpApi.Host/abp.resourcemapping.js deleted file mode 100644 index 4a2ad45..0000000 --- a/microservices/KonSoft.TenantManagement.HttpApi.Host/abp.resourcemapping.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - aliases: { - - }, - clean: [ - - ], - mappings: { - - } -}; diff --git a/microservices/KonSoft.TenantManagement.HttpApi.Host/appsettings.json b/microservices/KonSoft.TenantManagement.HttpApi.Host/appsettings.json index e08f2ba..e1e3159 100644 --- a/microservices/KonSoft.TenantManagement.HttpApi.Host/appsettings.json +++ b/microservices/KonSoft.TenantManagement.HttpApi.Host/appsettings.json @@ -1,18 +1,19 @@ { "App": { - "SelfUrl": "https://localhost:44316", - "CorsOrigins": "https://*.TenantManagement.com", - "RedirectAllowedUrls": "" + "CorsOrigins": "https://*.TenantManagement.com,https://localhost:44332" }, "ConnectionStrings": { "Default": "Host=localhost;Port=5432;Database=TenantManagement;User ID=root;Password=myPassword;" }, + "Redis": { + "Configuration": "127.0.0.1" + }, "AuthServer": { "Authority": "https://localhost:44316", - "RequireHttpsMetadata": false, + "RequireHttpsMetadata": true, "SwaggerClientId": "TenantManagement_Swagger" }, "StringEncryption": { - "DefaultPassPhrase": "FUFDAYrpYDaw4Tsl" + "DefaultPassPhrase": "NR0sazB47i10Gw6H" } } diff --git a/microservices/KonSoft.TenantManagement.HttpApi.Host/package.json b/microservices/KonSoft.TenantManagement.HttpApi.Host/package.json deleted file mode 100644 index b8d616a..0000000 --- a/microservices/KonSoft.TenantManagement.HttpApi.Host/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "version": "1.0.0", - "name": "my-app", - "private": true, - "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~3.3.4" - } -} diff --git a/microservices/KonSoft.TenantManagement.HttpApi.Host/wwwroot/global-styles.css b/microservices/KonSoft.TenantManagement.HttpApi.Host/wwwroot/global-styles.css deleted file mode 100644 index 74db4bd..0000000 --- a/microservices/KonSoft.TenantManagement.HttpApi.Host/wwwroot/global-styles.css +++ /dev/null @@ -1,6 +0,0 @@ -/* Your Global Styles */ - -:root .lpx-brand-logo { - --lpx-logo: url('/images/logo/leptonx/logo-light.png'); - --lpx-logo-icon: url('/images/logo/leptonx/logo-light-thumbnail.png'); -} \ No newline at end of file diff --git a/microservices/KonSoft.TenantManagement.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png b/microservices/KonSoft.TenantManagement.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png deleted file mode 100644 index 9734a07..0000000 Binary files a/microservices/KonSoft.TenantManagement.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png and /dev/null differ diff --git a/microservices/KonSoft.TenantManagement.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark.png b/microservices/KonSoft.TenantManagement.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark.png deleted file mode 100644 index a3bbe82..0000000 Binary files a/microservices/KonSoft.TenantManagement.HttpApi.Host/wwwroot/images/logo/leptonx/logo-dark.png and /dev/null differ diff --git a/microservices/KonSoft.TenantManagement.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light-thumbnail.png b/microservices/KonSoft.TenantManagement.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light-thumbnail.png deleted file mode 100644 index ca39184..0000000 Binary files a/microservices/KonSoft.TenantManagement.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light-thumbnail.png and /dev/null differ diff --git a/microservices/KonSoft.TenantManagement.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light.png b/microservices/KonSoft.TenantManagement.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light.png deleted file mode 100644 index 761fb44..0000000 Binary files a/microservices/KonSoft.TenantManagement.HttpApi.Host/wwwroot/images/logo/leptonx/logo-light.png and /dev/null differ diff --git a/modules/admin/src/KonSoft.Admin.Application.Contracts/KonSoft.Admin.Application.Contracts.csproj b/modules/admin/src/KonSoft.Admin.Application.Contracts/KonSoft.Admin.Application.Contracts.csproj index 21d8796..04986fb 100644 --- a/modules/admin/src/KonSoft.Admin.Application.Contracts/KonSoft.Admin.Application.Contracts.csproj +++ b/modules/admin/src/KonSoft.Admin.Application.Contracts/KonSoft.Admin.Application.Contracts.csproj @@ -1,6 +1,4 @@ - - - + net8.0 @@ -8,10 +6,6 @@ KonSoft.Admin - - - - diff --git a/modules/admin/src/KonSoft.Admin.Application/KonSoft.Admin.Application.csproj b/modules/admin/src/KonSoft.Admin.Application/KonSoft.Admin.Application.csproj index c9569eb..a3d04d0 100644 --- a/modules/admin/src/KonSoft.Admin.Application/KonSoft.Admin.Application.csproj +++ b/modules/admin/src/KonSoft.Admin.Application/KonSoft.Admin.Application.csproj @@ -1,6 +1,4 @@ - - - + net8.0 @@ -8,11 +6,6 @@ KonSoft.Admin - - - - - diff --git a/modules/admin/src/KonSoft.Admin.Domain.Shared/KonSoft.Admin.Domain.Shared.csproj b/modules/admin/src/KonSoft.Admin.Domain.Shared/KonSoft.Admin.Domain.Shared.csproj index 10d847b..3158025 100644 --- a/modules/admin/src/KonSoft.Admin.Domain.Shared/KonSoft.Admin.Domain.Shared.csproj +++ b/modules/admin/src/KonSoft.Admin.Domain.Shared/KonSoft.Admin.Domain.Shared.csproj @@ -1,6 +1,4 @@ - - - + net8.0 diff --git a/modules/admin/src/KonSoft.Admin.Domain/KonSoft.Admin.Domain.csproj b/modules/admin/src/KonSoft.Admin.Domain/KonSoft.Admin.Domain.csproj index 831a3a2..735a786 100644 --- a/modules/admin/src/KonSoft.Admin.Domain/KonSoft.Admin.Domain.csproj +++ b/modules/admin/src/KonSoft.Admin.Domain/KonSoft.Admin.Domain.csproj @@ -1,6 +1,4 @@ - - - + net8.0 @@ -8,10 +6,6 @@ KonSoft.Admin - - - - diff --git a/modules/admin/src/KonSoft.Admin.EntityFrameworkCore/KonSoft.Admin.EntityFrameworkCore.csproj b/modules/admin/src/KonSoft.Admin.EntityFrameworkCore/KonSoft.Admin.EntityFrameworkCore.csproj index ca32b8e..4406f03 100644 --- a/modules/admin/src/KonSoft.Admin.EntityFrameworkCore/KonSoft.Admin.EntityFrameworkCore.csproj +++ b/modules/admin/src/KonSoft.Admin.EntityFrameworkCore/KonSoft.Admin.EntityFrameworkCore.csproj @@ -1,6 +1,4 @@ - - - + net8.0 @@ -9,7 +7,6 @@ - diff --git a/modules/admin/src/KonSoft.Admin.HttpApi.Client/KonSoft.Admin.HttpApi.Client.csproj b/modules/admin/src/KonSoft.Admin.HttpApi.Client/KonSoft.Admin.HttpApi.Client.csproj index 71bb2db..de2af35 100644 --- a/modules/admin/src/KonSoft.Admin.HttpApi.Client/KonSoft.Admin.HttpApi.Client.csproj +++ b/modules/admin/src/KonSoft.Admin.HttpApi.Client/KonSoft.Admin.HttpApi.Client.csproj @@ -1,17 +1,11 @@ - - net8.0 enable KonSoft.Admin - - - - diff --git a/modules/admin/src/KonSoft.Admin.HttpApi/KonSoft.Admin.HttpApi.csproj b/modules/admin/src/KonSoft.Admin.HttpApi/KonSoft.Admin.HttpApi.csproj index cb7a804..e9cb5a2 100644 --- a/modules/admin/src/KonSoft.Admin.HttpApi/KonSoft.Admin.HttpApi.csproj +++ b/modules/admin/src/KonSoft.Admin.HttpApi/KonSoft.Admin.HttpApi.csproj @@ -1,17 +1,11 @@ - - net8.0 enable KonSoft.Admin - - - - diff --git a/modules/admin/test/KonSoft.Admin.Application.Tests/KonSoft.Admin.Application.Tests.csproj b/modules/admin/test/KonSoft.Admin.Application.Tests/KonSoft.Admin.Application.Tests.csproj index 53d9673..531ac7b 100644 --- a/modules/admin/test/KonSoft.Admin.Application.Tests/KonSoft.Admin.Application.Tests.csproj +++ b/modules/admin/test/KonSoft.Admin.Application.Tests/KonSoft.Admin.Application.Tests.csproj @@ -1,18 +1,11 @@ - - net8.0 enable KonSoft.Admin - - - - - diff --git a/modules/admin/test/KonSoft.Admin.Domain.Tests/KonSoft.Admin.Domain.Tests.csproj b/modules/admin/test/KonSoft.Admin.Domain.Tests/KonSoft.Admin.Domain.Tests.csproj index d191c63..531ac7b 100644 --- a/modules/admin/test/KonSoft.Admin.Domain.Tests/KonSoft.Admin.Domain.Tests.csproj +++ b/modules/admin/test/KonSoft.Admin.Domain.Tests/KonSoft.Admin.Domain.Tests.csproj @@ -1,7 +1,5 @@ - - net8.0 enable @@ -12,9 +10,4 @@ - - - - - diff --git a/modules/admin/test/KonSoft.Admin.EntityFrameworkCore.Tests/KonSoft.Admin.EntityFrameworkCore.Tests.csproj b/modules/admin/test/KonSoft.Admin.EntityFrameworkCore.Tests/KonSoft.Admin.EntityFrameworkCore.Tests.csproj index 719702a..927159e 100644 --- a/modules/admin/test/KonSoft.Admin.EntityFrameworkCore.Tests/KonSoft.Admin.EntityFrameworkCore.Tests.csproj +++ b/modules/admin/test/KonSoft.Admin.EntityFrameworkCore.Tests/KonSoft.Admin.EntityFrameworkCore.Tests.csproj @@ -1,7 +1,5 @@ - - net8.0 enable @@ -9,8 +7,6 @@ - - diff --git a/modules/admin/test/KonSoft.Admin.HttpApi.Client.ConsoleTestApp/KonSoft.Admin.HttpApi.Client.ConsoleTestApp.csproj b/modules/admin/test/KonSoft.Admin.HttpApi.Client.ConsoleTestApp/KonSoft.Admin.HttpApi.Client.ConsoleTestApp.csproj index ddc21a1..f864072 100644 --- a/modules/admin/test/KonSoft.Admin.HttpApi.Client.ConsoleTestApp/KonSoft.Admin.HttpApi.Client.ConsoleTestApp.csproj +++ b/modules/admin/test/KonSoft.Admin.HttpApi.Client.ConsoleTestApp/KonSoft.Admin.HttpApi.Client.ConsoleTestApp.csproj @@ -22,7 +22,6 @@ - diff --git a/modules/admin/test/KonSoft.Admin.TestBase/KonSoft.Admin.TestBase.csproj b/modules/admin/test/KonSoft.Admin.TestBase/KonSoft.Admin.TestBase.csproj index 7a45449..41e3d76 100644 --- a/modules/admin/test/KonSoft.Admin.TestBase/KonSoft.Admin.TestBase.csproj +++ b/modules/admin/test/KonSoft.Admin.TestBase/KonSoft.Admin.TestBase.csproj @@ -1,7 +1,5 @@ - - net8.0 enable diff --git a/modules/dispatch/src/KonSoft.Dispatch.Application.Contracts/KonSoft.Dispatch.Application.Contracts.csproj b/modules/dispatch/src/KonSoft.Dispatch.Application.Contracts/KonSoft.Dispatch.Application.Contracts.csproj index 2a4ca1e..1c0b42a 100644 --- a/modules/dispatch/src/KonSoft.Dispatch.Application.Contracts/KonSoft.Dispatch.Application.Contracts.csproj +++ b/modules/dispatch/src/KonSoft.Dispatch.Application.Contracts/KonSoft.Dispatch.Application.Contracts.csproj @@ -1,17 +1,11 @@ - - net8.0 enable KonSoft.Dispatch - - - - diff --git a/modules/dispatch/src/KonSoft.Dispatch.Application/KonSoft.Dispatch.Application.csproj b/modules/dispatch/src/KonSoft.Dispatch.Application/KonSoft.Dispatch.Application.csproj index e7b7c5f..ad283f9 100644 --- a/modules/dispatch/src/KonSoft.Dispatch.Application/KonSoft.Dispatch.Application.csproj +++ b/modules/dispatch/src/KonSoft.Dispatch.Application/KonSoft.Dispatch.Application.csproj @@ -1,18 +1,11 @@ - - net8.0 enable KonSoft.Dispatch - - - - - diff --git a/modules/dispatch/src/KonSoft.Dispatch.DbMigrator/DbMigratorHostedService.cs b/modules/dispatch/src/KonSoft.Dispatch.DbMigrator/DbMigratorHostedService.cs deleted file mode 100644 index 08885c8..0000000 --- a/modules/dispatch/src/KonSoft.Dispatch.DbMigrator/DbMigratorHostedService.cs +++ /dev/null @@ -1,51 +0,0 @@ -using System.Threading; -using System.Threading.Tasks; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Hosting; -using KonSoft.Dispatch.Data; -using Serilog; -using Volo.Abp; -using Volo.Abp.Data; - -namespace KonSoft.Dispatch.DbMigrator; - -public class DbMigratorHostedService : IHostedService -{ - private readonly IHostApplicationLifetime _hostApplicationLifetime; - private readonly IConfiguration _configuration; - - public DbMigratorHostedService(IHostApplicationLifetime hostApplicationLifetime, IConfiguration configuration) - { - _hostApplicationLifetime = hostApplicationLifetime; - _configuration = configuration; - } - - public async Task StartAsync(CancellationToken cancellationToken) - { - using (var application = await AbpApplicationFactory.CreateAsync(options => - { - options.Services.ReplaceConfiguration(_configuration); - options.UseAutofac(); - options.Services.AddLogging(c => c.AddSerilog()); - options.AddDataMigrationEnvironment(); - })) - { - await application.InitializeAsync(); - - await application - .ServiceProvider - .GetRequiredService() - .MigrateAsync(); - - await application.ShutdownAsync(); - - _hostApplicationLifetime.StopApplication(); - } - } - - public Task StopAsync(CancellationToken cancellationToken) - { - return Task.CompletedTask; - } -} diff --git a/modules/dispatch/src/KonSoft.Dispatch.DbMigrator/DispatchDbMigratorModule.cs b/modules/dispatch/src/KonSoft.Dispatch.DbMigrator/DispatchDbMigratorModule.cs deleted file mode 100644 index d2e473c..0000000 --- a/modules/dispatch/src/KonSoft.Dispatch.DbMigrator/DispatchDbMigratorModule.cs +++ /dev/null @@ -1,21 +0,0 @@ -using KonSoft.Dispatch.EntityFrameworkCore; -using Volo.Abp.Autofac; -using Volo.Abp.Caching; -using Volo.Abp.Caching.StackExchangeRedis; -using Volo.Abp.Modularity; - -namespace KonSoft.Dispatch.DbMigrator; - -[DependsOn( - typeof(AbpAutofacModule), - typeof(AbpCachingStackExchangeRedisModule), - typeof(DispatchEntityFrameworkCoreModule), - typeof(DispatchApplicationContractsModule) - )] -public class DispatchDbMigratorModule : AbpModule -{ - public override void ConfigureServices(ServiceConfigurationContext context) - { - Configure(options => { options.KeyPrefix = "Dispatch:"; }); - } -} diff --git a/modules/dispatch/src/KonSoft.Dispatch.DbMigrator/KonSoft.Dispatch.DbMigrator.csproj b/modules/dispatch/src/KonSoft.Dispatch.DbMigrator/KonSoft.Dispatch.DbMigrator.csproj deleted file mode 100644 index 9a9728d..0000000 --- a/modules/dispatch/src/KonSoft.Dispatch.DbMigrator/KonSoft.Dispatch.DbMigrator.csproj +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Exe - net8.0 - enable - - - - - - PreserveNewest - Always - - - - PreserveNewest - Always - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/modules/dispatch/src/KonSoft.Dispatch.DbMigrator/Program.cs b/modules/dispatch/src/KonSoft.Dispatch.DbMigrator/Program.cs deleted file mode 100644 index 3aaba5b..0000000 --- a/modules/dispatch/src/KonSoft.Dispatch.DbMigrator/Program.cs +++ /dev/null @@ -1,41 +0,0 @@ -using System.IO; -using System.Threading.Tasks; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Hosting; -using Microsoft.Extensions.Logging; -using Serilog; -using Serilog.Events; - -namespace KonSoft.Dispatch.DbMigrator; - -class Program -{ - static async Task Main(string[] args) - { - Log.Logger = new LoggerConfiguration() - .MinimumLevel.Information() - .MinimumLevel.Override("Microsoft", LogEventLevel.Warning) - .MinimumLevel.Override("Volo.Abp", LogEventLevel.Warning) -#if DEBUG - .MinimumLevel.Override("KonSoft.Dispatch", LogEventLevel.Debug) -#else - .MinimumLevel.Override("KonSoft.Dispatch", LogEventLevel.Information) -#endif - .Enrich.FromLogContext() - .WriteTo.Async(c => c.File("Logs/logs.txt")) - .WriteTo.Async(c => c.Console()) - .CreateLogger(); - - await CreateHostBuilder(args).RunConsoleAsync(); - } - - public static IHostBuilder CreateHostBuilder(string[] args) => - Host.CreateDefaultBuilder(args) - .AddAppSettingsSecretsJson() - .ConfigureLogging((context, logging) => logging.ClearProviders()) - .ConfigureServices((hostContext, services) => - { - services.AddHostedService(); - }); -} diff --git a/modules/dispatch/src/KonSoft.Dispatch.DbMigrator/appsettings.json b/modules/dispatch/src/KonSoft.Dispatch.DbMigrator/appsettings.json deleted file mode 100644 index 008c2fb..0000000 --- a/modules/dispatch/src/KonSoft.Dispatch.DbMigrator/appsettings.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "ConnectionStrings": { - "Default": "Host=localhost;Port=5432;Database=Dispatch;User ID=root;Password=myPassword;" - }, - "Redis": { - "Configuration": "127.0.0.1" - }, - "OpenIddict": { - "Applications": { - "Dispatch_Swagger": { - "ClientId": "Dispatch_Swagger", - "RootUrl": "https://localhost:44321" - } - } - } -} diff --git a/modules/dispatch/src/KonSoft.Dispatch.DbMigrator/appsettings.secrets.json b/modules/dispatch/src/KonSoft.Dispatch.DbMigrator/appsettings.secrets.json deleted file mode 100644 index 7a73a41..0000000 --- a/modules/dispatch/src/KonSoft.Dispatch.DbMigrator/appsettings.secrets.json +++ /dev/null @@ -1,2 +0,0 @@ -{ -} \ No newline at end of file diff --git a/modules/dispatch/src/KonSoft.Dispatch.Domain.Shared/KonSoft.Dispatch.Domain.Shared.csproj b/modules/dispatch/src/KonSoft.Dispatch.Domain.Shared/KonSoft.Dispatch.Domain.Shared.csproj index b529317..e163967 100644 --- a/modules/dispatch/src/KonSoft.Dispatch.Domain.Shared/KonSoft.Dispatch.Domain.Shared.csproj +++ b/modules/dispatch/src/KonSoft.Dispatch.Domain.Shared/KonSoft.Dispatch.Domain.Shared.csproj @@ -1,7 +1,5 @@ - - net8.0 enable diff --git a/modules/dispatch/src/KonSoft.Dispatch.Domain/KonSoft.Dispatch.Domain.csproj b/modules/dispatch/src/KonSoft.Dispatch.Domain/KonSoft.Dispatch.Domain.csproj index a2e6370..d9d558b 100644 --- a/modules/dispatch/src/KonSoft.Dispatch.Domain/KonSoft.Dispatch.Domain.csproj +++ b/modules/dispatch/src/KonSoft.Dispatch.Domain/KonSoft.Dispatch.Domain.csproj @@ -1,17 +1,11 @@ - - net8.0 enable KonSoft.Dispatch - - - - diff --git a/modules/dispatch/src/KonSoft.Dispatch.EntityFrameworkCore/KonSoft.Dispatch.EntityFrameworkCore.csproj b/modules/dispatch/src/KonSoft.Dispatch.EntityFrameworkCore/KonSoft.Dispatch.EntityFrameworkCore.csproj index 4c1c6f1..aa5596a 100644 --- a/modules/dispatch/src/KonSoft.Dispatch.EntityFrameworkCore/KonSoft.Dispatch.EntityFrameworkCore.csproj +++ b/modules/dispatch/src/KonSoft.Dispatch.EntityFrameworkCore/KonSoft.Dispatch.EntityFrameworkCore.csproj @@ -1,7 +1,5 @@ - - net8.0 enable @@ -9,7 +7,6 @@ - diff --git a/modules/dispatch/src/KonSoft.Dispatch.HttpApi.Client/KonSoft.Dispatch.HttpApi.Client.csproj b/modules/dispatch/src/KonSoft.Dispatch.HttpApi.Client/KonSoft.Dispatch.HttpApi.Client.csproj index 08a8461..2506b50 100644 --- a/modules/dispatch/src/KonSoft.Dispatch.HttpApi.Client/KonSoft.Dispatch.HttpApi.Client.csproj +++ b/modules/dispatch/src/KonSoft.Dispatch.HttpApi.Client/KonSoft.Dispatch.HttpApi.Client.csproj @@ -1,17 +1,11 @@ - - net8.0 enable KonSoft.Dispatch - - - - diff --git a/modules/dispatch/src/KonSoft.Dispatch.HttpApi/KonSoft.Dispatch.HttpApi.csproj b/modules/dispatch/src/KonSoft.Dispatch.HttpApi/KonSoft.Dispatch.HttpApi.csproj index 0d821e0..c105bcc 100644 --- a/modules/dispatch/src/KonSoft.Dispatch.HttpApi/KonSoft.Dispatch.HttpApi.csproj +++ b/modules/dispatch/src/KonSoft.Dispatch.HttpApi/KonSoft.Dispatch.HttpApi.csproj @@ -1,17 +1,11 @@ - - net8.0 enable KonSoft.Dispatch - - - - diff --git a/modules/dispatch/test/KonSoft.Dispatch.Application.Tests/KonSoft.Dispatch.Application.Tests.csproj b/modules/dispatch/test/KonSoft.Dispatch.Application.Tests/KonSoft.Dispatch.Application.Tests.csproj index 6218618..b1cfec9 100644 --- a/modules/dispatch/test/KonSoft.Dispatch.Application.Tests/KonSoft.Dispatch.Application.Tests.csproj +++ b/modules/dispatch/test/KonSoft.Dispatch.Application.Tests/KonSoft.Dispatch.Application.Tests.csproj @@ -1,18 +1,11 @@ - - net8.0 enable KonSoft.Dispatch - - - - - diff --git a/modules/dispatch/test/KonSoft.Dispatch.Domain.Tests/KonSoft.Dispatch.Domain.Tests.csproj b/modules/dispatch/test/KonSoft.Dispatch.Domain.Tests/KonSoft.Dispatch.Domain.Tests.csproj index 2df7195..b1cfec9 100644 --- a/modules/dispatch/test/KonSoft.Dispatch.Domain.Tests/KonSoft.Dispatch.Domain.Tests.csproj +++ b/modules/dispatch/test/KonSoft.Dispatch.Domain.Tests/KonSoft.Dispatch.Domain.Tests.csproj @@ -1,7 +1,5 @@ - - net8.0 enable @@ -12,9 +10,4 @@ - - - - - diff --git a/modules/dispatch/test/KonSoft.Dispatch.EntityFrameworkCore.Tests/KonSoft.Dispatch.EntityFrameworkCore.Tests.csproj b/modules/dispatch/test/KonSoft.Dispatch.EntityFrameworkCore.Tests/KonSoft.Dispatch.EntityFrameworkCore.Tests.csproj index 7fac87a..82e25a7 100644 --- a/modules/dispatch/test/KonSoft.Dispatch.EntityFrameworkCore.Tests/KonSoft.Dispatch.EntityFrameworkCore.Tests.csproj +++ b/modules/dispatch/test/KonSoft.Dispatch.EntityFrameworkCore.Tests/KonSoft.Dispatch.EntityFrameworkCore.Tests.csproj @@ -1,7 +1,5 @@ - - net8.0 enable @@ -9,8 +7,6 @@ - - diff --git a/modules/dispatch/test/KonSoft.Dispatch.HttpApi.Client.ConsoleTestApp/KonSoft.Dispatch.HttpApi.Client.ConsoleTestApp.csproj b/modules/dispatch/test/KonSoft.Dispatch.HttpApi.Client.ConsoleTestApp/KonSoft.Dispatch.HttpApi.Client.ConsoleTestApp.csproj index 2182f74..f864072 100644 --- a/modules/dispatch/test/KonSoft.Dispatch.HttpApi.Client.ConsoleTestApp/KonSoft.Dispatch.HttpApi.Client.ConsoleTestApp.csproj +++ b/modules/dispatch/test/KonSoft.Dispatch.HttpApi.Client.ConsoleTestApp/KonSoft.Dispatch.HttpApi.Client.ConsoleTestApp.csproj @@ -22,7 +22,6 @@ - diff --git a/modules/dispatch/test/KonSoft.Dispatch.TestBase/KonSoft.Dispatch.TestBase.csproj b/modules/dispatch/test/KonSoft.Dispatch.TestBase/KonSoft.Dispatch.TestBase.csproj index 7e34e0a..a6e8677 100644 --- a/modules/dispatch/test/KonSoft.Dispatch.TestBase/KonSoft.Dispatch.TestBase.csproj +++ b/modules/dispatch/test/KonSoft.Dispatch.TestBase/KonSoft.Dispatch.TestBase.csproj @@ -1,7 +1,5 @@ - - net8.0 enable diff --git a/modules/payment/src/KonSoft.Payment.Application.Contracts/KonSoft.Payment.Application.Contracts.csproj b/modules/payment/src/KonSoft.Payment.Application.Contracts/KonSoft.Payment.Application.Contracts.csproj index dcc8a92..5f8b856 100644 --- a/modules/payment/src/KonSoft.Payment.Application.Contracts/KonSoft.Payment.Application.Contracts.csproj +++ b/modules/payment/src/KonSoft.Payment.Application.Contracts/KonSoft.Payment.Application.Contracts.csproj @@ -1,6 +1,4 @@ - - - + net8.0 @@ -8,10 +6,6 @@ KonSoft.Payment - - - - diff --git a/modules/payment/src/KonSoft.Payment.Application/KonSoft.Payment.Application.csproj b/modules/payment/src/KonSoft.Payment.Application/KonSoft.Payment.Application.csproj index 4f2eb85..6dbb541 100644 --- a/modules/payment/src/KonSoft.Payment.Application/KonSoft.Payment.Application.csproj +++ b/modules/payment/src/KonSoft.Payment.Application/KonSoft.Payment.Application.csproj @@ -1,6 +1,4 @@ - - - + net8.0 @@ -8,11 +6,6 @@ KonSoft.Payment - - - - - diff --git a/modules/payment/src/KonSoft.Payment.Domain.Shared/KonSoft.Payment.Domain.Shared.csproj b/modules/payment/src/KonSoft.Payment.Domain.Shared/KonSoft.Payment.Domain.Shared.csproj index ef9d680..e84659c 100644 --- a/modules/payment/src/KonSoft.Payment.Domain.Shared/KonSoft.Payment.Domain.Shared.csproj +++ b/modules/payment/src/KonSoft.Payment.Domain.Shared/KonSoft.Payment.Domain.Shared.csproj @@ -1,7 +1,5 @@ - - net8.0 enable diff --git a/modules/payment/src/KonSoft.Payment.Domain/KonSoft.Payment.Domain.csproj b/modules/payment/src/KonSoft.Payment.Domain/KonSoft.Payment.Domain.csproj index fdccac0..bf4e36b 100644 --- a/modules/payment/src/KonSoft.Payment.Domain/KonSoft.Payment.Domain.csproj +++ b/modules/payment/src/KonSoft.Payment.Domain/KonSoft.Payment.Domain.csproj @@ -1,17 +1,11 @@ - - net8.0 enable KonSoft.Payment - - - - diff --git a/modules/payment/src/KonSoft.Payment.EntityFrameworkCore/KonSoft.Payment.EntityFrameworkCore.csproj b/modules/payment/src/KonSoft.Payment.EntityFrameworkCore/KonSoft.Payment.EntityFrameworkCore.csproj index b1ec0b7..8546aca 100644 --- a/modules/payment/src/KonSoft.Payment.EntityFrameworkCore/KonSoft.Payment.EntityFrameworkCore.csproj +++ b/modules/payment/src/KonSoft.Payment.EntityFrameworkCore/KonSoft.Payment.EntityFrameworkCore.csproj @@ -1,7 +1,5 @@ - - net8.0 enable @@ -9,7 +7,6 @@ - diff --git a/modules/payment/src/KonSoft.Payment.HttpApi.Client/KonSoft.Payment.HttpApi.Client.csproj b/modules/payment/src/KonSoft.Payment.HttpApi.Client/KonSoft.Payment.HttpApi.Client.csproj index 59ef0ab..a1cbba6 100644 --- a/modules/payment/src/KonSoft.Payment.HttpApi.Client/KonSoft.Payment.HttpApi.Client.csproj +++ b/modules/payment/src/KonSoft.Payment.HttpApi.Client/KonSoft.Payment.HttpApi.Client.csproj @@ -1,17 +1,11 @@ - - net8.0 enable KonSoft.Payment - - - - diff --git a/modules/payment/src/KonSoft.Payment.HttpApi/KonSoft.Payment.HttpApi.csproj b/modules/payment/src/KonSoft.Payment.HttpApi/KonSoft.Payment.HttpApi.csproj index ba7550c..8e816d2 100644 --- a/modules/payment/src/KonSoft.Payment.HttpApi/KonSoft.Payment.HttpApi.csproj +++ b/modules/payment/src/KonSoft.Payment.HttpApi/KonSoft.Payment.HttpApi.csproj @@ -1,17 +1,11 @@ - - net8.0 enable KonSoft.Payment - - - - diff --git a/modules/payment/test/KonSoft.Payment.Application.Tests/KonSoft.Payment.Application.Tests.csproj b/modules/payment/test/KonSoft.Payment.Application.Tests/KonSoft.Payment.Application.Tests.csproj index 8745827..98fd8bb 100644 --- a/modules/payment/test/KonSoft.Payment.Application.Tests/KonSoft.Payment.Application.Tests.csproj +++ b/modules/payment/test/KonSoft.Payment.Application.Tests/KonSoft.Payment.Application.Tests.csproj @@ -1,18 +1,11 @@ - - net8.0 enable KonSoft.Payment - - - - - diff --git a/modules/payment/test/KonSoft.Payment.Domain.Tests/KonSoft.Payment.Domain.Tests.csproj b/modules/payment/test/KonSoft.Payment.Domain.Tests/KonSoft.Payment.Domain.Tests.csproj index 34891a2..98fd8bb 100644 --- a/modules/payment/test/KonSoft.Payment.Domain.Tests/KonSoft.Payment.Domain.Tests.csproj +++ b/modules/payment/test/KonSoft.Payment.Domain.Tests/KonSoft.Payment.Domain.Tests.csproj @@ -1,7 +1,5 @@ - - net8.0 enable @@ -12,9 +10,4 @@ - - - - - diff --git a/modules/payment/test/KonSoft.Payment.EntityFrameworkCore.Tests/KonSoft.Payment.EntityFrameworkCore.Tests.csproj b/modules/payment/test/KonSoft.Payment.EntityFrameworkCore.Tests/KonSoft.Payment.EntityFrameworkCore.Tests.csproj index 5fbb4a3..283fe3e 100644 --- a/modules/payment/test/KonSoft.Payment.EntityFrameworkCore.Tests/KonSoft.Payment.EntityFrameworkCore.Tests.csproj +++ b/modules/payment/test/KonSoft.Payment.EntityFrameworkCore.Tests/KonSoft.Payment.EntityFrameworkCore.Tests.csproj @@ -1,7 +1,5 @@ - - net8.0 enable @@ -9,8 +7,6 @@ - - diff --git a/modules/payment/test/KonSoft.Payment.HttpApi.Client.ConsoleTestApp/KonSoft.Payment.HttpApi.Client.ConsoleTestApp.csproj b/modules/payment/test/KonSoft.Payment.HttpApi.Client.ConsoleTestApp/KonSoft.Payment.HttpApi.Client.ConsoleTestApp.csproj index 0ec131f..f864072 100644 --- a/modules/payment/test/KonSoft.Payment.HttpApi.Client.ConsoleTestApp/KonSoft.Payment.HttpApi.Client.ConsoleTestApp.csproj +++ b/modules/payment/test/KonSoft.Payment.HttpApi.Client.ConsoleTestApp/KonSoft.Payment.HttpApi.Client.ConsoleTestApp.csproj @@ -22,7 +22,6 @@ - diff --git a/modules/payment/test/KonSoft.Payment.TestBase/KonSoft.Payment.TestBase.csproj b/modules/payment/test/KonSoft.Payment.TestBase/KonSoft.Payment.TestBase.csproj index 9272bcd..041f679 100644 --- a/modules/payment/test/KonSoft.Payment.TestBase/KonSoft.Payment.TestBase.csproj +++ b/modules/payment/test/KonSoft.Payment.TestBase/KonSoft.Payment.TestBase.csproj @@ -1,7 +1,5 @@ - - net8.0 enable diff --git a/modules/report/src/KonSoft.Report.Application.Contracts/KonSoft.Report.Application.Contracts.csproj b/modules/report/src/KonSoft.Report.Application.Contracts/KonSoft.Report.Application.Contracts.csproj index cc23daa..46d0292 100644 --- a/modules/report/src/KonSoft.Report.Application.Contracts/KonSoft.Report.Application.Contracts.csproj +++ b/modules/report/src/KonSoft.Report.Application.Contracts/KonSoft.Report.Application.Contracts.csproj @@ -1,17 +1,11 @@ - - net8.0 enable KonSoft.Report - - - - diff --git a/modules/report/src/KonSoft.Report.Application/KonSoft.Report.Application.csproj b/modules/report/src/KonSoft.Report.Application/KonSoft.Report.Application.csproj index e39e71e..2ac716d 100644 --- a/modules/report/src/KonSoft.Report.Application/KonSoft.Report.Application.csproj +++ b/modules/report/src/KonSoft.Report.Application/KonSoft.Report.Application.csproj @@ -1,18 +1,11 @@ - - net8.0 enable KonSoft.Report - - - - - diff --git a/modules/report/src/KonSoft.Report.Domain.Shared/KonSoft.Report.Domain.Shared.csproj b/modules/report/src/KonSoft.Report.Domain.Shared/KonSoft.Report.Domain.Shared.csproj index 80b1023..2fd5934 100644 --- a/modules/report/src/KonSoft.Report.Domain.Shared/KonSoft.Report.Domain.Shared.csproj +++ b/modules/report/src/KonSoft.Report.Domain.Shared/KonSoft.Report.Domain.Shared.csproj @@ -1,7 +1,5 @@ - - net8.0 enable diff --git a/modules/report/src/KonSoft.Report.Domain/KonSoft.Report.Domain.csproj b/modules/report/src/KonSoft.Report.Domain/KonSoft.Report.Domain.csproj index 3ca0779..57b6cdc 100644 --- a/modules/report/src/KonSoft.Report.Domain/KonSoft.Report.Domain.csproj +++ b/modules/report/src/KonSoft.Report.Domain/KonSoft.Report.Domain.csproj @@ -1,17 +1,11 @@ - - net8.0 enable KonSoft.Report - - - - diff --git a/modules/report/src/KonSoft.Report.EntityFrameworkCore/KonSoft.Report.EntityFrameworkCore.csproj b/modules/report/src/KonSoft.Report.EntityFrameworkCore/KonSoft.Report.EntityFrameworkCore.csproj index d31cb9c..cdaa6a2 100644 --- a/modules/report/src/KonSoft.Report.EntityFrameworkCore/KonSoft.Report.EntityFrameworkCore.csproj +++ b/modules/report/src/KonSoft.Report.EntityFrameworkCore/KonSoft.Report.EntityFrameworkCore.csproj @@ -1,7 +1,5 @@ - - net8.0 enable @@ -9,7 +7,6 @@ - diff --git a/modules/report/src/KonSoft.Report.HttpApi.Client/KonSoft.Report.HttpApi.Client.csproj b/modules/report/src/KonSoft.Report.HttpApi.Client/KonSoft.Report.HttpApi.Client.csproj index 85a166a..0bf7907 100644 --- a/modules/report/src/KonSoft.Report.HttpApi.Client/KonSoft.Report.HttpApi.Client.csproj +++ b/modules/report/src/KonSoft.Report.HttpApi.Client/KonSoft.Report.HttpApi.Client.csproj @@ -1,17 +1,11 @@ - - net8.0 enable KonSoft.Report - - - - diff --git a/modules/report/src/KonSoft.Report.HttpApi/KonSoft.Report.HttpApi.csproj b/modules/report/src/KonSoft.Report.HttpApi/KonSoft.Report.HttpApi.csproj index acf82b7..7d3da14 100644 --- a/modules/report/src/KonSoft.Report.HttpApi/KonSoft.Report.HttpApi.csproj +++ b/modules/report/src/KonSoft.Report.HttpApi/KonSoft.Report.HttpApi.csproj @@ -1,17 +1,11 @@ - - net8.0 enable KonSoft.Report - - - - diff --git a/modules/report/test/KonSoft.Report.Application.Tests/KonSoft.Report.Application.Tests.csproj b/modules/report/test/KonSoft.Report.Application.Tests/KonSoft.Report.Application.Tests.csproj index c5374fb..bddcba4 100644 --- a/modules/report/test/KonSoft.Report.Application.Tests/KonSoft.Report.Application.Tests.csproj +++ b/modules/report/test/KonSoft.Report.Application.Tests/KonSoft.Report.Application.Tests.csproj @@ -1,18 +1,11 @@ - - net8.0 enable KonSoft.Report - - - - - diff --git a/modules/report/test/KonSoft.Report.Domain.Tests/KonSoft.Report.Domain.Tests.csproj b/modules/report/test/KonSoft.Report.Domain.Tests/KonSoft.Report.Domain.Tests.csproj index f294473..bddcba4 100644 --- a/modules/report/test/KonSoft.Report.Domain.Tests/KonSoft.Report.Domain.Tests.csproj +++ b/modules/report/test/KonSoft.Report.Domain.Tests/KonSoft.Report.Domain.Tests.csproj @@ -1,7 +1,5 @@ - - net8.0 enable @@ -12,9 +10,4 @@ - - - - - diff --git a/modules/report/test/KonSoft.Report.EntityFrameworkCore.Tests/KonSoft.Report.EntityFrameworkCore.Tests.csproj b/modules/report/test/KonSoft.Report.EntityFrameworkCore.Tests/KonSoft.Report.EntityFrameworkCore.Tests.csproj index fbb99dc..ed0dfd3 100644 --- a/modules/report/test/KonSoft.Report.EntityFrameworkCore.Tests/KonSoft.Report.EntityFrameworkCore.Tests.csproj +++ b/modules/report/test/KonSoft.Report.EntityFrameworkCore.Tests/KonSoft.Report.EntityFrameworkCore.Tests.csproj @@ -1,7 +1,5 @@ - - net8.0 enable @@ -9,8 +7,6 @@ - - diff --git a/modules/report/test/KonSoft.Report.HttpApi.Client.ConsoleTestApp/KonSoft.Report.HttpApi.Client.ConsoleTestApp.csproj b/modules/report/test/KonSoft.Report.HttpApi.Client.ConsoleTestApp/KonSoft.Report.HttpApi.Client.ConsoleTestApp.csproj index 357a6d6..f864072 100644 --- a/modules/report/test/KonSoft.Report.HttpApi.Client.ConsoleTestApp/KonSoft.Report.HttpApi.Client.ConsoleTestApp.csproj +++ b/modules/report/test/KonSoft.Report.HttpApi.Client.ConsoleTestApp/KonSoft.Report.HttpApi.Client.ConsoleTestApp.csproj @@ -22,7 +22,6 @@ - diff --git a/modules/report/test/KonSoft.Report.TestBase/KonSoft.Report.TestBase.csproj b/modules/report/test/KonSoft.Report.TestBase/KonSoft.Report.TestBase.csproj index e162884..92ea455 100644 --- a/modules/report/test/KonSoft.Report.TestBase/KonSoft.Report.TestBase.csproj +++ b/modules/report/test/KonSoft.Report.TestBase/KonSoft.Report.TestBase.csproj @@ -1,7 +1,5 @@ - - net8.0 enable diff --git a/modules/tenant-management/src/KonSoft.TenantManagement.Application.Contracts/KonSoft.TenantManagement.Application.Contracts.csproj b/modules/tenant-management/src/KonSoft.TenantManagement.Application.Contracts/KonSoft.TenantManagement.Application.Contracts.csproj index 254eea6..19fa328 100644 --- a/modules/tenant-management/src/KonSoft.TenantManagement.Application.Contracts/KonSoft.TenantManagement.Application.Contracts.csproj +++ b/modules/tenant-management/src/KonSoft.TenantManagement.Application.Contracts/KonSoft.TenantManagement.Application.Contracts.csproj @@ -1,17 +1,11 @@ - - net8.0 enable KonSoft.TenantManagement - - - - diff --git a/modules/tenant-management/src/KonSoft.TenantManagement.Application/KonSoft.TenantManagement.Application.csproj b/modules/tenant-management/src/KonSoft.TenantManagement.Application/KonSoft.TenantManagement.Application.csproj index 6c2e177..cffa339 100644 --- a/modules/tenant-management/src/KonSoft.TenantManagement.Application/KonSoft.TenantManagement.Application.csproj +++ b/modules/tenant-management/src/KonSoft.TenantManagement.Application/KonSoft.TenantManagement.Application.csproj @@ -1,18 +1,11 @@ - - net8.0 enable KonSoft.TenantManagement - - - - - diff --git a/modules/tenant-management/src/KonSoft.TenantManagement.Domain.Shared/KonSoft.TenantManagement.Domain.Shared.csproj b/modules/tenant-management/src/KonSoft.TenantManagement.Domain.Shared/KonSoft.TenantManagement.Domain.Shared.csproj index bdf9f4d..78c37e1 100644 --- a/modules/tenant-management/src/KonSoft.TenantManagement.Domain.Shared/KonSoft.TenantManagement.Domain.Shared.csproj +++ b/modules/tenant-management/src/KonSoft.TenantManagement.Domain.Shared/KonSoft.TenantManagement.Domain.Shared.csproj @@ -1,7 +1,5 @@ - - net8.0 enable diff --git a/modules/tenant-management/src/KonSoft.TenantManagement.Domain/KonSoft.TenantManagement.Domain.csproj b/modules/tenant-management/src/KonSoft.TenantManagement.Domain/KonSoft.TenantManagement.Domain.csproj index 80340f9..902488f 100644 --- a/modules/tenant-management/src/KonSoft.TenantManagement.Domain/KonSoft.TenantManagement.Domain.csproj +++ b/modules/tenant-management/src/KonSoft.TenantManagement.Domain/KonSoft.TenantManagement.Domain.csproj @@ -1,17 +1,11 @@ - - net8.0 enable KonSoft.TenantManagement - - - - diff --git a/modules/tenant-management/src/KonSoft.TenantManagement.EntityFrameworkCore/KonSoft.TenantManagement.EntityFrameworkCore.csproj b/modules/tenant-management/src/KonSoft.TenantManagement.EntityFrameworkCore/KonSoft.TenantManagement.EntityFrameworkCore.csproj index 619558b..2f144cf 100644 --- a/modules/tenant-management/src/KonSoft.TenantManagement.EntityFrameworkCore/KonSoft.TenantManagement.EntityFrameworkCore.csproj +++ b/modules/tenant-management/src/KonSoft.TenantManagement.EntityFrameworkCore/KonSoft.TenantManagement.EntityFrameworkCore.csproj @@ -1,7 +1,5 @@ - - net8.0 enable @@ -9,7 +7,6 @@ - diff --git a/modules/tenant-management/src/KonSoft.TenantManagement.HttpApi.Client/KonSoft.TenantManagement.HttpApi.Client.csproj b/modules/tenant-management/src/KonSoft.TenantManagement.HttpApi.Client/KonSoft.TenantManagement.HttpApi.Client.csproj index f7ec709..82f550a 100644 --- a/modules/tenant-management/src/KonSoft.TenantManagement.HttpApi.Client/KonSoft.TenantManagement.HttpApi.Client.csproj +++ b/modules/tenant-management/src/KonSoft.TenantManagement.HttpApi.Client/KonSoft.TenantManagement.HttpApi.Client.csproj @@ -1,17 +1,11 @@ - - net8.0 enable KonSoft.TenantManagement - - - - diff --git a/modules/tenant-management/src/KonSoft.TenantManagement.HttpApi/KonSoft.TenantManagement.HttpApi.csproj b/modules/tenant-management/src/KonSoft.TenantManagement.HttpApi/KonSoft.TenantManagement.HttpApi.csproj index f81b1e6..5d0312a 100644 --- a/modules/tenant-management/src/KonSoft.TenantManagement.HttpApi/KonSoft.TenantManagement.HttpApi.csproj +++ b/modules/tenant-management/src/KonSoft.TenantManagement.HttpApi/KonSoft.TenantManagement.HttpApi.csproj @@ -1,17 +1,11 @@ - - net8.0 enable KonSoft.TenantManagement - - - - diff --git a/modules/tenant-management/test/KonSoft.TenantManagement.Application.Tests/KonSoft.TenantManagement.Application.Tests.csproj b/modules/tenant-management/test/KonSoft.TenantManagement.Application.Tests/KonSoft.TenantManagement.Application.Tests.csproj index 9e3bdd2..27353a3 100644 --- a/modules/tenant-management/test/KonSoft.TenantManagement.Application.Tests/KonSoft.TenantManagement.Application.Tests.csproj +++ b/modules/tenant-management/test/KonSoft.TenantManagement.Application.Tests/KonSoft.TenantManagement.Application.Tests.csproj @@ -1,18 +1,11 @@ - - net8.0 enable KonSoft.TenantManagement - - - - - diff --git a/modules/tenant-management/test/KonSoft.TenantManagement.Domain.Tests/KonSoft.TenantManagement.Domain.Tests.csproj b/modules/tenant-management/test/KonSoft.TenantManagement.Domain.Tests/KonSoft.TenantManagement.Domain.Tests.csproj index 16c92b5..27353a3 100644 --- a/modules/tenant-management/test/KonSoft.TenantManagement.Domain.Tests/KonSoft.TenantManagement.Domain.Tests.csproj +++ b/modules/tenant-management/test/KonSoft.TenantManagement.Domain.Tests/KonSoft.TenantManagement.Domain.Tests.csproj @@ -1,7 +1,5 @@ - - net8.0 enable @@ -12,9 +10,4 @@ - - - - - diff --git a/modules/tenant-management/test/KonSoft.TenantManagement.EntityFrameworkCore.Tests/KonSoft.TenantManagement.EntityFrameworkCore.Tests.csproj b/modules/tenant-management/test/KonSoft.TenantManagement.EntityFrameworkCore.Tests/KonSoft.TenantManagement.EntityFrameworkCore.Tests.csproj index f77824c..dcb976d 100644 --- a/modules/tenant-management/test/KonSoft.TenantManagement.EntityFrameworkCore.Tests/KonSoft.TenantManagement.EntityFrameworkCore.Tests.csproj +++ b/modules/tenant-management/test/KonSoft.TenantManagement.EntityFrameworkCore.Tests/KonSoft.TenantManagement.EntityFrameworkCore.Tests.csproj @@ -1,7 +1,5 @@ - - net8.0 enable @@ -9,8 +7,6 @@ - - diff --git a/modules/tenant-management/test/KonSoft.TenantManagement.HttpApi.Client.ConsoleTestApp/KonSoft.TenantManagement.HttpApi.Client.ConsoleTestApp.csproj b/modules/tenant-management/test/KonSoft.TenantManagement.HttpApi.Client.ConsoleTestApp/KonSoft.TenantManagement.HttpApi.Client.ConsoleTestApp.csproj index b2b2c45..f864072 100644 --- a/modules/tenant-management/test/KonSoft.TenantManagement.HttpApi.Client.ConsoleTestApp/KonSoft.TenantManagement.HttpApi.Client.ConsoleTestApp.csproj +++ b/modules/tenant-management/test/KonSoft.TenantManagement.HttpApi.Client.ConsoleTestApp/KonSoft.TenantManagement.HttpApi.Client.ConsoleTestApp.csproj @@ -22,7 +22,6 @@ - diff --git a/modules/tenant-management/test/KonSoft.TenantManagement.TestBase/KonSoft.TenantManagement.TestBase.csproj b/modules/tenant-management/test/KonSoft.TenantManagement.TestBase/KonSoft.TenantManagement.TestBase.csproj index d7742e1..1374761 100644 --- a/modules/tenant-management/test/KonSoft.TenantManagement.TestBase/KonSoft.TenantManagement.TestBase.csproj +++ b/modules/tenant-management/test/KonSoft.TenantManagement.TestBase/KonSoft.TenantManagement.TestBase.csproj @@ -1,7 +1,5 @@ - - net8.0 enable