public Task <SecretDetails> GetSecretDetails(string secret)
        {
            SecretDetails secretDetails = null;

            _db.TryGetValue(secret, out secretDetails);
            return(Task.FromResult(secretDetails));
        }
        public Task <bool> PutSecret(string secret, string challenge, string address, string fileHash)
        {
            var item = new SecretDetails()
            {
                Challenge = challenge,
                Address   = address,
                FileHash  = fileHash
            };

            _db.Add(secret, item);
            return(Task.FromResult(true));
        }
Beispiel #3
0
        public async Task <SecretDetails> GetSecretDetails(string secret)
        {
            var request = new QueryRequest
            {
                TableName = tableName,
                KeyConditionExpression    = string.Format("{0} = :v_Secret", columnSecret),
                ExpressionAttributeValues = new Dictionary <string, AttributeValue> {
                    { ":v_Secret", new AttributeValue {
                          S = secret
                      } }
                },
                ProjectionExpression = string.Format("{0}, {1}, {2}", columnAddress, columnChallenge, columnFileHash),
                ConsistentRead       = true
            };
            var response = await _client.QueryAsync(request);

            if (response.Count == 0)
            {
                return(null);
            }
            var            item        = response.Items.First();
            AttributeValue attrAddress = null;

            item.TryGetValue(columnAddress, out attrAddress);
            var            address       = attrAddress.S;
            AttributeValue attrChallenge = null;

            item.TryGetValue(columnChallenge, out attrChallenge);
            var            challenge    = attrChallenge.S;
            AttributeValue attrFileHash = null;

            item.TryGetValue(columnFileHash, out attrFileHash);
            var fileHash = attrFileHash.S;

            var res = new SecretDetails()
            {
                Address   = address,
                Challenge = challenge,
                FileHash  = fileHash
            };

            return(res);
        }