diff --git a/client/Lykke.Service.Assets.Client/Lykke.Service.Assets.Client.csproj b/client/Lykke.Service.Assets.Client/Lykke.Service.Assets.Client.csproj
index dc5ed0c5..95ac412a 100644
--- a/client/Lykke.Service.Assets.Client/Lykke.Service.Assets.Client.csproj
+++ b/client/Lykke.Service.Assets.Client/Lykke.Service.Assets.Client.csproj
@@ -27,7 +27,7 @@
-
+
\ No newline at end of file
diff --git a/src/Lykke.Service.Assets.Core/Lykke.Service.Assets.Core.csproj b/src/Lykke.Service.Assets.Core/Lykke.Service.Assets.Core.csproj
index b3605e7e..4a508e26 100644
--- a/src/Lykke.Service.Assets.Core/Lykke.Service.Assets.Core.csproj
+++ b/src/Lykke.Service.Assets.Core/Lykke.Service.Assets.Core.csproj
@@ -6,7 +6,7 @@
1.0.0
-
-
+
+
\ No newline at end of file
diff --git a/src/Lykke.Service.Assets.Core/Services/IErcContractProcessor.cs b/src/Lykke.Service.Assets.Core/Services/IErcContractProcessor.cs
index 5d4d28b5..41dd9c6f 100644
--- a/src/Lykke.Service.Assets.Core/Services/IErcContractProcessor.cs
+++ b/src/Lykke.Service.Assets.Core/Services/IErcContractProcessor.cs
@@ -5,6 +5,6 @@ namespace Lykke.Service.Assets.Core.Services
{
public interface IErcContractProcessor
{
- Task ProcessErc20ContractAsync(IErc20Token message);
+ Task ProcessErc20ContractAsync(IErc20Token token);
}
}
diff --git a/src/Lykke.Service.Assets.Repositories/Lykke.Service.Assets.Repositories.csproj b/src/Lykke.Service.Assets.Repositories/Lykke.Service.Assets.Repositories.csproj
index a90b6b7c..634b1ac1 100644
--- a/src/Lykke.Service.Assets.Repositories/Lykke.Service.Assets.Repositories.csproj
+++ b/src/Lykke.Service.Assets.Repositories/Lykke.Service.Assets.Repositories.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/src/Lykke.Service.Assets.Services/ErcContractProcessor.cs b/src/Lykke.Service.Assets.Services/ErcContractProcessor.cs
index 53c27ac9..dc99a473 100644
--- a/src/Lykke.Service.Assets.Services/ErcContractProcessor.cs
+++ b/src/Lykke.Service.Assets.Services/ErcContractProcessor.cs
@@ -1,30 +1,25 @@
using Lykke.Service.Assets.Core.Domain;
-using Lykke.Service.Assets.Core.Repositories;
using Lykke.Service.Assets.Core.Services;
-using System;
-using System.Collections.Generic;
-using System.Text;
using System.Threading.Tasks;
namespace Lykke.Service.Assets.Services
{
public class ErcContractProcessor : IErcContractProcessor
{
- private readonly IErc20TokenRepository _erc20TokenRepository;
+ private readonly IErc20TokenService _erc20TokenService;
- public ErcContractProcessor(IErc20TokenRepository erc20TokenRepository)
+ public ErcContractProcessor(IErc20TokenService erc20TokenService)
{
- _erc20TokenRepository = erc20TokenRepository;
+ _erc20TokenService = erc20TokenService;
}
- //TODO: Add more logic here
- public async Task ProcessErc20ContractAsync(IErc20Token message)
+ public async Task ProcessErc20ContractAsync(IErc20Token token)
{
- var existingContract = await _erc20TokenRepository.GetByTokenAddressAsync(message.Address);
+ var existingContract = await _erc20TokenService.GetByTokenAddressAsync(token.Address);
if (existingContract == null)
{
- await _erc20TokenRepository.AddAsync(message);
+ await _erc20TokenService.AddAsync(token);
}
}
}
diff --git a/src/Lykke.Service.Assets.Services/Lykke.Service.Assets.Services.csproj b/src/Lykke.Service.Assets.Services/Lykke.Service.Assets.Services.csproj
index f011cace..3c231b77 100644
--- a/src/Lykke.Service.Assets.Services/Lykke.Service.Assets.Services.csproj
+++ b/src/Lykke.Service.Assets.Services/Lykke.Service.Assets.Services.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/src/Lykke.Service.Assets/Cache/CacheSerializer.cs b/src/Lykke.Service.Assets/Cache/CacheSerializer.cs
new file mode 100644
index 00000000..0284edff
--- /dev/null
+++ b/src/Lykke.Service.Assets/Cache/CacheSerializer.cs
@@ -0,0 +1,15 @@
+namespace Lykke.Service.Assets.Cache
+{
+ internal static class CacheSerializer
+ {
+ public static T Deserialize(byte[] settings)
+ {
+ return MessagePack.MessagePackSerializer.Deserialize(settings, MessagePack.Resolvers.ContractlessStandardResolver.Instance);
+ }
+
+ public static byte[] Serialize(T settings)
+ {
+ return MessagePack.MessagePackSerializer.Serialize(settings, MessagePack.Resolvers.ContractlessStandardResolver.Instance);
+ }
+ }
+}
diff --git a/src/Lykke.Service.Assets/Managers/AssetCategoryManager.cs b/src/Lykke.Service.Assets/Cache/CachedAssetCategoryService.cs
similarity index 53%
rename from src/Lykke.Service.Assets/Managers/AssetCategoryManager.cs
rename to src/Lykke.Service.Assets/Cache/CachedAssetCategoryService.cs
index 762b1dee..eabe0a4b 100644
--- a/src/Lykke.Service.Assets/Managers/AssetCategoryManager.cs
+++ b/src/Lykke.Service.Assets/Cache/CachedAssetCategoryService.cs
@@ -1,23 +1,23 @@
using System.Collections.Generic;
using System.Threading.Tasks;
-using Lykke.Service.Assets.Cache;
using Lykke.Service.Assets.Core.Domain;
using Lykke.Service.Assets.Core.Services;
+using Lykke.Service.Assets.Repositories.Entities;
-namespace Lykke.Service.Assets.Managers
+namespace Lykke.Service.Assets.Cache
{
- public class AssetCategoryManager : IAssetCategoryManager
+ public class CachedAssetCategoryService : ICachedAssetCategoryService
{
- private readonly IAssetCategoryService _assetCategoryService;
- private readonly ICache _cache;
+ private readonly IAssetCategoryService _assetCategoryService;
+ private readonly DistributedCache _cache;
+ private const string AllEntitiesKey = "All";
-
- public AssetCategoryManager(
+ public CachedAssetCategoryService(
IAssetCategoryService assetCategoryService,
- ICache cache)
+ DistributedCache cache)
{
_assetCategoryService = assetCategoryService;
- _cache = cache;
+ _cache = cache;
}
public async Task AddAsync(IAssetCategory assetCategory)
@@ -34,26 +34,30 @@ public async Task GetAsync(string id)
public async Task> GetAllAsync()
{
- return await _cache.GetListAsync("All", _assetCategoryService.GetAllAsync);
- }
-
- public async Task InvalidateCache()
- {
- await _cache.InvalidateAsync();
+ return await _cache.GetListAsync(AllEntitiesKey, () => _assetCategoryService.GetAllAsync());
}
public async Task RemoveAsync(string id)
{
- await InvalidateCache();
+ await InvalidateCache(id);
await _assetCategoryService.RemoveAsync(id);
}
public async Task UpdateAsync(IAssetCategory assetCategory)
{
- await InvalidateCache();
+ await InvalidateCache(assetCategory.Id);
await _assetCategoryService.UpdateAsync(assetCategory);
}
+
+ private async Task InvalidateCache(string id = null)
+ {
+ if (id != null)
+ {
+ await _cache.RemoveAsync(id);
+ }
+ await _cache.RemoveAsync(AllEntitiesKey);
+ }
}
}
diff --git a/src/Lykke.Service.Assets/Managers/AssetPairManager.cs b/src/Lykke.Service.Assets/Cache/CachedAssetPairService.cs
similarity index 56%
rename from src/Lykke.Service.Assets/Managers/AssetPairManager.cs
rename to src/Lykke.Service.Assets/Cache/CachedAssetPairService.cs
index a8335332..38696191 100644
--- a/src/Lykke.Service.Assets/Managers/AssetPairManager.cs
+++ b/src/Lykke.Service.Assets/Cache/CachedAssetPairService.cs
@@ -1,23 +1,23 @@
using System.Collections.Generic;
using System.Threading.Tasks;
-using Lykke.Service.Assets.Cache;
using Lykke.Service.Assets.Core.Domain;
using Lykke.Service.Assets.Core.Services;
+using Lykke.Service.Assets.Repositories.Entities;
-namespace Lykke.Service.Assets.Managers
+namespace Lykke.Service.Assets.Cache
{
- public class AssetPairManager : IAssetPairManager
+ public class CachedAssetPairService : ICachedAssetPairService
{
- private readonly IAssetPairService _assetPairService;
- private readonly ICache _cache;
+ private readonly IAssetPairService _assetPairService;
+ private readonly DistributedCache _cache;
+ private const string AllEntitiesKey = "All";
-
- public AssetPairManager(
+ public CachedAssetPairService(
IAssetPairService assetPairService,
- ICache cache)
+ DistributedCache cache)
{
_assetPairService = assetPairService;
- _cache = cache;
+ _cache = cache;
}
public async Task AddAsync(IAssetPair assetPair)
@@ -34,7 +34,7 @@ public IAssetPair CreateDefault()
public async Task> GetAllAsync()
{
- return await _cache.GetListAsync("All", _assetPairService.GetAllAsync);
+ return await _cache.GetListAsync(AllEntitiesKey, _assetPairService.GetAllAsync);
}
public async Task GetAsync(string id)
@@ -42,23 +42,27 @@ public async Task GetAsync(string id)
return await _cache.GetAsync(id, () => _assetPairService.GetAsync(id));
}
- public async Task InvalidateCache()
- {
- await _cache.InvalidateAsync();
- }
-
public async Task RemoveAsync(string id)
{
- await InvalidateCache();
+ await InvalidateCache(id);
await _assetPairService.RemoveAsync(id);
}
public async Task UpdateAsync(IAssetPair assetPair)
{
- await InvalidateCache();
+ await InvalidateCache(assetPair.Id);
await _assetPairService.UpdateAsync(assetPair);
}
+
+ private async Task InvalidateCache(string id = null)
+ {
+ if (id != null)
+ {
+ await _cache.RemoveAsync(id);
+ }
+ await _cache.RemoveAsync(AllEntitiesKey);
+ }
}
}
diff --git a/src/Lykke.Service.Assets/Managers/AssetManager.cs b/src/Lykke.Service.Assets/Cache/CachedAssetService.cs
similarity index 56%
rename from src/Lykke.Service.Assets/Managers/AssetManager.cs
rename to src/Lykke.Service.Assets/Cache/CachedAssetService.cs
index 44c51b88..454ae214 100644
--- a/src/Lykke.Service.Assets/Managers/AssetManager.cs
+++ b/src/Lykke.Service.Assets/Cache/CachedAssetService.cs
@@ -1,25 +1,25 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
-using Lykke.Service.Assets.Cache;
using Lykke.Service.Assets.Core.Domain;
using Lykke.Service.Assets.Core.Services;
-using Lykke.Service.Assets.Tools;
+using Lykke.Service.Assets.Repositories.DTOs;
-namespace Lykke.Service.Assets.Managers
+namespace Lykke.Service.Assets.Cache
{
- public class AssetManager : IAssetManager
+ public class CachedAssetService : ICachedAssetService
{
- private readonly IAssetService _assetService;
- private readonly ICache _cache;
+ private readonly IAssetService _assetService;
+ private readonly DistributedCache _cache;
+ private const string AllEntitiesKey = "All";
+ private const string AllTradableKey = "AllTradable";
-
- public AssetManager(
+ public CachedAssetService(
IAssetService assetService,
- ICache cache)
+ DistributedCache cache)
{
_assetService = assetService;
- _cache = cache;
+ _cache = cache;
}
public async Task AddAsync(IAsset asset)
@@ -36,35 +36,34 @@ public IAsset CreateDefault()
public async Task DisableAsync(string id)
{
- await InvalidateCache();
+ await InvalidateCache(id);
await _assetService.DisableAsync(id);
}
public async Task EnableAsync(string id)
{
- await InvalidateCache();
+ await InvalidateCache(id);
await _assetService.EnableAsync(id);
}
public async Task> GetAllAsync(bool includeNonTradable)
{
- var listKey = includeNonTradable ? "All" : "AllTradable";
+ var listKey = includeNonTradable ? AllEntitiesKey : AllTradableKey;
return await _cache.GetListAsync(listKey, () => _assetService.GetAllAsync(includeNonTradable));
}
public async Task> GetAsync(string[] ids, bool? isTradable)
{
- var listKey = ids.Any() ? ids.GetMD5() : "All";
-
- if (isTradable.HasValue)
+ var assets = await GetAllAsync(isTradable ?? true);
+ if (ids.Any())
{
- listKey = $"{listKey}:IsTradable_{isTradable.Value}";
+ assets = assets.Where(x => ids.Contains(x.Id));
}
- return await _cache.GetListAsync($"ForIdsList:{listKey}", () => _assetService.GetAsync(ids, isTradable));
+ return assets;
}
public async Task GetAsync(string id)
@@ -74,26 +73,32 @@ public async Task GetAsync(string id)
public async Task> GetForCategoryAsync(string categoryId)
{
- return await _cache.GetListAsync($"ForCategory:{categoryId}", () => _assetService.GetForCategoryAsync(categoryId));
- }
-
- public async Task InvalidateCache()
- {
- await _cache.InvalidateAsync();
+ var assets = await GetAllAsync(true);
+ return assets.Where(x => x.CategoryId == categoryId);
}
public async Task RemoveAsync(string id)
{
- await InvalidateCache();
+ await InvalidateCache(id);
await _assetService.RemoveAsync(id);
}
public async Task UpdateAsync(IAsset asset)
{
- await InvalidateCache();
+ await InvalidateCache(asset.Id);
await _assetService.UpdateAsync(asset);
}
+
+ private async Task InvalidateCache(string id = null)
+ {
+ if (id != null)
+ {
+ await _cache.RemoveAsync(id);
+ }
+ await _cache.RemoveAsync(AllEntitiesKey);
+ await _cache.RemoveAsync(AllTradableKey);
+ }
}
}
diff --git a/src/Lykke.Service.Assets/Cache/CachedErc20TokenAssetService.cs b/src/Lykke.Service.Assets/Cache/CachedErc20TokenAssetService.cs
new file mode 100644
index 00000000..3ea1d26f
--- /dev/null
+++ b/src/Lykke.Service.Assets/Cache/CachedErc20TokenAssetService.cs
@@ -0,0 +1,34 @@
+using System.Threading.Tasks;
+using Lykke.Service.Assets.Core.Domain;
+using Lykke.Service.Assets.Core.Services;
+using Lykke.Service.Assets.Repositories.DTOs;
+
+namespace Lykke.Service.Assets.Cache
+{
+ public class CachedErc20TokenAssetService : ICachedErc20TokenAssetService
+ {
+ private readonly IErc20TokenAssetService _tokenAssetService;
+ private readonly DistributedCache _cache;
+ private const string AllEntitiesKey = "All";
+
+ public CachedErc20TokenAssetService(
+ IErc20TokenAssetService tokenAssetService,
+ DistributedCache cache)
+ {
+ _tokenAssetService = tokenAssetService;
+ _cache = cache;
+ }
+
+ public async Task CreateAssetForErc20TokenAsync(string tokenAddress)
+ {
+ await InvalidateCache();
+
+ return await _tokenAssetService.CreateAssetForErc20TokenAsync(tokenAddress);
+ }
+
+ private async Task InvalidateCache()
+ {
+ await _cache.RemoveAsync(AllEntitiesKey);
+ }
+ }
+}
diff --git a/src/Lykke.Service.Assets/Managers/Erc20TokenManager.cs b/src/Lykke.Service.Assets/Cache/CachedErc20TokenService.cs
similarity index 53%
rename from src/Lykke.Service.Assets/Managers/Erc20TokenManager.cs
rename to src/Lykke.Service.Assets/Cache/CachedErc20TokenService.cs
index 6002f8ae..f63c5de1 100644
--- a/src/Lykke.Service.Assets/Managers/Erc20TokenManager.cs
+++ b/src/Lykke.Service.Assets/Cache/CachedErc20TokenService.cs
@@ -1,55 +1,57 @@
using System.Collections.Generic;
+using System.Linq;
using System.Threading.Tasks;
-using Lykke.Service.Assets.Cache;
using Lykke.Service.Assets.Core.Domain;
using Lykke.Service.Assets.Core.Services;
-using System.Linq;
+using Lykke.Service.Assets.Repositories.Entities;
using Lykke.Service.Assets.Tools;
-namespace Lykke.Service.Assets.Managers
+namespace Lykke.Service.Assets.Cache
{
- public class Erc20TokenManager : IErc20TokenManager
+ public class CachedErc20TokenService : ICachedErc20TokenService
{
- private readonly ICache _tokenCache;
private readonly IErc20TokenService _tokenService;
+ private readonly DistributedCache _cache;
+ private const string AllEntitiesKey = "All";
+ private const string WithAssetsKey = "WithAssets";
- public Erc20TokenManager(
+ public CachedErc20TokenService(
IErc20TokenService tokenService,
- ICache tokenCache)
+ DistributedCache cache)
{
- _tokenCache = tokenCache;
+ _cache = cache;
_tokenService = tokenService;
}
public async Task AddAsync(IErc20Token token)
{
- await _tokenService.AddAsync(token);
await InvalidateCache();
+ await _tokenService.AddAsync(token);
+
return token;
}
public async Task> GetAllAsync()
{
- return await _tokenCache.GetListAsync("All", _tokenService.GetAllAsync);
+ return await _cache.GetListAsync(AllEntitiesKey, _tokenService.GetAllAsync);
}
public async Task> GetByAssetIdsAsync(string[] assetIds)
{
- var listKey = assetIds.GetMD5();
-
- return await _tokenCache.GetListAsync($"ForIdsList:{listKey}", () => _tokenService.GetByAssetIdsAsync(assetIds));
+ var tokens = await GetAllWithAssetsAsync();
+ return tokens.Where(x => assetIds.Contains(x.AssetId));
}
public async Task GetByAssetIdAsync(string assetId)
{
- return await _tokenCache.GetAsync(assetId, () => _tokenService.GetByAssetIdAsync(assetId));
+ return await _cache.GetAsync(assetId, () => _tokenService.GetByAssetIdAsync(assetId));
}
public async Task UpdateAsync(IErc20Token token)
{
- await _tokenService.UpdateAsync(token);
await InvalidateCache();
+ await _tokenService.UpdateAsync(token);
}
public async Task GetByTokenAddressAsync(string tokenAddress)
@@ -59,12 +61,17 @@ public async Task GetByTokenAddressAsync(string tokenAddress)
public async Task> GetAllWithAssetsAsync()
{
- return await _tokenCache.GetListAsync("WithAssets", _tokenService.GetAllWithAssetsAsync);
+ return await _cache.GetListAsync(WithAssetsKey, _tokenService.GetAllWithAssetsAsync);
}
- public async Task InvalidateCache()
+ private async Task InvalidateCache(string id = null)
{
- await _tokenCache.InvalidateAsync();
+ if (id != null)
+ {
+ await _cache.RemoveAsync(id);
+ }
+ await _cache.RemoveAsync(AllEntitiesKey);
+ await _cache.RemoveAsync(WithAssetsKey);
}
}
}
diff --git a/src/Lykke.Service.Assets/Cache/DistributedCache.cs b/src/Lykke.Service.Assets/Cache/DistributedCache.cs
new file mode 100644
index 00000000..c0710ec0
--- /dev/null
+++ b/src/Lykke.Service.Assets/Cache/DistributedCache.cs
@@ -0,0 +1,64 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using Microsoft.Extensions.Caching.Distributed;
+
+namespace Lykke.Service.Assets.Cache
+{
+ public class DistributedCache where T : class, I
+ {
+ private readonly IDistributedCache _cache;
+ private readonly string _partitionKey;
+ private readonly DistributedCacheEntryOptions _cacheOptions;
+
+ public DistributedCache(
+ IDistributedCache cache,
+ TimeSpan expiration,
+ string partitionKey)
+ {
+ _cache = cache;
+ _partitionKey = partitionKey;
+ _cacheOptions = new DistributedCacheEntryOptions().SetAbsoluteExpiration(expiration);
+ }
+
+ private string GetCacheKey(string id)
+ {
+ return $":{_partitionKey}:{id}";
+ }
+
+ public async Task GetAsync(string key, Func> factory)
+ {
+ var cached = await _cache.GetAsync(GetCacheKey(key));
+ if (cached != null)
+ {
+ return CacheSerializer.Deserialize(cached);
+ }
+
+ var result = await factory() as T;
+ if (result != null)
+ {
+ await _cache.SetAsync(GetCacheKey(key), CacheSerializer.Serialize(result), _cacheOptions);
+ }
+ return result;
+ }
+
+ public async Task> GetListAsync(string key, Func>> factory)
+ {
+ var cached = await _cache.GetAsync(GetCacheKey(key));
+ if (cached != null)
+ {
+ return CacheSerializer.Deserialize(cached);
+ }
+
+ var result = (await factory()).Cast().ToArray();
+ await _cache.SetAsync(GetCacheKey(key), CacheSerializer.Serialize(result), _cacheOptions);
+ return result;
+ }
+
+ public async Task RemoveAsync(string id)
+ {
+ await _cache.RemoveAsync(GetCacheKey(id));
+ }
+ }
+}
diff --git a/src/Lykke.Service.Assets/Cache/ICachedAssetCategoryService.cs b/src/Lykke.Service.Assets/Cache/ICachedAssetCategoryService.cs
new file mode 100644
index 00000000..a5e70cd6
--- /dev/null
+++ b/src/Lykke.Service.Assets/Cache/ICachedAssetCategoryService.cs
@@ -0,0 +1,9 @@
+using Lykke.Service.Assets.Core.Services;
+
+namespace Lykke.Service.Assets.Cache
+{
+ public interface ICachedAssetCategoryService : IAssetCategoryService
+ {
+
+ }
+}
diff --git a/src/Lykke.Service.Assets/Cache/ICachedAssetPairService.cs b/src/Lykke.Service.Assets/Cache/ICachedAssetPairService.cs
new file mode 100644
index 00000000..ed08ba7f
--- /dev/null
+++ b/src/Lykke.Service.Assets/Cache/ICachedAssetPairService.cs
@@ -0,0 +1,9 @@
+using Lykke.Service.Assets.Core.Services;
+
+namespace Lykke.Service.Assets.Cache
+{
+ public interface ICachedAssetPairService : IAssetPairService
+ {
+
+ }
+}
diff --git a/src/Lykke.Service.Assets/Cache/ICachedAssetService.cs b/src/Lykke.Service.Assets/Cache/ICachedAssetService.cs
new file mode 100644
index 00000000..fe8f600e
--- /dev/null
+++ b/src/Lykke.Service.Assets/Cache/ICachedAssetService.cs
@@ -0,0 +1,9 @@
+using Lykke.Service.Assets.Core.Services;
+
+namespace Lykke.Service.Assets.Cache
+{
+ public interface ICachedAssetService : IAssetService
+ {
+
+ }
+}
diff --git a/src/Lykke.Service.Assets/Cache/ICachedErc20TokenAssetService.cs b/src/Lykke.Service.Assets/Cache/ICachedErc20TokenAssetService.cs
new file mode 100644
index 00000000..c784adda
--- /dev/null
+++ b/src/Lykke.Service.Assets/Cache/ICachedErc20TokenAssetService.cs
@@ -0,0 +1,9 @@
+using Lykke.Service.Assets.Core.Services;
+
+namespace Lykke.Service.Assets.Cache
+{
+ public interface ICachedErc20TokenAssetService : IErc20TokenAssetService
+ {
+
+ }
+}
diff --git a/src/Lykke.Service.Assets/Cache/ICachedErc20TokenService.cs b/src/Lykke.Service.Assets/Cache/ICachedErc20TokenService.cs
new file mode 100644
index 00000000..b1db3e7e
--- /dev/null
+++ b/src/Lykke.Service.Assets/Cache/ICachedErc20TokenService.cs
@@ -0,0 +1,9 @@
+using Lykke.Service.Assets.Core.Services;
+
+namespace Lykke.Service.Assets.Cache
+{
+ public interface ICachedErc20TokenService : IErc20TokenService
+ {
+
+ }
+}
diff --git a/src/Lykke.Service.Assets/Controllers/v1/AssetPairsController.cs b/src/Lykke.Service.Assets/Controllers/v1/AssetPairsController.cs
index 7254fe94..11c35e13 100644
--- a/src/Lykke.Service.Assets/Controllers/v1/AssetPairsController.cs
+++ b/src/Lykke.Service.Assets/Controllers/v1/AssetPairsController.cs
@@ -2,7 +2,7 @@
using System.Linq;
using System.Net;
using System.Threading.Tasks;
-using Lykke.Service.Assets.Managers;
+using Lykke.Service.Assets.Cache;
using Lykke.Service.Assets.Responses;
using Lykke.Service.Assets.Responses.v1;
using Microsoft.AspNetCore.Mvc;
@@ -18,13 +18,13 @@ namespace Lykke.Service.Assets.Controllers.V1
[Route("api/[controller]")]
public class AssetPairsController : Controller
{
- private readonly IAssetPairManager _assetPairManager;
+ private readonly ICachedAssetPairService _assetPairService;
public AssetPairsController(
- IAssetPairManager assetPairManager)
+ ICachedAssetPairService assetPairService)
{
- _assetPairManager = assetPairManager;
+ _assetPairService = assetPairService;
}
///
@@ -33,9 +33,9 @@ public AssetPairsController(
///
[HttpPost("updateCache"), Obsolete]
[SwaggerOperation("UpdateAssetPairsCache")]
- public async Task UpdateCache()
+ public Task UpdateCache()
{
- await _assetPairManager.InvalidateCache();
+ return Task.CompletedTask;
}
///
@@ -48,7 +48,7 @@ public async Task UpdateCache()
[ProducesResponseType(typeof(ErrorResponse), (int)HttpStatusCode.NotFound)]
public async Task Get(string assetPairId)
{
- var assetPair = await _assetPairManager.GetAsync(assetPairId);
+ var assetPair = await _assetPairService.GetAsync(assetPairId);
if (assetPair == null)
{
@@ -66,7 +66,7 @@ public async Task Get(string assetPairId)
[SwaggerOperation("GetAssetPairs")]
public async Task GetAll()
{
- var assetPairs = await _assetPairManager.GetAllAsync();
+ var assetPairs = await _assetPairService.GetAllAsync();
return Ok(assetPairs.Select(AssetPairResponseModel.Create));
}
diff --git a/src/Lykke.Service.Assets/Controllers/v1/AssetsController.cs b/src/Lykke.Service.Assets/Controllers/v1/AssetsController.cs
index 1785faf3..34ab7273 100644
--- a/src/Lykke.Service.Assets/Controllers/v1/AssetsController.cs
+++ b/src/Lykke.Service.Assets/Controllers/v1/AssetsController.cs
@@ -2,7 +2,7 @@
using System.Linq;
using System.Net;
using System.Threading.Tasks;
-using Lykke.Service.Assets.Managers;
+using Lykke.Service.Assets.Cache;
using Lykke.Service.Assets.Responses;
using Lykke.Service.Assets.Responses.v1;
using Microsoft.AspNetCore.Mvc;
@@ -17,12 +17,12 @@ namespace Lykke.Service.Assets.Controllers.V1
[Route("api/[controller]")]
public class AssetsController : Controller
{
- private readonly IAssetManager _assetManager;
+ private readonly ICachedAssetService _assetService;
public AssetsController(
- IAssetManager assetManager)
+ ICachedAssetService assetService)
{
- _assetManager = assetManager;
+ _assetService = assetService;
}
///
@@ -31,9 +31,9 @@ public AssetsController(
///
[HttpPost("updateCache"), Obsolete]
[SwaggerOperation("UpdateAssetsCache")]
- public async Task UpdateCache()
+ public Task UpdateCache()
{
- await _assetManager.InvalidateCache();
+ return Task.CompletedTask;
}
///
@@ -46,7 +46,7 @@ public async Task UpdateCache()
[ProducesResponseType(typeof(ErrorResponse), (int)HttpStatusCode.NotFound)]
public async Task Get(string assetId)
{
- var asset = await _assetManager.GetAsync(assetId);
+ var asset = await _assetService.GetAsync(assetId);
if (asset == null)
{
@@ -64,8 +64,8 @@ public async Task Get(string assetId)
[SwaggerOperation("GetAssets")]
public async Task GetAll()
{
- var assets = await _assetManager.GetAllAsync(false);
-
+ var assets = await _assetService.GetAllAsync(false);
+
return Ok(assets.Select(AssetResponseModel.Create));
}
}
diff --git a/src/Lykke.Service.Assets/Controllers/v2/AssetCategoriesController.cs b/src/Lykke.Service.Assets/Controllers/v2/AssetCategoriesController.cs
index d27ae577..bd8ab214 100644
--- a/src/Lykke.Service.Assets/Controllers/v2/AssetCategoriesController.cs
+++ b/src/Lykke.Service.Assets/Controllers/v2/AssetCategoriesController.cs
@@ -3,7 +3,7 @@
using System.Net;
using System.Threading.Tasks;
using AutoMapper;
-using Lykke.Service.Assets.Managers;
+using Lykke.Service.Assets.Cache;
using Lykke.Service.Assets.Responses.V2;
using Microsoft.AspNetCore.Mvc;
using Swashbuckle.AspNetCore.SwaggerGen;
@@ -13,36 +13,36 @@ namespace Lykke.Service.Assets.Controllers.V2
[Route("api/v2/asset-categories")]
public class AssetCategoriesController : Controller
{
- private readonly IAssetCategoryManager _assetCategoryManager;
+ private readonly ICachedAssetCategoryService _assetCategoryService;
public AssetCategoriesController(
- IAssetCategoryManager assetCategoryManager)
+ ICachedAssetCategoryService assetCategoryService)
{
- _assetCategoryManager = assetCategoryManager;
+ _assetCategoryService = assetCategoryService;
}
[HttpPost]
[SwaggerOperation("AssetCategoryAdd")]
- [ProducesResponseType(typeof(AssetCategory), (int) HttpStatusCode.Created)]
+ [ProducesResponseType(typeof(AssetCategory), (int)HttpStatusCode.Created)]
public async Task Add([FromBody] AssetCategory assetCategory)
{
- assetCategory = Mapper.Map(await _assetCategoryManager.AddAsync(assetCategory));
+ assetCategory = Mapper.Map(await _assetCategoryService.AddAsync(assetCategory));
return Created
(
- uri: $"api/v2/asset-categories/{assetCategory.Id}",
+ uri: $"api/v2/asset-categories/{assetCategory.Id}",
value: assetCategory
);
}
[HttpGet("{id}")]
[SwaggerOperation("AssetCategoryGet")]
- [ProducesResponseType(typeof(AssetCategory), (int) HttpStatusCode.OK)]
- [ProducesResponseType((int) HttpStatusCode.NotFound)]
+ [ProducesResponseType(typeof(AssetCategory), (int)HttpStatusCode.OK)]
+ [ProducesResponseType((int)HttpStatusCode.NotFound)]
public async Task Get(string id)
{
- var assetCategory = await _assetCategoryManager.GetAsync(id);
+ var assetCategory = await _assetCategoryService.GetAsync(id);
if (assetCategory != null)
{
@@ -56,32 +56,32 @@ public async Task Get(string id)
[HttpGet]
[SwaggerOperation("AssetCategoryGetAll")]
- [ProducesResponseType(typeof(IEnumerable), (int) HttpStatusCode.OK)]
+ [ProducesResponseType(typeof(IEnumerable), (int)HttpStatusCode.OK)]
public async Task GetAll()
{
- var assetCategories = (await _assetCategoryManager.GetAllAsync())
+ var assetCategories = (await _assetCategoryService.GetAllAsync())
.Select(Mapper.Map);
-
+
return Ok(assetCategories);
}
[HttpDelete("{id}")]
[SwaggerOperation("AssetCategoryRemove")]
- [ProducesResponseType((int) HttpStatusCode.NoContent)]
+ [ProducesResponseType((int)HttpStatusCode.NoContent)]
public async Task Remove(string id)
{
- await _assetCategoryManager.RemoveAsync(id);
+ await _assetCategoryService.RemoveAsync(id);
return NoContent();
}
[HttpPut]
[SwaggerOperation("AssetCategoryUpdate")]
- [ProducesResponseType((int) HttpStatusCode.NoContent)]
+ [ProducesResponseType((int)HttpStatusCode.NoContent)]
public async Task Update([FromBody] AssetCategory assetCategory)
{
- await _assetCategoryManager.UpdateAsync(assetCategory);
+ await _assetCategoryService.UpdateAsync(assetCategory);
return NoContent();
}
diff --git a/src/Lykke.Service.Assets/Controllers/v2/AssetPairsController.cs b/src/Lykke.Service.Assets/Controllers/v2/AssetPairsController.cs
index 2456a9da..d53e2b76 100644
--- a/src/Lykke.Service.Assets/Controllers/v2/AssetPairsController.cs
+++ b/src/Lykke.Service.Assets/Controllers/v2/AssetPairsController.cs
@@ -3,7 +3,7 @@
using System.Net;
using System.Threading.Tasks;
using AutoMapper;
-using Lykke.Service.Assets.Managers;
+using Lykke.Service.Assets.Cache;
using Lykke.Service.Assets.Responses.V2;
using Microsoft.AspNetCore.Mvc;
using Swashbuckle.AspNetCore.SwaggerGen;
@@ -13,25 +13,25 @@ namespace Lykke.Service.Assets.Controllers.V2
[Route("api/v2/asset-pairs")]
public class AssetPairsController : Controller
{
- private readonly IAssetPairManager _assetPairManager;
+ private readonly ICachedAssetPairService _assetPairService;
public AssetPairsController(
- IAssetPairManager assetPairManager)
+ ICachedAssetPairService assetPairService)
{
- _assetPairManager = assetPairManager;
+ _assetPairService = assetPairService;
}
[HttpPost]
[SwaggerOperation("AssetPairAdd")]
- [ProducesResponseType(typeof(AssetPair), (int) HttpStatusCode.Created)]
+ [ProducesResponseType(typeof(AssetPair), (int)HttpStatusCode.Created)]
public async Task Add([FromBody] AssetPair assetPair)
{
- assetPair = Mapper.Map(await _assetPairManager.AddAsync(assetPair));
+ assetPair = Mapper.Map(await _assetPairService.AddAsync(assetPair));
return Created
(
- uri: $"api/v2/asset-pairs/{assetPair.Id}",
+ uri: $"api/v2/asset-pairs/{assetPair.Id}",
value: assetPair
);
}
@@ -42,19 +42,19 @@ public async Task Add([FromBody] AssetPair assetPair)
[ProducesResponseType((int)HttpStatusCode.NotFound)]
public async Task Exists(string id)
{
- var assetPairExists = await _assetPairManager.GetAsync(id);
-
+ var assetPairExists = await _assetPairService.GetAsync(id);
+
return Ok(assetPairExists != null);
}
[HttpGet("{id}")]
[SwaggerOperation("AssetPairGet")]
- [ProducesResponseType(typeof(AssetPair), (int) HttpStatusCode.OK)]
- [ProducesResponseType((int) HttpStatusCode.NotFound)]
+ [ProducesResponseType(typeof(AssetPair), (int)HttpStatusCode.OK)]
+ [ProducesResponseType((int)HttpStatusCode.NotFound)]
public async Task Get(string id)
{
- var assetPair = await _assetPairManager.GetAsync(id);
-
+ var assetPair = await _assetPairService.GetAsync(id);
+
if (assetPair != null)
{
return Ok(Mapper.Map(assetPair));
@@ -67,10 +67,10 @@ public async Task Get(string id)
[HttpGet]
[SwaggerOperation("AssetPairGetAll")]
- [ProducesResponseType(typeof(IEnumerable), (int) HttpStatusCode.OK)]
+ [ProducesResponseType(typeof(IEnumerable), (int)HttpStatusCode.OK)]
public async Task GetAll()
{
- var assetPairs = (await _assetPairManager.GetAllAsync())
+ var assetPairs = (await _assetPairService.GetAllAsync())
.Select(Mapper.Map);
return Ok(assetPairs);
@@ -78,10 +78,10 @@ public async Task GetAll()
[HttpGet("__default")]
[SwaggerOperation("AssetPairGetDefault")]
- [ProducesResponseType(typeof(AssetPair), (int) HttpStatusCode.OK)]
+ [ProducesResponseType(typeof(AssetPair), (int)HttpStatusCode.OK)]
public IActionResult GetDefault()
{
- var assetPair = _assetPairManager.CreateDefault();
+ var assetPair = _assetPairService.CreateDefault();
return Ok(Mapper.Map(assetPair));
}
@@ -89,10 +89,10 @@ public IActionResult GetDefault()
[HttpDelete("{id}")]
[SwaggerOperation("AssetPairRemove")]
- [ProducesResponseType((int) HttpStatusCode.NoContent)]
+ [ProducesResponseType((int)HttpStatusCode.NoContent)]
public async Task Remove(string id)
{
- await _assetPairManager.RemoveAsync(id);
+ await _assetPairService.RemoveAsync(id);
return NoContent();
}
@@ -102,7 +102,7 @@ public async Task Remove(string id)
[ProducesResponseType((int)HttpStatusCode.NoContent)]
public async Task Update([FromBody] AssetPair assetPair)
{
- await _assetPairManager.UpdateAsync(assetPair);
+ await _assetPairService.UpdateAsync(assetPair);
return NoContent();
}
diff --git a/src/Lykke.Service.Assets/Controllers/v2/AssetsController.cs b/src/Lykke.Service.Assets/Controllers/v2/AssetsController.cs
index 557299a2..3d590a7e 100644
--- a/src/Lykke.Service.Assets/Controllers/v2/AssetsController.cs
+++ b/src/Lykke.Service.Assets/Controllers/v2/AssetsController.cs
@@ -3,7 +3,7 @@
using System.Net;
using System.Threading.Tasks;
using AutoMapper;
-using Lykke.Service.Assets.Managers;
+using Lykke.Service.Assets.Cache;
using Lykke.Service.Assets.Requests.V2;
using Lykke.Service.Assets.Responses.V2;
using Microsoft.AspNetCore.Mvc;
@@ -14,48 +14,48 @@ namespace Lykke.Service.Assets.Controllers.V2
[Route("api/v2/assets")]
public class AssetsController : Controller
{
- private readonly IAssetManager _assetManager;
- private readonly IAssetCategoryManager _assetCategoryManager;
+ private readonly ICachedAssetService _assetService;
+ private readonly ICachedAssetCategoryService _assetCategoryService;
public AssetsController(
- IAssetManager assetManager,
- IAssetCategoryManager assetCategoryManager)
+ ICachedAssetService assetService,
+ ICachedAssetCategoryService assetCategoryService)
{
- _assetManager = assetManager;
- _assetCategoryManager = assetCategoryManager;
+ _assetService = assetService;
+ _assetCategoryService = assetCategoryService;
}
[HttpPost]
[SwaggerOperation("AssetAdd")]
- [ProducesResponseType(typeof(Asset), (int) HttpStatusCode.Created)]
+ [ProducesResponseType(typeof(Asset), (int)HttpStatusCode.Created)]
public async Task Add([FromBody] Asset asset)
{
- asset = Mapper.Map(await _assetManager.AddAsync(asset));
-
+ asset = Mapper.Map(await _assetService.AddAsync(asset));
+
return Created
(
- uri: $"api/v2/assets/{asset.Id}",
+ uri: $"api/v2/assets/{asset.Id}",
value: asset
);
}
[HttpPost("{id}/disable")]
[SwaggerOperation("AssetDisable")]
- [ProducesResponseType((int) HttpStatusCode.NoContent)]
+ [ProducesResponseType((int)HttpStatusCode.NoContent)]
public async Task Disable(string id)
{
- await _assetManager.DisableAsync(id);
-
+ await _assetService.DisableAsync(id);
+
return NoContent();
}
[HttpPost("{id}/enable")]
[SwaggerOperation("AssetEnable")]
- [ProducesResponseType((int) HttpStatusCode.NoContent)]
+ [ProducesResponseType((int)HttpStatusCode.NoContent)]
public async Task Enable(string id)
{
- await _assetManager.EnableAsync(id);
-
+ await _assetService.EnableAsync(id);
+
return NoContent();
}
@@ -64,18 +64,18 @@ public async Task Enable(string id)
[ProducesResponseType(typeof(bool), (int)HttpStatusCode.OK)]
public async Task Exists(string id)
{
- var asset = await _assetManager.GetAsync(id);
+ var asset = await _assetService.GetAsync(id);
return Ok(asset != null);
}
[HttpGet("{id}")]
[SwaggerOperation("AssetGet")]
- [ProducesResponseType(typeof(Asset), (int) HttpStatusCode.OK)]
- [ProducesResponseType((int) HttpStatusCode.NotFound)]
+ [ProducesResponseType(typeof(Asset), (int)HttpStatusCode.OK)]
+ [ProducesResponseType((int)HttpStatusCode.NotFound)]
public async Task Get(string id)
{
- var asset = await _assetManager.GetAsync(id);
+ var asset = await _assetService.GetAsync(id);
if (asset != null)
{
@@ -89,10 +89,10 @@ public async Task Get(string id)
[HttpGet]
[SwaggerOperation("AssetGetAll")]
- [ProducesResponseType(typeof(IEnumerable), (int) HttpStatusCode.OK)]
+ [ProducesResponseType(typeof(IEnumerable), (int)HttpStatusCode.OK)]
public async Task GetAll([FromQuery] bool includeNonTradable = false)
{
- var assets = (await _assetManager.GetAllAsync(includeNonTradable))
+ var assets = (await _assetService.GetAllAsync(includeNonTradable))
.Select(Mapper.Map);
return Ok(assets);
@@ -103,9 +103,9 @@ public async Task GetAll([FromQuery] bool includeNonTradable = fa
[ProducesResponseType(typeof(ListOf), (int)HttpStatusCode.OK)]
public async Task GetBySpecification([FromBody] AssetSpecification specification)
{
- var ids = specification?.Ids?.ToArray() ?? new string[0];
- var isTradable = specification?.IsTradable;
- var allTokens = await _assetManager.GetAsync(ids.ToArray(), isTradable);
+ var ids = specification?.Ids?.ToArray() ?? new string[0];
+ var isTradable = specification?.IsTradable;
+ var allTokens = await _assetService.GetAsync(ids.ToArray(), isTradable);
var responseList = allTokens?.Select(Mapper.Map);
return Ok(new ListOf
@@ -120,14 +120,14 @@ public async Task GetBySpecification([FromBody] AssetSpecificatio
[ProducesResponseType((int)HttpStatusCode.NotFound)]
public async Task GetCategory(string id)
{
- var asset = await _assetManager.GetAsync(id);
+ var asset = await _assetService.GetAsync(id);
if (asset == null)
{
return NotFound("Asset not found");
}
- var assetCategory = await _assetCategoryManager.GetAsync(asset.CategoryId ?? "");
+ var assetCategory = await _assetCategoryService.GetAsync(asset.CategoryId ?? "");
if (assetCategory == null)
{
@@ -142,7 +142,7 @@ public async Task GetCategory(string id)
[ProducesResponseType(typeof(Asset), (int)HttpStatusCode.OK)]
public IActionResult GetDefault()
{
- var asset = _assetManager.CreateDefault();
+ var asset = _assetService.CreateDefault();
return Ok(Mapper.Map(asset));
}
@@ -150,21 +150,21 @@ public IActionResult GetDefault()
[HttpDelete("{id}")]
[SwaggerOperation("AssetRemove")]
- [ProducesResponseType((int) HttpStatusCode.NoContent)]
+ [ProducesResponseType((int)HttpStatusCode.NoContent)]
public async Task Remove(string id)
{
- await _assetManager.RemoveAsync(id);
-
+ await _assetService.RemoveAsync(id);
+
return NoContent();
}
[HttpPut]
[SwaggerOperation("AssetUpdate")]
- [ProducesResponseType((int) HttpStatusCode.NoContent)]
+ [ProducesResponseType((int)HttpStatusCode.NoContent)]
public async Task Update([FromBody] Asset asset)
{
- await _assetManager.UpdateAsync(asset);
-
+ await _assetService.UpdateAsync(asset);
+
return NoContent();
}
}
diff --git a/src/Lykke.Service.Assets/Controllers/v2/Erc20TokensController.cs b/src/Lykke.Service.Assets/Controllers/v2/Erc20TokensController.cs
index a76157ca..d6d246d9 100644
--- a/src/Lykke.Service.Assets/Controllers/v2/Erc20TokensController.cs
+++ b/src/Lykke.Service.Assets/Controllers/v2/Erc20TokensController.cs
@@ -2,7 +2,7 @@
using System.Net;
using System.Threading.Tasks;
using AutoMapper;
-using Lykke.Service.Assets.Managers;
+using Lykke.Service.Assets.Cache;
using Lykke.Service.Assets.Requests.V2;
using Lykke.Service.Assets.Responses.V2;
using Microsoft.AspNetCore.Mvc;
@@ -17,15 +17,15 @@ namespace Lykke.Service.Assets.Controllers.V2
[Route("api/v2/erc20-tokens")]
public class Erc20TokensController : Controller
{
- private readonly IErc20TokenAssetManager _erc20TokenAssetManager;
- private readonly IErc20TokenManager _erc20TokenService;
+ private readonly ICachedErc20TokenAssetService _erc20TokenAssetService;
+ private readonly ICachedErc20TokenService _erc20TokenService;
public Erc20TokensController(
- IErc20TokenAssetManager erc20TokenAssetManager,
- IErc20TokenManager erc20TokenService)
+ ICachedErc20TokenAssetService erc20TokenAssetService,
+ ICachedErc20TokenService erc20TokenService)
{
- _erc20TokenAssetManager = erc20TokenAssetManager;
+ _erc20TokenAssetService = erc20TokenAssetService;
_erc20TokenService = erc20TokenService;
}
@@ -44,7 +44,7 @@ public async Task Add([FromBody]Erc20Token token)
[ProducesResponseType(typeof(Asset), (int) HttpStatusCode.Created)]
public async Task CreateAsset(string address)
{
- var asset = Mapper.Map(await _erc20TokenAssetManager.CreateAssetForErc20TokenAsync(address));
+ var asset = Mapper.Map(await _erc20TokenAssetService.CreateAssetForErc20TokenAsync(address));
return Created
(
diff --git a/src/Lykke.Service.Assets/Lykke.Service.Assets.csproj b/src/Lykke.Service.Assets/Lykke.Service.Assets.csproj
index 376d2991..d6c48471 100644
--- a/src/Lykke.Service.Assets/Lykke.Service.Assets.csproj
+++ b/src/Lykke.Service.Assets/Lykke.Service.Assets.csproj
@@ -13,26 +13,26 @@
1701;1702;1705;1591
-
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/src/Lykke.Service.Assets/Managers/Erc20TokenAssetManager.cs b/src/Lykke.Service.Assets/Managers/Erc20TokenAssetManager.cs
deleted file mode 100644
index 8b022d4b..00000000
--- a/src/Lykke.Service.Assets/Managers/Erc20TokenAssetManager.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-using System.Threading.Tasks;
-using Lykke.Service.Assets.Cache;
-using Lykke.Service.Assets.Core.Domain;
-using Lykke.Service.Assets.Core.Services;
-
-namespace Lykke.Service.Assets.Managers
-{
- public class Erc20TokenAssetManager : IErc20TokenAssetManager
- {
- private readonly ICache _assetCache;
- private readonly IErc20TokenAssetService _tokenAssetService;
-
-
- public Erc20TokenAssetManager(
- IErc20TokenAssetService tokenAssetService,
- ICache assetCache)
- {
- _assetCache = assetCache;
- _tokenAssetService = tokenAssetService;
- }
-
- public async Task CreateAssetForErc20TokenAsync(string tokenAddress)
- {
- await _assetCache.InvalidateAsync();
-
- return await _tokenAssetService.CreateAssetForErc20TokenAsync(tokenAddress);
- }
- }
-}
diff --git a/src/Lykke.Service.Assets/Managers/IAssetCategoryManager.cs b/src/Lykke.Service.Assets/Managers/IAssetCategoryManager.cs
deleted file mode 100644
index 6fdc64af..00000000
--- a/src/Lykke.Service.Assets/Managers/IAssetCategoryManager.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-using Lykke.Service.Assets.Core.Services;
-
-namespace Lykke.Service.Assets.Managers
-{
- public interface IAssetCategoryManager : IAssetCategoryService, ICanInvalidateCache
- {
-
- }
-}
diff --git a/src/Lykke.Service.Assets/Managers/IAssetManager.cs b/src/Lykke.Service.Assets/Managers/IAssetManager.cs
deleted file mode 100644
index ef0b41ec..00000000
--- a/src/Lykke.Service.Assets/Managers/IAssetManager.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-using Lykke.Service.Assets.Core.Services;
-
-namespace Lykke.Service.Assets.Managers
-{
- public interface IAssetManager : IAssetService, ICanInvalidateCache
- {
-
- }
-}
diff --git a/src/Lykke.Service.Assets/Managers/IAssetPairManager.cs b/src/Lykke.Service.Assets/Managers/IAssetPairManager.cs
deleted file mode 100644
index fe9f12b0..00000000
--- a/src/Lykke.Service.Assets/Managers/IAssetPairManager.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-using Lykke.Service.Assets.Core.Services;
-
-namespace Lykke.Service.Assets.Managers
-{
- public interface IAssetPairManager : IAssetPairService, ICanInvalidateCache
- {
-
- }
-}
diff --git a/src/Lykke.Service.Assets/Managers/ICanInvalidateCache.cs b/src/Lykke.Service.Assets/Managers/ICanInvalidateCache.cs
deleted file mode 100644
index 76d21be6..00000000
--- a/src/Lykke.Service.Assets/Managers/ICanInvalidateCache.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-using System.Threading.Tasks;
-
-namespace Lykke.Service.Assets.Managers
-{
- public interface ICanInvalidateCache
- {
- Task InvalidateCache();
- }
-}
diff --git a/src/Lykke.Service.Assets/Managers/IErc20TokenAssetManager.cs b/src/Lykke.Service.Assets/Managers/IErc20TokenAssetManager.cs
deleted file mode 100644
index bcde2425..00000000
--- a/src/Lykke.Service.Assets/Managers/IErc20TokenAssetManager.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-using Lykke.Service.Assets.Core.Services;
-
-namespace Lykke.Service.Assets.Managers
-{
- public interface IErc20TokenAssetManager : IErc20TokenAssetService
- {
-
- }
-}
diff --git a/src/Lykke.Service.Assets/Managers/IErc20TokenManager.cs b/src/Lykke.Service.Assets/Managers/IErc20TokenManager.cs
deleted file mode 100644
index ca21db9b..00000000
--- a/src/Lykke.Service.Assets/Managers/IErc20TokenManager.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-using Lykke.Service.Assets.Core.Services;
-
-namespace Lykke.Service.Assets.Managers
-{
- public interface IErc20TokenManager : IErc20TokenService, ICanInvalidateCache
- {
-
- }
-}
diff --git a/src/Lykke.Service.Assets/Modules/ApiModule.cs b/src/Lykke.Service.Assets/Modules/ApiModule.cs
index 54a5938b..fe0b8188 100644
--- a/src/Lykke.Service.Assets/Modules/ApiModule.cs
+++ b/src/Lykke.Service.Assets/Modules/ApiModule.cs
@@ -4,8 +4,9 @@
using Lykke.Service.Assets.Core;
using Lykke.Service.Assets.Core.Domain;
using Lykke.Service.Assets.Core.Services;
-using Lykke.Service.Assets.Managers;
using Lykke.Service.Assets.RabbitSubscribers;
+using Lykke.Service.Assets.Repositories.Entities;
+using Lykke.Service.Assets.Repositories.DTOs;
using Lykke.SettingsReader;
using StackExchange.Redis;
@@ -31,10 +32,10 @@ protected override void Load(ContainerBuilder builder)
builder.RegisterInstance(_settings).SingleInstance();
builder.RegisterInstance(_settings.CurrentValue.AssetsService).SingleInstance();
- RegisterCache(builder, "Assets");
- RegisterCache(builder, "AssetCategories");
- RegisterCache(builder, "AssetPairs");
- RegisterCache(builder, "Erc20Tokens");
+ RegisterCache(builder, "Assets");
+ RegisterCache(builder, "AssetCategories");
+ RegisterCache(builder, "AssetPairs");
+ RegisterCache(builder, "Erc20Tokens");
RegisterRedis(builder);
@@ -43,28 +44,28 @@ protected override void Load(ContainerBuilder builder)
.SingleInstance();
builder
- .RegisterType()
- .As()
+ .RegisterType()
+ .As()
.SingleInstance();
builder
- .RegisterType()
- .As()
+ .RegisterType()
+ .As()
.SingleInstance();
builder
- .RegisterType()
- .As()
+ .RegisterType()
+ .As()
.SingleInstance();
builder
- .RegisterType()
- .As()
+ .RegisterType()
+ .As()
.SingleInstance();
builder
- .RegisterType()
- .As()
+ .RegisterType()
+ .As()
.SingleInstance();
RegisterRabbitMqSubscribers(builder);
@@ -105,10 +106,9 @@ private void RegisterRabbitMqSubscribers(ContainerBuilder builder)
.WithParameter(TypedParameter.From(_settings.CurrentValue.AssetsService.Rabbit.ConnectionString));
}
- private void RegisterCache(ContainerBuilder builder, string partitionKey)
+ private void RegisterCache(ContainerBuilder builder, string partitionKey) where T : class, I
{
- builder.RegisterType>()
- .As>()
+ builder.RegisterType>()
.SingleInstance()
.WithParameter(TypedParameter.From(_settings.CurrentValue.AssetsService.Dictionaries.CacheExpirationPeriod))
.WithParameter(TypedParameter.From(partitionKey));
diff --git a/src/Lykke.Service.Assets/RabbitSubscribers/ErcContractSubscriber.cs b/src/Lykke.Service.Assets/RabbitSubscribers/ErcContractSubscriber.cs
index af5f5de9..65b20ad9 100644
--- a/src/Lykke.Service.Assets/RabbitSubscribers/ErcContractSubscriber.cs
+++ b/src/Lykke.Service.Assets/RabbitSubscribers/ErcContractSubscriber.cs
@@ -27,9 +27,6 @@ public ErcContractSubscriber(ILog log, IErcContractProcessor ercContractProcesso
public void Start()
{
- // NOTE: Read https://github.com/LykkeCity/Lykke.RabbitMqDotNetBroker/blob/master/README.md to learn
- // about RabbitMq subscriber configuration
-
var settings = RabbitMqSubscriptionSettings
.CreateForSubscriber(_connectionString, "ethereum.indexer.erccontracts", "service.assets")
.MakeDurable();
@@ -50,7 +47,7 @@ private async Task ProcessMessageAsync(Erc20ContractCreatedMessage arg)
{
// TODO: Orchestrate execution flow here and delegate actual business logic implementation to services layer
// Do not implement actual business logic here
- Erc20Token message = new Erc20Token()
+ var token = new Erc20Token
{
Address = arg.Address,
AssetId = null,
@@ -64,7 +61,7 @@ private async Task ProcessMessageAsync(Erc20ContractCreatedMessage arg)
TransactionHash = arg.TransactionHash
};
- await _ercContractProcessor.ProcessErc20ContractAsync(message);
+ await _ercContractProcessor.ProcessErc20ContractAsync(token);
}
public void Dispose()
diff --git a/tests/Lykke.Service.Assets.Repositories.Tests/Lykke.Service.Assets.Repositories.Tests.csproj b/tests/Lykke.Service.Assets.Repositories.Tests/Lykke.Service.Assets.Repositories.Tests.csproj
index b11af258..6f52f0bf 100644
--- a/tests/Lykke.Service.Assets.Repositories.Tests/Lykke.Service.Assets.Repositories.Tests.csproj
+++ b/tests/Lykke.Service.Assets.Repositories.Tests/Lykke.Service.Assets.Repositories.Tests.csproj
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/tests/Lykke.Service.Assets.Services.Tests/Lykke.Service.Assets.Services.Tests.csproj b/tests/Lykke.Service.Assets.Services.Tests/Lykke.Service.Assets.Services.Tests.csproj
index 7bb877c5..75a2177d 100644
--- a/tests/Lykke.Service.Assets.Services.Tests/Lykke.Service.Assets.Services.Tests.csproj
+++ b/tests/Lykke.Service.Assets.Services.Tests/Lykke.Service.Assets.Services.Tests.csproj
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/tests/Lykke.Service.Assets.Tests/Lykke.Service.Assets.Tests.csproj b/tests/Lykke.Service.Assets.Tests/Lykke.Service.Assets.Tests.csproj
index a521f9a4..1438c861 100644
--- a/tests/Lykke.Service.Assets.Tests/Lykke.Service.Assets.Tests.csproj
+++ b/tests/Lykke.Service.Assets.Tests/Lykke.Service.Assets.Tests.csproj
@@ -5,8 +5,8 @@
-
-
+
+