namespace Giants.Services { using System; using System.Collections.Generic; using System.Linq.Expressions; using System.Threading.Tasks; public interface IServerRegistryStore { Task Initialize(); Task DeleteServer(string id, string partitionKey = null); Task DeleteServers(IEnumerable ids, string partitionKey = null); Task> GetServerInfos(Expression> whereExpression = null, bool includeExpired = false, string partitionKey = null); Task> GetServerInfos( Expression> selectExpression, bool includeExpired = false, Expression> whereExpression = null, string partitionKey = null); Task UpsertServerInfo(ServerInfo serverInfo); } }