Skip to Content
API 레퍼런스@asapjs/sequelize@asapjs/sequelize

@asapjs/sequelize

@asapjs/sequelize는 ASAPJS 프레임워크의 Sequelize ORM 통합 패키지입니다. 데이터 모델링, DTO, 리포지토리 패턴, Swagger 스키마 자동 생성을 하나의 패키지에서 제공합니다.

TypeIs의 기본 타입(INT, STRING, BOOLEAN 등 16종)은 @asapjs/schema 패키지에서 정의됩니다. @asapjs/sequelize는 이 타입들을 프로퍼티 데코레이터로 래핑하여 export하며, Sequelize 전용 타입(QUERY, FOREIGNKEY, BELONGSTO)을 추가 등록합니다.

설치

npm install @asapjs/sequelize

피어 의존성:

npm install sequelize sequelize-typescript

임포트

import { // 데이터베이스 라이프사이클 initSequelizeModule, getSequelize, modelsSync, healthCheck, generateDBML, // 데코레이터 Table, Dto, TypeIs, // DTO ExtendableDto, PaginationQueryDto, type PaginationQueryType, // 리포지토리 Repository, // 타입 type DtoOrTypeIs, type TypeIsData, // 유틸리티 getUserIdInQuery, getDBMLData, getConsoleData, setSwaggerFunctions, } from '@asapjs/sequelize';

이 페이지에서 찾을 수 있는 것

카테고리심볼설명레퍼런스
라이프사이클initSequelizeModuleDB 레이어 초기화데이터베이스 라이프사이클
getSequelizeSequelize 인스턴스 접근데이터베이스 라이프사이클
modelsSync스키마 동기화데이터베이스 라이프사이클
healthCheckDB 헬스 체크데이터베이스 라이프사이클
generateDBMLDBML 생성 (placeholder)데이터베이스 라이프사이클
데코레이터@TableSequelize 테이블 정의@Table 데코레이터
@DtoDTO 메타데이터 등록@Dto 데코레이터
클래스ExtendableDtoDTO 기본 클래스ExtendableDto
PaginationQueryDto페이지네이션 쿼리 DTO@Dto 데코레이터
Repository리포지토리 패턴Repository
타입 시스템TypeIs통합 타입 데코레이터아래 퀵 레퍼런스 참조
DtoOrTypeIsDTO/TypeIs 유니온 타입@Dto 데코레이터
유틸리티getUserIdInQuery쿼리에서 유저 ID 추출유틸리티
getDBMLDataDBML 데이터 생성유틸리티
getConsoleData콘솔 디버그 데이터유틸리티

TypeIs 빠른 참조 테이블

TypeIsSequelizeSwaggerfixValue엔티티DTO라우트레퍼런스
INTINTEGERinteger / int32parseIntOOO기본 타입
BIGINTBIGINTinteger / int32parseIntOOO기본 타입
LONGINTEGERinteger / int64parseIntOOO기본 타입
FLOATFLOATinteger / floatparseFloatOOO기본 타입
DECIMALDECIMALinteger / floatparseFloatOOO기본 타입
DOUBLEDOUBLEnumber / doubleparseFloatOOO기본 타입
STRINGSTRINGstringString(o)OOO기본 타입
TEXTTEXTstringString(o)OOO기본 타입
PASSWORDSTRING(512)string / password없음OOO기본 타입
BOOLEANBOOLEANbooleanBooleanOOO기본 타입
DATEONLYDATEONLYstring / date없음OOO기본 타입
DATETIMEDATEstring / date-time없음OOO기본 타입
ENUMENUMstring (enum)값 검증OOO특수 타입
JSONJSONobjectJSON.parseOOO특수 타입
FOREIGNKEYFK 제약없음OXX관계 타입
BELONGSTO연관없음OXX관계 타입
DTOinclude$ref없음XOO복합 타입
QUERYliteral()type에 위임type에 위임XOX복합 타입
ARRAYarrayJSON.parseXOO복합 타입

TypeIs 이중 사용법: 데코레이터 vs. 값

모든 TypeIs.* 함수는 두 가지 방식으로 동작합니다.

프로퍼티 데코레이터로 (엔티티 또는 DTO 클래스에서):

@TypeIs.STRING({ comment: 'Email address' }) email: string;

일반 값으로 (라우트 IOptions 또는 복합 타입의 인수로):

// 라우트 응답 옵션 response: TypeIs.BOOLEAN() // 타입 조합 TypeIs.ARRAY(TypeIs.INT()) TypeIs.PAGING(UserInfoDto)

관련 항목

Last updated on