api e token con ck in db

This commit is contained in:
Riccardo Usardi committed 2025-07-09 18:51:18 +02:00
1 parent a172f05269
commit 2db9525570
18 files changed
+570 -161

No files matched your search

@@ -22,10 +22,11 @@ namespace uWine.Core.Infrastructure.Repository
if (user == null || string.IsNullOrEmpty(user.Username) || string.IsNullOrEmpty(user.Password)) return false;
using (var conn = Connection())
{
var cmd = new MySqlCommand("sp_check_login", conn);
conn.Open();
var cmd = new MySqlCommand("sp_login_user", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Username", user.Username);
cmd.Parameters.AddWithValue("@Password", user.Password);
cmd.Parameters.AddWithValue("@IN_username", user.Username);
cmd.Parameters.AddWithValue("@IN_password", user.Password);
using (var reader = cmd.ExecuteReader())
{
if (reader.Read())
@@ -36,5 +37,33 @@ namespace uWine.Core.Infrastructure.Repository
}
return false;
}
public User LoggedUser(User user)
{
using (var conn = Connection())
{
conn.Open();
var cmd = new MySqlCommand($@"SELECT u.id,
username,
u.role as role_id,
r.role as name,
description
FROM t_users u
JOIN t_role r on r.id = u.role
WHERE username = @username AND active = 1 AND
password = SHA2(CONCAT(@password, salt), 512)", conn);
cmd.Parameters.AddWithValue("username", user.Username);
cmd.Parameters.AddWithValue ("password", user.Password);
using( var reader = cmd.ExecuteReader())
{
if (reader.Read())
{
return User.LoginUser(reader);
}
}
}
return new User();
}
}
}
@@ -21,5 +21,10 @@ namespace uWine.Core.Infrastructure.Services
{
return _authenticationRepository.Valid(user);
}
public User User(User user)
{
return _authenticationRepository.LoggedUser(user);
}
}
}
@@ -16,9 +16,9 @@ namespace uWine.Core.Infrastructure.Services
IVineyardRepository _vineyardRepository;
public OwnerService(
IOwnerRepository ownerRepository,
IAddressRepository addressRepository,
IContactRepository contactRepository,
IOwnerRepository ownerRepository,
IAddressRepository addressRepository,
IContactRepository contactRepository,
IVineyardRepository vineyardRepository
)
{
@@ -28,9 +28,16 @@ namespace uWine.Core.Infrastructure.Services
_vineyardRepository = vineyardRepository;
}
public Owner Owner(int ownerId)
{
var owner = _ownerRepository.Simple(ownerId);
owner = FillData(owner);
return owner;
}
public Owner FillData(Owner owner)
{
owner.Addresses =_addressRepository.OwnerAddresses(owner.Id);
owner.Addresses = _addressRepository.OwnerAddresses(owner.Id);
owner.Contacts = _contactRepository.OwnerContacts(owner.Id);
owner.Vineyards = _vineyardRepository.GetOwnerVineyards(owner.Id);