fix: motivation dossier famille à l’inscription + servir /uploads + Traefik
- Inscription parent: créer dossier_famille + dossier_famille_enfants (presentation_dossier) - Nest: useStaticAssets sur le volume uploads (chemins /uploads/photos/…) - docker-compose: route Traefik PathPrefix /uploads → API (priorité 18) - Front: ParentDossier.id depuis user_id (aligné API) Made-with: Cursor
This commit is contained in:
@@ -6,6 +6,18 @@ import { SwaggerModule } from '@nestjs/swagger/dist/swagger-module';
|
||||
import { DocumentBuilder } from '@nestjs/swagger';
|
||||
import { ValidationPipe } from '@nestjs/common';
|
||||
import { LogRequestInterceptor } from './common/interceptors/log-request.interceptor';
|
||||
import * as path from 'path';
|
||||
|
||||
/** Répertoire disque contenant le dossier `photos` (ex. /app/uploads si photos dans /app/uploads/photos). */
|
||||
function resolveUploadsFilesystemRoot(): string {
|
||||
const raw = process.env.UPLOAD_PHOTOS_DIR?.trim();
|
||||
const photosDir = raw
|
||||
? path.isAbsolute(raw)
|
||||
? raw
|
||||
: path.resolve(process.cwd(), raw)
|
||||
: path.join(process.cwd(), 'uploads', 'photos');
|
||||
return path.dirname(photosDir);
|
||||
}
|
||||
|
||||
async function bootstrap() {
|
||||
const app = await NestFactory.create<NestExpressApplication>(AppModule, {
|
||||
@@ -16,6 +28,13 @@ async function bootstrap() {
|
||||
app.useBodyParser('json', { limit: '15mb' });
|
||||
app.useBodyParser('urlencoded', { extended: true, limit: '15mb' });
|
||||
|
||||
// Servir les fichiers sous /uploads/... (photos enfants / AM). Traefik doit router /uploads vers l’API.
|
||||
app.useStaticAssets(resolveUploadsFilesystemRoot(), {
|
||||
prefix: '/uploads/',
|
||||
index: false,
|
||||
fallthrough: true,
|
||||
});
|
||||
|
||||
// Log de chaque appel API si LOG_API_REQUESTS=true (mode debug)
|
||||
app.useGlobalInterceptors(new LogRequestInterceptor());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user