using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using xHttpService.Constants;
using xHttpService.Extensions;
using xIdentityModels.Dtos;
using xIdentityModels.Models;
using xIdentityService.Constants;
using xModels.Dtos;
namespace xIdentityService.Providers
{
public partial class XIdentityProvider
{
//
#region Actions ...
///
/// Query Open To Search User Profiles ...
///
/// requested user's identifiers
/// how to filter results based on XQuery structure
/// an instance of XQueryResult of XUserProfileDto
public async Task> QueryOpenToSearchUsers(
XTokenResponse tokens,
XQuery query
)
{
//
// Validate Args ...
await validationProvider
.GroupValidationBuilder()
.AddNotNull(tokens, query)
.AddNotEmpty(tokens.AccessToken)
.ValidateGroupAsync();
//
var client = GetRestClient(tokens);
//
var request = GetRestRequet(XApiAccountEndpoint.QueryOpenToSearchProfiles);
//
// Attach XQuery to Request ...
request = request.AttachXQuery(query);
//
var response = await RunRestRequest>(
client,
request,
XHttpMethod.GET
);
return response;
}
#endregion
}
}