Skip to content
Snippets Groups Projects
Unverified Commit 3832e145 authored by BITARD Michaël's avatar BITARD Michaël Committed by GitHub
Browse files

feat(onboarding): un mail de bienvenue est envoyé automatiquement à la...

feat(onboarding): un mail de bienvenue est envoyé automatiquement à la première connexion d'un utilisateur (#483)
parent 5a74ec2e
No related branches found
No related tags found
No related merge requests found
...@@ -3,9 +3,10 @@ import { Request as JWTRequest } from 'express-jwt' ...@@ -3,9 +3,10 @@ import { Request as JWTRequest } from 'express-jwt'
import { knex } from '../knex.js' import { knex } from '../knex.js'
import { userIdGenerate } from '../api/graphql/resolvers/utilisateurs.js' import { userIdGenerate } from '../api/graphql/resolvers/utilisateurs.js'
import { userByEmailGet, utilisateurCreate } from '../database/queries/utilisateurs.js' import { userByEmailGet, utilisateurCreate } from '../database/queries/utilisateurs.js'
import { emailsSend } from '../tools/api-mailjet/emails.js' import { emailsSend, emailsWithTemplateSend } from '../tools/api-mailjet/emails.js'
import { formatUser } from '../types.js' import { formatUser } from '../types.js'
import { getCurrent } from 'camino-common/src/date.js' import { getCurrent } from 'camino-common/src/date.js'
import { EmailTemplateId } from '../tools/api-mailjet/types.js'
export const userLoader = async (req: JWTRequest<{ email?: string; family_name?: string; given_name?: string }>, _res: express.Response, next: express.NextFunction) => { export const userLoader = async (req: JWTRequest<{ email?: string; family_name?: string; given_name?: string }>, _res: express.Response, next: express.NextFunction) => {
try { try {
...@@ -32,11 +33,12 @@ export const userLoader = async (req: JWTRequest<{ email?: string; family_name?: ...@@ -32,11 +33,12 @@ export const userLoader = async (req: JWTRequest<{ email?: string; family_name?:
{ fields: { entreprises: { id: {} } } } { fields: { entreprises: { id: {} } } }
) )
emailsSend( await emailsSend(
[process.env.ADMIN_EMAIL!], [process.env.ADMIN_EMAIL!],
`Nouvel utilisateur ${user.email} créé`, `Nouvel utilisateur ${user.email} créé`,
`L'utilisateur ${user.nom} ${user.prenom} vient de se créer un compte : ${process.env.OAUTH_URL}/utilisateurs/${user.id}` `L'utilisateur ${user.nom} ${user.prenom} vient de se créer un compte : ${process.env.OAUTH_URL}/utilisateurs/${user.id}`
) )
await emailsWithTemplateSend([reqUser.email], EmailTemplateId.CREATION_COMPTE, {})
} else if (user.nom !== reqUser.family_name || user.prenom !== reqUser.given_name) { } else if (user.nom !== reqUser.family_name || user.prenom !== reqUser.given_name) {
// mise à jour du nom et du prénom de l’utilisateur // mise à jour du nom et du prénom de l’utilisateur
await knex('utilisateurs').update({ nom: reqUser.family_name, prenom: reqUser.given_name }).where('email', reqUser.email) await knex('utilisateurs').update({ nom: reqUser.family_name, prenom: reqUser.given_name }).where('email', reqUser.email)
......
...@@ -2,6 +2,7 @@ export enum EmailTemplateId { ...@@ -2,6 +2,7 @@ export enum EmailTemplateId {
DEMARCHE_CONFIRMATION_DEPOT = 3413770, DEMARCHE_CONFIRMATION_DEPOT = 3413770,
ACTIVITES_NOUVELLES = 3794302, ACTIVITES_NOUVELLES = 3794302,
ACTIVITES_RELANCE = 3785214, ACTIVITES_RELANCE = 3785214,
CREATION_COMPTE = 4628355,
} }
export const EmailAdministration = { export const EmailAdministration = {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment