not working shit

This commit is contained in:
2023-11-12 22:43:47 +03:00
commit 9f76abcfc4
10 changed files with 410 additions and 0 deletions

64
bot/app/db/models.py Normal file
View File

@ -0,0 +1,64 @@
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String, BigInteger, ForeignKey, Boolean
from sqlalchemy.dialects.postgresql import UUID
from sqlalchemy.orm import relationship, backref
import uuid
from db.base import Base
from datetime import date
class User(Base):
__tablename__ = "user"
id = Column(BigInteger, primary_key=True)
name = Column(String(64))
username = Column(String(32))
owns_funds = relationship("Fund", backref="owner")
fund_members = relationship("FundMember", backref="user")
group_members = relationship("GroupMember", backref="user")
class Group(Base):
__tablename__ = "group"
id = Column(BigInteger, primary_key=True)
funds = relationship("Fund", backref="group")
group_members = relationship("GroupMember", backref="group")
class GroupMember(Base):
__tablename__ = "groupmember"
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
user_id = Column(BigInteger, ForeignKey("user.id"))
group_id = Column(BigInteger, ForeignKey("group.id"))
class Fund(Base):
__tablename__ = "fund"
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
name = Column(
String(40), default="Сбор {date}".format(date=date.today().strftime("%d.%m"))
)
description = Column(String(120), default=None)
owner_id = Column(BigInteger, ForeignKey("user.id"))
group_id = Column(BigInteger, ForeignKey("group.id"))
amount = Column(Integer)
active = Column(Boolean, default=True)
users = relationship("FundMember", backref="fund")
class FundMember(Base):
__tablename__ = "fundmember"
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
user_id = Column(BigInteger, ForeignKey("user.id"))
fund_id = Column(UUID(as_uuid=True), ForeignKey("fund.id"))
contributed = Column(Boolean, default=False)