25 lines
683 B
C#
25 lines
683 B
C#
using FileService.Application.Ports;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace FileService.Infrastructure.Storage
|
|
{
|
|
public class ObjectStorageRouter : IObjectStorageRouter
|
|
{
|
|
private IReadOnlyDictionary<string, IObjectStoragePort> adpters;
|
|
|
|
public ObjectStorageRouter(IEnumerable<IObjectStoragePort> storages)
|
|
{
|
|
this.adpters = storages.ToDictionary(x => x.ProviderCode, StringComparer.OrdinalIgnoreCase);
|
|
}
|
|
|
|
public IObjectStoragePort Route(string providerCode)
|
|
{
|
|
return this.adpters[providerCode];
|
|
}
|
|
}
|
|
}
|