Des tickets de support natifs TypeScript pour AdonisJS
Modeles Lucid ORM, fournisseurs de services et rendu Inertia. Escalated s'integre avec AdonisJS v6 comme un package entierement type avec un support TypeScript de premiere classe.
$ npm install @escalated-dev/escalated-adonisConcu pour AdonisJS
Pourquoi Escalated pour AdonisJS
Escalated est concu pour ressembler a un package natif AdonisJS, pas une integration ajoutee.
Modeles Lucid ORM
Tickets, reponses, tags et activites sont des modeles Lucid. Utilisez les relations, scopes et query builder avec une inference de type TypeScript complete.
Fournisseurs de services
Enregistrez Escalated via les fournisseurs de services AdonisJS. Configuration, bindings et logique de demarrage suivent les patterns standard AdonisJS.
TypeScript natif
Chaque modele, controleur et service est ecrit en TypeScript. Securite de type complete, autocompletion et verifications a la compilation dans tout le package.
Commencer
Comment ca marche
Trois etapes pour un systeme de support complet dans votre application AdonisJS.
Installez le package
npm install @escalated-dev/escalated-adonisConfigurez le fournisseur
node ace configure @escalated-dev/escalated-adonisMontez les routes
Enregistrez les routes Escalated dans votre start/routes.ts et c'est pret. Gestion complete des tickets avec des controleurs type-safe.
Fonctionnalites
Tout ce dont vous avez besoin
Escalated s'integre avec l'ensemble de l'ecosysteme AdonisJS par defaut.
Relations Lucid
Les tickets appartiennent aux utilisateurs, ont de nombreuses reponses et utilisent des relations polymorphiques. Construction de requetes type-safe et eager loading integres.
Integration file Bull
Les notifications email et les envois de webhooks utilisent le systeme de files d'attente integre d'AdonisJS. Traitement en arriere-plan avec logique de retry et monitoring.
Autorisation Bouncer
L'autorisation s'integre avec AdonisJS Bouncer. Definissez des capacites et politiques pour controler qui peut voir, repondre et gerer les tickets.
Emetteur d'evenements
Chaque action de ticket emet des evenements types. Ecoutez TicketCreated, ReplyAdded et StatusChanged avec une securite de type complete.
Middleware HTTP
Appliquez votre middleware existant aux routes Escalated. Authentification, limitation de debit et portee des tenants fonctionnent naturellement dans le pipeline middleware AdonisJS.
Helpers de test Japa
Livre avec des helpers de test pour Japa. Creez des tickets, reponses et utilisateurs dans votre suite de tests avec des fonctions factory typees.
Integration
Natif a AdonisJS
Patterns standard AdonisJS. Pas de nouvelles abstractions a apprendre.
// 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,
})Pret a ajouter des tickets de support a votre application AdonisJS ?
Escalated est open source et gratuit pour toujours. Commencez avec la documentation ou explorez le code source sur GitHub.