UNPKG

@amityco/ts-sdk-react-native

Version:

Amity Social Cloud Typescript SDK

32 lines (29 loc) 1.13 kB
import { PaginationController } from '~/core/liveCollection/PaginationController'; import { COLLECTION_DEFAULT_PAGINATION_LIMIT } from '~/utils/constants'; import { inferIsDeleted } from '~/utils/inferIsDeleted'; /** * TODO: handle cache receive cache option, and cache policy * TODO: check if querybyIds is supported */ export class CommunitiesPaginationController extends PaginationController< 'community', Amity.CommunityLiveCollection > { async getRequest(queryParams: Amity.CommunityLiveCollection, token: string | undefined) { const { limit = COLLECTION_DEFAULT_PAGINATION_LIMIT, ...params } = queryParams; const options = token ? { token } : { limit }; const { data: queryResponse } = await this.http.get<Amity.CommunityPayload & Amity.Pagination>( `/api/v3/communities`, { params: { ...params, isDeleted: inferIsDeleted(params.includeDeleted), filter: params.membership, includeDiscoverablePrivateCommunity: params.includeDiscoverablePrivateCommunity ?? true, options, }, }, ); return queryResponse; } }