aiteamutils 0.2.77__tar.gz → 0.2.79__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.77
3
+ Version: 0.2.79
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
@@ -24,15 +24,18 @@ class BaseColumn(Base):
24
24
  nullable=False
25
25
  )
26
26
  created_at: Mapped[datetime] = mapped_column(
27
+ TIMESTAMP(timezone=True),
27
28
  default=datetime.now(timezone.utc),
28
29
  index=True
29
30
  )
30
31
  updated_at: Mapped[datetime] = mapped_column(
32
+ TIMESTAMP(timezone=True),
31
33
  default=datetime.now(timezone.utc),
32
34
  onupdate=datetime.now(timezone.utc),
33
35
  index=True
34
36
  )
35
37
  deleted_at: Mapped[datetime] = mapped_column(
38
+ TIMESTAMP(timezone=True),
36
39
  default=None,
37
40
  nullable=True
38
41
  )
@@ -508,7 +508,7 @@ async def get_entity(
508
508
  ##################
509
509
  async def log_create(
510
510
  session: AsyncSession,
511
- model: str,
511
+ model: Type[ModelType],
512
512
  log_data: Dict[str, Any],
513
513
  request: Optional[Request] = None
514
514
  ) -> None:
@@ -1,18 +1,17 @@
1
1
  """보안 관련 유틸리티."""
2
2
  from datetime import datetime, timedelta, timezone
3
- from typing import Dict, Any, Optional, Literal, Callable, TYPE_CHECKING
3
+ from typing import Dict, Any, Optional, Literal, Callable, TYPE_CHECKING, TypeVar
4
4
  from fastapi import Request, HTTPException, status
5
5
  from functools import wraps
6
6
  from jose import jwt, JWTError
7
7
  from passlib.context import CryptContext
8
8
  import logging
9
9
  from sqlalchemy.ext.asyncio import AsyncSession
10
-
11
10
  from .exceptions import CustomException, ErrorCode
12
11
  from .enums import ActivityType
13
- from .database import log_create
14
12
 
15
13
  pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")
14
+ ModelType = TypeVar("ModelType")
16
15
 
17
16
  # 전역 rate limit 상태 저장
18
17
  _rate_limits: Dict[str, Dict[str, Any]] = {}
@@ -133,7 +132,7 @@ def rate_limit(
133
132
  return decorator
134
133
 
135
134
  async def create_jwt_token(
136
- user_data: Dict[str, Any],
135
+ user_data: Optional[ModelType],
137
136
  token_type: Literal["access", "refresh"],
138
137
  db_session: AsyncSession,
139
138
  token_settings: Dict[str, Any],
@@ -0,0 +1,2 @@
1
+ """버전 정보"""
2
+ __version__ = "0.2.79"
@@ -1,2 +0,0 @@
1
- """버전 정보"""
2
- __version__ = "0.2.77"
File without changes
File without changes
File without changes
File without changes