first commit

This commit is contained in:
ytc1012
2026-02-04 16:11:55 +08:00
commit 0f3ee050dc
165 changed files with 25795 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
"""用户相关SQLAlchemy模型与Pydantic模式。"""
import uuid
from datetime import datetime
from typing import Optional
from pydantic import BaseModel, Field
from sqlalchemy import Column, DateTime, String, func
from app.db.database import Base
def _generate_uuid() -> str:
return str(uuid.uuid4())
class User(Base):
__tablename__ = "users"
id = Column(String(36), primary_key=True, default=_generate_uuid)
phone = Column(String(20), unique=True, nullable=False)
nickname = Column(String(50), nullable=False)
avatar_url = Column(String(255), default="")
created_at = Column(DateTime(timezone=True), server_default=func.now())
last_login = Column(DateTime(timezone=True))
class UserCreate(BaseModel):
phone: str = Field(..., description="手机号")
nickname: Optional[str] = Field(None, description="昵称,可选")
avatar_url: Optional[str] = Field("", description="头像URL可选")
class UserRead(BaseModel):
id: str
phone: str
nickname: str
avatar_url: str = ""
created_at: datetime
last_login: Optional[datetime] = None
class Config:
from_attributes = True