123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- from flask import Blueprint, jsonify, make_response, request
- from models import APIKey, BotList, db
- dashboard_bp = Blueprint("dashboard", __name__)
- # Set Open AI Key
- @dashboard_bp.route("/api/set_key", methods=["POST"])
- 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
- @dashboard_bp.route("/api/check_key", methods=["GET"])
- 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
- @dashboard_bp.route("/api/create_bot", methods=["POST"])
- 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
- @dashboard_bp.route("/api/delete_bot", methods=["POST"])
- 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
- @dashboard_bp.route("/api/get_bots", methods=["GET"])
- 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)
|