| import platform |
| import dotenv |
| from application.celery 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=True, port=7091) |
|
|
|
|