generated _collections class
This commit is contained in:
parent
842c127817
commit
938f950646
6 changed files with 132 additions and 13 deletions
|
|
@ -1,11 +1,69 @@
|
|||
from datetime import datetime, timedelta, timezone
|
||||
from ..auth.models import UserBase
|
||||
from typing import Annotated
|
||||
from pydantic import BaseModel
|
||||
from fastapi import Depends
|
||||
from sqlalchemy.orm import Session
|
||||
from sqlalchemy import ForeignKey, Column, Integer, String, Float
|
||||
from sqlalchemy.dialects.postgresql import ARRAY
|
||||
from ..auth.models import DBUser, Role, Status, UserBase
|
||||
from ..config import Base, get_session_db
|
||||
|
||||
class UserProfile(UserBase):
|
||||
class UserProfileBase(UserBase):
|
||||
bio : str | None = None
|
||||
created_date : datetime | None = None
|
||||
collections : list[str] | None = None
|
||||
items :list[str] | None = None
|
||||
# collection : list[str] | None = None
|
||||
|
||||
class UserProfileID(UserProfileBase):
|
||||
user_id : int | None = None
|
||||
|
||||
|
||||
class UserProfilePublic(UserProfileBase):
|
||||
pass
|
||||
|
||||
class UserProfilePrivate(UserProfilePublic):
|
||||
collection : list[str] | None = None
|
||||
role : Role | None = None
|
||||
status : Status | None = None
|
||||
follow_user : list[int] | None = None
|
||||
|
||||
##### VERİTABANI MODELİ #####
|
||||
# Tüm modeller AUTH'da veri tabanına işlendi yukardaki
|
||||
#modeller veri tabanında mevcuttur. Değiştirmek için AUTH'daki
|
||||
# DBUser modelini değiştirip tekrar veri tabanına işleyebilirsin
|
||||
|
||||
class Items(Base):
|
||||
__tablename__ = "items_table"
|
||||
|
||||
item_id = Column(Integer, primary_key=True, index=True)
|
||||
user_id = Column(Integer, ForeignKey("users_table.user_id"), nullable=False)
|
||||
#collection_id = Column(Integer, ForeignKey("collections_table.collection_id"), nullable=False)
|
||||
item_created_date = Column(String, default=datetime.now())
|
||||
item_location = Column(String, default="No location") #daha net tanımlancak
|
||||
item_type = Column(String, default="No type")
|
||||
item_content = Column(String, default="No content")
|
||||
item_score = Column(Float, default=0.0)
|
||||
|
||||
|
||||
|
||||
|
||||
def is_user_exsist(username : str, session : Annotated[Session, Depends(get_session_db)]) -> bool | UserProfilePublic:
|
||||
#DBUser veritabanındaki nesnedir her niteliğe sahiptir
|
||||
user = session.query(DBUser).filter(DBUser.username == username).first()
|
||||
return user
|
||||
|
||||
|
||||
def all_users(session: Annotated[Session, Depends(get_session_db)]) -> list[UserProfilePublic]:
|
||||
users = session.query(DBUser).all()
|
||||
|
||||
return [UserProfilePublic(
|
||||
username=user.username,
|
||||
bio=user.bio,
|
||||
created_date=user.created_date,
|
||||
items=user.items,
|
||||
collections=user.collections,
|
||||
role=user.role,
|
||||
status=user.status
|
||||
) for user in users]
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue