From 5ccc3e36e39e276e3e328f97a101b5c8a75d6027 Mon Sep 17 00:00:00 2001 From: Llloooggg Date: Thu, 17 Nov 2022 23:47:46 +0300 Subject: [PATCH] =?UTF-8?q?Backend:=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=B1=D0=B0=D0=B7=D0=BE=D0=B2=D0=B0=D1=8F?= =?UTF-8?q?=20=D0=B0=D0=B4=D0=BC=D0=B8=D0=BD=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/requirements.txt | 2 ++ backend/textsouls/__init__.py | 6 ++++++ backend/textsouls/admin.py | 10 ++++++++++ backend/textsouls/models.py | 19 +++---------------- 4 files changed, 21 insertions(+), 16 deletions(-) create mode 100644 backend/textsouls/admin.py diff --git a/backend/requirements.txt b/backend/requirements.txt index c716595..4567e1a 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -3,6 +3,7 @@ cffi==1.15.1 click==8.1.3 cryptography==38.0.3 Flask==2.2.2 +Flask-Admin==1.6.0 Flask-Migrate==4.0.0 Flask-SQLAlchemy==3.0.2 greenlet==2.0.1 @@ -16,4 +17,5 @@ pycparser==2.21 PyMySQL==1.0.2 SQLAlchemy==1.4.44 Werkzeug==2.2.2 +WTForms==3.0.1 zipp==3.10.0 diff --git a/backend/textsouls/__init__.py b/backend/textsouls/__init__.py index 2391c39..43be2ba 100644 --- a/backend/textsouls/__init__.py +++ b/backend/textsouls/__init__.py @@ -2,6 +2,7 @@ import json from flask import Flask from flask_migrate import Migrate +from flask_admin import Admin from textsouls.models import db @@ -10,6 +11,7 @@ app = Flask( ) migrate = Migrate(app, db) +admin = Admin(name="TextSouls") with open("textsouls/config.json") as config_file: config_data = json.load(config_file) @@ -20,8 +22,12 @@ app.config.update(main_settings) db_settings = config_data["db_settings"] app.config.update(db_settings) +admin.init_app(app) db.init_app(app) +from .admin import ts_admin as ts_admin_blueprint + +app.register_blueprint(ts_admin_blueprint) from .main import main as main_blueprint diff --git a/backend/textsouls/admin.py b/backend/textsouls/admin.py new file mode 100644 index 0000000..7be565b --- /dev/null +++ b/backend/textsouls/admin.py @@ -0,0 +1,10 @@ +from flask import Blueprint +from flask_admin.contrib.sqla import ModelView + +from . import admin +from textsouls.models import db +from textsouls.models import User + +ts_admin = Blueprint("ts_admin", __name__) + +admin.add_view(ModelView(User, db.session)) diff --git a/backend/textsouls/models.py b/backend/textsouls/models.py index 4c9a441..84b1caa 100644 --- a/backend/textsouls/models.py +++ b/backend/textsouls/models.py @@ -14,20 +14,7 @@ class User(db.Model): first_name = db.Column(db.String(255), nullable=True) last_name = db.Column(db.String(255), nullable=True) username = db.Column(db.String(255), nullable=False) - registered_on = db.Column(db.DateTime, nullable=False) + registered_on = db.Column( + db.DateTime, nullable=False, default=datetime.datetime.now() + ) is_admin = db.Column(db.Boolean, nullable=False, default=False) - - def __init__( - self, - tg_id, - first_name, - last_name, - username, - is_admin=False, - ): - self.tg_id = tg_id - self.first_name = first_name - self.last_name = last_name - self.username = username - self.registered_on = datetime.datetime.now() - self.is_admin = is_admin