48 lines
1.3 KiB
C#
Raw Normal View History

using API.Authentication.Interfaces;
using API.DTO.Base;
2024-07-12 17:27:01 -05:00
using API.DTO.Login;
using DAL.Contexts;
using DAL.Models;
using DAL.Models.Audits;
namespace API.Services
{
2024-07-15 13:23:58 -05:00
public class UserService : ServiceBase<UserService, UserDTO, User, AuditUser, IUserAuthentication>
{
2024-07-12 17:27:01 -05:00
private readonly ulong _defaultUserPermission;
private readonly PermissionService _permissionService;
2024-07-15 13:23:58 -05:00
public UserService(ILogger<UserService> logger, SASGContext context, IUserAuthentication auth, PermissionService permissionService, ulong defaultUserPermission) : base(logger, context, auth)
2024-07-12 17:27:01 -05:00
{
_permissionService = permissionService;
_defaultUserPermission = defaultUserPermission;
}
2024-07-12 17:27:01 -05:00
public User add(UserRegisterDTO registerDTO, string hashedPassword, byte[] salt)
{
2024-07-12 17:27:01 -05:00
Permission? defaultPermission = _permissionService.getNoAuthentication(_defaultUserPermission);
if (defaultPermission == null)
throw new InvalidOperationException("defaultUserPermission doesn't exist.");
User model = new User
{
firstName = registerDTO.firstName,
lastName = registerDTO.lastName,
phoneNumber = registerDTO.phoneNumber,
password = hashedPassword,
salt = salt,
permissionId = defaultPermission.id,
updated = DateTime.Now
};
Context.Add(model);
Context.SaveChanges();
return model;
}
}
}