From 2c319af95b67ca99a20ef795a0ba2f79c64d77a5 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Tue, 17 Sep 2019 10:15:59 -0400 Subject: [PATCH] object name for meta data repo --- src/Core/Repositories/IMetaDataRespository.cs | 10 +++++----- .../TableStorage/MetaDataRespository.cs | 20 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/Core/Repositories/IMetaDataRespository.cs b/src/Core/Repositories/IMetaDataRespository.cs index 9ce3047f15..7e7a659f17 100644 --- a/src/Core/Repositories/IMetaDataRespository.cs +++ b/src/Core/Repositories/IMetaDataRespository.cs @@ -5,10 +5,10 @@ namespace Bit.Core.Repositories { public interface IMetaDataRespository { - Task DeleteAsync(string id); - Task> GetAsync(string id); - Task GetAsync(string id, string prop); - Task UpsertAsync(string id, IDictionary dict); - Task UpsertAsync(string id, KeyValuePair keyValuePair); + Task DeleteAsync(string objectName, string id); + Task> GetAsync(string objectName, string id); + Task GetAsync(string objectName, string id, string prop); + Task UpsertAsync(string objectName, string id, IDictionary dict); + Task UpsertAsync(string objectName, string id, KeyValuePair keyValuePair); } } diff --git a/src/Core/Repositories/TableStorage/MetaDataRespository.cs b/src/Core/Repositories/TableStorage/MetaDataRespository.cs index 9b2d0d4ea0..a1a0b82667 100644 --- a/src/Core/Repositories/TableStorage/MetaDataRespository.cs +++ b/src/Core/Repositories/TableStorage/MetaDataRespository.cs @@ -23,17 +23,17 @@ namespace Bit.Core.Repositories.TableStorage _table = tableClient.GetTableReference("metadata"); } - public async Task> GetAsync(string id) + public async Task> GetAsync(string objectName, string id) { var query = new TableQuery().Where( - TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, id)); + TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, $"{objectName}_{id}")); var queryResults = await _table.ExecuteQuerySegmentedAsync(query, null); return queryResults.Results.FirstOrDefault()?.ToDictionary(d => d.Key, d => d.Value.StringValue); } - public async Task GetAsync(string id, string prop) + public async Task GetAsync(string objectName, string id, string prop) { - var dict = await GetAsync(id); + var dict = await GetAsync(objectName, id); if(dict != null && dict.ContainsKey(prop)) { return dict[prop]; @@ -41,10 +41,10 @@ namespace Bit.Core.Repositories.TableStorage return null; } - public async Task UpsertAsync(string id, KeyValuePair keyValuePair) + public async Task UpsertAsync(string objectName, string id, KeyValuePair keyValuePair) { var query = new TableQuery().Where( - TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, id)); + TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, $"{objectName}_{id}")); var queryResults = await _table.ExecuteQuerySegmentedAsync(query, null); var entity = queryResults.Results.FirstOrDefault(); if(entity == null) @@ -62,11 +62,11 @@ namespace Bit.Core.Repositories.TableStorage await _table.ExecuteAsync(TableOperation.InsertOrReplace(entity)); } - public async Task UpsertAsync(string id, IDictionary dict) + public async Task UpsertAsync(string objectName, string id, IDictionary dict) { var entity = new DictionaryEntity { - PartitionKey = id + PartitionKey = $"{objectName}_{id}" }; foreach(var item in dict) { @@ -75,13 +75,13 @@ namespace Bit.Core.Repositories.TableStorage await _table.ExecuteAsync(TableOperation.InsertOrReplace(entity)); } - public async Task DeleteAsync(string id) + public async Task DeleteAsync(string objectName, string id) { try { await _table.ExecuteAsync(TableOperation.Delete(new DictionaryEntity { - PartitionKey = id, + PartitionKey = $"{objectName}_{id}", ETag = "*" })); }