diff --git a/src/notifications/channels/notifRelativeAllowAsk.js b/src/notifications/channels/notifRelativeAllowAsk.js index 5d8c5dc..f3fdcbe 100644 --- a/src/notifications/channels/notifRelativeAllowAsk.js +++ b/src/notifications/channels/notifRelativeAllowAsk.js @@ -59,16 +59,21 @@ export default async function notifRelativeAllowAsk(data) { const [{ onePhoneNumber }] = relativeData.selectManyViewRelativePhoneNumber; + const { number } = onePhoneNumber || {}; + // Generate notification content const { title, body, bigText } = generateRelativeAllowAskContent({ - onePhoneNumber, + number, }); await displayNotification({ channelId, title, body, - data, + data: { + ...data, + phoneNumber: number, + }, color: colors.primary, bigText, android: { diff --git a/src/notifications/channels/notifRelativeInvitation.js b/src/notifications/channels/notifRelativeInvitation.js index 9dbc7c7..2f450e5 100644 --- a/src/notifications/channels/notifRelativeInvitation.js +++ b/src/notifications/channels/notifRelativeInvitation.js @@ -62,19 +62,24 @@ export default async function notifRelativeInvitation(data) { const oneUserPhoneNumberRelative = relativeData.selectOneRelativeInvitation.oneUserPhoneNumberRelative; + const { onePhoneNumber } = oneUserPhoneNumberRelative || {}; + const { number } = onePhoneNumber || {}; // Generate notification content const { title, body, bigText } = generateRelativeInvitationContent({ - oneUserPhoneNumberRelative, + number, }); await displayNotification({ channelId, title, body, + data: { + ...data, + phoneNumber: number, + }, color: colors.primary, bigText, - data, android: { pressAction: { id: "open-relatives", diff --git a/src/notifications/content.js b/src/notifications/content.js index 9640441..2b9c332 100644 --- a/src/notifications/content.js +++ b/src/notifications/content.js @@ -2,6 +2,8 @@ import humanizeDistance from "~/lib/geo/humanizeDistance"; import levelLabel from "~/misc/levelLabel"; import kebabCase from "lodash.kebabcase"; +const RELATIVE_PHONE_FALLBACK = "Numéro non disponible"; + export const generateAlertContent = (data) => { const { code, level, initialDistance, reason } = data; @@ -41,10 +43,11 @@ export const generateAlertEmergencyInfoContent = (data) => { }; }; -export const generateRelativeAllowAskContent = (data) => { - const { phoneNumber } = data; - const text = `${phoneNumber} souhaite que vous soyez son contact d'urgence`; - const bigText = `Un utilisateur souhaite que vous soyez son contact d'urgence, voici son numéro de téléphone: ${phoneNumber}`; +export const generateRelativeAllowAskContent = (data = {}) => { + const { number, phoneNumber } = data; + const resolvedPhoneNumber = number ?? phoneNumber ?? RELATIVE_PHONE_FALLBACK; + const text = `${resolvedPhoneNumber} souhaite que vous soyez son contact d'urgence`; + const bigText = `Un utilisateur souhaite que vous soyez son contact d'urgence, voici son numéro de téléphone: ${resolvedPhoneNumber}`; return { title: `Autoriser contact d'urgence`, @@ -53,11 +56,12 @@ export const generateRelativeAllowAskContent = (data) => { }; }; -export const generateRelativeInvitationContent = (data) => { - const { phoneNumber } = data; +export const generateRelativeInvitationContent = (data = {}) => { + const { number, phoneNumber } = data; + const resolvedPhoneNumber = number ?? phoneNumber ?? RELATIVE_PHONE_FALLBACK; - const text = `${phoneNumber} vous propose d'être votre contact d'urgence`; - const bigText = `Un utilisateur vous propose d'être votre contact d'urgence, voici son numéro de téléphone: ${phoneNumber}`; + const text = `${resolvedPhoneNumber} vous propose d'être votre contact d'urgence`; + const bigText = `Un utilisateur vous propose d'être votre contact d'urgence, voici son numéro de téléphone: ${resolvedPhoneNumber}`; return { title: `Accepter contact d'urgence`,