Controllers_SmsController.js
const CrudController = require("./CrudController");
const SMSService = require("../Services/SMSService");
const JsonResponse = require("./JsonResponse");
const logger = require("../Logger");
/**
* @extends Myintranet.Controllers.CrudController
* @memberOf Myintranet.Controllers
* @inheritDoc
*/
class SmsController extends CrudController {
constructor(db) {
let service = new SMSService(db);
super(service, undefined, db);
}
getSmsForConsultants(request,response){
this.service.getSmsForConsultants(request).then(data => {
response.json(new JsonResponse(true, data, ""));
}).catch(err => {
logger.error(err.message, err);
response.json(new JsonResponse(false, err, err.message));
})
}
webHookVonage(request, response) {
//test lcal with ngrock
let {db} = this;
let data = request.body;
console.log('################## SMS RECEVED #########################');
console.log(data)
//trying to find the user
db.User.findOne({where: {phone: "+"+data.msisdn}}).then(user => {
if (!user) {
data.orphan = true;
} else {
data.orphan = false;
data.UtilisateurId = user.id;
}
db.SMSHisto.create(data).then(() => {
response.status(200).end();
})
})
/*
{
msisdn: '33619629393',
to: '33644637511',
messageId: '290000000C4BC094',
text: 'Finally',
type: 'text',
keyword: 'FINALLY',
'api-key': '31e8eb0c',
'message-timestamp': '2022-10-11 08:23:56'
}
*/
}
sendSms(request,response){
this.service.sendSms(request).then(data => {
response.json(new JsonResponse(true, data, ""));
}).catch(err => {
logger.error(err.message, err);
response.json(new JsonResponse(false, err, err.message));
})
}
}
module.exports = SmsController;