mirror of
https://github.com/Llloooggg/TextSouls.git
synced 2026-03-06 12:36:23 +03:00
Backend + Telegram: изменена структура проекта, добавлен эндпоинт для регистрации на бэкенде
This commit is contained in:
28
backend/textsouls/__init__.py
Normal file
28
backend/textsouls/__init__.py
Normal file
@@ -0,0 +1,28 @@
|
||||
import json
|
||||
|
||||
from flask import Flask
|
||||
from flask_migrate import Migrate
|
||||
|
||||
from textsouls.models import db
|
||||
|
||||
app = Flask(
|
||||
"__name__",
|
||||
)
|
||||
|
||||
migrate = Migrate(app, db)
|
||||
|
||||
with open("textsouls/config.json") as config_file:
|
||||
config_data = json.load(config_file)
|
||||
|
||||
main_settings = config_data["main_settings"]
|
||||
app.config.update(main_settings)
|
||||
|
||||
db_settings = config_data["db_settings"]
|
||||
app.config.update(db_settings)
|
||||
|
||||
db.init_app(app)
|
||||
|
||||
|
||||
from .main import main as main_blueprint
|
||||
|
||||
app.register_blueprint(main_blueprint)
|
||||
9
backend/textsouls/config.json_template
Normal file
9
backend/textsouls/config.json_template
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"main_settings": {
|
||||
"SECRET_KEY": "some-very-secret-key",
|
||||
"SQLALCHEMY_TRACK_MODIFICATIONS": false
|
||||
},
|
||||
"db_settings": {
|
||||
"SQLALCHEMY_DATABASE_URI": "postgresql://ownername:pass@localhost/dyxless"
|
||||
}
|
||||
}
|
||||
34
backend/textsouls/main.py
Normal file
34
backend/textsouls/main.py
Normal file
@@ -0,0 +1,34 @@
|
||||
from flask import Blueprint
|
||||
from flask import request
|
||||
|
||||
from . import db
|
||||
from textsouls.models import User
|
||||
|
||||
main = Blueprint("main", __name__)
|
||||
|
||||
|
||||
@main.route("/")
|
||||
def index():
|
||||
return "Nice!", 200
|
||||
|
||||
|
||||
@main.route("/registration", methods=["POST"])
|
||||
def registration():
|
||||
data = request.get_json()
|
||||
|
||||
tg_id = data.get("tg_id")
|
||||
first_name = data.get("first_name")
|
||||
last_name = data.get("last_name")
|
||||
username = data.get("username")
|
||||
|
||||
new_user = User(
|
||||
tg_id=tg_id,
|
||||
first_name=first_name,
|
||||
last_name=last_name,
|
||||
username=username,
|
||||
)
|
||||
|
||||
db.session.add(new_user)
|
||||
db.session.commit()
|
||||
|
||||
return "Nice!", 200
|
||||
33
backend/textsouls/models.py
Normal file
33
backend/textsouls/models.py
Normal file
@@ -0,0 +1,33 @@
|
||||
import datetime
|
||||
|
||||
from flask_sqlalchemy import SQLAlchemy
|
||||
|
||||
db = SQLAlchemy()
|
||||
|
||||
|
||||
class User(db.Model):
|
||||
|
||||
__tablename__ = "users"
|
||||
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
tg_id = db.Column(db.Integer, unique=True, nullable=False)
|
||||
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)
|
||||
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
|
||||
Reference in New Issue
Block a user