Fix on the admin user.

This commit is contained in:
Sébastien André
2021-03-18 15:50:41 +01:00
parent b192bb7192
commit 7caf1d7df2
16 changed files with 80 additions and 37 deletions

View File

@@ -22,6 +22,23 @@ namespace skydiveLogs_api.DomainBusiness
_gearRepository.Add(newGear);
}
public void AddRentalGear(User connectedUser)
{
var rentalGear = new Gear
{
Name = "Rental gear",
Manufacturer = "?",
MainCanopy = "?",
Aad = "Cypress/Vigil",
MaxSize = 280,
MinSize = 190,
ReserveCanopy = "?",
User = connectedUser
};
_gearRepository.Add(rentalGear);
}
public void DeleteGearById(int id)
{
throw new NotImplementedException();

View File

@@ -82,12 +82,12 @@ namespace skydiveLogs_api.DomainBusiness
var adminUser = new User
{
Login = "administrator",
Password = "logsadmin"
Password = "logsadmin",
Email = "no mail"
};
_userService.AddNewUser(adminUser);
_userService.AddNewUser(adminUser, true);
}
private readonly IAircraftService _aircraftService;
private readonly IJumpTypeService _jumpTypeService;

View File

@@ -16,5 +16,7 @@ namespace skydiveLogs_api.DomainBusiness.Interfaces
void UpdateGear(int id, Gear gear);
void AddNewGear(Gear gear, User connectedUser);
void AddRentalGear(User connectedUser);
}
}

View File

@@ -8,6 +8,6 @@ namespace skydiveLogs_api.DomainBusiness.Interfaces
User GetById(int userId);
bool AddNewUser(User user);
bool AddNewUser(User user, bool isAdmin = false);
}
}

View File

@@ -12,9 +12,11 @@ namespace skydiveLogs_api.DomainBusiness
{
public class UserService : IUserService
{
public UserService(IUserRepository userRepository)
public UserService(IUserRepository userRepository,
IGearService gearService)
{
_userRepository = userRepository;
_gearService = gearService;
}
public User GetById(int userId)
@@ -27,7 +29,7 @@ namespace skydiveLogs_api.DomainBusiness
return _userRepository.GetByLogin(login, EncryptPassword(password));
}
public bool AddNewUser(User newUser)
public bool AddNewUser(User newUser, bool isAdmin = false)
{
newUser.Password = EncryptPassword(newUser.Password);
var foundUser = _userRepository.GetByLogin(newUser.Login, newUser.Password);
@@ -35,8 +37,15 @@ namespace skydiveLogs_api.DomainBusiness
if (foundUser == null)
{
newUser.IsAdmin = false;
result = _userRepository.Add(newUser);
newUser.IsAdmin = isAdmin;
var newUserId = _userRepository.Add(newUser);
result = (newUserId > 0);
if (result)
{
newUser.Id = newUserId;
_gearService.AddRentalGear(newUser);
}
}
return result;
@@ -70,5 +79,7 @@ namespace skydiveLogs_api.DomainBusiness
}
private readonly IUserRepository _userRepository;
private readonly IGearService _gearService;
}
}

View File

@@ -10,6 +10,6 @@ namespace skydiveLogs_api.DomainService.Repositories
bool Update(T updated);
bool Add(T newEntity);
int Add(T newEntity);
}
}

View File

@@ -33,17 +33,18 @@ namespace skydiveLogs_api.Infrastructure
return _col.Update(aircraft);
}
public bool Add(Aircraft newAircraft)
public int Add(Aircraft newAircraft)
{
var result = true;
int result;
try
{
_col.Insert(newAircraft);
var tmp = _col.Insert(newAircraft);
result = tmp.AsInt32;
}
catch
{
result = false;
result = 0;
}
return result;

View File

@@ -33,17 +33,18 @@ namespace skydiveLogs_api.Infrastructure
return _col.Update(updatedDz);
}
public bool Add(DropZone newDz)
public int Add(DropZone newDz)
{
var result = true;
int result;
try
{
_col.Insert(newDz);
var tmp = _col.Insert(newDz);
result = tmp.AsInt32;
}
catch
{
result = false;
result = 0;
}
return result;

View File

@@ -40,17 +40,18 @@ namespace skydiveLogs_api.Infrastructure
return _col.Update(updatedGear);
}
public bool Add(Gear newGear)
public int Add(Gear newGear)
{
var result = true;
int result;
try
{
_col.Insert(newGear);
var tmp = _col.Insert(newGear);
result = tmp.AsInt32;
}
catch
{
result = false;
result = 0;
}
return result;

View File

@@ -34,17 +34,18 @@ namespace skydiveLogs_api.Infrastructure
return _col.FindById(new BsonValue(id));
}
public bool Add(Jump newJump)
public int Add(Jump newJump)
{
var result = true;
int result;
try
{
_col.Insert(newJump);
var tmp = _col.Insert(newJump);
result = tmp.AsInt32;
}
catch
{
result = false;
result = 0;
}
return result;

View File

@@ -33,17 +33,18 @@ namespace skydiveLogs_api.Infrastructure
return _col.Update(updatedJumpType);
}
public bool Add(JumpType newJumpType)
public int Add(JumpType newJumpType)
{
var result = true;
int result;
try
{
_col.Insert(newJumpType);
var tmp = _col.Insert(newJumpType);
result = tmp.AsInt32;
}
catch
{
result = false;
result = 0;
}
return result;

View File

@@ -40,17 +40,18 @@ namespace skydiveLogs_api.Infrastructure
return _col.Update(image);
}
public bool Add(UserImage newImage)
public int Add(UserImage newImage)
{
var result = true;
int result;
try
{
_col.Insert(newImage);
var tmp = _col.Insert(newImage);
result = tmp.AsInt32;
}
catch
{
result = false;
result = 0;
}
return result;

View File

@@ -23,17 +23,18 @@ namespace skydiveLogs_api.Infrastructure
return _col.FindOne(u => u.Login == login && u.Password == password);
}
public bool Add(User newUser)
public int Add(User newUser)
{
var result = true;
int result;
try
{
_col.Insert(newUser);
var tmp = _col.Insert(newUser);
result = tmp.AsInt32;
}
catch
{
result = false;
result = 0;
}
return result;

View File

@@ -11,5 +11,9 @@
<WebStackScaffolding_IsAsyncSelected>False</WebStackScaffolding_IsAsyncSelected>
<NameOfLastUsedPublishProfile>C:\Projects\SkydiveLogs\Back\skydiveLogs-api\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
<ShowAllFiles>false</ShowAllFiles>
<ActiveDebugProfile>skydiveLogs_api</ActiveDebugProfile>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DebuggerFlavor>ProjectDebugger</DebuggerFlavor>
</PropertyGroup>
</Project>