@quadcore-lib/tickets-server
v0.1.0
Published
Tickets / consultas que entran por distintos canales de comunicación (whatsapp, email, web, instagram…). Alta **pública** (formulario de contacto o webhook del canal); listado y gestión **admin**.
Readme
@quadcore-lib/tickets-server
Tickets / consultas que entran por distintos canales de comunicación (whatsapp, email, web, instagram…). Alta pública (formulario de contacto o webhook del canal); listado y gestión admin.
Instalación
npm install @quadcore-lib/tickets-server @quadcore-lib/auth-server @quadcore-lib/core-serverUso
import { QuadcoreTicketsModule } from '@quadcore-lib/tickets-server';
@Module({ imports: [/* TypeOrm + Auth */ QuadcoreTicketsModule.forRoot()] })
export class AppModule {}Endpoints
| Método | Ruta | Acceso | Descripción |
|---|---|---|---|
| POST | /tickets | público | Crear consulta. Body: channel, message (req.), name?, email?, phone?, subject?, metadata?. |
| GET | /tickets | admin | Listado paginado. Query: page, pageSize, channel, status, search. |
| GET | /tickets/:id | admin | Un ticket. |
| PATCH | /tickets/:id | admin | Cambiar status (open/in_progress/closed). |
| DELETE | /tickets/:id | admin | Soft-delete. |
Entidad TicketEntity (tabla tickets)
id, channel, name?, email?, phone?, subject?, message, status (open|in_progress|closed), metadata? (JSON), timestamps + deletedAt.
⚠️
POST /ticketses público: poné un rate-limit en el consumidor (p. ej.@nestjs/throttler) para evitar spam del formulario.
Máquina de estados
PATCH /tickets/:id valida el cambio de status contra TICKET_TRANSITIONS (transición ilegal → 400):
open → in_progress, closed
in_progress → open, closed
closed → open (reabrir)Ej.: closed → in_progress directo se rechaza (hay que reabrir a open primero).
Migraciones
Este paquete trae sus migraciones de TypeORM en dist/src/migrations/*.js (se compilan junto al resto). Ver la guía completa (setup del DataSource, cómo combinarlas con las de otros paquetes, synchronize en dev vs. prod) en el README de @quadcore-lib/core-server, sección "Migraciones de DB".
