Added sqlalchemy, models, ...
This commit is contained in:
parent
6fd210d91d
commit
90aae3b78a
@ -1,4 +1,8 @@
|
||||
from flask import Flask
|
||||
from flask import Flask, jsonify
|
||||
from dotenv import load_dotenv
|
||||
from db import db
|
||||
|
||||
from models import User
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
@ -8,5 +12,32 @@ def hello_world():
|
||||
return 'Hello World!'
|
||||
|
||||
|
||||
@app.route('/users')
|
||||
def users():
|
||||
res = []
|
||||
for i in User.query.all():
|
||||
res.append(i.to_dict(show='*'))
|
||||
|
||||
return jsonify(res)
|
||||
|
||||
ded
|
||||
def create_app():
|
||||
load_dotenv()
|
||||
|
||||
# Create Flask app load app.config
|
||||
application = Flask(__name__)
|
||||
application.config.from_object("config.ConfigClass")
|
||||
|
||||
application.app_context().push()
|
||||
|
||||
db.init_app(application)
|
||||
|
||||
return application
|
||||
|
||||
|
||||
app = create_app()
|
||||
|
||||
# Start development web server
|
||||
if __name__ == '__main__':
|
||||
app.run()
|
||||
|
||||
|
21
webservice/config.py
Normal file
21
webservice/config.py
Normal file
@ -0,0 +1,21 @@
|
||||
import os
|
||||
|
||||
from dotenv import load_dotenv
|
||||
|
||||
load_dotenv()
|
||||
|
||||
|
||||
class ConfigClass(object):
|
||||
""" Flask application config """
|
||||
|
||||
# Flask settings
|
||||
SECRET_KEY = os.getenv('SECRET_KEY')
|
||||
|
||||
# Flask-SQLAlchemy settings
|
||||
SQLALCHEMY_DATABASE_URI = "mysql+pymysql://" + \
|
||||
os.getenv('MYSQL_USER') + ":" + \
|
||||
os.getenv('MYSQL_PASSWORD') + "@" + \
|
||||
os.getenv('MYSQL_HOST') + ":" + \
|
||||
(os.getenv("MYSQL_PORT") or str(3306)) + "/" + \
|
||||
os.getenv('MYSQL_DATABASE')
|
||||
SQLALCHEMY_TRACK_MODIFICATIONS = False # Avoids SQLAlchemy warning
|
3
webservice/db.py
Normal file
3
webservice/db.py
Normal file
@ -0,0 +1,3 @@
|
||||
from flask_sqlalchemy import SQLAlchemy
|
||||
|
||||
db = SQLAlchemy()
|
34
webservice/models.py
Normal file
34
webservice/models.py
Normal file
@ -0,0 +1,34 @@
|
||||
from db import db
|
||||
|
||||
|
||||
class User(db.Model):
|
||||
__tablename__ = 'users'
|
||||
username = db.Column('username', db.String(255), nullable=False, unique=True, primary_key=True)
|
||||
password = db.Column('password', db.String(255), nullable=False, server_default='')
|
||||
user_id = db.Column('user_id', db.Integer(), nullable=False, server_default='')
|
||||
telegram_name = db.Column('telegram_name', db.String(255), nullable=True, server_default='')
|
||||
admin = db.Column('admin', db.Boolean(), server_default="false")
|
||||
|
||||
|
||||
class Transaction(db.Model):
|
||||
__tablename__ = 'transactions'
|
||||
t_id = db.Column('t_id', db.Integer(), nullable=False, unique=True, primary_key=True)
|
||||
username = db.Column('username', db.Integer(), db.ForeignKey('user.user_id', ondelete='CASCADE'))
|
||||
symbol = db.Column('symbol', db.String(255), unique=True)
|
||||
time = db.Column('time', db.DateTime())
|
||||
count = db.Column('count', db.Integer())
|
||||
price = db.Column('price', db.Float())
|
||||
|
||||
|
||||
class Keyword(db.Model):
|
||||
__tablename__ = 'keywords'
|
||||
s_id = db.Column('s_id', db.Integer(), nullable=False, unique=True, primary_key=True)
|
||||
username = db.Column('username', db.Integer(), db.ForeignKey('user.user_id', ondelete='CASCADE'))
|
||||
keyword = db.Column('keyword', db.String(255))
|
||||
|
||||
|
||||
class Share(db.Model):
|
||||
__tablename__ = 'shares'
|
||||
a_id = db.Column('a_id', db.Integer(), nullable=False, unique=True, primary_key=True)
|
||||
username = db.Column('username', db.Integer(), db.ForeignKey('user.user_id', ondelete='CASCADE'))
|
||||
symbol = db.Column('symbol', db.String(255))
|
@ -1,4 +1,6 @@
|
||||
Flask~=2.0.3
|
||||
python-dotenv==0.19.2
|
||||
requests==2.27.1
|
||||
uwsgi==2.0.20
|
||||
uwsgi==2.0.20
|
||||
Flask_SQLAlchemy==2.5.1
|
||||
python-dotenv==0.19.2
|
Loading…
Reference in New Issue
Block a user