package org.xcolab.client.members;
import org.xcolab.client.members.pojo.StaffMember;
import org.xcolab.util.clients.CoLabService;
import org.xcolab.util.http.ServiceRequestUtils;
import org.xcolab.util.http.caching.CacheKeys;
import org.xcolab.util.http.caching.CacheName;
import org.xcolab.util.http.client.RestResource;
import org.xcolab.util.http.client.RestResource1;
import org.xcolab.util.http.client.RestService;
import java.util.List;
public class StaffMemberClient {
private static final RestService memberService = new RestService(CoLabService.MEMBER,
ServiceRequestUtils.getNamespace());
private static final RestResource<StaffMember, Long> staffMemberResource = new RestResource1<>(memberService,
"staffMembers", StaffMember.TYPES);
public static List<StaffMember> getStaffMembersByCategoryId(long categoryId) {
return staffMemberResource.list()
.queryParam("categoryId", categoryId)
.queryParam("limitRecord", Integer.MAX_VALUE) // since not all members are retrieved by default (20)
.withCache(CacheKeys.withClass(StaffMember.class)
.withParameter("categoryId", categoryId).asList(), CacheName.MISC_LONG)
.execute();
}
}