Files
frontend/apps/cs/src/pages/terms/api/terms-service.ts
T

49 lines
1.2 KiB
TypeScript

import { client } from "@/shared/api";
import { ENDPOINT } from "@/shared/config";
import type {
TermsService,
TermsList,
TermsParams,
TermsFormData,
Terms,
} from "../model/terms-interface";
export class TermsApiService implements TermsService {
public async getTermsList(params?: TermsParams): Promise<TermsList> {
const response = await client.get<TermsList>(
`${ENDPOINT.CMS_SERVICE.TERMS}`,
{ params },
);
return response.data;
}
public async getTermsInfo(trmsSn: string): Promise<Terms> {
const response = await client.get<Terms>(
`${ENDPOINT.CMS_SERVICE.TERMS}/${trmsSn}`,
);
return response.data;
}
public async createTerms(data: TermsFormData): Promise<void> {
const response = await client.post<void>(
`${ENDPOINT.CMS_SERVICE.TERMS}`,
data,
);
return response.data;
}
public async updateTerms(trmsSn: string, data: TermsFormData): Promise<void> {
const response = await client.put<void>(
`${ENDPOINT.CMS_SERVICE.TERMS}/${trmsSn}`,
data,
);
return response.data;
}
public async deleteTerms(trmsSn: string): Promise<void> {
await client.delete(`${ENDPOINT.CMS_SERVICE.TERMS}/${trmsSn}`);
}
}
export const TermsApi = new TermsApiService();