Files
ndm-web-client/src/apis/requests/device/video/ndm-camera.ts
2025-11-20 16:51:31 +08:00

41 lines
1.5 KiB
TypeScript

import { ndmClient, type NdmCameraPageQuery, type NdmCameraResultVO, type NdmCameraUpdateVO, type PageParams, type PageResult, type SnapResult } from '@/apis';
export const postNdmCameraPage = async (stationCode: string, pageQuery: PageParams<NdmCameraPageQuery>, signal?: AbortSignal) => {
const prefix = stationCode ? `/${stationCode}` : '';
const resp = await ndmClient.post<PageResult<NdmCameraResultVO>>(`${prefix}/api/ndm/ndmCamera/page`, pageQuery, { signal });
const [err, ndmCamera] = resp;
if (err || !ndmCamera) {
throw err;
}
return ndmCamera;
};
export const getNdmCameraDetail = async (stationCode: string, id: string) => {
const prefix = stationCode ? `/${stationCode}` : '';
const resp = await ndmClient.get<NdmCameraResultVO>(`${prefix}/api/ndm/ndmCamera/detail`, { params: { id } });
const [err, ndmCamera] = resp;
if (err || !ndmCamera) {
throw err;
}
return ndmCamera;
};
export const putNdmCamera = async (stationCode: string, updateVO: NdmCameraUpdateVO) => {
const prefix = stationCode ? `/${stationCode}` : '';
const resp = await ndmClient.put<NdmCameraResultVO>(`${prefix}/api/ndm/ndmCamera`, updateVO);
const [err, ndmCamera] = resp;
if (err || !ndmCamera) {
throw err;
}
return await getNdmCameraDetail(stationCode, ndmCamera.id ?? '');
};
export const getSnapByDeviceIdApi = async (deviceId: string) => {
const resp = await ndmClient.get<SnapResult>(`/api/ndm/ndmCamera/getSnapByDeviceId`, { params: { deviceId } });
const [err, snap] = resp;
if (err || !snap) {
throw err;
}
return snap;
};