cors on all routes, general room/user data

dev
Anton Franzluebbers 2021-11-06 20:36:16 -04:00
parent 0f4a23f600
commit e5fe179b5e
3 changed files with 46 additions and 2 deletions

View File

@ -3,3 +3,4 @@ simplejson
Flask-Limiter Flask-Limiter
pymysql pymysql
gunicorn gunicorn
flask-cors

View File

@ -1,4 +1,5 @@
from flask import Flask, jsonify, make_response, request from flask import Flask, jsonify, make_response, request
from flask_cors import CORS
from velconnect.auth import limiter from velconnect.auth import limiter
from velconnect.logger import logger from velconnect.logger import logger
from time import strftime from time import strftime
@ -12,6 +13,8 @@ def create_app():
) )
app.config.from_pyfile('config.py') app.config.from_pyfile('config.py')
cors = CORS(app, resources={r"/api/*": {"origins": "*"}})
limiter.init_app(app) limiter.init_app(app)
from .routes import api from .routes import api

View File

@ -3,6 +3,7 @@ from velconnect.auth import require_api_key
from velconnect.db import connectToDB from velconnect.db import connectToDB
from velconnect.logger import logger from velconnect.logger import logger
from flask import Blueprint, request, jsonify, render_template, url_for from flask import Blueprint, request, jsonify, render_template, url_for
from flask_cors import CORS
import time import time
import simplejson as json import simplejson as json
from random import random from random import random
@ -16,6 +17,7 @@ def index():
@bp.route('/api_spec.json', methods=['GET']) @bp.route('/api_spec.json', methods=['GET'])
@cross_origin()
@require_api_key(0) @require_api_key(0)
def api_spec(): def api_spec():
response = send_from_directory('static', 'api_spec.json') response = send_from_directory('static', 'api_spec.json')
@ -146,6 +148,44 @@ def set_headset_details_db(hw_id, data):
return response return response
@bp.route('/set_headset_details/<hw_id>/json', methods=['POST'])
@require_api_key(10)
def set_headset_details_json(hw_id):
data = request.json
logger.error(data)
conn, curr = connectToDB()
query = """
UPDATE `Headset`
SET `user_details` = %(json)s
WHERE `hw_id` = %(hw_id)s;
"""
curr.execute(query, {'hw_id': hw_id, 'json': data})
conn.commit()
curr.close()
return jsonify({'success': True})
@bp.route('/set_room_details/<room_id>/json', methods=['POST'])
@require_api_key(10)
def set_room_details_json(room_id):
data = request.json
logger.error(data)
conn, curr = connectToDB()
query = """
UPDATE `Room`
SET `room_details` = %(json)s
WHERE `room_id` = %(room_id)s;
"""
curr.execute(query, {'room_id': room_id, 'json': data})
conn.commit()
curr.close()
return jsonify({'success': True})
@bp.route('/set_headset_details/<hw_id>/user_name', methods=['POST']) @bp.route('/set_headset_details/<hw_id>/user_name', methods=['POST'])
@require_api_key(10) @require_api_key(10)
def set_headset_details_user_name(hw_id): def set_headset_details_user_name(hw_id):