diff --git a/webservice/app.py b/webservice/app.py index d1c6031..6bfb3ee 100644 --- a/webservice/app.py +++ b/webservice/app.py @@ -1,6 +1,5 @@ from flask import Flask, jsonify from dotenv import load_dotenv -from db import db from models import * @@ -27,7 +26,7 @@ def create_app(): def users(): res = [] for i in User.query.all(): - res.append(i.to_dict(show='*')) + res.append(i.as_dict()) return jsonify(res) diff --git a/webservice/models.py b/webservice/models.py index bda9a14..59e4287 100644 --- a/webservice/models.py +++ b/webservice/models.py @@ -9,6 +9,9 @@ class User(db.Model): telegram_name = db.Column('telegram_name', db.String(255), nullable=True, server_default='') admin = db.Column('admin', db.Boolean(), server_default='0') + def as_dict(self): + return {c.name: getattr(self, c.name) for c in self.__table__.columns} + class Transaction(db.Model): __tablename__ = 'transactions' @@ -19,6 +22,9 @@ class Transaction(db.Model): 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' @@ -26,9 +32,15 @@ class Keyword(db.Model): user_id = db.Column('user_id', db.Integer(), db.ForeignKey('users.user_id', 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) user_id = db.Column('user_id', db.Integer(), db.ForeignKey('users.user_id', 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}