From f6356059ba3c45758c2e76182d6ad615b17bf05b Mon Sep 17 00:00:00 2001 From: osbm Date: Mon, 5 May 2025 16:14:44 +0300 Subject: [PATCH] delete uncommented sections --- main.py | 117 -------------------------------------------------------- 1 file changed, 117 deletions(-) diff --git a/main.py b/main.py index d4de7dc..14bc3fd 100644 --- a/main.py +++ b/main.py @@ -4,120 +4,3 @@ from .items.router import router as items_router app.include_router(auth_router) app.include_router(items_router) - -''' -from fastapi import FastAPI -from pydantic import BaseModel, Field, EmailStr -from enum import Enum as PyEnum -import datetime -from sqlalchemy import Column, Integer, String, DateTime, Float, Text, Boolean, ForeignKey, Enum -from sqlalchemy.orm import relationship -from sqlalchemy.ext.declarative import declarative_base - -from .config import Base #databaese connection -from .config import app #base app - - -# Enums database -class Role(str, PyEnum): - admin = "admin" - user = "user" - mod = "mod" - -class Status(str, PyEnum): - active = "active" - banned = "banned" - suspended = "suspended" - -class ItemType(str, PyEnum): - text = "text" - image = "image" - -class VoteType(str, PyEnum): - up = "up" - down = "down" - -# SQLAlchemy Models -class User(Base): - __tablename__ = "users" - user_id = Column(Integer, primary_key=True, index=True) - username = Column(String, unique=True, nullable=False) - name = Column(String) - surname = Column(String) - email = Column(String, unique=True, nullable=False) - role = Column(Enum(Role), default=Role.user) - status = Column(Enum(Status), default=Status.active) - bio = Column(String(144)) - created_date = Column(DateTime, default=datetime.datetime.utcnow) - - collections = relationship("Collection", back_populates="user") - items = relationship("Item", back_populates="user") - -class Collection(Base): - __tablename__ = "collections" - - collection_id = Column(Integer, primary_key=True) - user_id = Column(Integer, ForeignKey("users.user_id")) - visibility = Column(Boolean, default=True) # True = public, False = private - collection_name = Column(String, nullable=False) - collection_bio = Column(String) - - user = relationship("User", back_populates="collections") - items = relationship("Item", back_populates="collection") - -class Item(Base): - __tablename__ = "items" - - item_id = Column(Integer, primary_key=True) - user_id = Column(Integer, ForeignKey("users.user_id")) - date = Column(DateTime, default=datetime.datetime.utcnow) - location_x = Column(Float) - location_y = Column(Float) - item_type = Column(Enum(ItemType)) - content_text = Column(Text, nullable=True) - content_image_path = Column(String, nullable=True) - collection_id = Column(Integer, ForeignKey("collections.collection_id")) - score = Column(Integer, default=0) - - user = relationship("User", back_populates="items") - collection = relationship("Collection", back_populates="items") - votes = relationship("Vote", back_populates="item") - -class Vote(Base): - __tablename__ = "votes" - - vote_id = Column(Integer, primary_key=True) - user_id = Column(Integer, ForeignKey("users.user_id")) - item_id = Column(Integer, ForeignKey("items.item_id")) - vote_type = Column(Enum(VoteType)) - date = Column(DateTime, default=datetime.datetime.utcnow) - - item = relationship("Item", back_populates="votes") - -# Pydantic Schemas -class UserCreate(BaseModel): - username: str - name: str - surname: str - email: EmailStr - bio: str = Field(max_length=144) - -class ItemCreate(BaseModel): - location_x: float - location_y: float - item_type: ItemType - content_text: str | None = None - content_image_path: str | None = None - collection_id: int - -class CollectionCreate(BaseModel): - collection_name: str - collection_bio: str - visibility: bool = True - -class VoteCreate(BaseModel): - item_id: int - vote_type: VoteType - - -''' \ No newline at end of file