project push

This commit is contained in:
Anton Voylenko 2024-11-28 21:07:25 +02:00
commit 2399a31aac
31 changed files with 20580 additions and 0 deletions

View file

@ -0,0 +1,55 @@
const fsp = require('fs').promises
const qrcode = require('qrcode-terminal')
const { sessionFolderPath } = require('../config')
const { sendErrorResponse } = require('../utils')
/**
* Responds to ping request with 'pong'
*
* @function ping
* @async
* @param {Object} req - Express request object
* @param {Object} res - Express response object
* @returns {Promise<void>} - Promise that resolves once response is sent
* @throws {Object} - Throws error if response fails
*/
const ping = async (req, res) => {
/*
#swagger.tags = ['Various']
*/
try {
res.json({ success: true, message: 'pong' })
} catch (error) {
sendErrorResponse(res, 500, error.message)
}
}
/**
* Example local callback function that generates a QR code and writes a log file
*
* @function localCallbackExample
* @async
* @param {Object} req - Express request object containing a body object with dataType and data
* @param {string} req.body.dataType - Type of data (in this case, 'qr')
* @param {Object} req.body.data - Data to generate a QR code from
* @param {Object} res - Express response object
* @returns {Promise<void>} - Promise that resolves once response is sent
* @throws {Object} - Throws error if response fails
*/
const localCallbackExample = async (req, res) => {
/*
#swagger.tags = ['Various']
*/
try {
const { dataType, data } = req.body
if (dataType === 'qr') { qrcode.generate(data.qr, { small: true }) }
await fsp.writeFile(`${sessionFolderPath}/message_log.txt`, `${JSON.stringify(req.body)}\r\n`, { flag: 'a+' }, _ => _)
res.json({ success: true })
} catch (error) {
console.log(error)
await fsp.writeFile(`${sessionFolderPath}/message_log.txt`, `(ERROR) ${JSON.stringify(error)}\r\n`, { flag: 'a+' }, _ => _)
sendErrorResponse(res, 500, error.message)
}
}
module.exports = { ping, localCallbackExample }