import { getDefaultClient } from '../../factory' import type { KioskUICreateItemReqVO, KioskUICreateItemRespVO, KioskUIKioskGetRespVO, KioskUISearchAndLockRespVO, KioskUIUpdateItemReqVO, KioskUIUpdateItemRespVO, CheckPrintDuplicateReqVO, CheckPrintDuplicateRespVO, RecordPrintReqVO, RecordPrintRespVO } from '../../types/kiosk-ui' // @endpoint POST /kiosk-flow/:kiosk_id/create // @controller KioskUI.CreateItem export async function createItemInKioskFlow( kioskId: string, data: KioskUICreateItemReqVO ): Promise { return getDefaultClient().post(`/kiosk-flow/${kioskId}/create`, data) } // @endpoint GET /kiosk/:kiosk_group_hashid/entry // @controller KioskUI.Entry export async function getEntryInKioskFlow( kioskGroupHashid: string ): Promise { return getDefaultClient().get(`/kiosk/${kioskGroupHashid}/entry`) } // @endpoint GET /kiosk/:kiosk_group_hashid/flow/:kiosk_id // @controller KioskUI.KioskGet export async function getFlowInKioskFlow( kioskGroupHashid: string, kioskId: string ): Promise { return getDefaultClient().get(`/kiosk/${kioskGroupHashid}/flow/${kioskId}`) } // @endpoint GET /kiosk-flow/:kiosk_id/search-and-lock // @controller KioskUI.SearchAndLock export async function searchAndLockInKioskFlow( kioskId: string, code: string, lockString = 'kiosk' ): Promise { const params = new URLSearchParams() params.append('code', code) params.append('lock_string', lockString) return getDefaultClient().get(`/kiosk-flow/${kioskId}/search-and-lock?${params.toString()}`) } // @endpoint POST /kiosk-flow/:kiosk_id/update // @controller KioskUI.UpdateItem export async function updateKioskInKioskFlow( kioskId: string, data: KioskUIUpdateItemReqVO ): Promise { return getDefaultClient().post(`/kiosk-flow/${kioskId}/update`, data) } // @endpoint POST /kiosk-flow/:kiosk_id/check-print-duplicate // @controller KioskUI.CheckIfPrinted export async function checkPrintDuplicate( kioskId: string, data: CheckPrintDuplicateReqVO ): Promise { return getDefaultClient().post(`/kiosk-flow/${kioskId}/check-print-duplicate`, data) } // @endpoint POST /kiosk-flow/:kiosk_id/record-print // @controller KioskUI.RecordPrint export async function recordPrint( kioskId: string, data: RecordPrintReqVO ): Promise { return getDefaultClient().post(`/kiosk-flow/${kioskId}/record-print`, data) }