public Task<int> Count(UserQueryRequest request)
{
if (request.ProjectId == null)
throw new ArgumentNullException();
if (request.CollectionId != null && request.CollectionKey != null)
throw new ArgumentException();
var folders = request.Folders == null ? new List<string>() : new List<string>(request.Folders);
if (folders.Count + (request.Folder != null ? 1 : 0) >
MaxLimit)
throw new ArgumentException();
if (request.Folder != null)
folders.Add(request.Folder);
return _syncanoClient.PostAsync<int>("user.count",
new
{
project_id = request.ProjectId,
collection_id = request.CollectionId,
collection_key = request.CollectionKey,
state = request.State.ToString(),
folders = folders.ToArray(),
filter = request.Filter == null ? null : request.Filter.ToString()
}, "count");
}