@lumir-company/admin-server-api
Advanced tools
Comparing version 1.0.15 to 1.0.16
{ | ||
"name": "@lumir-company/admin-server-api", | ||
"version": "1.0.15", | ||
"version": "1.0.16", | ||
"main": "dist/index.js", | ||
@@ -5,0 +5,0 @@ "types": "dist/index.d.ts", |
160
README.md
@@ -239,1 +239,161 @@ # @lumir-company/admin-server-api | ||
- `getBrochureById(id)`: 특정 브로슈어 조회 | ||
## 타입 레퍼런스 | ||
### 공통 타입 | ||
#### FileInfo | ||
파일 정보를 나타내는 인터페이스 | ||
```typescript | ||
interface FileInfo { | ||
fileName: string; // 파일 이름 | ||
filePath: string; // 파일 경로 | ||
} | ||
``` | ||
#### Response<T> | ||
API 응답의 기본 형태 | ||
```typescript | ||
interface Response<T> { | ||
result: 'success' | 'fail'; // 응답 결과 | ||
message: string; // 응답 메시지 | ||
status: number; // HTTP 상태 코드 | ||
data: T; // 응답 데이터 | ||
} | ||
``` | ||
#### PaginationResponse<T> | ||
페이지네이션된 목록 응답 | ||
```typescript | ||
interface PaginationResponse<T> { | ||
items: T[]; // 아이템 목록 | ||
total: number; // 전체 아이템 수 | ||
page: number; // 현재 페이지 | ||
limit: number; // 페이지당 아이템 수 | ||
hasMore: boolean; // 다음 페이지 존재 여부 | ||
} | ||
``` | ||
### 도메인별 타입 | ||
#### ShareholderMeeting | ||
주주총회 정보 | ||
```typescript | ||
interface ShareholderMeeting { | ||
_id: string; | ||
title: string; // 제목 | ||
content: string; // 내용 | ||
date: string; // 개최일 | ||
isPublic: boolean; // 공개 여부 | ||
files: FileInfo[]; // 첨부파일 | ||
order: number; // 정렬 순서 | ||
createdAt: string; // 생성일 | ||
updatedAt: string; // 수정일 | ||
} | ||
``` | ||
#### Disclosure | ||
전자공고 정보 | ||
```typescript | ||
interface Disclosure { | ||
_id: string; | ||
title: string; // 제목 | ||
content: string; // 내용 | ||
date: string; // 공고일 | ||
isPublic: boolean; // 공개 여부 | ||
files: FileInfo[]; // 첨부파일 | ||
order: number; // 정렬 순서 | ||
createdAt: string; // 생성일 | ||
updatedAt: string; // 수정일 | ||
} | ||
``` | ||
#### Category | ||
비디오 카테고리 정보 | ||
```typescript | ||
interface Category { | ||
_id: string; | ||
name: string; // 카테고리명 | ||
createdAt: string; // 생성일 | ||
updatedAt: string; // 수정일 | ||
} | ||
``` | ||
#### Video | ||
비디오 정보 | ||
```typescript | ||
interface Video { | ||
_id: string; | ||
title: string; // 제목 | ||
description?: string; // 설명 | ||
link: string; // 비디오 링크 | ||
files: FileInfo[]; // 첨부파일 | ||
isPublic: boolean; // 공개 여부 | ||
category: Category; // 카테고리 | ||
order: number; // 정렬 순서 | ||
createdAt: string; // 생성일 | ||
updatedAt: string; // 수정일 | ||
} | ||
``` | ||
#### Brochure | ||
브로슈어 정보 | ||
```typescript | ||
interface Brochure { | ||
_id: string; | ||
title: string; // 제목 | ||
description?: string; // 설명 | ||
files: FileInfo[]; // 첨부파일 | ||
isPublic: boolean; // 공개 여부 | ||
order: number; // 정렬 순서 | ||
createdAt: string; // 생성일 | ||
updatedAt: string; // 수정일 | ||
} | ||
``` | ||
#### PageName | ||
페이지 식별자 열거형 | ||
```typescript | ||
enum PageName { | ||
MAIN = '메인 페이지', | ||
DISCLOSURE = '전자공고', | ||
SHAREHOLDER = '주주정보', | ||
NEWS = '루미르스토리', | ||
VIDEO = '영상', | ||
BROCHURE = '정보자료', | ||
} | ||
``` | ||
#### PageView | ||
페이지뷰 추적 정보 | ||
```typescript | ||
interface PageView { | ||
_id: string; | ||
sessionId: string; // 세션 ID | ||
pageName: PageName; // 페이지 식별자 | ||
enterTime: Date; // 진입 시간 | ||
exitTime?: Date; // 이탈 시간 | ||
stayDuration?: number; // 체류 시간(ms) | ||
url: string; // 페이지 URL | ||
} | ||
``` |
39332
399