Cloudinary
Modulo de gestion de imagenes que proporciona upload, almacenamiento, transformacion y eliminacion via Cloudinary SDK.Configuracion
Servicio
CloudinaryService expone los siguientes metodos:
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Servicio de upload, almacenamiento y transformacion de imagenes
| Variable de entorno | Requerida | Descripcion |
|---|---|---|
CLOUDINARY_CLOUD_NAME | Si | Nombre del cloud |
CLOUDINARY_API_KEY | Si | API key |
CLOUDINARY_API_SECRET | Si | API secret |
CloudinaryService expone los siguientes metodos:
| Metodo | Descripcion |
|---|---|
uploadImage(file, folder, publicId?) | Upload de buffer a carpeta especifica |
uploadFromUrl(url, folder, publicId?) | Download + upload desde URL (crop 200x200 para avatars) |
generateSignedUploadUrl(folder) | URL firmada para upload desde cliente |
| Metodo | Descripcion |
|---|---|
getOptimizedUrl(publicId, transformation?) | URL optimizada con transformaciones |
getImageDetails(publicId) | Metadata de imagen |
| Metodo | Descripcion |
|---|---|
deleteImage(publicId) | Eliminar imagen |
deleteMultipleImages(publicIds) | Eliminacion en lote |
| Modulo | Uso | Endpoint |
|---|---|---|
| Surveys | Upload de imagenes para definiciones de encuestas | POST /surveys/upload-image (max 5MB) |
| Permissions | Upload de imagenes para modulos y grupos | Via FileInterceptor |
| Chat Users | Avatars de usuario (crop 200x200, face-focused) | Sync desde Firebase |
interface CloudinaryTransformation {
width?: number
height?: number
crop?: string // 'fill', 'fit', 'thumb', etc.
gravity?: string // 'face', 'center', 'auto'
quality?: string // 'auto', number
format?: string // 'webp', 'jpg', 'png'
}
apps/backend/src/shared/cloudinary/
cloudinary.module.ts # Standard module (not global)
cloudinary.service.ts # Cloudinary SDK wrapper