@amityco/ts-sdk-react-native
Version:
Amity Social Cloud Typescript SDK
27 lines (19 loc) • 649 B
text/typescript
import { AxiosInstance } from 'axios';
import { getActiveClient } from '~/client/api/activeClient';
export abstract class PaginationNoPageController<
TPayloadDomain extends keyof Amity.Payloads,
TQueryParams,
> {
private queryParams: TQueryParams;
protected http: AxiosInstance;
constructor(queryParams: TQueryParams) {
const { http } = getActiveClient();
this.queryParams = queryParams;
this.http = http;
}
async onFetch() {
const queryResponse = await this.getRequest(this.queryParams);
return queryResponse;
}
abstract getRequest(queryParams: TQueryParams): Promise<Amity.Payloads[TPayloadDomain]>;
}