aiteamutils 0.2.23__tar.gz → 0.2.24__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aiteamutils
3
- Version: 0.2.23
3
+ Version: 0.2.24
4
4
  Summary: AI Team Utilities
5
5
  Project-URL: Homepage, https://github.com/yourusername/aiteamutils
6
6
  Project-URL: Issues, https://github.com/yourusername/aiteamutils/issues
@@ -1,6 +1,6 @@
1
1
  """보안 관련 유틸리티."""
2
2
  from datetime import datetime, timedelta, UTC
3
- from typing import Dict, Any, Optional, Literal, Callable
3
+ from typing import Dict, Any, Optional, Literal, Callable, Type, Base
4
4
  from fastapi import Request, HTTPException, status
5
5
  from functools import wraps
6
6
  from jose import jwt, JWTError
@@ -262,7 +262,7 @@ async def create_jwt_token(
262
262
  user_data: Dict[str, Any],
263
263
  token_type: Literal["access", "refresh"],
264
264
  db_service: DatabaseService,
265
- log_model: Any,
265
+ log_model: Type[Base],
266
266
  request: Optional[Request] = None
267
267
  ) -> str:
268
268
  """JWT 토큰을 생성하고 로그를 기록합니다.
@@ -271,7 +271,7 @@ async def create_jwt_token(
271
271
  user_data: 사용자 데이터 딕셔너리 (username, ulid, name, role_ulid, status, organization 정보 등)
272
272
  token_type: 토큰 타입 ("access" 또는 "refresh")
273
273
  db_service: 데이터베이스 서비스
274
- log_model: 로그 모델
274
+ log_model: 로그 모델 클래스
275
275
  request: FastAPI 요청 객체
276
276
 
277
277
  Returns:
@@ -293,7 +293,6 @@ async def create_jwt_token(
293
293
  token_type=token_type
294
294
  )
295
295
 
296
- # 토큰 데이터 생성
297
296
  if token_type == "access":
298
297
  expires_at = datetime.now(UTC) + timedelta(minutes=settings.ACCESS_TOKEN_EXPIRE_MINUTES)
299
298
  token_data = {
@@ -0,0 +1,2 @@
1
+ """버전 정보"""
2
+ __version__ = "0.2.24"
@@ -1,2 +0,0 @@
1
- """버전 정보"""
2
- __version__ = "0.2.23"
@@ -1,57 +0,0 @@
1
- async def login(self, username: str, password: str, request: Request = None) -> Dict[str, str]:
2
- """사용자 로그인을 처리합니다.
3
-
4
- Args:
5
- username (str): 사용자명
6
- password (str): 비밀번호
7
- request (Request, optional): FastAPI 요청 객체
8
-
9
- Returns:
10
- Dict[str, str]: 액세스 토큰과 리프레시 토큰
11
-
12
- Raises:
13
- CustomException: 인증 실패 시 예외
14
- """
15
- # 사용자 조회
16
- user = await self.repository.get_user(username, by="username")
17
- if not user:
18
- raise CustomException(
19
- ErrorCode.INVALID_CREDENTIALS,
20
- source_function="AuthService.login"
21
- )
22
-
23
- # 비밀번호 검증
24
- if not verify_password(password, user.password):
25
- raise CustomException(
26
- ErrorCode.INVALID_CREDENTIALS,
27
- source_function="AuthService.login"
28
- )
29
-
30
- # 토큰 생성
31
- user_data = {
32
- "username": user.username,
33
- "ulid": user.ulid,
34
- "email": user.email
35
- }
36
-
37
- access_token = await create_jwt_token(
38
- user_data=user_data,
39
- token_type="access",
40
- db_service=self.db_service,
41
- log_model=self.log_model,
42
- request=request
43
- )
44
-
45
- refresh_token = await create_jwt_token(
46
- user_data=user_data,
47
- token_type="refresh",
48
- db_service=self.db_service,
49
- log_model=self.log_model,
50
- request=request
51
- )
52
-
53
- return {
54
- "access_token": access_token,
55
- "refresh_token": refresh_token,
56
- "token_type": "bearer"
57
- }
File without changes
File without changes
File without changes