diff --git a/server/src/core/index.ts b/server/src/core/index.ts index e98be89..601ae31 100644 --- a/server/src/core/index.ts +++ b/server/src/core/index.ts @@ -1,13 +1,16 @@ import * as AvaialableFiles from './use-cases/avaialableFiles' +import * as MailDownloadNotify from './use-cases/mailDownloadNotify' import { Deps } from './entity-gateway' export function makeCore(deps: Deps) { // We initialize all the useCases const avaialableFiles = AvaialableFiles.makeUseCase({ ...deps }) + const mailDownloadNotify = MailDownloadNotify.makeUseCase() return { avaialableFiles, + mailDownloadNotify, } } diff --git a/server/src/core/use-cases/mailDownloadNotify.ts b/server/src/core/use-cases/mailDownloadNotify.ts new file mode 100644 index 0000000..039e3e3 --- /dev/null +++ b/server/src/core/use-cases/mailDownloadNotify.ts @@ -0,0 +1,12 @@ +import D from 'debug' + +const debug = D('app:use-cases:mailDownloadNotify') + +// const mailjet = require('node-mailjet').connect( +// process.env.MJ_APIKEY_PUBLIC, +// process.env.MJ_APIKEY_PRIVATE +// ) + +export const makeUseCase = () => { + debug('mail!!!!!!!!!!!!!!!!!!!!!!!!!!!') +} diff --git a/server/src/infrastructure/Mail/index.ts b/server/src/infrastructure/Mail/index.ts new file mode 100644 index 0000000..05451bc --- /dev/null +++ b/server/src/infrastructure/Mail/index.ts @@ -0,0 +1,46 @@ +import D from 'debug' + +const debug = D('app:secondary-adapters:mail') + +const mailjet = require('node-mailjet').connect( + process.env.MJ_APIKEY_PUBLIC, + process.env.MJ_APIKEY_PRIVATE +) + +export const sendMail = ( + senderMail: string, + senderName: string, + reciverMail: string, //potrebbe essere una lista + reciverName: string, //potrebbe essere una lista + subject: string, + textPart: string, + HTMLPart: string +) => { + const request = mailjet.post('send', { version: 'v3.1' }).request({ + Messages: [ + { + From: { + Email: `${senderMail}`, + Name: `${senderName}`, + }, + To: [ + { + Email: `${reciverMail}`, + Name: `${reciverName}`, + }, + ], + Subject: `${subject}`, + TextPart: `${textPart}`, + HTMLPart: `${HTMLPart}`, + }, + ], + }) + + request + .then(result => { + debug(result.body) + }) + .catch(err => { + debug('ERROR!!!!' + err.statusCode) + }) +}