Spaces:
No application file
No application file
| from flask import Blueprint, jsonify, make_response, request | |
| from models import APIKey, BotList, db | |
| dashboard_bp = Blueprint("dashboard", __name__) | |
| # Set Open AI Key | |
| def set_key(): | |
| data = request.get_json() | |
| api_key = data["openAIKey"] | |
| existing_key = APIKey.query.first() | |
| if existing_key: | |
| existing_key.key = api_key | |
| else: | |
| new_key = APIKey(key=api_key) | |
| db.session.add(new_key) | |
| db.session.commit() | |
| return make_response(jsonify(message="API key saved successfully"), 200) | |
| # Check OpenAI Key | |
| def check_key(): | |
| existing_key = APIKey.query.first() | |
| if existing_key: | |
| return make_response(jsonify(status="ok", message="OpenAI Key exists"), 200) | |
| else: | |
| return make_response(jsonify(status="fail", message="No OpenAI Key present"), 200) | |
| # Create a bot | |
| def create_bot(): | |
| data = request.get_json() | |
| name = data["name"] | |
| slug = name.lower().replace(" ", "_") | |
| existing_bot = BotList.query.filter_by(slug=slug).first() | |
| if existing_bot: | |
| return (make_response(jsonify(message="Bot already exists"), 400),) | |
| new_bot = BotList(name=name, slug=slug) | |
| db.session.add(new_bot) | |
| db.session.commit() | |
| return make_response(jsonify(message="Bot created successfully"), 200) | |
| # Delete a bot | |
| def delete_bot(): | |
| data = request.get_json() | |
| slug = data.get("slug") | |
| bot = BotList.query.filter_by(slug=slug).first() | |
| if bot: | |
| db.session.delete(bot) | |
| db.session.commit() | |
| return make_response(jsonify(message="Bot deleted successfully"), 200) | |
| return make_response(jsonify(message="Bot not found"), 400) | |
| # Get the list of bots | |
| def get_bots(): | |
| bots = BotList.query.all() | |
| bot_list = [] | |
| for bot in bots: | |
| bot_list.append( | |
| { | |
| "name": bot.name, | |
| "slug": bot.slug, | |
| } | |
| ) | |
| return jsonify(bot_list) | |