public async Task AddProfileAsync(HardwareVault vault) { var previousProfileTask = await _hardwareVaultTaskRepository .Query() .FirstOrDefaultAsync(x => x.HardwareVaultId == vault.Id && x.Operation == TaskOperation.Profile); var newProfileTask = new HardwareVaultTask { CreatedAt = DateTime.UtcNow, Operation = TaskOperation.Profile, Timestamp = UnixTime.GetUnixTimeUtcNow(), HardwareVaultId = vault.Id, Password = vault.MasterPassword, }; using (TransactionScope transactionScope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { if (previousProfileTask != null) { await _hardwareVaultTaskRepository.DeleteAsync(previousProfileTask); } await _hardwareVaultTaskRepository.AddAsync(newProfileTask); transactionScope.Complete(); } }
public HardwareVaultTask GetAccountUpdateTask(string vaultId, string accountId) { return(new HardwareVaultTask { CreatedAt = DateTime.UtcNow, Operation = TaskOperation.Update, Timestamp = UnixTime.GetUnixTimeUtcNow(), HardwareVaultId = vaultId, AccountId = accountId }); }
public HardwareVaultTask GetAccountCreateTask(string vaultId, string accountId, string password, string otp) { return(new HardwareVaultTask { CreatedAt = DateTime.UtcNow, Operation = TaskOperation.Create, Timestamp = UnixTime.GetUnixTimeUtcNow(), HardwareVaultId = vaultId, AccountId = accountId, Password = password, OtpSecret = otp }); }
public async Task AddPrimaryAsync(string vaultId, string accountId) { var previousTask = await _hardwareVaultTaskRepository .Query() .FirstOrDefaultAsync(x => x.HardwareVaultId == vaultId && x.Operation == TaskOperation.Primary); if (previousTask != null) { await _hardwareVaultTaskRepository.DeleteAsync(previousTask); } var task = new HardwareVaultTask() { CreatedAt = DateTime.UtcNow, Operation = TaskOperation.Primary, Timestamp = UnixTime.GetUnixTimeUtcNow(), HardwareVaultId = vaultId, AccountId = accountId }; await _hardwareVaultTaskRepository.AddAsync(task); }