import refreshTokenHelper from "../../../../utils/refreshTokenHelper" import forceLogoutHelper from "../../../../utils/forceLogoutHelper" import errorHandlingHelper from "../../../../utils/errorHandlingHelper" import fetchHelper from "../../../../utils/fetchHelper" // Delete cross-dock allocations by id. Used by "remove link" on the board // (the client passes every allocation id belonging to the PO↔SO ribbon). // Body: { ids: number[] } const handleFunc = async (event: any, authToken: any = null) => { const token = authToken ?? await getTokenHelper(event) const body = await readBody(event) const ids: any[] = Array.isArray(body.ids) ? body.ids : [] const results: any[] = [] for (const id of ids) { const res: any = await fetchHelper(event, 'models/cust_crossdockalloc/' + Number(id), 'DELETE', token, null) results.push(res) } return { status: 200, message: '', count: results.length } } export default defineEventHandler(async (event) => { let data: any = {} try { data = await handleFunc(event) } catch(err: any) { try { let authToken: any = await refreshTokenHelper(event) data = await handleFunc(event, authToken) } catch(error: any) { data = errorHandlingHelper(err?.data ?? err, error?.data ?? error) forceLogoutHelper(event, data) } } return data })