import platform import dotenv from application.celery_init import celery from flask import Flask, request, redirect from application.core.settings import settings from application.api.user.routes import user from application.api.answer.routes import answer from application.api.internal.routes import internal if platform.system() == "Windows": import pathlib pathlib.PosixPath = pathlib.WindowsPath dotenv.load_dotenv() app = Flask(__name__) app.register_blueprint(user) app.register_blueprint(answer) app.register_blueprint(internal) app.config.update( UPLOAD_FOLDER="inputs", CELERY_BROKER_URL=settings.CELERY_BROKER_URL, CELERY_RESULT_BACKEND=settings.CELERY_RESULT_BACKEND, MONGO_URI=settings.MONGO_URI ) celery.config_from_object("application.celeryconfig") @app.route("/") def home(): if request.remote_addr in ('0.0.0.0', '127.0.0.1', 'localhost', '172.18.0.1'): return redirect('http://localhost:5173') else: return 'Welcome to DocsGPT Backend!' @app.after_request def after_request(response): response.headers.add("Access-Control-Allow-Origin", "*") response.headers.add("Access-Control-Allow-Headers", "Content-Type,Authorization") response.headers.add("Access-Control-Allow-Methods", "GET,PUT,POST,DELETE,OPTIONS") return response if __name__ == "__main__": app.run(debug=settings.FLASK_DEBUG_MODE, port=7091)