UNPKG

@qso-soft/shared

Version:

Shared library for QSO-soft

38 lines 1.39 kB
import { sep } from 'path'; import { MAILS_FOLDER, NO_MAIL_TO_USE } from '../../constants'; import { getRandomItemFromArray } from '../utils'; import { convertAndWriteToJSON, convertToCsvAndWrite } from './csv-converters'; const getMails = async (projectName) => { const inputPath = `${MAILS_FOLDER}${sep}${projectName}-mails.csv`; return (await convertAndWriteToJSON({ inputPath, })); }; export const getCurrentMailToUse = async (projectName) => { const mails = await getMails(projectName); const notUsedMails = mails.filter(({ used }) => !used); if (!notUsedMails.length) { throw new Error(NO_MAIL_TO_USE); } return getRandomItemFromArray(notUsedMails); }; export const updateUsedMail = async ({ projectName, currentMailToUse, logger, walletId }) => { const fileName = `${projectName}-mails.csv`; const mails = await getMails(projectName); const updatedMails = mails.map(({ mail, used }) => { const isCurrentMail = mail === currentMailToUse.mail; if (isCurrentMail) { logger.info(`Wallet ${walletId} used ${currentMailToUse.mail} mail`); } return { mail, used: isCurrentMail ? true : used, }; }); convertToCsvAndWrite({ data: updatedMails, fileName, outputPath: MAILS_FOLDER, }); }; //# sourceMappingURL=mails.js.map