mirror of
https://github.com/Llloooggg/TextSouls.git
synced 2026-03-06 04:26:23 +03:00
backend: полная реструктуризация
This commit is contained in:
0
backend/textsouls/users/__init__.py
Normal file
0
backend/textsouls/users/__init__.py
Normal file
24
backend/textsouls/users/api.py
Normal file
24
backend/textsouls/users/api.py
Normal file
@@ -0,0 +1,24 @@
|
||||
from flask import Blueprint
|
||||
|
||||
from flask_admin.contrib.sqla import ModelView
|
||||
|
||||
from textsouls import db
|
||||
from textsouls import admin
|
||||
|
||||
from textsouls.common.api import register_api
|
||||
|
||||
from textsouls.users.models import User
|
||||
|
||||
|
||||
class UserAdminView(ModelView):
|
||||
def __init__(self, model, *args, **kwargs):
|
||||
self.column_list = [c.key for c in model.__table__.columns]
|
||||
self.form_columns = self.column_list
|
||||
super(UserAdminView, self).__init__(model, *args, **kwargs)
|
||||
|
||||
|
||||
bp = Blueprint("users", __name__)
|
||||
|
||||
register_api(bp, User, "users")
|
||||
|
||||
admin.add_view(UserAdminView(User, db.session))
|
||||
26
backend/textsouls/users/models.py
Normal file
26
backend/textsouls/users/models.py
Normal file
@@ -0,0 +1,26 @@
|
||||
import datetime
|
||||
|
||||
from sqlalchemy_serializer import SerializerMixin
|
||||
|
||||
from textsouls import db
|
||||
|
||||
|
||||
class User(db.Model, SerializerMixin):
|
||||
|
||||
__tablename__ = "users"
|
||||
|
||||
serialize_rules = ("-character",)
|
||||
|
||||
id = db.Column(db.BigInteger, primary_key=True, autoincrement=False)
|
||||
chat_id = db.Column(db.BigInteger, nullable=False, unique=True)
|
||||
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, default=datetime.datetime.now()
|
||||
)
|
||||
is_admin = db.Column(db.Boolean, nullable=False, default=False)
|
||||
characters = db.relationship("Character", backref="user", lazy="dynamic")
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.id}: {self.username}"
|
||||
Reference in New Issue
Block a user