import { string } from 'alga-js' import refreshTokenHelper from "../../utils/refreshTokenHelper" import forceLogoutHelper from "../../utils/forceLogoutHelper" import errorHandlingHelper from "../../utils/errorHandlingHelper" import fetchHelper from "../../utils/fetchHelper" import getTokenHelper from "../../utils/getTokenHelper" const handleFunc = async (event: any, authToken: any = null) => { let data: any = { records: [], 'row-count': 0 } const token = authToken ?? await getTokenHelper(event) const query = getQuery(event) const pricelistVersionId = query?.pricelist_version_id as string if (!pricelistVersionId) { return { status: 400, message: 'Pricelist version ID is required', records: [], 'row-count': 0 } } const filter = string.urlEncode(`M_PriceList_Version_ID eq ${pricelistVersionId}`) const res: any = await fetchHelper( event, `models/m_productprice?$filter=${filter}&$expand=M_Product_ID($select=Name,Value,SKU)&$top=10000`, 'GET', token, null ) if (res?.records) { data = { status: 200, records: res.records, 'row-count': res.records.length } } return data } 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 })