# app/blueprints/status.py """ 시스템 상태 블루프린트 역할: - 데이터베이스 연결 상태 확인 - 업로드 폴더 상태 확인 """ from flask import Blueprint, jsonify import sys import os sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '../..'))) from conf import db status_bp = Blueprint('status', __name__, url_prefix='/api') @status_bp.route('/status', methods=['GET']) def get_status(): """ 시스템 상태 확인 응답: { 'database': bool - 데이터베이스 연결 여부, 'upload_folder': bool - 업로드 폴더 접근 여부 } """ try: # 데이터베이스 연결 확인 database_ok = False try: session = db.get_session() session.execute('SELECT 1') session.close() database_ok = True except Exception as e: print(f"Database connection error: {e}") # 업로드 폴더 확인 upload_folder = os.path.join(os.path.dirname(__file__), '..', '..', 'uploads') upload_folder_ok = os.path.isdir(upload_folder) and os.access(upload_folder, os.W_OK) return jsonify({ 'database': database_ok, 'upload_folder': upload_folder_ok }) except Exception as e: return jsonify({ 'error': str(e), 'database': False, 'upload_folder': False }), 500