2 Commits

2 changed files with 10 additions and 2 deletions

View File

@ -3,7 +3,7 @@ from flask_jwt_extended import get_jwt_identity
from models import User, db from models import User, db
import os import os
from sqlalchemy import text from sqlalchemy import text
from sqlalchemy.exc import DatabaseError from sqlalchemy.exc import DatabaseError, InterfaceError
import time import time
from werkzeug.security import generate_password_hash from werkzeug.security import generate_password_hash
@ -41,7 +41,7 @@ def wait_for_db(max_retries):
connection.execute(text("SELECT 1")) connection.execute(text("SELECT 1"))
db_ready = True db_ready = True
return return
except DatabaseError: except DatabaseError | InterfaceError:
time.sleep(3) time.sleep(3)
raise Exception("Failed to connect to database.") raise Exception("Failed to connect to database.")

View File

@ -2,6 +2,7 @@ from flask import Blueprint, jsonify, request, abort
from flask_jwt_extended import create_access_token, set_access_cookies, jwt_required, \ from flask_jwt_extended import create_access_token, set_access_cookies, jwt_required, \
verify_jwt_in_request, get_jwt_identity, unset_jwt_cookies, get_jwt verify_jwt_in_request, get_jwt_identity, unset_jwt_cookies, get_jwt
from models import db, RevokedToken, User from models import db, RevokedToken, User
import os
from utils import admin_required, validate_access, get_user_or_404 from utils import admin_required, validate_access, get_user_or_404
from werkzeug.security import check_password_hash, generate_password_hash from werkzeug.security import check_password_hash, generate_password_hash
@ -110,3 +111,10 @@ def user_logout():
response = jsonify({"msg": "User logged out successfully."}) response = jsonify({"msg": "User logged out successfully."})
unset_jwt_cookies(response) unset_jwt_cookies(response)
return response return response
@user_bp.route('/version', methods=['GET'])
def version():
return jsonify({
"version": os.getenv("APP_VERSION", "unknown"),
"build_time": os.getenv("BUILD_DATE", "unknown")
})