도메인 관리
개요
도메인은 각 사이트의 기본 단위이며, 도메인별로 독립적인 설정과 관리가 가능합니다.
도메인 구조
graph TD
A[도메인] --> B[기본 정보]
A --> C[수당 설정]
A --> D[사용자 관리]
B --> B1[도메인 이름]
B --> B2[사이트 제목]
B --> B3[관리자 입금 주소]
B --> B4[SNP 충전 금액]
C --> C1[최대 추천 단계]
C --> C2[단계별 수당 비율]
D --> D1[도메인 관리자]
D --> D2[일반 사용자]
API 권한 구조
graph TD
A[권한 레벨] --> B[SUPER_ADMIN]
A --> C[DOMAIN_ADMIN]
A --> D[DOMAIN_USER]
B --> B1[전체 도메인 관리]
B --> B2[도메인 생성/삭제]
B --> B3[모든 설정 변경]
C --> C1[자신의 도메인 관리]
C --> C2[도메인 설정 변경]
C --> C3[사용자 관리]
D --> D1[도메인 정보 조회]
API 엔드포인트
도메인 생성
POST /v1/domains
Authorization: Bearer {access_token}
요청 예시:
{
"name": "example.com",
"title": "Example Site",
"adminWalletAddress": "TRx...",
"snpChargeAmount": 1000,
"maxReferralLevel": 10,
"referralRates": {
"1": 10,
"2": 5,
"3": 3
}
}
도메인 목록 조회
GET /v1/domains
Authorization: Bearer {access_token}
응답 예시:
{
"domains": [
{
"name": "example.com",
"title": "Example Site",
"adminWalletAddress": "TRx...",
"snpChargeAmount": 1000,
"maxReferralLevel": 10,
"referralRates": {
"1": 10,
"2": 5,
"3": 3
},
"isActive": true,
"createdAt": "2024-03-20T..."
}
]
}
도메인 상세 조회
GET /v1/domains/{name}
Authorization: Bearer {access_token}
도메인 설정 수정
PATCH /v1/domains/{name}
Authorization: Bearer {access_token}
요청 예시:
{
"title": "Updated Site Title",
"snpChargeAmount": 2000,
"referralRates": {
"1": 15,
"2": 7,
"3": 4
}
}
도메인 삭제
DELETE /v1/domains/{name}
Authorization: Bearer {access_token}
권한별 기능
SUPER_ADMIN
- 모든 도메인 생성/수정/삭제 가능
- 전체 도메인 목록 조회
- 모든 도메인의 설정 변경 가능
- 도메인 관리자 지정 가능
DOMAIN_ADMIN
- 자신의 도메인 정보 조회/수정
- 도메인 사용자 관리
- 수당 비율 설정
- 통계 조회
DOMAIN_USER
- 도메인 기본 정보 조회만 가능
도메인 설정 항목
- 기본 정보
- 도메인 이름 (고유값)
- 사이트 제목
- 관리자 입금 주소 (TRON)
-
SNP 충전 금액
-
추천 시스템 설정
- 최대 추천 단계 (1-30)
- 단계별 수당 비율 (%)
-
기본값:
- 1단계: 10%
- 2단계: 5%
- 3단계: 3%
- 4-30단계: 1%
-
상태 관리
- 활성화 여부
- 생성일/수정일
보안 고려사항
- 접근 제어
- 모든 API는 JWT 인증 필요
- 권한별 접근 제한 엄격히 적용
-
도메인 관리자는 자신의 도메인만 접근 가능
-
데이터 검증
- 도메인 이름 유효성 검사
- 수당 비율 범위 검증 (0-100%)
-
TRON 주소 형식 검증
-
감사 로그
- 주요 설정 변경 이력 기록
- 관리자 작업 로그 유지