[#19] Client: Use specific classes for search

Signed-off-by: Pavel Gross <p.gross@yando.com>
This commit is contained in:
Pavel Gross 2024-07-25 14:20:14 +03:00
parent 3206abc33e
commit 35fe791406
27 changed files with 320 additions and 123 deletions

View file

@ -0,0 +1,23 @@
using System.Threading.Tasks;
using FrostFS.SDK.ClientV2.Parameters;
namespace FrostFS.SDK.ClientV2;
internal interface ISessionProvider
{
ValueTask<Session.SessionToken> GetOrCreateSession(ISessionToken args, Context ctx);
}
internal class SessionProvider(ClientEnvironment env)
{
public async ValueTask<Session.SessionToken> GetOrCreateSession(ISessionToken args, Context ctx)
{
if (args.SessionToken is null)
{
return await env.Client.CreateSessionInternalAsync(new PrmSessionCreate(uint.MaxValue, ctx));
}
return new Session.SessionToken().Deserialize(args.SessionToken.Token);
}
}