diff --git a/Mango.Models/Logins/ILoggedInModel.cs b/Mango.Models/Logins/ILoggedInModel.cs new file mode 100644 index 0000000..0c10306 --- /dev/null +++ b/Mango.Models/Logins/ILoggedInModel.cs @@ -0,0 +1,10 @@ +using AyCode.Interfaces.Server.Logins; +using Mango.Entities.Addresses; +using Mango.Entities.Companies; +using Mango.Entities.Profiles; +using Mango.Entities.Users; + +namespace Mango.Models.Logins; + +public interface ILoggedInModel : IAcLoggedInModelBase +{} \ No newline at end of file diff --git a/Mango.Models/Logins/LoggedInModel.cs b/Mango.Models/Logins/LoggedInModel.cs new file mode 100644 index 0000000..407edeb --- /dev/null +++ b/Mango.Models/Logins/LoggedInModel.cs @@ -0,0 +1,11 @@ +using AyCode.Models.Server.Logins; +using Mango.Entities.Addresses; +using Mango.Entities.Companies; +using Mango.Entities.Profiles; +using Mango.Entities.Users; + +namespace Mango.Models.Logins; + +public class LoggedInModel : AcLoggedInModelServer, ILoggedInModel +{ +} \ No newline at end of file diff --git a/Mango.Models/Mango.Models.csproj b/Mango.Models/Mango.Models.csproj index fa71b7a..0bb8421 100644 --- a/Mango.Models/Mango.Models.csproj +++ b/Mango.Models/Mango.Models.csproj @@ -6,4 +6,41 @@ enable + + + + + + + + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Core.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Core.Server.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Database.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Entities.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Entities.Server.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Interfaces.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Interfaces.Server.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Models.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Models.Server.dll + + + diff --git a/Mango.Services.Server.Tests/LoginServices/LoginServiceServerTests.cs b/Mango.Services.Server.Tests/LoginServices/LoginServiceServerTests.cs new file mode 100644 index 0000000..c7a2859 --- /dev/null +++ b/Mango.Services.Server.Tests/LoginServices/LoginServiceServerTests.cs @@ -0,0 +1,34 @@ +using AyCode.Services.Server.Tests.LoginServices; +using Mango.Database.DataLayers.Users; +using Mango.Database.DbContexts.Users; +using Mango.Entities.Addresses; +using Mango.Entities.Companies; +using Mango.Entities.Messages.Emails; +using Mango.Entities.Profiles; +using Mango.Entities.Users; +using Mango.Models.Logins; +using Mango.Services.Server.Logins; + +namespace Mango.Services.Server.Tests.LoginServices +{ + [TestClass] + public class LoginServiceServerTests : AcLoginServiceServerTestBase + { + private const string RegisterEmail = "qwerty@xxxxx.com"; + private const string RegisterPassword = "elem'r"; + private const string RegisterUserIdString = "1f7e0591-330b-463b-81ad-d01f2e65e23e"; + + private const string LoginEmail = "asdfsdf@ggggg.hu"; + private const string LoginPassword = "alad'r"; + + [DataTestMethod] + [DataRow([RegisterUserIdString, RegisterEmail, RegisterPassword])] + public override Task AcBase_RegisterUser_ReturnsUser_WhenUserExist(string[] userIdEmailPasswordStrings) + => base.AcBase_RegisterUser_ReturnsUser_WhenUserExist(userIdEmailPasswordStrings); + + [DataTestMethod] + [DataRow([LoginEmail, LoginPassword])] + public override void AcBase_LoginUser_ReturnsUser_WhenUserExist(string[] emailPasswordStrings) + => base.AcBase_LoginUser_ReturnsUser_WhenUserExist(emailPasswordStrings); + } +} \ No newline at end of file diff --git a/Mango.Services.Server.Tests/Mango.Services.Server.Tests.csproj b/Mango.Services.Server.Tests/Mango.Services.Server.Tests.csproj new file mode 100644 index 0000000..1d723b2 --- /dev/null +++ b/Mango.Services.Server.Tests/Mango.Services.Server.Tests.csproj @@ -0,0 +1,102 @@ + + + + net8.0 + enable + enable + + false + true + + + + + + + + + PreserveNewest + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + + + + + + + + + + + + + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Core.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Core.Server.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server.Tests\bin\Debug\net8.0\AyCode.Core.Tests.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Database.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server.Tests\bin\Debug\net8.0\AyCode.Database.Tests.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Entities.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Entities.Server.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Interfaces.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Interfaces.Server.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Models.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Models.Server.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Services.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Services.Server.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server.Tests\bin\Debug\net8.0\AyCode.Services.Server.Tests.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Utils.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server.Tests\bin\Debug\net8.0\AyCode.Utils.Server.dll + + + + + + + + diff --git a/Mango.Services.Server.Tests/appsettings.json b/Mango.Services.Server.Tests/appsettings.json new file mode 100644 index 0000000..780df2e --- /dev/null +++ b/Mango.Services.Server.Tests/appsettings.json @@ -0,0 +1,22 @@ +{ + "ConnectionStrings": { + "DeveloperDbConnection": "Data Source=185.51.190.197;Initial Catalog=TIAM_DEV;Trusted_Connection=false;Encrypt=false;TrustServerCertificate=True;Connect Timeout=200;User ID=Anata_Development_Team;Password=v6f_?xNfg9N1;MultipleActiveResultSets=true" + }, + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*", + "JWT": { + "Key": "Cee4400-rDMFkVvHPufyLDSzbfu2grgRhpepos299IhTLOXsljkcpt3yUR4RRjPQ", + "Issuer": "http://localhost:5000", + "Audience": "http://localhost:5000" + }, + "SendGrid": { + //"Key": "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" + "Key": "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" + } + +} diff --git a/Mango.Services.Server/Logins/ILoginService.cs b/Mango.Services.Server/Logins/ILoginService.cs new file mode 100644 index 0000000..a8e7dbb --- /dev/null +++ b/Mango.Services.Server/Logins/ILoginService.cs @@ -0,0 +1,13 @@ +using AyCode.Interfaces.Server.Logins; +using Mango.Entities.Addresses; +using Mango.Entities.Companies; +using Mango.Entities.Profiles; +using Mango.Entities.Users; +using Mango.Models.Logins; + +namespace Mango.Services.Server.Logins; + +public interface ILoginService : IAcLoginServiceServer +{ + +} \ No newline at end of file diff --git a/Mango.Services.Server/Logins/LoginService.cs b/Mango.Services.Server/Logins/LoginService.cs new file mode 100644 index 0000000..d83ab99 --- /dev/null +++ b/Mango.Services.Server/Logins/LoginService.cs @@ -0,0 +1,32 @@ +using AyCode.Core.Consts; +using AyCode.Services.Server.Logins; +using Mango.Database.DataLayers.Users; +using Mango.Database.DbContexts.Users; +using Mango.Entities.Addresses; +using Mango.Entities.Companies; +using Mango.Entities.Messages.Emails; +using Mango.Entities.Profiles; +using Mango.Entities.Users; +using Mango.Models.Logins; +using Microsoft.Extensions.Configuration; + +namespace Mango.Services.Server.Logins; + +public class LoginService(UserDal userDal, IConfiguration configuration) : AcLoginServiceServer(userDal, configuration), ILoginService + +{ + public override LoggedInModel Login(string? email, string? password) + { + return base.Login(email, password); + } + + public override bool Logout() + { + return base.Logout(); + } + + public override Task RegistrationAsync(string email, string password, string? phoneNumber = null) + { + return base.RegistrationAsync(email, password, phoneNumber); + } +} \ No newline at end of file diff --git a/Mango.Services.Server/Mango.Services.Server.csproj b/Mango.Services.Server/Mango.Services.Server.csproj new file mode 100644 index 0000000..31fc60d --- /dev/null +++ b/Mango.Services.Server/Mango.Services.Server.csproj @@ -0,0 +1,68 @@ + + + + net8.0 + enable + enable + + + + + + + + + + + + + + + + + + + + + + + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Core.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Core.Server.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Database.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Entities.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Entities.Server.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Interfaces.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Interfaces.Server.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Models.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Models.Server.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Services.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Services.Server.dll + + + ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Utils.dll + + + + diff --git a/Mango.Services/Mango.Services.csproj b/Mango.Services/Mango.Services.csproj new file mode 100644 index 0000000..fa71b7a --- /dev/null +++ b/Mango.Services/Mango.Services.csproj @@ -0,0 +1,9 @@ + + + + net8.0 + enable + enable + + + diff --git a/MissNationBlazor.sln b/MissNationBlazor.sln index bebdc28..7842407 100644 --- a/MissNationBlazor.sln +++ b/MissNationBlazor.sln @@ -13,23 +13,29 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MissNationBlazorWASM.Shared EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MissNationSharedUI", "MissNationSharedUI\MissNationSharedUI.csproj", "{B7790887-D399-4AA6-B3F4-2C332D83C637}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mango.Core", "Mango.Core\Mango.Core.csproj", "{69E5377B-5938-4C08-AB7F-424EB353578A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mango.Core", "Mango.Core\Mango.Core.csproj", "{69E5377B-5938-4C08-AB7F-424EB353578A}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mango.Database", "Mango.Database\Mango.Database.csproj", "{7C58DF80-C636-4693-8AC2-6D92B503DCA5}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mango.Database", "Mango.Database\Mango.Database.csproj", "{7C58DF80-C636-4693-8AC2-6D92B503DCA5}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mango.Entities", "Mango.Entities\Mango.Entities.csproj", "{17FE11C8-0821-4357-9BE0-6D96E948BECB}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mango.Entities", "Mango.Entities\Mango.Entities.csproj", "{17FE11C8-0821-4357-9BE0-6D96E948BECB}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mango.Entities.Server", "Mango.Entities.Server\Mango.Entities.Server.csproj", "{51FFD293-3C1A-43D6-A272-2850AFC3F1D6}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mango.Entities.Server", "Mango.Entities.Server\Mango.Entities.Server.csproj", "{51FFD293-3C1A-43D6-A272-2850AFC3F1D6}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mango.Interfaces", "Mango.Interfaces\Mango.Interfaces.csproj", "{B9CAB99F-AF7D-4377-ACD1-97C5A0D703EA}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mango.Interfaces", "Mango.Interfaces\Mango.Interfaces.csproj", "{B9CAB99F-AF7D-4377-ACD1-97C5A0D703EA}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mango.Interfaces.Server", "Mango.Interfaces.Server\Mango.Interfaces.Server.csproj", "{E966ABA3-C927-4BC0-96A2-9CB9BA60DE6D}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mango.Interfaces.Server", "Mango.Interfaces.Server\Mango.Interfaces.Server.csproj", "{E966ABA3-C927-4BC0-96A2-9CB9BA60DE6D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mango.Models", "Mango.Models\Mango.Models.csproj", "{AC74712A-880D-4633-86A9-F02AA4A62E90}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mango.Models", "Mango.Models\Mango.Models.csproj", "{AC74712A-880D-4633-86A9-F02AA4A62E90}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mango.Database.Test", "Mango.Database.Test\Mango.Database.Test.csproj", "{F12EB241-1360-4CC7-9078-EDD487F4A9FC}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mango.Database.Test", "Mango.Database.Test\Mango.Database.Test.csproj", "{F12EB241-1360-4CC7-9078-EDD487F4A9FC}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mango.Core.Server", "Mango.Core.Server\Mango.Core.Server.csproj", "{90AE435C-D257-4839-8AC5-F8D012A4F92C}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mango.Core.Server", "Mango.Core.Server\Mango.Core.Server.csproj", "{90AE435C-D257-4839-8AC5-F8D012A4F92C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mango.Services", "Mango.Services\Mango.Services.csproj", "{561010E9-A898-4EAE-98AC-23D7D988A39A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mango.Services.Server", "Mango.Services.Server\Mango.Services.Server.csproj", "{2EB5F3A6-2A08-44AF-997E-E8F3411071D5}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mango.Services.Server.Tests", "Mango.Services.Server.Tests\Mango.Services.Server.Tests.csproj", "{9ADAA164-BBE3-4919-9881-98980D5C3CCE}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -95,6 +101,18 @@ Global {90AE435C-D257-4839-8AC5-F8D012A4F92C}.Debug|Any CPU.Build.0 = Debug|Any CPU {90AE435C-D257-4839-8AC5-F8D012A4F92C}.Release|Any CPU.ActiveCfg = Release|Any CPU {90AE435C-D257-4839-8AC5-F8D012A4F92C}.Release|Any CPU.Build.0 = Release|Any CPU + {561010E9-A898-4EAE-98AC-23D7D988A39A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {561010E9-A898-4EAE-98AC-23D7D988A39A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {561010E9-A898-4EAE-98AC-23D7D988A39A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {561010E9-A898-4EAE-98AC-23D7D988A39A}.Release|Any CPU.Build.0 = Release|Any CPU + {2EB5F3A6-2A08-44AF-997E-E8F3411071D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2EB5F3A6-2A08-44AF-997E-E8F3411071D5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2EB5F3A6-2A08-44AF-997E-E8F3411071D5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2EB5F3A6-2A08-44AF-997E-E8F3411071D5}.Release|Any CPU.Build.0 = Release|Any CPU + {9ADAA164-BBE3-4919-9881-98980D5C3CCE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9ADAA164-BBE3-4919-9881-98980D5C3CCE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9ADAA164-BBE3-4919-9881-98980D5C3CCE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9ADAA164-BBE3-4919-9881-98980D5C3CCE}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE