feat: Add Discord routes and configuration for bot key validation
This commit is contained in:
parent
df2242ea44
commit
e09463b59c
5 changed files with 41 additions and 1 deletions
|
|
@ -10,6 +10,9 @@ class Config:
|
|||
JWT_KEY = os.getenv('JWT_KEY')
|
||||
JWT_EXPIRE = int(os.getenv('JWT_EXPIRATION', 30))
|
||||
|
||||
# Gets the Key to ensure discord bot requests are being done by the discord bot
|
||||
BOT_KEY = os.getenv('BOT_KEY')
|
||||
|
||||
# Database
|
||||
DB_HOST = os.getenv('DB_HOST')
|
||||
DB_USER = os.getenv('DB_USER')
|
||||
|
|
|
|||
|
|
@ -8,8 +8,10 @@ def create_app(config_class=Config):
|
|||
from .routes.auth_routes import auth_bp
|
||||
from .routes.transaction_routes import transactions_bp
|
||||
from .routes.admin_routes import admin_bp
|
||||
from .routes.discord_routes import discord_bp
|
||||
app.register_blueprint(auth_bp)
|
||||
app.register_blueprint(transactions_bp)
|
||||
app.register_blueprint(admin_bp, url_prefix='/admin')
|
||||
app.register_blueprint(discord_bp, url_prefix='/discord')
|
||||
|
||||
return app
|
||||
|
|
@ -41,3 +41,12 @@ def token_gen(bid):
|
|||
jwt_key,
|
||||
algorithm="HS256")
|
||||
return token
|
||||
|
||||
def bot_key(input_key):
|
||||
bot_key = current_app.config['BOT_KEY']
|
||||
if input_key != bot_key:
|
||||
return False
|
||||
if input_key == bot_key: # Extra Security which doesnt actually add anything but peace of mind.
|
||||
return True
|
||||
return "OhShit" # This should never happen??
|
||||
# I dont think I should be a programmer, I dont even understand python and prefer golang or java or C#. ANYTHING THAT HAS {}
|
||||
26
interbend/routes/discord_routes.py
Normal file
26
interbend/routes/discord_routes.py
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
from flask import Blueprint, make_response
|
||||
from interbend.db import db, get_user
|
||||
from interbend.auth import *
|
||||
import mysql.connector
|
||||
from werkzeug.security import generate_password_hash, check_password_hash
|
||||
|
||||
discord_bp = Blueprint('discord_bp', __name__)
|
||||
|
||||
@discord_bp.route('/register-id', methods=['POST'])
|
||||
def register_id():
|
||||
data = request.get_json()
|
||||
bid = data.get('bid')
|
||||
name = data.get('name')
|
||||
origin = data.get('origin')
|
||||
age = data.get('age')
|
||||
gender = data.get('gender')
|
||||
bot_key2 = data.get('bot_key')
|
||||
if bot_key2 != current_app.config['BOT_KEY']:
|
||||
return jsonify({"error": "Unauthorized"}), 401
|
||||
if not bid or not name or not origin or not age or not gender:
|
||||
return jsonify({"error": "BID, name, origin, age, and gender are required"}), 400
|
||||
user = get_user(bid)
|
||||
if not user:
|
||||
return jsonify({"error": "User is not registered"}), 404
|
||||
# Should the user be automatically registered here?
|
||||
return jsonify({"error": "Method not implemented"}), 501
|
||||
Loading…
Add table
Add a link
Reference in a new issue