AdonisJS

TypeScript 네이티브 지원 티켓 AdonisJS

Lucid ORM 모델, 서비스 프로바이더, Inertia 렌더링. Escalated는 퍼스트클래스 TypeScript 지원을 갖춘 완전히 타입이 지정된 패키지로 AdonisJS v6와 통합됩니다.

터미널
$ npm install @escalated-dev/escalated-adonis

AdonisJS용으로 구축

AdonisJS를 위한 Escalated

Escalated는 볼트온 통합이 아닌 네이티브 AdonisJS 패키지처럼 느껴지도록 설계되었습니다.

Lucid ORM 모델

티켓, 답장, 태그, 활동이 Lucid 모델입니다. 완전한 TypeScript 타입 추론으로 관계, 스코프, 쿼리 빌더를 사용하세요.

서비스 프로바이더

AdonisJS 서비스 프로바이더를 통해 Escalated를 등록합니다. 설정, 바인딩, 부트 로직이 표준 AdonisJS 패턴을 따릅니다.

TypeScript 네이티브

모든 모델, 컨트롤러, 서비스가 TypeScript로 작성되었습니다. 전체 패키지에 걸친 완전한 타입 안전성, 자동 완성, 컴파일 타임 검사.

시작하기

작동 방식

AdonisJS 애플리케이션 안에 완전한 기능의 지원 시스템까지 세 단계.

1

패키지 설치

npm install @escalated-dev/escalated-adonis
2

프로바이더 설정

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

라우트 마운트

start/routes.ts에 Escalated 라우트를 등록하면 라이브됩니다. 타입 안전 컨트롤러가 있는 전체 티켓 관리.

기능

필요한 모든 것

Escalated는 바로 사용 가능하게 전체 AdonisJS 생태계와 통합됩니다.

Lucid 관계

티켓은 사용자에 속하고, 많은 답장을 가지며, 다형 관계를 사용합니다. 타입 안전 쿼리 빌딩과 즉시 로딩이 내장되어 있습니다.

Bull 큐 통합

이메일 알림과 웹훅 디스패치가 AdonisJS의 내장 큐 시스템을 사용합니다. 재시도 로직과 모니터링이 있는 백그라운드 처리.

Bouncer 인가

인가가 AdonisJS Bouncer와 통합됩니다. 티켓을 보고, 답장하고, 관리할 수 있는 사람을 제어하는 능력과 정책을 정의하세요.

이벤트 이미터

모든 티켓 액션이 타입이 지정된 이벤트를 발생시킵니다. 완전한 타입 안전성으로 TicketCreated, ReplyAdded, StatusChanged를 수신하세요.

HTTP 미들웨어

기존 미들웨어를 Escalated 라우트에 적용하세요. 인증, 속도 제한, 테넌트 스코핑이 AdonisJS 미들웨어 파이프라인에서 자연스럽게 작동합니다.

Japa 테스트 헬퍼

Japa용 테스트 헬퍼가 포함됩니다. 타입이 지정된 팩토리 함수로 테스트 스위트에서 티켓, 답장, 사용자를 생성하세요.

통합

AdonisJS에 네이티브하게 느껴집니다

표준 AdonisJS 패턴. 새로운 추상화를 배울 필요 없습니다.

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,
})

AdonisJS 앱에 지원 티켓을 추가할 준비가 되셨나요?

Escalated는 오픈소스이며 영원히 무료입니다. 문서로 시작하거나 GitHub에서 소스를 탐색하세요.