in libs/accounts/recovery-phone/src/lib/sms.manager.ts [190:237]
public messageStatus(messageStatus: TwilioMessageStatus) {
// Keep tabs on the delivery status
this.metrics.increment(
`recovery-phone.message.status.${messageStatus.MessageStatus}`
);
// Track specific error codes rates
if (messageStatus.ErrorCode) {
this.metrics.increment(
`recovery-phone.message.status.error.${messageStatus.ErrorCode}`
);
}
// Only write log entries for certain statuses.
switch (messageStatus.MessageStatus) {
case 'queued':
case 'sending':
case 'sent':
case 'receiving':
case 'received':
case 'accepted':
case 'scheduled':
case 'read':
case 'partially_delivered':
case 'canceled':
// no-op
break;
case 'failed':
case 'undelivered':
case 'delivered':
const opts: any = {
From: messageStatus.From,
MessageSid: messageStatus.MessageSid,
};
if (messageStatus.ErrorCode) {
opts.ErrorCode = messageStatus.ErrorCode;
}
if (messageStatus.RawDlrDoneDate) {
opts.RawDlrDoneDate = messageStatus.RawDlrDoneDate;
}
this.log.log(
`recovery-phone.message.status.${messageStatus.MessageStatus}`,
opts
);
break;
}
}