AdonisJS

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.

Terminal
$ npm install @escalated-dev/escalated-adonis

Diseñ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.

1

Instala el paquete

npm install @escalated-dev/escalated-adonis
2

Configura el proveedor

node ace configure @escalated-dev/escalated-adonis
3

Monta 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.

TypeScript
// 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.