diff --git a/surfsense_web/lib/apis/members-api.service.ts b/surfsense_web/lib/apis/members-api.service.ts new file mode 100644 index 000000000..53dc42304 --- /dev/null +++ b/surfsense_web/lib/apis/members-api.service.ts @@ -0,0 +1,21 @@ +import { baseApiService } from "./base-api.service"; +import { + type GetMembersRequest, + getMembersRequest, + getMembersResponse, +} from "@/contracts/types/members.types"; + +class MembersApiService { + /** + * Get members of a search space + */ + async getMembers(request: GetMembersRequest) { + const parsedRequest = getMembersRequest.parse(request); + return baseApiService.get( + `/searchspaces/${parsedRequest.search_space_id}/members`, + getMembersResponse, + ); + } +} + +export const membersApiService = new MembersApiService();