Stack backend complète selon docs/tech/backend.md §2 : - @adonisjs/bouncer : configure standard, middleware initialize_bouncer simplifié (API JSON-only, pas d'Edge views). - @adonisjs/limiter : store Redis par défaut, throttler global défini dans start/limiter.ts. - @adonisjs/mail : transports SMTP (Mailpit en dev) + Resend (prod). - @adonisjs/drive : services fs (fallback) + S3 (MinIO en dev, prod plus tard). - bullmq + ioredis : config queue.ts définit la connection Redis et la liste des queues (ocr, relances, checkins, kpis). Worker à câbler dans le commit suivant. - @aws-sdk/client-s3 + s3-request-presigner pour le driver flydrive S3. Pas de @rlanz/bull-queue : peer Adonis 6.5, plus maintenu — on consomme BullMQ directement.
47 lines
1.2 KiB
TypeScript
47 lines
1.2 KiB
TypeScript
import env from '#start/env'
|
|
import { defineConfig, transports } from '@adonisjs/mail'
|
|
import type { InferMailers } from '@adonisjs/mail/types'
|
|
|
|
const mailConfig = defineConfig({
|
|
default: env.get('MAIL_DRIVER', 'smtp'),
|
|
|
|
from: {
|
|
address: env.get('MAIL_FROM_ADDRESS', 'relances@rubis-sur-l-ongle.fr'),
|
|
name: env.get('MAIL_FROM_NAME', "Rubis Sur l'Ongle"),
|
|
},
|
|
|
|
/**
|
|
* Variables partagées par tous les templates Edge (logo, URL de base…).
|
|
*/
|
|
globals: {
|
|
brandName: "Rubis Sur l'Ongle",
|
|
appUrl: env.get('APP_URL'),
|
|
},
|
|
|
|
mailers: {
|
|
/**
|
|
* SMTP — Mailpit en dev (catch-all sur localhost:1025), n'importe quel
|
|
* relais SMTP en prod si on ne veut pas de provider tiers.
|
|
*/
|
|
smtp: transports.smtp({
|
|
host: env.get('SMTP_HOST', 'localhost'),
|
|
port: env.get('SMTP_PORT', 1025),
|
|
// Auth optionnelle — pas requise pour Mailpit
|
|
}),
|
|
|
|
/**
|
|
* Resend — provider transactionnel par défaut en prod (cf. ADR-021).
|
|
*/
|
|
resend: transports.resend({
|
|
key: env.get('RESEND_API_KEY', ''),
|
|
baseUrl: 'https://api.resend.com',
|
|
}),
|
|
},
|
|
})
|
|
|
|
export default mailConfig
|
|
|
|
declare module '@adonisjs/mail/types' {
|
|
export interface MailersList extends InferMailers<typeof mailConfig> {}
|
|
}
|