Skip to content

Commit 6aa62e7

Browse files
committed
generated file: models/api_usage.py
1 parent 60653d4 commit 6aa62e7

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

models/api_usage.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
from sqlalchemy import Column, Integer, String, DateTime, ForeignKey, func
2+
from sqlalchemy.orm import relationship
3+
4+
from .base import BaseModel
5+
6+
class ApiUsage(BaseModel):
7+
"""Database model for tracking API usage statistics."""
8+
__tablename__ = "api_usage"
9+
10+
id = Column(Integer, primary_key=True, index=True)
11+
user_id = Column(Integer, ForeignKey("users.id"), nullable=False)
12+
endpoint = Column(String, nullable=False)
13+
request_time = Column(DateTime(timezone=True), server_default=func.now(), nullable=False)
14+
response_time = Column(Integer, nullable=False)
15+
status_code = Column(Integer, nullable=False)
16+
request_data = Column(String, nullable=True)
17+
response_data = Column(String, nullable=True)
18+
created_at = Column(DateTime(timezone=True), server_default=func.now())
19+
updated_at = Column(DateTime(timezone=True), onupdate=func.now())
20+
21+
user = relationship("User", back_populates="api_usages")
22+
23+
def __repr__(self):
24+
return f"<ApiUsage id={self.id}, user_id={self.user_id}, endpoint={self.endpoint}, request_time={self.request_time}, response_time={self.response_time}, status_code={self.status_code}>"

0 commit comments

Comments
 (0)