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.
31 lines
730 B
TypeScript
31 lines
730 B
TypeScript
import env from '#start/env'
|
|
import { defineConfig, stores } from '@adonisjs/limiter'
|
|
import type { InferLimiters } from '@adonisjs/limiter/types'
|
|
|
|
const limiterConfig = defineConfig({
|
|
default: env.get('LIMITER_STORE'),
|
|
stores: {
|
|
|
|
/**
|
|
* Redis store to save rate limiting data inside a
|
|
* redis database.
|
|
*
|
|
* It is recommended to use a separate database for
|
|
* the limiter connection.
|
|
*/
|
|
redis: stores.redis({}),
|
|
|
|
|
|
/**
|
|
* Memory store could be used during
|
|
* testing
|
|
*/
|
|
memory: stores.memory({})
|
|
},
|
|
})
|
|
|
|
export default limiterConfig
|
|
|
|
declare module '@adonisjs/limiter/types' {
|
|
export interface LimitersList extends InferLimiters<typeof limiterConfig> {}
|
|
} |