Files
Keys/src/Logic/PasswordStoreService.cs

50 lines
1.1 KiB
C#

using Models;
using Repository;
namespace Logic;
public class PasswordStoreService : IPasswordStoreService
{
private readonly IRepository repository;
private readonly ISecretService secretService;
public PasswordStoreService(IRepository repository, ISecretService secretService)
{
this.repository = repository;
this.secretService = secretService;
}
public void Create(PasswordStore item)
{
secretService.CreateCollection(item.DisplayName ?? item.Path);
repository.Create(item);
}
public void Delete(uint ID)
{
repository.Delete(ID);
}
public void Delete(PasswordStore item)
{
Delete(item.ID);
}
public void Edit(uint ID, PasswordStore newItem)
{
repository.Delete(ID);
newItem.ID = ID;
repository.Create(newItem);
}
public PasswordStore Get(uint ID)
{
return repository.GetAll().FirstOrDefault(i => i.ID == ID) ?? throw new Exception("Item not found");
}
public IEnumerable<PasswordStore> GetAll()
{
return repository.GetAll();
}
}