Flujo: Subida de Imágenes (Admin)
¿Quién lo usa?
| Rol | Acceso |
|---|---|
ADMIN (equipo Rial) | Acceso completo a la biblioteca admin |
¿Por qué importa?
Después de que el equipo de IA genera las imágenes, alguien del equipo Rial debe subirlas a la plataforma y publicarlas al cliente. Este flujo conecta la generación de imágenes con la revisión del cliente. Un error aquí —como publicar con chats sin resolver— puede generar confusión en el proceso de aprobación.
Entrada en la plataforma
URLs:
/admin/library— Biblioteca general de todas las imágenes/admin/reviews/projects/[projectId]— Vista de un proyecto específico
Tabs disponibles en la Biblioteca Admin
| Tab | adminStatus equivalente | Descripción |
|---|---|---|
| Por generar | IN_PROGRESS | SKUs pendientes de subida |
| Sin publicar | UNPUBLISHED | Imágenes subidas pero no publicadas al cliente |
| Esperando aprobación del usuario | WAITING_APPROVAL | Publicadas, esperando revisión |
| Aprobadas | COMPLETED | Aprobadas por el cliente |
| Por revisar | REJECTED | Rechazadas por el cliente, con correcciones pendientes |
Pasos del flujo
Paso 1 — Filtrar por proyecto o compañía
El admin puede filtrar la biblioteca por compañía, tipo de proyecto, proyecto específico o buscar por SKU. Cuando hay un proyecto activo con el botón de subida masiva disponible, aparece el botón “Subir imágenes”.
El botón de subida masiva aparece únicamente cuando hay un proyecto específico filtrado que tiene SKUs en estado
IN_PROGRESSoREJECTED.
Paso 2 — Subida masiva de imágenes
Al hacer clic en “Subir imágenes”, el admin selecciona los archivos a subir. El componente BulkUploadGeneratedImages maneja la subida:
- Solicita URLs firmadas al backend para cada imagen
- Sube directamente a Google Cloud Storage usando esas URLs
- Registra las imágenes en la base de datos
Endpoints utilizados:
POST /uploads/signed-url
— Genera URLs firmadas de GCS para la subida directa
PUT /projects/{projectId}/images/bulk
— Registra las imágenes subidas en la BD y actualiza estadosPaso 3 — Publicar al cliente
Una vez que las imágenes están subidas y revisadas internamente, el admin hace clic en “Publicar proyectos”. Esto cambia el estado de la carpeta para que sea visible al cliente en la pestaña “Pendientes de aprobación”.
Prerequisito crítico: Todos los Chat del proyecto deben tener isResolved = true. Si hay chats sin resolver, la plataforma muestra un diálogo de advertencia antes de permitir publicar.
Endpoint:
POST /projects/folders/{folderId}/publish
— Cambia clientStatus a PENDING_APPROVAL y adminStatus a WAITING_APPROVAL
— Envía notificación COMPANY_PROJECT_PENDING_APPROVAL al clienteEstado resultante
ProjectFolder.clientStatus IN_PROGRESS → PENDING_APPROVAL
ProjectFolder.adminStatus IN_PROGRESS → WAITING_APPROVAL
ProjectImage.clientStatus IN_PROGRESS → PENDING_APPROVALSecuencia técnica
Notas importantes
- Las imágenes se suben directamente a GCS desde el browser, no pasan por el backend. El backend solo genera las URLs firmadas y registra los metadatos.
- Si el admin sube imágenes para SKUs rechazados (
REJECTED), el estado del SKU vuelve aPENDING_APPROVALautomáticamente. - El botón “Publicar” solo aparece si hay imágenes en estado
Sin publicarpara ese caso.