import type { HttpContext } from '@adonisjs/core/http' import axios from 'axios' export default class HealCheckController { // GET /health-check async check({}: HttpContext) { try { const linkWiki = process.env.LINK_WIKI || 'https://logs.danielvu.com/api/wiki/page/insert?title=Dev_test' const remoteUrl = process.env.ERP_URL || 'https://stage.nswteam.net' const header = { Authorization: 'Bearer ' + process.env.ERP_TOKEN, } const resWiki = await axios.post(linkWiki, { data: 'Health checking', healthChecking: true, }) let dataCheckNote = { name: 'update-note-sn', status: true, message: 'Checking api update note SN success', } const responseDataSN = await axios.post( remoteUrl + '/api/transferGetData', { urlAPI: '/api/stock-model-serial/get-list-regex', filter: { where: { _q: 'FOC1425Z3RN', }, }, orgId: ['5fadc798f070e4b64b53ac9c', '5fadc7b0f070e4b64b53ac9d'], }, { headers: header, } ) if (!responseDataSN?.data?.data || responseDataSN?.data?.data?.length === 0) { dataCheckNote = { name: 'update-note-sn', status: false, message: 'Checking api update note SN fail', } } const dataSN = responseDataSN?.data?.data[0] || {} // console.log(payload) const resSN = await axios.post( remoteUrl + '/api/transferPostData', { urlAPI: '/api/stock-model-serial/data-save', data: { id: dataSN?.id, serialNumberA: dataSN?.serialNumberA, productModelId: dataSN?.productModelId, orgId: dataSN?.orgId, notes: dataSN?.notes, }, }, { headers: header, } ) return { code: resWiki.status, data: [ { name: 'wiki', status: resWiki.status < 400 ? true : false, message: resWiki.data?.message || 'Checking api wiki success', }, { ...dataCheckNote, status: resSN.data?.error ? false : true, message: resSN.data?.error ? `Checking api update note SN false: '${resSN.data?.error?.message}'` : 'Checking api update note SN success', }, ], } } catch (error) { console.log(error) return { code: 200, data: [ { name: 'wiki', status: false, message: error?.message || 'Checking api wiki fail', }, ], } } } }