Files
frontend/apps/cs/src/entities/link/api/link-service.ts
T

191 lines
5.3 KiB
TypeScript

import axios from "axios";
import {
type LinkService,
type LinkSearchParam,
type LinkList,
type LinkFormData,
type LinkInfo,
type LinkLogList,
type LinkStatsList,
type LinkVrblList,
type LinkVrblFormData,
type LinkVrbl,
type LinkTable,
type LinkTableColumnsList,
type LinkTableColumns,
type LinkTableColData,
type LinkTableFormData,
} from "../model/link-interface";
export class LinkApiService implements LinkService {
public async getLinkList(params: LinkSearchParam): Promise<LinkList> {
const response = await axios.get<LinkList>(
`/api/link/getLinkList`,
{ params }
);
return response.data;
}
public async getLinkInfo(linkSn: string): Promise<LinkInfo> {
const response = await axios.get<LinkInfo>(
`/api/link/getLinkInfo/${linkSn}`,
);
return response.data;
}
public async linkQuickStart(linkSn: string): Promise<string> {
const response = await axios.patch<string>(
`/api/link/linkQuickStart/${linkSn}`,
);
return response.data;
}
public async updateLinkInfo(data: LinkFormData): Promise<void> {
await axios.put<void>(
'/api/link/updateLinkInfo',
data,
);
}
public async insertLinkInfo(data: LinkFormData): Promise<void> {
await axios.post<void>(
'/api/link/insertLinkInfo',
data,
);
}
public async deleteLink(linkSn: string): Promise<void> {
await axios.delete<void>(
`/api/link/deleteLink/${linkSn}`,
);
}
public async getLinkLogList(params: LinkSearchParam): Promise<LinkLogList> {
const response = await axios.get<LinkLogList>(
'/api/link/selectLinkLoglist',
{ params }
);
return response.data;
}
public async getLinkStatsList(params: LinkSearchParam): Promise<LinkStatsList> {
const response = await axios.get<LinkStatsList>(
'/api/link/selectLinkStats',
{ params }
);
return response.data;
}
public async getLinkVrblList(linkSn: string): Promise<LinkVrblList> {
const response = await axios.get<LinkVrblList>(
`/api/link/getLinkVrblList/${linkSn}`,
);
return response.data;
}
public async insertLinkVrbl(data: LinkVrblFormData): Promise<number> {
const response = await axios.post<number>(
'/api/link/insertLinkVrbl',
data,
);
return response.data;
}
public async deleteLinkVrbl(data: string[]): Promise<void> {
await axios.delete<void>(
'/api/link/deleteLinkVrbl',
{
data
}
);
}
public async getLinkVrblInfo(linkVrblSn: string): Promise<LinkVrbl> {
const response = await axios.get<LinkVrbl>(
`/api/link/getLinkVrblInfo/${linkVrblSn}`,
);
return response.data;
}
public async updateLinkVrblInfo(data: LinkVrblFormData): Promise<void> {
await axios.put<void>(
'/api/link/updateLinkVrblInfo',
data,
);
}
public async getLinkTableInfo(linkSn: string): Promise<LinkTable> {
const response = await axios.get<LinkTable>(
`/api/link/getLinkTableInfo/${linkSn}`,
);
return response.data;
}
public async getLinkTableColList(linkSn: string): Promise<LinkTableColumnsList> {
const response = await axios.get<LinkTableColumnsList>(
`/api/link/getLinkTableColList/${linkSn}`,
);
return response.data;
}
public async getLinkTableColInfo(params: { colSn: string; tblSn:string; }): Promise<LinkTableColumns> {
const response = await axios.get<LinkTableColumns>(
'/api/link/getLinkTableColInfo',
{ params }
);
return response.data;
}
public async insertLinkTableCol(data: LinkTableColData): Promise<void> {
await axios.post<void>(
'/api/link/insertLinkTableCol',
data
);
}
public async deleteLinkTableCol(data: string[]): Promise<void> {
await axios.delete<void>(
'/api/link/deleteLinkTableCol',
{
data
},
);
}
public async updateLinkTableCol(data: LinkTableColData): Promise<void> {
axios.put<void>(
'/api/link/updateLinkTableCol',
data,
);
}
public async insertLinkTableInfo(data: LinkTableFormData): Promise<void> {
await axios.post<void>(
'/api/link/insertLinkTableInfo',
data
);
}
public async updateLinkTableInfo(data: LinkTableFormData): Promise<void> {
await axios.put<void>(
'/api/link/updateLinkTableInfo',
data
);
}
public async countLinkTblNm(tblNm: string): Promise<{count: number, tbl_sn: string}> {
const response = await axios.get<{count: number, tbl_sn: string}>(
`/api/link/countLinkTblNm/${tblNm}`,
);
return response.data;
}
public async updateLinkResultCode(linkSn: string): Promise<void> {
await axios.patch<void>(
`/api/link/updateLinkResultCode/${linkSn}`,
);
}
}
export const LinkApi = new LinkApiService();