[FEAT] (사용자 로직): 인증 서비스 로직 구현 중

v0.1.1 (2025-11-13)
- 사용자 관련 인증 서비스 로직 구현 중
This commit is contained in:
2025-11-13 17:29:22 +09:00
parent 422c0638fd
commit ae2766cff5
16 changed files with 553 additions and 3 deletions

View File

@@ -0,0 +1,63 @@
from pydantic import BaseModel, field_validator
from typing import Optional
class CreateUserDTO(BaseModel):
"""회원 가입 DTO"""
# 필수
id: str
password: str
# 선택
user_name: Optional[str] = None
@field_validator('id')
@classmethod
def validate_id(cls, v):
if not v or len(v.strip()) == 0:
raise ValueError('ID는 필수입니다')
if len(v) < 3 or len(v) > 50:
raise ValueError('ID는 3-50자 사이여야 합니다')
return v.strip()
@field_validator('password')
@classmethod
def validate_password(cls, v):
if not v or len(v) < 6:
raise ValueError('비밀번호는 최소 6자 이상이어야 합니다')
return v
# 자동 형변환 방지
class Config:
strict = True
class CheckUserDTO(BaseModel):
"""로그인 확인 DTO"""
# 필수
id: str
password: str
@field_validator('id', 'password')
@classmethod
def validate_required(cls, v):
if not v or len(v.strip()) == 0:
raise ValueError('필수 항목입니다')
return v.strip()
# 자동 형변환 방지
class Config:
strict = True
class CreateUserIpsDTO(BaseModel):
"""사용자 IP 저장 DTO"""
# 필수
user_uuid: str
user_ip: str
user_agent: str
# 자동 형변환 방지
class Config:
strict = True