49 lines
1.2 KiB
TypeScript
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();
|