const ApplicationLog = require('../models/Logs/Application') const ServerLog = require('../models/Logs/Server') const dayjs = require('dayjs') function generateTimestamp () { return `${dayjs().format('YYYY-MM-DD HH:mm:ss.SSS')} ` } async function saveAppLog (event, configuration, isError) { try { const deployId = configuration.general.deployId const repoId = configuration.repository.id const branch = configuration.repository.branch if (isError) { // console.log(event, config, isError) let clearedEvent = null if (event.error) clearedEvent = '[ERROR] ' + generateTimestamp() + event.error.replace(/(\r\n|\n|\r)/gm, '') else if (event) clearedEvent = '[ERROR] ' + generateTimestamp() + event.replace(/(\r\n|\n|\r)/gm, '') try { await new ApplicationLog({ repoId, branch, deployId, event: clearedEvent }).save() } catch (error) { console.log(error) } } else { if (event && event !== '\n') { const clearedEvent = '[INFO] ' + generateTimestamp() + event.replace(/(\r\n|\n|\r)/gm, '') try { await new ApplicationLog({ repoId, branch, deployId, event: clearedEvent }).save() } catch (error) { console.log(error) } } } } catch (error) { console.log(error) return error } } async function saveServerLog ({ event, configuration, type }) { if (configuration) { const deployId = configuration.general.deployId const repoId = configuration.repository.id const branch = configuration.repository.branch await new ApplicationLog({ repoId, branch, deployId, event: `[SERVER ERROR 😖]: ${event}` }).save() } await new ServerLog({ event, type }).save() } module.exports = { saveAppLog, saveServerLog }