1
0
mirror of https://github.com/ncblakely/GiantsTools synced 2024-12-05 02:53:08 +01:00
GiantsTools/Giants.Services/Store/IServerRegistryStore.cs
2022-09-04 20:29:59 -07:00

27 lines
897 B
C#

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<string> ids, string partitionKey = null);
Task<IEnumerable<ServerInfo>> GetServerInfos(Expression<Func<ServerInfo, bool>> whereExpression = null, bool includeExpired = false, string partitionKey = null);
Task<IEnumerable<TSelect>> GetServerInfos<TSelect>(
Expression<Func<ServerInfo, TSelect>> selectExpression,
bool includeExpired = false,
Expression<Func<ServerInfo, bool>> whereExpression = null,
string partitionKey = null);
Task UpsertServerInfo(ServerInfo serverInfo);
}
}