53 lines
1.9 KiB
Python
53 lines
1.9 KiB
Python
from sqlalchemy import Column, String, TIMESTAMP, func, BIGINT, LargeBinary, ARRAY
|
|
from sqlalchemy.ext.declarative import declarative_base
|
|
|
|
Base = declarative_base()
|
|
|
|
class SQLarticle(Base):
|
|
__tablename__ = 'posts'
|
|
|
|
id = Column(BIGINT, primary_key=True)
|
|
created_at = Column(TIMESTAMP(timezone=True), server_default=func.now())
|
|
hash = Column(String)
|
|
ctx = Column(String)
|
|
igid = Column(String)
|
|
mark = Column(String)
|
|
ip = Column(String)
|
|
reference = Column(BIGINT)
|
|
|
|
def __repr__(self):
|
|
return f"<article(id={self.id}, hash={self.hash}, ctx={self.ctx}, igid={self.igid}, mark={self.mark}, created_at={self.created_at}, ip={self.ip}, reference={self.reference})>"
|
|
|
|
class SQLlog(Base):
|
|
__tablename__ = 'logs'
|
|
|
|
id = Column(BIGINT, primary_key=True)
|
|
created_at = Column(TIMESTAMP(timezone=True), server_default=func.now())
|
|
message = Column(String)
|
|
source = Column(String)
|
|
|
|
def __repr__(self):
|
|
return f"<log(id={self.id}, created_at={self.created_at}, message={self.message}, source={self.source})>"
|
|
|
|
class SQLfile(Base):
|
|
__tablename__ = 'files'
|
|
|
|
id = Column(BIGINT, primary_key=True)
|
|
created_at = Column(TIMESTAMP(timezone=True), server_default=func.now())
|
|
type = Column(String)
|
|
reference = Column(String)
|
|
binary = Column(LargeBinary)
|
|
|
|
def __repr__(self):
|
|
return f"<file(id={self.id}, created_at={self.created_at}, type={self.type}, binary={self.binary}, reference={self.reference})>"
|
|
|
|
class SQLuser(Base):
|
|
__tablename__ = 'users'
|
|
|
|
id = Column(BIGINT, primary_key=True)
|
|
user = Column(String)
|
|
password = Column(String) # hash , sha512
|
|
permission = Column(ARRAY(String))
|
|
|
|
def __repr__(self):
|
|
return f"<user(id={self.id}, user={self.user}, password={self.password}, permission={self.permission})>" |