Tickets de soporte nativos en TypeScript para AdonisJS
Modelos Lucid ORM, proveedores de servicios y renderizado Inertia. Escalated se integra con AdonisJS v6 como un paquete completamente tipado con soporte de primera clase para TypeScript.
$ npm install @escalated-dev/escalated-adonisDiseñado para AdonisJS
Por qué Escalated para AdonisJS
Escalated está diseñado para sentirse como un paquete nativo de AdonisJS, no una integración añadida.
Modelos Lucid ORM
Tickets, respuestas, etiquetas y actividades son modelos Lucid. Usa relaciones, scopes y query builder con inferencia de tipos TypeScript completa.
Proveedores de servicios
Registra Escalated a través de proveedores de servicios de AdonisJS. Configuración, bindings y lógica de arranque siguen los patrones estándar de AdonisJS.
TypeScript nativo
Cada modelo, controlador y servicio está escrito en TypeScript. Seguridad de tipos completa, autocompletado y verificaciones en tiempo de compilación en todo el paquete.
Comenzar
Cómo funciona
Tres pasos para un sistema completo de soporte dentro de tu aplicación AdonisJS.
Instala el paquete
npm install @escalated-dev/escalated-adonisConfigura el proveedor
node ace configure @escalated-dev/escalated-adonisMonta las rutas
Registra las rutas de Escalated en tu start/routes.ts y ya está. Gestión completa de tickets con controladores con seguridad de tipos.
Características
Todo lo que necesitas
Escalated se integra con todo el ecosistema AdonisJS de forma predeterminada.
Relaciones Lucid
Los tickets pertenecen a usuarios, tienen muchas respuestas y usan relaciones polimórficas. Construcción de consultas con seguridad de tipos y carga eager integrada.
Integración con colas Bull
Notificaciones por correo y envíos de webhooks usan el sistema de colas integrado de AdonisJS. Procesamiento en segundo plano con lógica de reintentos y monitoreo.
Autorización con Bouncer
La autorización se integra con AdonisJS Bouncer. Define habilidades y políticas para controlar quién puede ver, responder y gestionar tickets.
Emisor de eventos
Cada acción de ticket emite eventos tipados. Escucha TicketCreated, ReplyAdded y StatusChanged con seguridad de tipos completa.
Middleware HTTP
Aplica tu middleware existente a las rutas de Escalated. Autenticación, limitación de velocidad y alcance de tenants funcionan naturalmente en el pipeline de middleware de AdonisJS.
Helpers de test Japa
Incluye helpers de test para Japa. Crea tickets, respuestas y usuarios en tu suite de tests con funciones factory tipadas.
Integración
Se siente nativo de AdonisJS
Patrones estándar de AdonisJS. Sin nuevas abstracciones que aprender.
// start/routes.ts
import router from '@adonisjs/core/services/router'
import { escalatedRoutes } from '@escalated-dev/escalated-adonis'
escalatedRoutes(router)
// app/models/user.ts
import { compose } from '@adonisjs/core/helpers'
import { HasTickets } from '@escalated-dev/escalated-adonis'
export default class User extends compose(BaseModel, HasTickets) {}
// Anywhere in your application
const ticket = await user.related('tickets').create({
subject: 'Need help with billing',
priority: 'high',
})
await ticket.related('replies').create({
body: "We've updated your invoice.",
userId: agent.id,
})¿Listo para agregar tickets de soporte a tu aplicación AdonisJS?
Escalated es código abierto y gratis para siempre. Comienza con la documentación o explora el código fuente en GitHub.