Exemplo n.º 1
0
        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();
            }
        }
Exemplo n.º 2
0
 public HardwareVaultTask GetAccountUpdateTask(string vaultId, string accountId)
 {
     return(new HardwareVaultTask
     {
         CreatedAt = DateTime.UtcNow,
         Operation = TaskOperation.Update,
         Timestamp = UnixTime.GetUnixTimeUtcNow(),
         HardwareVaultId = vaultId,
         AccountId = accountId
     });
 }
Exemplo n.º 3
0
 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
     });
 }
Exemplo n.º 4
0
        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);
        }