|
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) |
|
|
|
|