diff --git a/src/apis/request/biz/index.ts b/src/apis/request/biz/index.ts index 79a3c5a..aa7d729 100644 --- a/src/apis/request/biz/index.ts +++ b/src/apis/request/biz/index.ts @@ -6,4 +6,5 @@ export * from './icmp'; export * from './log'; export * from './storage'; export * from './other'; +export * from './upper-ndm'; export * from './video'; diff --git a/src/apis/request/biz/upper-ndm/index.ts b/src/apis/request/biz/upper-ndm/index.ts new file mode 100644 index 0000000..c915e96 --- /dev/null +++ b/src/apis/request/biz/upper-ndm/index.ts @@ -0,0 +1 @@ +export * from './upper-ndm'; diff --git a/src/apis/request/biz/upper-ndm/upper-ndm.ts b/src/apis/request/biz/upper-ndm/upper-ndm.ts new file mode 100644 index 0000000..f324711 --- /dev/null +++ b/src/apis/request/biz/upper-ndm/upper-ndm.ts @@ -0,0 +1,20 @@ +import { ndmClient, userClient, type Station } from '@/apis'; +import { unwrapResponse } from '@/utils'; + +export async function snapStatusApi(method: 'get', options?: { stationCode?: Station['code']; signal?: AbortSignal }): Promise; +export async function snapStatusApi(method: 'post', options: { doSnap: boolean; stationCode?: Station['code']; signal?: AbortSignal }): Promise; +export async function snapStatusApi(method: 'get' | 'post', options?: { doSnap?: boolean; stationCode?: Station['code']; signal?: AbortSignal }) { + const { doSnap, stationCode, signal } = options ?? {}; + const client = stationCode ? ndmClient : userClient; + const prefix = stationCode ? `/${stationCode}` : ''; + const endpoint = `${prefix}/api/ndm/anyTenant/snapStatus`; + if (method === 'get') { + const resp = await client.get(endpoint, { signal }); + const data = unwrapResponse(resp); + return data; + } else { + const resp = await client.post(endpoint, doSnap, { signal }); + const data = unwrapResponse(resp); + return data; + } +} diff --git a/src/apis/request/biz/video/index.ts b/src/apis/request/biz/video/index.ts index 4a25f3b..baebe86 100644 --- a/src/apis/request/biz/video/index.ts +++ b/src/apis/request/biz/video/index.ts @@ -3,4 +3,5 @@ export * from './ndm-camera-ignore'; export * from './ndm-decoder'; export * from './ndm-keyboard'; export * from './ndm-media-server'; +export * from './ndm-snap'; export * from './ndm-video-server'; diff --git a/src/apis/request/biz/video/ndm-snap.ts b/src/apis/request/biz/video/ndm-snap.ts new file mode 100644 index 0000000..63ccf31 --- /dev/null +++ b/src/apis/request/biz/video/ndm-snap.ts @@ -0,0 +1,20 @@ +import { ndmClient, userClient, type Station } from '@/apis'; +import { unwrapResponse } from '@/utils'; + +export async function retentionDaysApi(method: 'get', options?: { stationCode?: Station['code']; signal?: AbortSignal }): Promise; +export async function retentionDaysApi(method: 'post', options: { days: number; stationCode?: Station['code']; signal?: AbortSignal }): Promise; +export async function retentionDaysApi(method: 'get' | 'post', options?: { days?: number; stationCode?: Station['code']; signal?: AbortSignal }) { + const { days, stationCode, signal } = options ?? {}; + const client = stationCode ? ndmClient : userClient; + const prefix = stationCode ? `/${stationCode}` : ''; + const endpoint = `${prefix}/api/ndm/ndmSnap/retentionDays`; + if (method === 'get') { + const resp = await client.get(endpoint, { signal }); + const data = unwrapResponse(resp); + return data; + } else { + const resp = await client.post(endpoint, days, { signal }); + const data = unwrapResponse(resp); + return data; + } +} diff --git a/src/components/global/settings-drawer/settings-drawer.vue b/src/components/global/settings-drawer/settings-drawer.vue index 2a934c5..4b6c0a6 100644 --- a/src/components/global/settings-drawer/settings-drawer.vue +++ b/src/components/global/settings-drawer/settings-drawer.vue @@ -1,5 +1,5 @@