Структура
This commit is contained in:
403
backend/Knot.sln
403
backend/Knot.sln
@@ -173,31 +173,57 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Profiles.UnitT
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Contracts", "Contracts", "{FFBE31B8-50B9-B415-22BC-2F92C97CADA3}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Admin.Contracts", "src\Contracts\Knot.Modules.Admin.Contracts\Knot.Modules.Admin.Contracts.csproj", "{1D50E7AA-2378-4114-A3C3-E351D46FB8BF}"
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Admin", "Admin", "{1C8A9B45-FCC1-A5B3-3601-CB39D7CED4E3}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Auth.Contracts", "src\Contracts\Knot.Modules.Auth.Contracts\Knot.Modules.Auth.Contracts.csproj", "{E8C0F163-735D-44A2-B684-673A0B0D7D2A}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Contracts.Admin", "src\Contracts\Admin\Knot.Contracts.Admin.csproj", "{D3C7D267-5646-4907-A451-E7CFA853BBF5}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Conversations.Contracts", "src\Contracts\Knot.Modules.Conversations.Contracts\Knot.Modules.Conversations.Contracts.csproj", "{65E67218-A02C-4C42-8B60-6FDAB737E613}"
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Auth", "Auth", "{28F8F726-0D9B-F051-A252-088B861055C6}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Federation.Contracts", "src\Contracts\Knot.Modules.Federation.Contracts\Knot.Modules.Federation.Contracts.csproj", "{7226D94C-B9A5-41D7-9E59-50A68F39EE78}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Contracts.Auth", "src\Contracts\Auth\Knot.Contracts.Auth.csproj", "{D65EE034-84B9-4EBE-BC1F-5606AB4524A4}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Klipy.Contracts", "src\Contracts\Knot.Modules.Klipy.Contracts\Knot.Modules.Klipy.Contracts.csproj", "{4AC0C433-475F-4B0C-B160-E4F33779E3CB}"
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Conversations", "Conversations", "{19B3F750-A3A3-3AEB-CE4F-46FB52BB3151}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Messaging.Contracts", "src\Contracts\Knot.Modules.Messaging.Contracts\Knot.Modules.Messaging.Contracts.csproj", "{9D86914A-43A8-4451-BEFD-092ABFF793D6}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Contracts.Conversations", "src\Contracts\Conversations\Knot.Contracts.Conversations.csproj", "{17B31CB0-F2C5-47A6-9BF2-C55403C97DC7}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Profiles.Contracts", "src\Contracts\Knot.Modules.Profiles.Contracts\Knot.Modules.Profiles.Contracts.csproj", "{1DC69DD3-3348-4375-844C-D44A760D50EC}"
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Federation", "Federation", "{E97EBA1B-122C-1D64-94D9-187425FF5DF0}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Relations.Contracts", "src\Contracts\Knot.Modules.Relations.Contracts\Knot.Modules.Relations.Contracts.csproj", "{352A455F-AC3F-4D34-BADA-574BF83E131C}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Contracts.Federation", "src\Contracts\Federation\Knot.Contracts.Federation.csproj", "{62A821F2-F296-4888-8AB1-A80ED514AC08}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Settings.Contracts", "src\Contracts\Knot.Modules.Settings.Contracts\Knot.Modules.Settings.Contracts.csproj", "{D10F0FA0-A682-42D4-A23F-46094D14A8F6}"
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Klipy", "Klipy", "{7555181C-EB04-A6C5-D475-6FC0320F57B5}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Storage.Contracts", "src\Contracts\Knot.Modules.Storage.Contracts\Knot.Modules.Storage.Contracts.csproj", "{F57F6152-A359-4BB5-AC01-5531C85EE47A}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Contracts.Klipy", "src\Contracts\Klipy\Knot.Contracts.Klipy.csproj", "{D0CE2D52-EC1C-444E-A5C5-79813E1814D4}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Stories.Contracts", "src\Contracts\Knot.Modules.Stories.Contracts\Knot.Modules.Stories.Contracts.csproj", "{32631ED6-956A-4572-AD7A-B8D0ECE26C78}"
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Messaging", "Messaging", "{3E835F76-AFEE-6419-1441-2CED62F241B2}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.TelegramImport.Contracts", "src\Contracts\Knot.Modules.TelegramImport.Contracts\Knot.Modules.TelegramImport.Contracts.csproj", "{7E22E87D-78D2-411D-AC30-2F090C3F5ED5}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Contracts.Messaging", "src\Contracts\Messaging\Knot.Contracts.Messaging.csproj", "{87048157-DF94-49E6-A34F-7DEF3255FA35}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.WebRtc.Contracts", "src\Contracts\Knot.Modules.WebRtc.Contracts\Knot.Modules.WebRtc.Contracts.csproj", "{623330CA-6CA5-4B74-A921-DEAE8002FCC5}"
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Profiles", "Profiles", "{0286CA1A-73E9-C153-D97B-31BA60AC101B}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Contracts.Profiles", "src\Contracts\Profiles\Knot.Contracts.Profiles.csproj", "{D28F8DB7-077E-47F6-B07D-BB93AF950A0D}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Relations", "Relations", "{319B016B-E46C-7232-249F-DBE50922C757}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Contracts.Relations", "src\Contracts\Relations\Knot.Contracts.Relations.csproj", "{75CDF4D0-53B2-4FCE-9C2D-06940FD2E817}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Settings", "Settings", "{C91F5B42-26A0-36B8-1C54-AE965E022F68}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Contracts.Settings", "src\Contracts\Settings\Knot.Contracts.Settings.csproj", "{338C69EA-F921-41B3-BB6C-116AADEBF356}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Storage", "Storage", "{6F45E82C-238A-FDE4-59E5-CCCD65D77EB8}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Contracts.Storage", "src\Contracts\Storage\Knot.Contracts.Storage.csproj", "{531F88C6-B9A5-4BF6-A121-AAA95DE4A288}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Stories", "Stories", "{3DE423CC-7CB5-260E-2A62-D5E89000EF8F}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Contracts.Stories", "src\Contracts\Stories\Knot.Contracts.Stories.csproj", "{613354F0-3B35-4406-8250-C8E88A0DECF6}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TelegramImport", "TelegramImport", "{5C1B4B87-5A65-F9C7-EAA3-6456BCBFD6EC}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Contracts.TelegramImport", "src\Contracts\TelegramImport\Knot.Contracts.TelegramImport.csproj", "{A47CCC4C-8B19-4A12-8B05-BE4AAEABB1BA}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebRtc", "WebRtc", "{6DD751EB-CB14-7F42-4B4B-7E4DCC49705A}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Contracts.WebRtc", "src\Contracts\WebRtc\Knot.Contracts.WebRtc.csproj", "{D939680D-864D-4FED-A81D-8F30EE6A97A0}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
@@ -629,162 +655,162 @@ Global
|
||||
{6BD8DC02-2270-4276-952E-E34E973A1237}.Release|x64.Build.0 = Release|Any CPU
|
||||
{6BD8DC02-2270-4276-952E-E34E973A1237}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{6BD8DC02-2270-4276-952E-E34E973A1237}.Release|x86.Build.0 = Release|Any CPU
|
||||
{1D50E7AA-2378-4114-A3C3-E351D46FB8BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1D50E7AA-2378-4114-A3C3-E351D46FB8BF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1D50E7AA-2378-4114-A3C3-E351D46FB8BF}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{1D50E7AA-2378-4114-A3C3-E351D46FB8BF}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{1D50E7AA-2378-4114-A3C3-E351D46FB8BF}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{1D50E7AA-2378-4114-A3C3-E351D46FB8BF}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{1D50E7AA-2378-4114-A3C3-E351D46FB8BF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1D50E7AA-2378-4114-A3C3-E351D46FB8BF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1D50E7AA-2378-4114-A3C3-E351D46FB8BF}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{1D50E7AA-2378-4114-A3C3-E351D46FB8BF}.Release|x64.Build.0 = Release|Any CPU
|
||||
{1D50E7AA-2378-4114-A3C3-E351D46FB8BF}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{1D50E7AA-2378-4114-A3C3-E351D46FB8BF}.Release|x86.Build.0 = Release|Any CPU
|
||||
{E8C0F163-735D-44A2-B684-673A0B0D7D2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E8C0F163-735D-44A2-B684-673A0B0D7D2A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E8C0F163-735D-44A2-B684-673A0B0D7D2A}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{E8C0F163-735D-44A2-B684-673A0B0D7D2A}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{E8C0F163-735D-44A2-B684-673A0B0D7D2A}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{E8C0F163-735D-44A2-B684-673A0B0D7D2A}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{E8C0F163-735D-44A2-B684-673A0B0D7D2A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E8C0F163-735D-44A2-B684-673A0B0D7D2A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E8C0F163-735D-44A2-B684-673A0B0D7D2A}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{E8C0F163-735D-44A2-B684-673A0B0D7D2A}.Release|x64.Build.0 = Release|Any CPU
|
||||
{E8C0F163-735D-44A2-B684-673A0B0D7D2A}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{E8C0F163-735D-44A2-B684-673A0B0D7D2A}.Release|x86.Build.0 = Release|Any CPU
|
||||
{65E67218-A02C-4C42-8B60-6FDAB737E613}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{65E67218-A02C-4C42-8B60-6FDAB737E613}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{65E67218-A02C-4C42-8B60-6FDAB737E613}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{65E67218-A02C-4C42-8B60-6FDAB737E613}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{65E67218-A02C-4C42-8B60-6FDAB737E613}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{65E67218-A02C-4C42-8B60-6FDAB737E613}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{65E67218-A02C-4C42-8B60-6FDAB737E613}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{65E67218-A02C-4C42-8B60-6FDAB737E613}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{65E67218-A02C-4C42-8B60-6FDAB737E613}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{65E67218-A02C-4C42-8B60-6FDAB737E613}.Release|x64.Build.0 = Release|Any CPU
|
||||
{65E67218-A02C-4C42-8B60-6FDAB737E613}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{65E67218-A02C-4C42-8B60-6FDAB737E613}.Release|x86.Build.0 = Release|Any CPU
|
||||
{7226D94C-B9A5-41D7-9E59-50A68F39EE78}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7226D94C-B9A5-41D7-9E59-50A68F39EE78}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7226D94C-B9A5-41D7-9E59-50A68F39EE78}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{7226D94C-B9A5-41D7-9E59-50A68F39EE78}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{7226D94C-B9A5-41D7-9E59-50A68F39EE78}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{7226D94C-B9A5-41D7-9E59-50A68F39EE78}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{7226D94C-B9A5-41D7-9E59-50A68F39EE78}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7226D94C-B9A5-41D7-9E59-50A68F39EE78}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7226D94C-B9A5-41D7-9E59-50A68F39EE78}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{7226D94C-B9A5-41D7-9E59-50A68F39EE78}.Release|x64.Build.0 = Release|Any CPU
|
||||
{7226D94C-B9A5-41D7-9E59-50A68F39EE78}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{7226D94C-B9A5-41D7-9E59-50A68F39EE78}.Release|x86.Build.0 = Release|Any CPU
|
||||
{4AC0C433-475F-4B0C-B160-E4F33779E3CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4AC0C433-475F-4B0C-B160-E4F33779E3CB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4AC0C433-475F-4B0C-B160-E4F33779E3CB}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{4AC0C433-475F-4B0C-B160-E4F33779E3CB}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{4AC0C433-475F-4B0C-B160-E4F33779E3CB}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{4AC0C433-475F-4B0C-B160-E4F33779E3CB}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{4AC0C433-475F-4B0C-B160-E4F33779E3CB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4AC0C433-475F-4B0C-B160-E4F33779E3CB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{4AC0C433-475F-4B0C-B160-E4F33779E3CB}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{4AC0C433-475F-4B0C-B160-E4F33779E3CB}.Release|x64.Build.0 = Release|Any CPU
|
||||
{4AC0C433-475F-4B0C-B160-E4F33779E3CB}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{4AC0C433-475F-4B0C-B160-E4F33779E3CB}.Release|x86.Build.0 = Release|Any CPU
|
||||
{9D86914A-43A8-4451-BEFD-092ABFF793D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9D86914A-43A8-4451-BEFD-092ABFF793D6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9D86914A-43A8-4451-BEFD-092ABFF793D6}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{9D86914A-43A8-4451-BEFD-092ABFF793D6}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{9D86914A-43A8-4451-BEFD-092ABFF793D6}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{9D86914A-43A8-4451-BEFD-092ABFF793D6}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{9D86914A-43A8-4451-BEFD-092ABFF793D6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{9D86914A-43A8-4451-BEFD-092ABFF793D6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{9D86914A-43A8-4451-BEFD-092ABFF793D6}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{9D86914A-43A8-4451-BEFD-092ABFF793D6}.Release|x64.Build.0 = Release|Any CPU
|
||||
{9D86914A-43A8-4451-BEFD-092ABFF793D6}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{9D86914A-43A8-4451-BEFD-092ABFF793D6}.Release|x86.Build.0 = Release|Any CPU
|
||||
{1DC69DD3-3348-4375-844C-D44A760D50EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1DC69DD3-3348-4375-844C-D44A760D50EC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1DC69DD3-3348-4375-844C-D44A760D50EC}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{1DC69DD3-3348-4375-844C-D44A760D50EC}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{1DC69DD3-3348-4375-844C-D44A760D50EC}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{1DC69DD3-3348-4375-844C-D44A760D50EC}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{1DC69DD3-3348-4375-844C-D44A760D50EC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1DC69DD3-3348-4375-844C-D44A760D50EC}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1DC69DD3-3348-4375-844C-D44A760D50EC}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{1DC69DD3-3348-4375-844C-D44A760D50EC}.Release|x64.Build.0 = Release|Any CPU
|
||||
{1DC69DD3-3348-4375-844C-D44A760D50EC}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{1DC69DD3-3348-4375-844C-D44A760D50EC}.Release|x86.Build.0 = Release|Any CPU
|
||||
{352A455F-AC3F-4D34-BADA-574BF83E131C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{352A455F-AC3F-4D34-BADA-574BF83E131C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{352A455F-AC3F-4D34-BADA-574BF83E131C}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{352A455F-AC3F-4D34-BADA-574BF83E131C}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{352A455F-AC3F-4D34-BADA-574BF83E131C}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{352A455F-AC3F-4D34-BADA-574BF83E131C}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{352A455F-AC3F-4D34-BADA-574BF83E131C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{352A455F-AC3F-4D34-BADA-574BF83E131C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{352A455F-AC3F-4D34-BADA-574BF83E131C}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{352A455F-AC3F-4D34-BADA-574BF83E131C}.Release|x64.Build.0 = Release|Any CPU
|
||||
{352A455F-AC3F-4D34-BADA-574BF83E131C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{352A455F-AC3F-4D34-BADA-574BF83E131C}.Release|x86.Build.0 = Release|Any CPU
|
||||
{D10F0FA0-A682-42D4-A23F-46094D14A8F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D10F0FA0-A682-42D4-A23F-46094D14A8F6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D10F0FA0-A682-42D4-A23F-46094D14A8F6}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{D10F0FA0-A682-42D4-A23F-46094D14A8F6}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{D10F0FA0-A682-42D4-A23F-46094D14A8F6}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{D10F0FA0-A682-42D4-A23F-46094D14A8F6}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{D10F0FA0-A682-42D4-A23F-46094D14A8F6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D10F0FA0-A682-42D4-A23F-46094D14A8F6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D10F0FA0-A682-42D4-A23F-46094D14A8F6}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{D10F0FA0-A682-42D4-A23F-46094D14A8F6}.Release|x64.Build.0 = Release|Any CPU
|
||||
{D10F0FA0-A682-42D4-A23F-46094D14A8F6}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{D10F0FA0-A682-42D4-A23F-46094D14A8F6}.Release|x86.Build.0 = Release|Any CPU
|
||||
{F57F6152-A359-4BB5-AC01-5531C85EE47A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F57F6152-A359-4BB5-AC01-5531C85EE47A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F57F6152-A359-4BB5-AC01-5531C85EE47A}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{F57F6152-A359-4BB5-AC01-5531C85EE47A}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{F57F6152-A359-4BB5-AC01-5531C85EE47A}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{F57F6152-A359-4BB5-AC01-5531C85EE47A}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{F57F6152-A359-4BB5-AC01-5531C85EE47A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F57F6152-A359-4BB5-AC01-5531C85EE47A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F57F6152-A359-4BB5-AC01-5531C85EE47A}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{F57F6152-A359-4BB5-AC01-5531C85EE47A}.Release|x64.Build.0 = Release|Any CPU
|
||||
{F57F6152-A359-4BB5-AC01-5531C85EE47A}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{F57F6152-A359-4BB5-AC01-5531C85EE47A}.Release|x86.Build.0 = Release|Any CPU
|
||||
{32631ED6-956A-4572-AD7A-B8D0ECE26C78}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{32631ED6-956A-4572-AD7A-B8D0ECE26C78}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{32631ED6-956A-4572-AD7A-B8D0ECE26C78}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{32631ED6-956A-4572-AD7A-B8D0ECE26C78}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{32631ED6-956A-4572-AD7A-B8D0ECE26C78}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{32631ED6-956A-4572-AD7A-B8D0ECE26C78}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{32631ED6-956A-4572-AD7A-B8D0ECE26C78}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{32631ED6-956A-4572-AD7A-B8D0ECE26C78}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{32631ED6-956A-4572-AD7A-B8D0ECE26C78}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{32631ED6-956A-4572-AD7A-B8D0ECE26C78}.Release|x64.Build.0 = Release|Any CPU
|
||||
{32631ED6-956A-4572-AD7A-B8D0ECE26C78}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{32631ED6-956A-4572-AD7A-B8D0ECE26C78}.Release|x86.Build.0 = Release|Any CPU
|
||||
{7E22E87D-78D2-411D-AC30-2F090C3F5ED5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7E22E87D-78D2-411D-AC30-2F090C3F5ED5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7E22E87D-78D2-411D-AC30-2F090C3F5ED5}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{7E22E87D-78D2-411D-AC30-2F090C3F5ED5}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{7E22E87D-78D2-411D-AC30-2F090C3F5ED5}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{7E22E87D-78D2-411D-AC30-2F090C3F5ED5}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{7E22E87D-78D2-411D-AC30-2F090C3F5ED5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7E22E87D-78D2-411D-AC30-2F090C3F5ED5}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7E22E87D-78D2-411D-AC30-2F090C3F5ED5}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{7E22E87D-78D2-411D-AC30-2F090C3F5ED5}.Release|x64.Build.0 = Release|Any CPU
|
||||
{7E22E87D-78D2-411D-AC30-2F090C3F5ED5}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{7E22E87D-78D2-411D-AC30-2F090C3F5ED5}.Release|x86.Build.0 = Release|Any CPU
|
||||
{623330CA-6CA5-4B74-A921-DEAE8002FCC5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{623330CA-6CA5-4B74-A921-DEAE8002FCC5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{623330CA-6CA5-4B74-A921-DEAE8002FCC5}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{623330CA-6CA5-4B74-A921-DEAE8002FCC5}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{623330CA-6CA5-4B74-A921-DEAE8002FCC5}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{623330CA-6CA5-4B74-A921-DEAE8002FCC5}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{623330CA-6CA5-4B74-A921-DEAE8002FCC5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{623330CA-6CA5-4B74-A921-DEAE8002FCC5}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{623330CA-6CA5-4B74-A921-DEAE8002FCC5}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{623330CA-6CA5-4B74-A921-DEAE8002FCC5}.Release|x64.Build.0 = Release|Any CPU
|
||||
{623330CA-6CA5-4B74-A921-DEAE8002FCC5}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{623330CA-6CA5-4B74-A921-DEAE8002FCC5}.Release|x86.Build.0 = Release|Any CPU
|
||||
{D3C7D267-5646-4907-A451-E7CFA853BBF5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D3C7D267-5646-4907-A451-E7CFA853BBF5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D3C7D267-5646-4907-A451-E7CFA853BBF5}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{D3C7D267-5646-4907-A451-E7CFA853BBF5}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{D3C7D267-5646-4907-A451-E7CFA853BBF5}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{D3C7D267-5646-4907-A451-E7CFA853BBF5}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{D3C7D267-5646-4907-A451-E7CFA853BBF5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D3C7D267-5646-4907-A451-E7CFA853BBF5}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D3C7D267-5646-4907-A451-E7CFA853BBF5}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{D3C7D267-5646-4907-A451-E7CFA853BBF5}.Release|x64.Build.0 = Release|Any CPU
|
||||
{D3C7D267-5646-4907-A451-E7CFA853BBF5}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{D3C7D267-5646-4907-A451-E7CFA853BBF5}.Release|x86.Build.0 = Release|Any CPU
|
||||
{D65EE034-84B9-4EBE-BC1F-5606AB4524A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D65EE034-84B9-4EBE-BC1F-5606AB4524A4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D65EE034-84B9-4EBE-BC1F-5606AB4524A4}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{D65EE034-84B9-4EBE-BC1F-5606AB4524A4}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{D65EE034-84B9-4EBE-BC1F-5606AB4524A4}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{D65EE034-84B9-4EBE-BC1F-5606AB4524A4}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{D65EE034-84B9-4EBE-BC1F-5606AB4524A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D65EE034-84B9-4EBE-BC1F-5606AB4524A4}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D65EE034-84B9-4EBE-BC1F-5606AB4524A4}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{D65EE034-84B9-4EBE-BC1F-5606AB4524A4}.Release|x64.Build.0 = Release|Any CPU
|
||||
{D65EE034-84B9-4EBE-BC1F-5606AB4524A4}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{D65EE034-84B9-4EBE-BC1F-5606AB4524A4}.Release|x86.Build.0 = Release|Any CPU
|
||||
{17B31CB0-F2C5-47A6-9BF2-C55403C97DC7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{17B31CB0-F2C5-47A6-9BF2-C55403C97DC7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{17B31CB0-F2C5-47A6-9BF2-C55403C97DC7}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{17B31CB0-F2C5-47A6-9BF2-C55403C97DC7}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{17B31CB0-F2C5-47A6-9BF2-C55403C97DC7}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{17B31CB0-F2C5-47A6-9BF2-C55403C97DC7}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{17B31CB0-F2C5-47A6-9BF2-C55403C97DC7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{17B31CB0-F2C5-47A6-9BF2-C55403C97DC7}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{17B31CB0-F2C5-47A6-9BF2-C55403C97DC7}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{17B31CB0-F2C5-47A6-9BF2-C55403C97DC7}.Release|x64.Build.0 = Release|Any CPU
|
||||
{17B31CB0-F2C5-47A6-9BF2-C55403C97DC7}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{17B31CB0-F2C5-47A6-9BF2-C55403C97DC7}.Release|x86.Build.0 = Release|Any CPU
|
||||
{62A821F2-F296-4888-8AB1-A80ED514AC08}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{62A821F2-F296-4888-8AB1-A80ED514AC08}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{62A821F2-F296-4888-8AB1-A80ED514AC08}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{62A821F2-F296-4888-8AB1-A80ED514AC08}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{62A821F2-F296-4888-8AB1-A80ED514AC08}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{62A821F2-F296-4888-8AB1-A80ED514AC08}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{62A821F2-F296-4888-8AB1-A80ED514AC08}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{62A821F2-F296-4888-8AB1-A80ED514AC08}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{62A821F2-F296-4888-8AB1-A80ED514AC08}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{62A821F2-F296-4888-8AB1-A80ED514AC08}.Release|x64.Build.0 = Release|Any CPU
|
||||
{62A821F2-F296-4888-8AB1-A80ED514AC08}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{62A821F2-F296-4888-8AB1-A80ED514AC08}.Release|x86.Build.0 = Release|Any CPU
|
||||
{D0CE2D52-EC1C-444E-A5C5-79813E1814D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D0CE2D52-EC1C-444E-A5C5-79813E1814D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D0CE2D52-EC1C-444E-A5C5-79813E1814D4}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{D0CE2D52-EC1C-444E-A5C5-79813E1814D4}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{D0CE2D52-EC1C-444E-A5C5-79813E1814D4}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{D0CE2D52-EC1C-444E-A5C5-79813E1814D4}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{D0CE2D52-EC1C-444E-A5C5-79813E1814D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D0CE2D52-EC1C-444E-A5C5-79813E1814D4}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D0CE2D52-EC1C-444E-A5C5-79813E1814D4}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{D0CE2D52-EC1C-444E-A5C5-79813E1814D4}.Release|x64.Build.0 = Release|Any CPU
|
||||
{D0CE2D52-EC1C-444E-A5C5-79813E1814D4}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{D0CE2D52-EC1C-444E-A5C5-79813E1814D4}.Release|x86.Build.0 = Release|Any CPU
|
||||
{87048157-DF94-49E6-A34F-7DEF3255FA35}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{87048157-DF94-49E6-A34F-7DEF3255FA35}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{87048157-DF94-49E6-A34F-7DEF3255FA35}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{87048157-DF94-49E6-A34F-7DEF3255FA35}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{87048157-DF94-49E6-A34F-7DEF3255FA35}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{87048157-DF94-49E6-A34F-7DEF3255FA35}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{87048157-DF94-49E6-A34F-7DEF3255FA35}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{87048157-DF94-49E6-A34F-7DEF3255FA35}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{87048157-DF94-49E6-A34F-7DEF3255FA35}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{87048157-DF94-49E6-A34F-7DEF3255FA35}.Release|x64.Build.0 = Release|Any CPU
|
||||
{87048157-DF94-49E6-A34F-7DEF3255FA35}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{87048157-DF94-49E6-A34F-7DEF3255FA35}.Release|x86.Build.0 = Release|Any CPU
|
||||
{D28F8DB7-077E-47F6-B07D-BB93AF950A0D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D28F8DB7-077E-47F6-B07D-BB93AF950A0D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D28F8DB7-077E-47F6-B07D-BB93AF950A0D}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{D28F8DB7-077E-47F6-B07D-BB93AF950A0D}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{D28F8DB7-077E-47F6-B07D-BB93AF950A0D}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{D28F8DB7-077E-47F6-B07D-BB93AF950A0D}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{D28F8DB7-077E-47F6-B07D-BB93AF950A0D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D28F8DB7-077E-47F6-B07D-BB93AF950A0D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D28F8DB7-077E-47F6-B07D-BB93AF950A0D}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{D28F8DB7-077E-47F6-B07D-BB93AF950A0D}.Release|x64.Build.0 = Release|Any CPU
|
||||
{D28F8DB7-077E-47F6-B07D-BB93AF950A0D}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{D28F8DB7-077E-47F6-B07D-BB93AF950A0D}.Release|x86.Build.0 = Release|Any CPU
|
||||
{75CDF4D0-53B2-4FCE-9C2D-06940FD2E817}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{75CDF4D0-53B2-4FCE-9C2D-06940FD2E817}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{75CDF4D0-53B2-4FCE-9C2D-06940FD2E817}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{75CDF4D0-53B2-4FCE-9C2D-06940FD2E817}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{75CDF4D0-53B2-4FCE-9C2D-06940FD2E817}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{75CDF4D0-53B2-4FCE-9C2D-06940FD2E817}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{75CDF4D0-53B2-4FCE-9C2D-06940FD2E817}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{75CDF4D0-53B2-4FCE-9C2D-06940FD2E817}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{75CDF4D0-53B2-4FCE-9C2D-06940FD2E817}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{75CDF4D0-53B2-4FCE-9C2D-06940FD2E817}.Release|x64.Build.0 = Release|Any CPU
|
||||
{75CDF4D0-53B2-4FCE-9C2D-06940FD2E817}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{75CDF4D0-53B2-4FCE-9C2D-06940FD2E817}.Release|x86.Build.0 = Release|Any CPU
|
||||
{338C69EA-F921-41B3-BB6C-116AADEBF356}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{338C69EA-F921-41B3-BB6C-116AADEBF356}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{338C69EA-F921-41B3-BB6C-116AADEBF356}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{338C69EA-F921-41B3-BB6C-116AADEBF356}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{338C69EA-F921-41B3-BB6C-116AADEBF356}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{338C69EA-F921-41B3-BB6C-116AADEBF356}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{338C69EA-F921-41B3-BB6C-116AADEBF356}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{338C69EA-F921-41B3-BB6C-116AADEBF356}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{338C69EA-F921-41B3-BB6C-116AADEBF356}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{338C69EA-F921-41B3-BB6C-116AADEBF356}.Release|x64.Build.0 = Release|Any CPU
|
||||
{338C69EA-F921-41B3-BB6C-116AADEBF356}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{338C69EA-F921-41B3-BB6C-116AADEBF356}.Release|x86.Build.0 = Release|Any CPU
|
||||
{531F88C6-B9A5-4BF6-A121-AAA95DE4A288}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{531F88C6-B9A5-4BF6-A121-AAA95DE4A288}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{531F88C6-B9A5-4BF6-A121-AAA95DE4A288}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{531F88C6-B9A5-4BF6-A121-AAA95DE4A288}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{531F88C6-B9A5-4BF6-A121-AAA95DE4A288}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{531F88C6-B9A5-4BF6-A121-AAA95DE4A288}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{531F88C6-B9A5-4BF6-A121-AAA95DE4A288}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{531F88C6-B9A5-4BF6-A121-AAA95DE4A288}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{531F88C6-B9A5-4BF6-A121-AAA95DE4A288}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{531F88C6-B9A5-4BF6-A121-AAA95DE4A288}.Release|x64.Build.0 = Release|Any CPU
|
||||
{531F88C6-B9A5-4BF6-A121-AAA95DE4A288}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{531F88C6-B9A5-4BF6-A121-AAA95DE4A288}.Release|x86.Build.0 = Release|Any CPU
|
||||
{613354F0-3B35-4406-8250-C8E88A0DECF6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{613354F0-3B35-4406-8250-C8E88A0DECF6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{613354F0-3B35-4406-8250-C8E88A0DECF6}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{613354F0-3B35-4406-8250-C8E88A0DECF6}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{613354F0-3B35-4406-8250-C8E88A0DECF6}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{613354F0-3B35-4406-8250-C8E88A0DECF6}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{613354F0-3B35-4406-8250-C8E88A0DECF6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{613354F0-3B35-4406-8250-C8E88A0DECF6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{613354F0-3B35-4406-8250-C8E88A0DECF6}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{613354F0-3B35-4406-8250-C8E88A0DECF6}.Release|x64.Build.0 = Release|Any CPU
|
||||
{613354F0-3B35-4406-8250-C8E88A0DECF6}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{613354F0-3B35-4406-8250-C8E88A0DECF6}.Release|x86.Build.0 = Release|Any CPU
|
||||
{A47CCC4C-8B19-4A12-8B05-BE4AAEABB1BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{A47CCC4C-8B19-4A12-8B05-BE4AAEABB1BA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{A47CCC4C-8B19-4A12-8B05-BE4AAEABB1BA}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{A47CCC4C-8B19-4A12-8B05-BE4AAEABB1BA}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{A47CCC4C-8B19-4A12-8B05-BE4AAEABB1BA}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{A47CCC4C-8B19-4A12-8B05-BE4AAEABB1BA}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{A47CCC4C-8B19-4A12-8B05-BE4AAEABB1BA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A47CCC4C-8B19-4A12-8B05-BE4AAEABB1BA}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{A47CCC4C-8B19-4A12-8B05-BE4AAEABB1BA}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{A47CCC4C-8B19-4A12-8B05-BE4AAEABB1BA}.Release|x64.Build.0 = Release|Any CPU
|
||||
{A47CCC4C-8B19-4A12-8B05-BE4AAEABB1BA}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{A47CCC4C-8B19-4A12-8B05-BE4AAEABB1BA}.Release|x86.Build.0 = Release|Any CPU
|
||||
{D939680D-864D-4FED-A81D-8F30EE6A97A0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D939680D-864D-4FED-A81D-8F30EE6A97A0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D939680D-864D-4FED-A81D-8F30EE6A97A0}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{D939680D-864D-4FED-A81D-8F30EE6A97A0}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{D939680D-864D-4FED-A81D-8F30EE6A97A0}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{D939680D-864D-4FED-A81D-8F30EE6A97A0}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{D939680D-864D-4FED-A81D-8F30EE6A97A0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D939680D-864D-4FED-A81D-8F30EE6A97A0}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D939680D-864D-4FED-A81D-8F30EE6A97A0}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{D939680D-864D-4FED-A81D-8F30EE6A97A0}.Release|x64.Build.0 = Release|Any CPU
|
||||
{D939680D-864D-4FED-A81D-8F30EE6A97A0}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{D939680D-864D-4FED-A81D-8F30EE6A97A0}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
@@ -873,18 +899,31 @@ Global
|
||||
{3A48F700-9635-2216-D291-85337CE5D869} = {553D81D4-666B-BE26-75F9-480CB214ACEE}
|
||||
{6BD8DC02-2270-4276-952E-E34E973A1237} = {3A48F700-9635-2216-D291-85337CE5D869}
|
||||
{FFBE31B8-50B9-B415-22BC-2F92C97CADA3} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
|
||||
{1D50E7AA-2378-4114-A3C3-E351D46FB8BF} = {FFBE31B8-50B9-B415-22BC-2F92C97CADA3}
|
||||
{E8C0F163-735D-44A2-B684-673A0B0D7D2A} = {FFBE31B8-50B9-B415-22BC-2F92C97CADA3}
|
||||
{65E67218-A02C-4C42-8B60-6FDAB737E613} = {FFBE31B8-50B9-B415-22BC-2F92C97CADA3}
|
||||
{7226D94C-B9A5-41D7-9E59-50A68F39EE78} = {FFBE31B8-50B9-B415-22BC-2F92C97CADA3}
|
||||
{4AC0C433-475F-4B0C-B160-E4F33779E3CB} = {FFBE31B8-50B9-B415-22BC-2F92C97CADA3}
|
||||
{9D86914A-43A8-4451-BEFD-092ABFF793D6} = {FFBE31B8-50B9-B415-22BC-2F92C97CADA3}
|
||||
{1DC69DD3-3348-4375-844C-D44A760D50EC} = {FFBE31B8-50B9-B415-22BC-2F92C97CADA3}
|
||||
{352A455F-AC3F-4D34-BADA-574BF83E131C} = {FFBE31B8-50B9-B415-22BC-2F92C97CADA3}
|
||||
{D10F0FA0-A682-42D4-A23F-46094D14A8F6} = {FFBE31B8-50B9-B415-22BC-2F92C97CADA3}
|
||||
{F57F6152-A359-4BB5-AC01-5531C85EE47A} = {FFBE31B8-50B9-B415-22BC-2F92C97CADA3}
|
||||
{32631ED6-956A-4572-AD7A-B8D0ECE26C78} = {FFBE31B8-50B9-B415-22BC-2F92C97CADA3}
|
||||
{7E22E87D-78D2-411D-AC30-2F090C3F5ED5} = {FFBE31B8-50B9-B415-22BC-2F92C97CADA3}
|
||||
{623330CA-6CA5-4B74-A921-DEAE8002FCC5} = {FFBE31B8-50B9-B415-22BC-2F92C97CADA3}
|
||||
{1C8A9B45-FCC1-A5B3-3601-CB39D7CED4E3} = {FFBE31B8-50B9-B415-22BC-2F92C97CADA3}
|
||||
{D3C7D267-5646-4907-A451-E7CFA853BBF5} = {1C8A9B45-FCC1-A5B3-3601-CB39D7CED4E3}
|
||||
{28F8F726-0D9B-F051-A252-088B861055C6} = {FFBE31B8-50B9-B415-22BC-2F92C97CADA3}
|
||||
{D65EE034-84B9-4EBE-BC1F-5606AB4524A4} = {28F8F726-0D9B-F051-A252-088B861055C6}
|
||||
{19B3F750-A3A3-3AEB-CE4F-46FB52BB3151} = {FFBE31B8-50B9-B415-22BC-2F92C97CADA3}
|
||||
{17B31CB0-F2C5-47A6-9BF2-C55403C97DC7} = {19B3F750-A3A3-3AEB-CE4F-46FB52BB3151}
|
||||
{E97EBA1B-122C-1D64-94D9-187425FF5DF0} = {FFBE31B8-50B9-B415-22BC-2F92C97CADA3}
|
||||
{62A821F2-F296-4888-8AB1-A80ED514AC08} = {E97EBA1B-122C-1D64-94D9-187425FF5DF0}
|
||||
{7555181C-EB04-A6C5-D475-6FC0320F57B5} = {FFBE31B8-50B9-B415-22BC-2F92C97CADA3}
|
||||
{D0CE2D52-EC1C-444E-A5C5-79813E1814D4} = {7555181C-EB04-A6C5-D475-6FC0320F57B5}
|
||||
{3E835F76-AFEE-6419-1441-2CED62F241B2} = {FFBE31B8-50B9-B415-22BC-2F92C97CADA3}
|
||||
{87048157-DF94-49E6-A34F-7DEF3255FA35} = {3E835F76-AFEE-6419-1441-2CED62F241B2}
|
||||
{0286CA1A-73E9-C153-D97B-31BA60AC101B} = {FFBE31B8-50B9-B415-22BC-2F92C97CADA3}
|
||||
{D28F8DB7-077E-47F6-B07D-BB93AF950A0D} = {0286CA1A-73E9-C153-D97B-31BA60AC101B}
|
||||
{319B016B-E46C-7232-249F-DBE50922C757} = {FFBE31B8-50B9-B415-22BC-2F92C97CADA3}
|
||||
{75CDF4D0-53B2-4FCE-9C2D-06940FD2E817} = {319B016B-E46C-7232-249F-DBE50922C757}
|
||||
{C91F5B42-26A0-36B8-1C54-AE965E022F68} = {FFBE31B8-50B9-B415-22BC-2F92C97CADA3}
|
||||
{338C69EA-F921-41B3-BB6C-116AADEBF356} = {C91F5B42-26A0-36B8-1C54-AE965E022F68}
|
||||
{6F45E82C-238A-FDE4-59E5-CCCD65D77EB8} = {FFBE31B8-50B9-B415-22BC-2F92C97CADA3}
|
||||
{531F88C6-B9A5-4BF6-A121-AAA95DE4A288} = {6F45E82C-238A-FDE4-59E5-CCCD65D77EB8}
|
||||
{3DE423CC-7CB5-260E-2A62-D5E89000EF8F} = {FFBE31B8-50B9-B415-22BC-2F92C97CADA3}
|
||||
{613354F0-3B35-4406-8250-C8E88A0DECF6} = {3DE423CC-7CB5-260E-2A62-D5E89000EF8F}
|
||||
{5C1B4B87-5A65-F9C7-EAA3-6456BCBFD6EC} = {FFBE31B8-50B9-B415-22BC-2F92C97CADA3}
|
||||
{A47CCC4C-8B19-4A12-8B05-BE4AAEABB1BA} = {5C1B4B87-5A65-F9C7-EAA3-6456BCBFD6EC}
|
||||
{6DD751EB-CB14-7F42-4B4B-7E4DCC49705A} = {FFBE31B8-50B9-B415-22BC-2F92C97CADA3}
|
||||
{D939680D-864D-4FED-A81D-8F30EE6A97A0} = {6DD751EB-CB14-7F42-4B4B-7E4DCC49705A}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
using FluentAssertions;
|
||||
using Knot.Modules.Admin.Application.Admin.Commands;
|
||||
using Knot.Modules.Auth.Contracts.Application.Abstractions;
|
||||
using Knot.Modules.Auth.Contracts.Domain;
|
||||
using Knot.Contracts.Auth.Application.Abstractions;
|
||||
using Knot.Contracts.Auth.Domain;
|
||||
using Knot.Shared.Kernel;
|
||||
using NSubstitute;
|
||||
using Xunit;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
using FluentAssertions;
|
||||
using NSubstitute;
|
||||
using Knot.Modules.Auth.Contracts.Application.Abstractions;
|
||||
using Knot.Contracts.Auth.Application.Abstractions;
|
||||
using Knot.Modules.Auth.Application.Users.Login;
|
||||
using Knot.Modules.Auth.Contracts.Domain;
|
||||
using Knot.Contracts.Auth.Domain;
|
||||
using Knot.Shared.Kernel;
|
||||
using Knot.Modules.Auth.Application.Users.Auth;
|
||||
using Xunit;
|
||||
|
||||
@@ -12,8 +12,8 @@ using Knot.Modules.Conversations.Domain;
|
||||
using Knot.Modules.Messaging.Domain;
|
||||
using Knot.Modules.Conversations.Application.Abstractions;
|
||||
using Knot.Modules.Conversations.Application.Messages.Send;
|
||||
using Knot.Modules.Settings.Contracts.Application.Abstractions;
|
||||
using Knot.Modules.Settings.Contracts.Application.DTOs;
|
||||
using Knot.Contracts.Settings.Application.Abstractions;
|
||||
using Knot.Contracts.Settings.Application.DTOs;
|
||||
|
||||
namespace Knot.Modules.Conversations.UnitTests.Messages;
|
||||
|
||||
@@ -34,7 +34,7 @@ public class SendMessageCommandHandlerTests
|
||||
_mediator = Substitute.For<IMediator>();
|
||||
_messagesSettings = Substitute.For<IMessagesSettings>();
|
||||
|
||||
var config = new Knot.Modules.Settings.Contracts.Application.DTOs.MessagesConfig();
|
||||
var config = new Knot.Contracts.Settings.Application.DTOs.MessagesConfig();
|
||||
_messagesSettings.Current.Returns(config);
|
||||
|
||||
_handler = new SendMessageCommandHandler(_chatRepository, _messageRepository, _unitOfWork, _mediator, _messagesSettings);
|
||||
|
||||
@@ -2,8 +2,8 @@ using FluentAssertions;
|
||||
using Knot.Modules.Stories.Application.Stories.Commands.CreateStory;
|
||||
using Knot.Modules.Stories.Domain;
|
||||
using Knot.Shared.Kernel;
|
||||
using Knot.Modules.Settings.Contracts.Application.Abstractions;
|
||||
using Knot.Modules.Settings.Contracts.Application.DTOs;
|
||||
using Knot.Contracts.Settings.Application.Abstractions;
|
||||
using Knot.Contracts.Settings.Application.DTOs;
|
||||
using Knot.Modules.Stories.Application.Abstractions;
|
||||
using NSubstitute;
|
||||
using Xunit;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
using FluentAssertions;
|
||||
using Knot.Modules.Profiles.Application.Profiles.UpdateProfile;
|
||||
using Knot.Modules.Profiles.Contracts.Domain;
|
||||
using Knot.Modules.Profiles.Contracts.Application.DTOs;
|
||||
using Knot.Contracts.Profiles.Domain;
|
||||
using Knot.Contracts.Profiles.Application.DTOs;
|
||||
using Knot.Shared.Kernel;
|
||||
using NSubstitute;
|
||||
using Xunit;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace Knot.Modules.Auth.Contracts.Application.Abstractions;
|
||||
namespace Knot.Contracts.Auth.Application.Abstractions;
|
||||
|
||||
public interface IAuthDbContext
|
||||
{
|
||||
@@ -1,7 +1,7 @@
|
||||
using Knot.Modules.Auth.Contracts.Domain;
|
||||
using Knot.Contracts.Auth.Domain;
|
||||
using Knot.Shared.Kernel;
|
||||
|
||||
namespace Knot.Modules.Auth.Contracts.Application.Abstractions;
|
||||
namespace Knot.Contracts.Auth.Application.Abstractions;
|
||||
|
||||
public interface IAuthUnitOfWork : IUnitOfWork
|
||||
{
|
||||
@@ -1,8 +1,9 @@
|
||||
namespace Knot.Modules.Auth.Contracts.Application.Abstractions;
|
||||
namespace Knot.Contracts.Auth.Application.Abstractions;
|
||||
|
||||
public interface IJwtTokenProvider
|
||||
{
|
||||
string GenerateAccessToken(Guid userId, string username);
|
||||
string GenerateRefreshToken();
|
||||
string Generate(Guid userId, string username, string displayName, string? avatar);
|
||||
string Generate(Domain.UserContract user);
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
using Knot.Shared.Kernel;
|
||||
using Knot.Shared.Kernel;
|
||||
|
||||
namespace Knot.Modules.Auth.Contracts.Application.Auth.DTOs;
|
||||
namespace Knot.Contracts.Auth.Application.Auth.DTOs;
|
||||
|
||||
public static class AuthErrors
|
||||
{
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace Knot.Modules.Auth.Contracts.Application.Auth.DTOs;
|
||||
namespace Knot.Contracts.Auth.Application.Auth.DTOs;
|
||||
|
||||
public class AuthResponseDto
|
||||
{
|
||||
@@ -0,0 +1,6 @@
|
||||
using Knot.Contracts.Auth.Domain;
|
||||
using MediatR;
|
||||
|
||||
namespace Knot.Contracts.Auth.Application.Users.GetMe;
|
||||
|
||||
public record GetMeQuery() : IRequest<UserContract>;
|
||||
@@ -1,8 +1,8 @@
|
||||
using Knot.Modules.Auth.Contracts.Application.Auth.DTOs;
|
||||
using Knot.Contracts.Auth.Application.Auth.DTOs;
|
||||
using Knot.Shared.Kernel;
|
||||
using MediatR;
|
||||
|
||||
namespace Knot.Modules.Auth.Contracts.Application.Users.Login;
|
||||
namespace Knot.Contracts.Auth.Application.Users.Login;
|
||||
|
||||
public record LoginUserCommand(
|
||||
string Username,
|
||||
@@ -0,0 +1,14 @@
|
||||
using Knot.Contracts.Auth.Application.Auth.DTOs;
|
||||
using Knot.Contracts.Auth.Domain;
|
||||
using Knot.Shared.Kernel;
|
||||
using MediatR;
|
||||
|
||||
namespace Knot.Contracts.Auth.Application.Users.Register;
|
||||
|
||||
public record RegisterUserCommand(
|
||||
string Username,
|
||||
string Password,
|
||||
string DisplayName,
|
||||
string? Email,
|
||||
string? Bio
|
||||
) : IRequest<Result<AuthResponseDto>>;
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace Knot.Modules.Auth.Contracts.Domain;
|
||||
namespace Knot.Contracts.Auth.Domain;
|
||||
|
||||
public interface IUserRepository
|
||||
{
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace Knot.Modules.Auth.Contracts.Domain;
|
||||
namespace Knot.Contracts.Auth.Domain;
|
||||
|
||||
public class UserContract
|
||||
{
|
||||
@@ -12,6 +12,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MediatR" Version="12.0.1" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="10.0.4" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -12,6 +12,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MediatR" Version="12.0.1" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="10.0.4" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -12,6 +12,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MediatR" Version="12.0.1" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="10.0.4" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -12,6 +12,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MediatR" Version="12.0.1" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="10.0.4" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,9 +0,0 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace Knot.Modules.Auth.Contracts.Application.Abstractions;
|
||||
|
||||
public interface IIdentityDbContext
|
||||
{
|
||||
DbSet<T> Set<T>() where T : class;
|
||||
Task<int> SaveChangesAsync(CancellationToken cancellationToken = default);
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
using Knot.Modules.Auth.Contracts.Domain;
|
||||
using Knot.Shared.Kernel;
|
||||
|
||||
namespace Knot.Modules.Auth.Contracts.Application.Abstractions;
|
||||
|
||||
public interface IIdentityUnitOfWork : IUnitOfWork
|
||||
{
|
||||
IUserRepository UserRepository { get; }
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
using Knot.Modules.Auth.Contracts.Domain;
|
||||
using MediatR;
|
||||
|
||||
namespace Knot.Modules.Auth.Contracts.Application.Users.GetMe;
|
||||
|
||||
public record GetMeQuery() : IRequest<UserContract>;
|
||||
@@ -1,14 +0,0 @@
|
||||
using Knot.Modules.Auth.Contracts.Application.Auth.DTOs;
|
||||
using Knot.Modules.Auth.Contracts.Domain;
|
||||
using Knot.Shared.Kernel;
|
||||
using MediatR;
|
||||
|
||||
namespace Knot.Modules.Auth.Contracts.Application.Users.Register;
|
||||
|
||||
public record RegisterUserCommand(
|
||||
string Username,
|
||||
string Password,
|
||||
string DisplayName,
|
||||
string? PhoneNumber,
|
||||
bool IsBot = false
|
||||
) : IRequest<Result<AuthResponseDto>>;
|
||||
@@ -1,17 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Shared\Knot.Shared.Kernel\Knot.Shared.Kernel.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MediatR" Version="12.0.1" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,6 +0,0 @@
|
||||
using Knot.Modules.Profiles.Contracts.Application.DTOs;
|
||||
using MediatR;
|
||||
|
||||
namespace Knot.Modules.Profiles.Contracts.Application.Profiles.Search;
|
||||
|
||||
public record SearchProfilesQuery(string Query, int Limit = 20) : IRequest<List<UserProfileDto>>;
|
||||
@@ -1,17 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Shared\Knot.Shared.Kernel\Knot.Shared.Kernel.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MediatR" Version="12.0.1" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,17 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Shared\Knot.Shared.Kernel\Knot.Shared.Kernel.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MediatR" Version="12.0.1" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,17 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Shared\Knot.Shared.Kernel\Knot.Shared.Kernel.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MediatR" Version="12.0.1" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,17 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Shared\Knot.Shared.Kernel\Knot.Shared.Kernel.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MediatR" Version="12.0.1" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,17 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Shared\Knot.Shared.Kernel\Knot.Shared.Kernel.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MediatR" Version="12.0.1" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,17 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Shared\Knot.Shared.Kernel\Knot.Shared.Kernel.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MediatR" Version="12.0.1" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,17 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Shared\Knot.Shared.Kernel\Knot.Shared.Kernel.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MediatR" Version="12.0.1" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,18 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Shared\Knot.Shared.Kernel\Knot.Shared.Kernel.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MediatR" Version="12.0.1" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="10.0.4" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,6 +1,6 @@
|
||||
using Knot.Shared.Kernel;
|
||||
using Knot.Shared.Kernel;
|
||||
|
||||
namespace Knot.Modules.Profiles.Contracts.Application.DTOs;
|
||||
namespace Knot.Contracts.Profiles.Application.DTOs;
|
||||
|
||||
public static class ProfilesErrors
|
||||
{
|
||||
@@ -1,6 +1,6 @@
|
||||
using MediatR;
|
||||
using MediatR;
|
||||
|
||||
namespace Knot.Modules.Profiles.Contracts.Application.DTOs;
|
||||
namespace Knot.Contracts.Profiles.Application.DTOs;
|
||||
|
||||
public record SearchProfilesRequest(string Query, int Limit = 20) : IRequest<List<UserProfileDto>>;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace Knot.Modules.Profiles.Contracts.Application.DTOs;
|
||||
namespace Knot.Contracts.Profiles.Application.DTOs;
|
||||
|
||||
public class UserProfileDto
|
||||
{
|
||||
@@ -1,7 +1,7 @@
|
||||
using Knot.Shared.Kernel;
|
||||
using Knot.Shared.Kernel;
|
||||
using MediatR;
|
||||
|
||||
namespace Knot.Modules.Profiles.Contracts.Application.Profiles.Avatar;
|
||||
namespace Knot.Contracts.Profiles.Application.Profiles.Avatar;
|
||||
|
||||
public record UploadAvatarCommand(Stream Stream, string FileName) : IRequest<Result<string>>;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
using Knot.Modules.Profiles.Contracts.Application.DTOs;
|
||||
using Knot.Contracts.Profiles.Application.DTOs;
|
||||
using Knot.Shared.Kernel;
|
||||
using MediatR;
|
||||
|
||||
namespace Knot.Modules.Profiles.Contracts.Application.Profiles.GetUser;
|
||||
namespace Knot.Contracts.Profiles.Application.Profiles.GetUser;
|
||||
|
||||
public record GetProfileQuery(Guid UserId) : IRequest<Result<UserProfileDto>>;
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
using Knot.Contracts.Profiles.Application.DTOs;
|
||||
using MediatR;
|
||||
|
||||
namespace Knot.Contracts.Profiles.Application.Profiles.Search;
|
||||
|
||||
public record SearchProfilesQuery(string Query, int Limit = 20) : IRequest<List<UserProfileDto>>;
|
||||
@@ -1,8 +1,8 @@
|
||||
using Knot.Modules.Profiles.Contracts.Application.DTOs;
|
||||
using Knot.Contracts.Profiles.Application.DTOs;
|
||||
using Knot.Shared.Kernel;
|
||||
using MediatR;
|
||||
|
||||
namespace Knot.Modules.Profiles.Contracts.Application.Profiles.UpdateProfile;
|
||||
namespace Knot.Contracts.Profiles.Application.Profiles.UpdateProfile;
|
||||
|
||||
public record UpdateProfileCommand(
|
||||
string? DisplayName,
|
||||
@@ -1,8 +1,8 @@
|
||||
using Knot.Modules.Profiles.Contracts.Application.DTOs;
|
||||
using Knot.Contracts.Profiles.Application.DTOs;
|
||||
using Knot.Shared.Kernel;
|
||||
using MediatR;
|
||||
|
||||
namespace Knot.Modules.Profiles.Contracts.Application.Profiles.UpdateSettings;
|
||||
namespace Knot.Contracts.Profiles.Application.Profiles.UpdateSettings;
|
||||
|
||||
public record UpdateSettingsCommand(
|
||||
bool? ShowLastSeen,
|
||||
@@ -1,6 +1,6 @@
|
||||
using Knot.Shared.Kernel.Storage;
|
||||
using Knot.Shared.Kernel.Storage;
|
||||
|
||||
namespace Knot.Modules.Profiles.Contracts.Domain;
|
||||
namespace Knot.Contracts.Profiles.Domain;
|
||||
|
||||
public interface IAvatarStorageService
|
||||
{
|
||||
@@ -1,7 +1,7 @@
|
||||
using Knot.Modules.Profiles.Contracts.Application.DTOs;
|
||||
using Knot.Contracts.Profiles.Application.DTOs;
|
||||
using Knot.Shared.Kernel;
|
||||
|
||||
namespace Knot.Modules.Profiles.Contracts.Domain;
|
||||
namespace Knot.Contracts.Profiles.Domain;
|
||||
|
||||
public interface IProfileRepository
|
||||
{
|
||||
@@ -1,6 +1,6 @@
|
||||
using Knot.Shared.Kernel;
|
||||
using Knot.Shared.Kernel;
|
||||
|
||||
namespace Knot.Modules.Profiles.Contracts.Domain;
|
||||
namespace Knot.Contracts.Profiles.Domain;
|
||||
|
||||
public interface IProfilesUnitOfWork : IUnitOfWork
|
||||
{
|
||||
@@ -0,0 +1,18 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Shared\Knot.Shared.Kernel\Knot.Shared.Kernel.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MediatR" Version="12.0.1" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="10.0.4" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,18 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Shared\Knot.Shared.Kernel\Knot.Shared.Kernel.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MediatR" Version="12.0.1" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="10.0.4" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,6 +1,6 @@
|
||||
using Knot.Modules.Settings.Contracts.Application.DTOs;
|
||||
using Knot.Contracts.Settings.Application.DTOs;
|
||||
|
||||
namespace Knot.Modules.Settings.Contracts.Application.Abstractions;
|
||||
namespace Knot.Contracts.Settings.Application.Abstractions;
|
||||
|
||||
public interface ISettingsService
|
||||
{
|
||||
@@ -1,6 +1,6 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Knot.Modules.Settings.Contracts.Application.DTOs;
|
||||
namespace Knot.Contracts.Settings.Application.DTOs;
|
||||
|
||||
public class SystemConfig
|
||||
{
|
||||
@@ -0,0 +1,18 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Shared\Knot.Shared.Kernel\Knot.Shared.Kernel.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MediatR" Version="12.0.1" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="10.0.4" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
18
backend/src/Contracts/Storage/Knot.Contracts.Storage.csproj
Normal file
18
backend/src/Contracts/Storage/Knot.Contracts.Storage.csproj
Normal file
@@ -0,0 +1,18 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Shared\Knot.Shared.Kernel\Knot.Shared.Kernel.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MediatR" Version="12.0.1" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="10.0.4" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
18
backend/src/Contracts/Stories/Knot.Contracts.Stories.csproj
Normal file
18
backend/src/Contracts/Stories/Knot.Contracts.Stories.csproj
Normal file
@@ -0,0 +1,18 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Shared\Knot.Shared.Kernel\Knot.Shared.Kernel.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MediatR" Version="12.0.1" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="10.0.4" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,18 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Shared\Knot.Shared.Kernel\Knot.Shared.Kernel.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MediatR" Version="12.0.1" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="10.0.4" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
18
backend/src/Contracts/WebRtc/Knot.Contracts.WebRtc.csproj
Normal file
18
backend/src/Contracts/WebRtc/Knot.Contracts.WebRtc.csproj
Normal file
@@ -0,0 +1,18 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Shared\Knot.Shared.Kernel\Knot.Shared.Kernel.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MediatR" Version="12.0.1" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="10.0.4" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -190,7 +190,7 @@ using (var scope = app.Services.CreateScope())
|
||||
Knot.Modules.Messaging.Infrastructure.Persistence.Mongo.EncryptedStringSerializer.EncryptionService = encryptionService;
|
||||
|
||||
// Initialize Global Settings Cache
|
||||
var settingsService = scope.ServiceProvider.GetRequiredService<Knot.Modules.Settings.Contracts.Application.Abstractions.ISettingsService>();
|
||||
var settingsService = scope.ServiceProvider.GetRequiredService<Knot.Contracts.Settings.Application.Abstractions.ISettingsService>();
|
||||
if (settingsService is Knot.Modules.Settings.Infrastructure.Configuration.SettingsService concreteSettings)
|
||||
{
|
||||
concreteSettings.Initialize();
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using Knot.Modules.Auth.Contracts.Domain;
|
||||
using Knot.Modules.Auth.Contracts.Application.Abstractions;
|
||||
using Knot.Contracts.Auth.Domain;
|
||||
using Knot.Contracts.Auth.Application.Abstractions;
|
||||
using Knot.Shared.Kernel;
|
||||
using System;
|
||||
using System.Threading;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using Knot.Modules.Auth.Contracts.Domain;
|
||||
using Knot.Modules.Auth.Contracts.Application.Abstractions;
|
||||
using Knot.Contracts.Auth.Domain;
|
||||
using Knot.Contracts.Auth.Application.Abstractions;
|
||||
using Knot.Shared.Kernel;
|
||||
using System;
|
||||
using System.Threading;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using Knot.Modules.Auth.Contracts.Domain;
|
||||
using Knot.Modules.Auth.Contracts.Application.Abstractions;
|
||||
using Knot.Modules.Auth.Contracts.Application.Auth.DTOs;
|
||||
using Knot.Contracts.Auth.Domain;
|
||||
using Knot.Contracts.Auth.Application.Abstractions;
|
||||
using Knot.Contracts.Auth.Application.Auth.DTOs;
|
||||
using Knot.Modules.Admin.Application.Admin.DTOs;
|
||||
using System;
|
||||
using System.Threading;
|
||||
|
||||
@@ -2,8 +2,8 @@ using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using MediatR;
|
||||
using Knot.Shared.Kernel;
|
||||
using Knot.Modules.Settings.Contracts.Application.Abstractions;
|
||||
using Knot.Modules.Settings.Contracts.Application.DTOs;
|
||||
using Knot.Contracts.Settings.Application.Abstractions;
|
||||
using Knot.Contracts.Settings.Application.DTOs;
|
||||
using Knot.Modules.Klipy.Application.Abstractions;
|
||||
|
||||
namespace Knot.Modules.Admin.Application.Admin.Commands.TestKlipy;
|
||||
|
||||
@@ -4,8 +4,8 @@ using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using MediatR;
|
||||
using Knot.Shared.Kernel;
|
||||
using Knot.Modules.Settings.Contracts.Application.Abstractions;
|
||||
using Knot.Modules.Settings.Contracts.Application.DTOs;
|
||||
using Knot.Contracts.Settings.Application.Abstractions;
|
||||
using Knot.Contracts.Settings.Application.DTOs;
|
||||
using System.Security.Cryptography;
|
||||
|
||||
namespace Knot.Modules.Admin.Application.Admin.Commands;
|
||||
|
||||
@@ -4,8 +4,8 @@ using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using MediatR;
|
||||
using Knot.Shared.Kernel;
|
||||
using Knot.Modules.Settings.Contracts.Application.Abstractions;
|
||||
using Knot.Modules.Settings.Contracts.Application.DTOs;
|
||||
using Knot.Contracts.Settings.Application.Abstractions;
|
||||
using Knot.Contracts.Settings.Application.DTOs;
|
||||
|
||||
namespace Knot.Modules.Admin.Application.Admin.Queries;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using Knot.Modules.Auth.Contracts.Domain;
|
||||
using Knot.Modules.Auth.Contracts.Application.Auth.DTOs;
|
||||
using Knot.Contracts.Auth.Domain;
|
||||
using Knot.Contracts.Auth.Application.Auth.DTOs;
|
||||
using Knot.Modules.Admin.Application.Admin.DTOs;
|
||||
using Knot.Modules.Messaging.Domain;
|
||||
using System;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Knot.Modules.Auth.Contracts.Domain;
|
||||
using Knot.Contracts.Auth.Domain;
|
||||
using Knot.Modules.Admin.Application.Admin.DTOs;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using Knot.Shared.Kernel;
|
||||
using Knot.Modules.Settings.Contracts.Application.Abstractions;
|
||||
using Knot.Modules.Settings.Contracts.Application.DTOs;
|
||||
using Knot.Contracts.Settings.Application.Abstractions;
|
||||
using Knot.Contracts.Settings.Application.DTOs;
|
||||
|
||||
namespace Knot.Modules.Admin.Domain.Events;
|
||||
|
||||
|
||||
@@ -7,10 +7,11 @@
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Shared\Knot.Shared.Kernel\Knot.Shared.Kernel.csproj" />
|
||||
<ProjectReference Include="..\..\Shared\Knot.Shared.Infrastructure\Knot.Shared.Infrastructure.csproj" />
|
||||
<ProjectReference Include="..\..\Contracts\Knot.Modules.Auth.Contracts\Knot.Modules.Auth.Contracts.csproj" />
|
||||
<ProjectReference Include="..\..\Contracts\Knot.Modules.Profiles.Contracts\Knot.Modules.Profiles.Contracts.csproj" />
|
||||
<ProjectReference Include="..\..\Contracts\Knot.Modules.Conversations.Contracts\Knot.Modules.Conversations.Contracts.csproj" />
|
||||
<ProjectReference Include="..\..\Contracts\Knot.Modules.Settings.Contracts\Knot.Modules.Settings.Contracts.csproj" />
|
||||
<ProjectReference Include="..\..\Contracts\Auth\Knot.Contracts.Auth.csproj" />
|
||||
<ProjectReference Include="..\..\Contracts\Profiles\Knot.Contracts.Profiles.csproj" />
|
||||
<ProjectReference Include="..\..\Contracts\Conversations\Knot.Contracts.Conversations.csproj" />
|
||||
<ProjectReference Include="..\..\Contracts\Settings\Knot.Contracts.Settings.csproj" />
|
||||
<ProjectReference Include="..\Auth\Knot.Modules.Auth.csproj" />
|
||||
<ProjectReference Include="..\Conversations\Knot.Modules.Conversations.csproj" />
|
||||
<ProjectReference Include="..\Stories\Knot.Modules.Stories.csproj" />
|
||||
<ProjectReference Include="..\Klipy\Knot.Modules.Klipy.csproj" />
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
using Carter;
|
||||
using Knot.Modules.Auth.Contracts.Application.Auth.DTOs;
|
||||
using Knot.Contracts.Auth.Application.Auth.DTOs;
|
||||
using Knot.Shared.Kernel;
|
||||
using Knot.Modules.Settings.Contracts.Application.Abstractions;
|
||||
using Knot.Modules.Settings.Contracts.Application.DTOs;
|
||||
using Knot.Contracts.Settings.Application.Abstractions;
|
||||
using Knot.Contracts.Settings.Application.DTOs;
|
||||
using Knot.Modules.Auth.Application.Users.Register;
|
||||
using MediatR;
|
||||
using Knot.Modules.Admin.Application.Admin.Queries;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using Knot.Shared.Kernel;
|
||||
using Knot.Modules.Auth.Contracts.Domain;
|
||||
using Knot.Modules.Auth.Contracts.Application.Auth.DTOs;
|
||||
using Knot.Contracts.Auth.Domain;
|
||||
using Knot.Contracts.Auth.Application.Auth.DTOs;
|
||||
|
||||
namespace Knot.Modules.Auth.Application.Users.GetMe;
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using Knot.Modules.Auth.Contracts.Domain;
|
||||
using Knot.Modules.Auth.Contracts.Application.Abstractions;
|
||||
using Knot.Modules.Auth.Contracts.Application.Auth.DTOs;
|
||||
using Knot.Contracts.Auth.Domain;
|
||||
using Knot.Contracts.Auth.Application.Abstractions;
|
||||
using Knot.Contracts.Auth.Application.Auth.DTOs;
|
||||
using Knot.Shared.Kernel;
|
||||
using BCrypt.Net;
|
||||
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
using Knot.Modules.Auth.Contracts.Domain;
|
||||
using Knot.Modules.Auth.Contracts.Application.Abstractions;
|
||||
using Knot.Modules.Auth.Contracts.Application.Auth.DTOs;
|
||||
using Knot.Contracts.Auth.Domain;
|
||||
using Knot.Contracts.Auth.Application.Abstractions;
|
||||
using Knot.Contracts.Auth.Application.Auth.DTOs;
|
||||
using Knot.Modules.Auth.Domain;
|
||||
using Knot.Shared.Kernel;
|
||||
using Knot.Modules.Settings.Contracts.Application.Abstractions;
|
||||
using Knot.Modules.Settings.Contracts.Application.DTOs;
|
||||
using Knot.Contracts.Settings.Application.Abstractions;
|
||||
using Knot.Contracts.Settings.Application.DTOs;
|
||||
using BCrypt.Net;
|
||||
|
||||
namespace Knot.Modules.Auth.Application.Users.Register;
|
||||
|
||||
/// <summary>
|
||||
/// Команда для регистрации нового пользователя.
|
||||
/// Êîìàíäà äëÿ ðåãèñòðàöèè íîâîãî ïîëüçîâàòåëÿ.
|
||||
/// </summary>
|
||||
public sealed record RegisterUserCommand(
|
||||
string Username,
|
||||
@@ -20,7 +20,7 @@ public sealed record RegisterUserCommand(
|
||||
string? Bio) : ICommand<AuthResponseDto>;
|
||||
|
||||
/// <summary>
|
||||
/// Обработчик команды регистрации.
|
||||
/// Îáðàáîò÷èê êîìàíäû ðåãèñòðàöèè.
|
||||
/// </summary>
|
||||
internal sealed class RegisterUserCommandHandler : ICommandHandler<RegisterUserCommand, AuthResponseDto>
|
||||
{
|
||||
@@ -48,16 +48,16 @@ internal sealed class RegisterUserCommandHandler : ICommandHandler<RegisterUserC
|
||||
return Result.Failure<AuthResponseDto>(AuthErrors.IdentityRegistrationDisabled);
|
||||
}
|
||||
|
||||
// 1. Проверка уникальности username
|
||||
// 1. Ïðîâåðêà óíèêàëüíîñòè username
|
||||
if (!await _userRepository.IsUsernameUniqueAsync(request.Username, cancellationToken))
|
||||
{
|
||||
return Result.Failure<AuthResponseDto>(AuthErrors.IdentityUsernameNotUnique);
|
||||
}
|
||||
|
||||
// 2. Хеширование пароля
|
||||
// 2. Õåøèðîâàíèå ïàðîëÿ
|
||||
string passwordHash = BCrypt.Net.BCrypt.HashPassword(request.Password);
|
||||
|
||||
// 3. Создание сущности
|
||||
// 3. Ñîçäàíèå ñóùíîñòè
|
||||
var user = User.Create(
|
||||
request.Username,
|
||||
passwordHash,
|
||||
@@ -65,7 +65,7 @@ internal sealed class RegisterUserCommandHandler : ICommandHandler<RegisterUserC
|
||||
request.Email,
|
||||
request.Bio);
|
||||
|
||||
// 4. Сохранение - используем метод с Domain User
|
||||
// 4. Ñîõðàíåíèå - èñïîëüçóåì ìåòîä ñ Domain User
|
||||
var repoWithDomainUserAdd = _userRepository as Infrastructure.Persistence.UserRepository;
|
||||
repoWithDomainUserAdd?.Add(user);
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@ using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Knot.Modules.Auth.Infrastructure.Persistence;
|
||||
using Knot.Modules.Auth.Contracts.Domain;
|
||||
using Knot.Modules.Auth.Contracts.Domain;
|
||||
using Knot.Modules.Auth.Contracts.Application.Abstractions;
|
||||
using Knot.Contracts.Auth.Domain;
|
||||
using Knot.Contracts.Auth.Domain;
|
||||
using Knot.Contracts.Auth.Application.Abstractions;
|
||||
using Knot.Modules.Auth.Infrastructure.Authentication;
|
||||
using Knot.Shared.Kernel;
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
using Knot.Shared.Kernel;
|
||||
using Knot.Shared.Kernel;
|
||||
using Knot.Shared.Kernel.Events;
|
||||
using Knot.Modules.Auth.Contracts.Domain;
|
||||
using Knot.Contracts.Auth.Domain;
|
||||
|
||||
namespace Knot.Modules.Auth.Domain;
|
||||
|
||||
/// <summary>
|
||||
/// Сущность пользователя в контексте идентификации (Identity).
|
||||
/// Ñóùíîñòü ïîëüçîâàòåëÿ â êîíòåêñòå èäåíòèôèêàöèè (Identity).
|
||||
/// </summary>
|
||||
public sealed class User : AggregateRoot<Guid>
|
||||
{
|
||||
@@ -44,7 +44,7 @@ public sealed class User : AggregateRoot<Guid>
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Фабричный метод для создания нового пользователя.
|
||||
/// Ôàáðè÷íûé ìåòîä äëÿ ñîçäàíèÿ íîâîãî ïîëüçîâàòåëÿ.
|
||||
/// </summary>
|
||||
public static User Create(string username, string passwordHash, string displayName, string? email = null, string? bio = null)
|
||||
{
|
||||
@@ -54,7 +54,7 @@ public sealed class User : AggregateRoot<Guid>
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Создает "теневого" пользователя для контакта с другого сервера.
|
||||
/// Ñîçäàåò "òåíåâîãî" ïîëüçîâàòåëÿ äëÿ êîíòàêòà ñ äðóãîãî ñåðâåðà.
|
||||
/// </summary>
|
||||
public static User CreateExternal(Guid id, string username, string displayName, string domain, string? avatar = null)
|
||||
{
|
||||
|
||||
@@ -3,8 +3,9 @@ using System.Security.Claims;
|
||||
using System.Text;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.IdentityModel.Tokens;
|
||||
using Knot.Modules.Auth.Contracts.Application.Abstractions;
|
||||
using Knot.Modules.Auth.Domain;
|
||||
using Knot.Contracts.Auth.Application.Abstractions;
|
||||
using Knot.Contracts.Auth.Domain;
|
||||
using DomainUser = Knot.Modules.Auth.Domain.User;
|
||||
|
||||
namespace Knot.Modules.Auth.Infrastructure.Authentication;
|
||||
|
||||
@@ -75,7 +76,7 @@ internal sealed class JwtTokenProvider : IJwtTokenProvider
|
||||
return new JwtSecurityTokenHandler().WriteToken(token);
|
||||
}
|
||||
|
||||
public string Generate(User user)
|
||||
public string Generate(UserContract user)
|
||||
{
|
||||
return Generate(user.Id, user.Username, user.DisplayName, user.Avatar);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
using MediatR;
|
||||
using MediatR;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Diagnostics;
|
||||
using Knot.Modules.Auth.Contracts.Application.Abstractions;
|
||||
using Knot.Modules.Auth.Contracts.Domain;
|
||||
using Knot.Contracts.Auth.Application.Abstractions;
|
||||
using Knot.Contracts.Auth.Domain;
|
||||
using Knot.Shared.Kernel;
|
||||
using Knot.Shared.Kernel.Security;
|
||||
using DomainUser = Knot.Modules.Auth.Domain.User;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Knot.Modules.Auth.Contracts.Domain;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Knot.Contracts.Auth.Domain;
|
||||
using Knot.Modules.Auth.Domain;
|
||||
|
||||
namespace Knot.Modules.Auth.Infrastructure.Persistence;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using Knot.Shared.Kernel;
|
||||
using Knot.Modules.Auth.Contracts.Domain;
|
||||
using Knot.Modules.Auth.Contracts.Domain;
|
||||
using Knot.Contracts.Auth.Domain;
|
||||
using Knot.Contracts.Auth.Domain;
|
||||
|
||||
namespace Knot.Modules.Auth.Infrastructure.Services;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
@@ -8,9 +8,9 @@
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Shared\Knot.Shared.Kernel\Knot.Shared.Kernel.csproj" />
|
||||
<ProjectReference Include="..\..\Contracts\Knot.Modules.Auth.Contracts\Knot.Modules.Auth.Contracts.csproj" />
|
||||
<ProjectReference Include="..\..\Contracts\Knot.Modules.Profiles.Contracts\Knot.Modules.Profiles.Contracts.csproj" />
|
||||
<ProjectReference Include="..\..\Contracts\Knot.Modules.Settings.Contracts\Knot.Modules.Settings.Contracts.csproj" />
|
||||
<ProjectReference Include="..\..\Contracts\Auth\Knot.Contracts.Auth.csproj" />
|
||||
<ProjectReference Include="..\..\Contracts\Profiles\Knot.Contracts.Profiles.csproj" />
|
||||
<ProjectReference Include="..\..\Contracts\Settings\Knot.Contracts.Settings.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
@@ -33,6 +33,3 @@
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace Knot.Modules.Auth.Migrations
|
||||
|
||||
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
||||
|
||||
modelBuilder.Entity("Knot.Modules.Auth.Contracts.Domain.User", b =>
|
||||
modelBuilder.Entity("Knot.Contracts.Auth.Domain.User", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace Knot.Modules.Auth.Migrations
|
||||
|
||||
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
||||
|
||||
modelBuilder.Entity("Knot.Modules.Auth.Contracts.Domain.User", b =>
|
||||
modelBuilder.Entity("Knot.Contracts.Auth.Domain.User", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace Knot.Modules.Auth.Migrations
|
||||
|
||||
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
||||
|
||||
modelBuilder.Entity("Knot.Modules.Auth.Contracts.Domain.User", b =>
|
||||
modelBuilder.Entity("Knot.Contracts.Auth.Domain.User", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace Knot.Modules.Auth.Migrations
|
||||
|
||||
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
||||
|
||||
modelBuilder.Entity("Knot.Modules.Auth.Contracts.Domain.User", b =>
|
||||
modelBuilder.Entity("Knot.Contracts.Auth.Domain.User", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using Knot.Modules.Conversations.Domain;
|
||||
using Knot.Modules.Conversations.Application.Abstractions;
|
||||
using Knot.Modules.Settings.Contracts.Application.Abstractions;
|
||||
using Knot.Contracts.Settings.Application.Abstractions;
|
||||
using Knot.Shared.Kernel;
|
||||
using MediatR;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ using Knot.Modules.Messaging.Application.Abstractions;
|
||||
using Knot.Modules.Messaging.Domain;
|
||||
using Knot.Modules.Conversations.Domain;
|
||||
using Knot.Shared.Kernel;
|
||||
using Knot.Modules.Settings.Contracts.Application.Abstractions;
|
||||
using Knot.Contracts.Settings.Application.Abstractions;
|
||||
using Knot.Modules.Conversations.Application.Abstractions;
|
||||
|
||||
namespace Knot.Modules.Conversations.Application.Messages.Send;
|
||||
|
||||
@@ -6,8 +6,8 @@ using System.Threading.Tasks;
|
||||
using MediatR;
|
||||
using Knot.Shared.Kernel;
|
||||
using Knot.Shared.Kernel.Storage;
|
||||
using Knot.Modules.Settings.Contracts.Application.Abstractions;
|
||||
using Knot.Modules.Settings.Contracts.Application.DTOs;
|
||||
using Knot.Contracts.Settings.Application.Abstractions;
|
||||
using Knot.Contracts.Settings.Application.DTOs;
|
||||
using Knot.Modules.Conversations.Application.DTOs;
|
||||
|
||||
namespace Knot.Modules.Conversations.Application.Messages.UploadFile;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using Knot.Modules.Auth.Contracts.Domain;
|
||||
using Knot.Modules.Auth.Contracts.Application.Abstractions;
|
||||
using Knot.Contracts.Auth.Domain;
|
||||
using Knot.Contracts.Auth.Application.Abstractions;
|
||||
using Knot.Modules.Conversations.Domain;
|
||||
using Knot.Modules.Messaging.Domain;
|
||||
using Knot.Shared.Kernel;
|
||||
|
||||
@@ -1,8 +1,15 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Shared\Knot.Shared.Kernel\Knot.Shared.Kernel.csproj" />
|
||||
<ProjectReference Include="..\..\Contracts\Knot.Modules.Settings.Contracts\Knot.Modules.Settings.Contracts.csproj" />
|
||||
<ProjectReference Include="..\..\Shared\Knot.Shared.Infrastructure\Knot.Shared.Infrastructure.csproj" />
|
||||
<ProjectReference Include="..\..\Contracts\Settings\Knot.Contracts.Settings.csproj" />
|
||||
<ProjectReference Include="..\Messaging\Knot.Modules.Messaging.csproj" />
|
||||
<ProjectReference Include="..\Auth\Knot.Modules.Auth.csproj" />
|
||||
</ItemGroup>
|
||||
@@ -30,10 +37,4 @@
|
||||
<InternalsVisibleTo Include="DynamicProxyGenAssembly2" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -2,8 +2,8 @@ using Knot.Shared.Kernel.Constants;
|
||||
using System.Security.Cryptography;
|
||||
using MediatR;
|
||||
using Knot.Shared.Kernel;
|
||||
using Knot.Modules.Settings.Contracts.Application.Abstractions;
|
||||
using Knot.Modules.Settings.Contracts.Application.DTOs;
|
||||
using Knot.Contracts.Settings.Application.Abstractions;
|
||||
using Knot.Contracts.Settings.Application.DTOs;
|
||||
|
||||
namespace Host.Application.Federation.Commands;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
@@ -8,11 +8,11 @@ using System.Threading.Tasks;
|
||||
using MediatR;
|
||||
using Knot.Modules.Federation.Application.Abstractions;
|
||||
using Knot.Shared.Kernel;
|
||||
using Knot.Modules.Auth.Contracts.Domain;
|
||||
using Knot.Contracts.Auth.Domain;
|
||||
using Knot.Modules.Messaging.Application.Abstractions;
|
||||
using Knot.Modules.Messaging.Domain;
|
||||
using Knot.Modules.Settings.Contracts.Application.Abstractions;
|
||||
using Knot.Modules.Settings.Contracts.Application.DTOs;
|
||||
using Knot.Contracts.Settings.Application.Abstractions;
|
||||
using Knot.Contracts.Settings.Application.DTOs;
|
||||
using Knot.Shared.Kernel.Constants;
|
||||
|
||||
namespace Host.Application.Federation.Commands;
|
||||
@@ -52,7 +52,7 @@ internal sealed class InboundFederationCommandHandler : ICommandHandler<InboundF
|
||||
|
||||
var packet = request.Packet;
|
||||
|
||||
// 1. Проверяем подпись отправителя
|
||||
// 1. Ïðîâåðÿåì ïîäïèñü îòïðàâèòåëÿ
|
||||
var senderConfig = settings.Federation.AllowedDomains.FirstOrDefault(d => d.IsEnabled && d.Domain.Equals(packet.SenderDomain, StringComparison.OrdinalIgnoreCase));
|
||||
if (senderConfig == null || string.IsNullOrEmpty(senderConfig.PublicKey))
|
||||
return Result.Failure(new Error("Federation.SenderNotAllowed", "Sender domain not in allowlist."));
|
||||
@@ -67,7 +67,7 @@ internal sealed class InboundFederationCommandHandler : ICommandHandler<InboundF
|
||||
}
|
||||
}
|
||||
|
||||
// 2. Расшифровываем IV своим Private Key
|
||||
// 2. Ðàñøèôðîâûâàåì IV ñâîèì Private Key
|
||||
byte[] aesKey;
|
||||
byte[] aesIv;
|
||||
using (var rsaDecrypt = RSA.Create())
|
||||
@@ -82,7 +82,7 @@ internal sealed class InboundFederationCommandHandler : ICommandHandler<InboundF
|
||||
Buffer.BlockCopy(decryptedKeys, 32, aesIv, 0, 16);
|
||||
}
|
||||
|
||||
// 3. Расшифровываем само сообщение (AES-256)
|
||||
// 3. Ðàñøèôðîâûâàåì ñàìî ñîîáùåíèå (AES-256)
|
||||
string plainText;
|
||||
using (var aes = Aes.Create())
|
||||
{
|
||||
@@ -96,7 +96,7 @@ internal sealed class InboundFederationCommandHandler : ICommandHandler<InboundF
|
||||
}
|
||||
}
|
||||
|
||||
// 4. Логика обработки типов сообщений
|
||||
// 4. Ëîãèêà îáðàáîòêè òèïîâ ñîîáùåíèé
|
||||
if (packet.Metadata.MessageType == "sync_capabilities")
|
||||
{
|
||||
var capabilities = JsonSerializer.Deserialize<RemoteCapabilities>(plainText);
|
||||
@@ -119,7 +119,7 @@ internal sealed class InboundFederationCommandHandler : ICommandHandler<InboundF
|
||||
user.IsOnline = isOnline;
|
||||
await _userRepository.UpdateAsync(user, cancellationToken);
|
||||
|
||||
// Уведомляем локальных пользователей через SignalR
|
||||
// Óâåäîìëÿåì ëîêàëüíûõ ïîëüçîâàòåëåé ÷åðåç SignalR
|
||||
await _notifier.NotifyNewMessageAsync(Guid.Empty, new { type = "presence_update", userId = user.Id, isOnline = user.IsOnline }, cancellationToken);
|
||||
}
|
||||
return Result.Success();
|
||||
@@ -183,7 +183,7 @@ internal sealed class InboundFederationCommandHandler : ICommandHandler<InboundF
|
||||
if (packet.Metadata.MessageType == "poll" && !settings.Messages.AllowPolls)
|
||||
return Result.Failure(new Error("Federation.PollsDisabled", "We do not accept polls."));
|
||||
|
||||
// 5. Сохранение в базу сообщений (MongoDB)
|
||||
// 5. Ñîõðàíåíèå â áàçó ñîîáùåíèé (MongoDB)
|
||||
var message = new TextMessage(
|
||||
Guid.NewGuid(),
|
||||
packet.Metadata.ChatId,
|
||||
@@ -197,7 +197,7 @@ internal sealed class InboundFederationCommandHandler : ICommandHandler<InboundF
|
||||
|
||||
_messageRepository.Add(message);
|
||||
|
||||
// 6. Уведомление пользователя через SignalR
|
||||
// 6. Óâåäîìëåíèå ïîëüçîâàòåëÿ ÷åðåç SignalR
|
||||
await _notifier.NotifyNewMessageAsync(packet.Metadata.ChatId, message, cancellationToken);
|
||||
|
||||
return Result.Success();
|
||||
|
||||
@@ -3,9 +3,9 @@ using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using MediatR;
|
||||
using Knot.Shared.Kernel;
|
||||
using Knot.Modules.Auth.Contracts.Domain;
|
||||
using Knot.Modules.Settings.Contracts.Application.Abstractions;
|
||||
using Knot.Modules.Settings.Contracts.Application.DTOs;
|
||||
using Knot.Contracts.Auth.Domain;
|
||||
using Knot.Contracts.Settings.Application.Abstractions;
|
||||
using Knot.Contracts.Settings.Application.DTOs;
|
||||
using System.Linq;
|
||||
|
||||
namespace Host.Application.Federation.Commands;
|
||||
|
||||
@@ -7,9 +7,9 @@ using Knot.Modules.Messaging.Domain;
|
||||
using Knot.Modules.Federation.Application.Federation.Services;
|
||||
using Knot.Modules.Conversations.Domain;
|
||||
using Knot.Modules.Federation.Application.Abstractions;
|
||||
using Knot.Modules.Settings.Contracts.Application.Abstractions;
|
||||
using Knot.Modules.Settings.Contracts.Application.DTOs;
|
||||
using Knot.Modules.Auth.Contracts.Domain;
|
||||
using Knot.Contracts.Settings.Application.Abstractions;
|
||||
using Knot.Contracts.Settings.Application.DTOs;
|
||||
using Knot.Contracts.Auth.Domain;
|
||||
|
||||
namespace Knot.Modules.Federation.Application.Federation.Events;
|
||||
|
||||
|
||||
@@ -7,9 +7,9 @@ using Knot.Modules.Messaging.Domain;
|
||||
using Knot.Modules.Federation.Application.Federation.Services;
|
||||
using Knot.Modules.Conversations.Domain;
|
||||
using Knot.Modules.Federation.Application.Abstractions;
|
||||
using Knot.Modules.Settings.Contracts.Application.Abstractions;
|
||||
using Knot.Modules.Settings.Contracts.Application.DTOs;
|
||||
using Knot.Modules.Auth.Contracts.Domain;
|
||||
using Knot.Contracts.Settings.Application.Abstractions;
|
||||
using Knot.Contracts.Settings.Application.DTOs;
|
||||
using Knot.Contracts.Auth.Domain;
|
||||
|
||||
namespace Knot.Modules.Federation.Application.Federation.Events;
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ using MediatR;
|
||||
using Knot.Modules.Settings.Domain.Events;
|
||||
using Knot.Modules.Federation.Application.Abstractions;
|
||||
using Knot.Modules.Federation.Application.Federation.Services;
|
||||
using Knot.Modules.Settings.Contracts.Application.Abstractions;
|
||||
using Knot.Modules.Settings.Contracts.Application.DTOs;
|
||||
using Knot.Contracts.Settings.Application.Abstractions;
|
||||
using Knot.Contracts.Settings.Application.DTOs;
|
||||
|
||||
namespace Knot.Modules.Federation.Application.Federation.Events;
|
||||
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using MediatR;
|
||||
using Knot.Modules.Auth.Contracts.Domain;
|
||||
using Knot.Contracts.Auth.Domain;
|
||||
using Knot.Modules.Auth.Domain;
|
||||
using Knot.Modules.Conversations.Domain;
|
||||
using Knot.Modules.Federation.Application.Abstractions;
|
||||
using Knot.Modules.Federation.Application.Federation.Services;
|
||||
using Knot.Modules.Settings.Contracts.Application.Abstractions;
|
||||
using Knot.Modules.Settings.Contracts.Application.DTOs;
|
||||
using Knot.Contracts.Settings.Application.Abstractions;
|
||||
using Knot.Contracts.Settings.Application.DTOs;
|
||||
|
||||
namespace Knot.Modules.Federation.Application.Federation.Events;
|
||||
|
||||
/// <summary>
|
||||
/// Обработчик изменения статуса пользователя.
|
||||
/// Рассылает новый статус всем серверам, где у пользователя есть чаты.
|
||||
/// Îáðàáîò÷èê èçìåíåíèÿ ñòàòóñà ïîëüçîâàòåëÿ.
|
||||
/// Ðàññûëàåò íîâûé ñòàòóñ âñåì ñåðâåðàì, ãäå ó ïîëüçîâàòåëÿ åñòü ÷àòû.
|
||||
/// </summary>
|
||||
public sealed class UserStatusChangedDomainEventHandler : INotificationHandler<UserStatusChangedDomainEvent>
|
||||
{
|
||||
@@ -44,11 +44,11 @@ public sealed class UserStatusChangedDomainEventHandler : INotificationHandler<U
|
||||
var settings = await _settingsService.GetSettingsAsync(cancellationToken);
|
||||
if (!settings.Federation.Enabled) return;
|
||||
|
||||
// 1. Находим все чаты пользователя
|
||||
// 1. Íàõîäèì âñå ÷àòû ïîëüçîâàòåëÿ
|
||||
var userChats = await _chatRepository.GetUserChatsAsync(notification.UserId, cancellationToken);
|
||||
if (!userChats.Any()) return;
|
||||
|
||||
// 2. Определяем уникальные внешние домены участников этих чатов
|
||||
// 2. Îïðåäåëÿåì óíèêàëüíûå âíåøíèå äîìåíû ó÷àñòíèêîâ ýòèõ ÷àòîâ
|
||||
var allMemberIds = userChats.SelectMany(c => c.Members.Select(m => m.UserId)).Distinct().ToList();
|
||||
var members = await _userRepository.GetByIdsAsync(allMemberIds, cancellationToken);
|
||||
|
||||
@@ -60,7 +60,7 @@ public sealed class UserStatusChangedDomainEventHandler : INotificationHandler<U
|
||||
|
||||
if (!externalDomains.Any()) return;
|
||||
|
||||
// 3. Формируем пакет статуса
|
||||
// 3. Ôîðìèðóåì ïàêåò ñòàòóñà
|
||||
var statusData = new {
|
||||
notification.IsOnline,
|
||||
notification.LastSeen
|
||||
@@ -75,7 +75,7 @@ public sealed class UserStatusChangedDomainEventHandler : INotificationHandler<U
|
||||
DateTime.UtcNow
|
||||
);
|
||||
|
||||
// 4. Рассылка по доменам
|
||||
// 4. Ðàññûëêà ïî äîìåíàì
|
||||
foreach (var domain in externalDomains)
|
||||
{
|
||||
var packetResult = await _packetService.PreparePacketAsync(payload, metadata, domain, cancellationToken);
|
||||
|
||||
@@ -8,8 +8,8 @@ using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Knot.Modules.Federation.Application.Abstractions;
|
||||
using Knot.Shared.Kernel;
|
||||
using Knot.Modules.Settings.Contracts.Application.Abstractions;
|
||||
using Knot.Modules.Settings.Contracts.Application.DTOs;
|
||||
using Knot.Contracts.Settings.Application.Abstractions;
|
||||
using Knot.Contracts.Settings.Application.DTOs;
|
||||
using Knot.Shared.Kernel.Security;
|
||||
|
||||
namespace Knot.Modules.Federation.Application.Federation.Services;
|
||||
|
||||
@@ -8,8 +8,8 @@ using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Knot.Modules.Federation.Application.Abstractions;
|
||||
using Knot.Shared.Kernel;
|
||||
using Knot.Modules.Settings.Contracts.Application.Abstractions;
|
||||
using Knot.Modules.Settings.Contracts.Application.DTOs;
|
||||
using Knot.Contracts.Settings.Application.Abstractions;
|
||||
using Knot.Contracts.Settings.Application.DTOs;
|
||||
using Knot.Shared.Kernel.Security;
|
||||
|
||||
namespace Knot.Modules.Federation.Infrastructure.Services;
|
||||
|
||||
@@ -7,11 +7,12 @@
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Shared\Knot.Shared.Kernel\Knot.Shared.Kernel.csproj" />
|
||||
<ProjectReference Include="..\..\Shared\Knot.Shared.Infrastructure\Knot.Shared.Infrastructure.csproj" />
|
||||
<ProjectReference Include="..\..\Contracts\Knot.Modules.Auth.Contracts\Knot.Modules.Auth.Contracts.csproj" />
|
||||
<ProjectReference Include="..\Conversations\Knot.Modules.Conversations.csproj" />
|
||||
<ProjectReference Include="..\..\Contracts\Auth\Knot.Contracts.Auth.csproj" />
|
||||
<ProjectReference Include="..\..\Contracts\Settings\Knot.Contracts.Settings.csproj" />
|
||||
<ProjectReference Include="..\Auth\Knot.Modules.Auth.csproj" />
|
||||
<ProjectReference Include="..\Conversations\Knot.Modules.Conversations.csproj" />
|
||||
<ProjectReference Include="..\Messaging\Knot.Modules.Messaging.csproj" />
|
||||
<ProjectReference Include="..\Stories\Knot.Modules.Stories.csproj" />
|
||||
<ProjectReference Include="..\Settings\Knot.Modules.Settings.csproj" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Carter" Version="10.0.0" />
|
||||
|
||||
@@ -9,8 +9,8 @@ using System;
|
||||
using Host.Application.Federation.Commands;
|
||||
using Knot.Modules.Federation.Application.Abstractions;
|
||||
using Knot.Shared.Kernel.Storage;
|
||||
using Knot.Modules.Settings.Contracts.Application.Abstractions;
|
||||
using Knot.Modules.Settings.Contracts.Application.DTOs;
|
||||
using Knot.Contracts.Settings.Application.Abstractions;
|
||||
using Knot.Contracts.Settings.Application.DTOs;
|
||||
|
||||
namespace Host.Endpoints;
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using Knot.Shared.Kernel;
|
||||
using Knot.Modules.Settings.Contracts.Application.Abstractions;
|
||||
using Knot.Modules.Settings.Contracts.Application.DTOs;
|
||||
using Knot.Contracts.Settings.Application.Abstractions;
|
||||
using Knot.Contracts.Settings.Application.DTOs;
|
||||
using Knot.Shared.Kernel.Constants;
|
||||
using Microsoft.Extensions.Caching.Memory;
|
||||
using System;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using Knot.Shared.Kernel;
|
||||
using Knot.Modules.Settings.Contracts.Application.Abstractions;
|
||||
using Knot.Modules.Settings.Contracts.Application.DTOs;
|
||||
using Knot.Contracts.Settings.Application.Abstractions;
|
||||
using Knot.Contracts.Settings.Application.DTOs;
|
||||
using Knot.Shared.Kernel.Constants;
|
||||
using Microsoft.Extensions.Caching.Memory;
|
||||
using System;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Shared\Knot.Shared.Kernel\Knot.Shared.Kernel.csproj" />
|
||||
<ProjectReference Include="..\..\Shared\Knot.Shared.Infrastructure\Knot.Shared.Infrastructure.csproj" />
|
||||
<ProjectReference Include="..\..\Contracts\Knot.Modules.Settings.Contracts\Knot.Modules.Settings.Contracts.csproj" />
|
||||
<ProjectReference Include="..\..\Contracts\Settings\Knot.Contracts.Settings.csproj" />
|
||||
<ProjectReference Include="..\Settings\Knot.Modules.Settings.csproj" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user