Tests
- Improved directory structure - Added functional and unit tests
This commit is contained in:
51
api/app/models.py
Normal file
51
api/app/models.py
Normal file
@@ -0,0 +1,51 @@
|
||||
from app.db import database as db
|
||||
|
||||
|
||||
class User(db.Model):
|
||||
__tablename__ = 'users'
|
||||
email = db.Column('email', db.String(255), primary_key=True, nullable=False, unique=True)
|
||||
password = db.Column('password', db.BINARY(60), nullable=False)
|
||||
username = db.Column('username', db.String(255), nullable=False, server_default='')
|
||||
telegram_user_id = db.Column('telegram_user_id', db.String(255), nullable=True, server_default='')
|
||||
admin = db.Column('admin', db.Boolean(), server_default='0')
|
||||
|
||||
def as_dict(self):
|
||||
return {
|
||||
"email": self.email,
|
||||
"username": self.username,
|
||||
"telegram_user_id": self.telegram_user_id,
|
||||
"admin": self.admin
|
||||
}
|
||||
|
||||
|
||||
class Transaction(db.Model):
|
||||
__tablename__ = 'transactions'
|
||||
t_id = db.Column('t_id', db.Integer(), nullable=False, unique=True, primary_key=True)
|
||||
email = db.Column('email', db.String(255), db.ForeignKey('users.email', ondelete='CASCADE'))
|
||||
symbol = db.Column('symbol', db.String(255))
|
||||
time = db.Column('time', db.DateTime())
|
||||
count = db.Column('count', db.Integer())
|
||||
price = db.Column('price', db.Float())
|
||||
|
||||
def as_dict(self):
|
||||
return {c.name: getattr(self, c.name) for c in self.__table__.columns}
|
||||
|
||||
|
||||
class Keyword(db.Model):
|
||||
__tablename__ = 'keywords'
|
||||
s_id = db.Column('s_id', db.Integer(), nullable=False, unique=True, primary_key=True)
|
||||
email = db.Column('email', db.String(255), db.ForeignKey('users.email', ondelete='CASCADE'))
|
||||
keyword = db.Column('keyword', db.String(255))
|
||||
|
||||
def as_dict(self):
|
||||
return {c.name: getattr(self, c.name) for c in self.__table__.columns}
|
||||
|
||||
|
||||
class Share(db.Model):
|
||||
__tablename__ = 'shares'
|
||||
a_id = db.Column('a_id', db.Integer(), nullable=False, unique=True, primary_key=True)
|
||||
email = db.Column('email', db.String(255), db.ForeignKey('users.email', ondelete='CASCADE'))
|
||||
symbol = db.Column('symbol', db.String(255))
|
||||
|
||||
def as_dict(self):
|
||||
return {c.name: getattr(self, c.name) for c in self.__table__.columns}
|
Reference in New Issue
Block a user