Files
LT_Janitorial_Quality_Control/app/api/__init__.py
T

60 lines
2.2 KiB
Python

"""
app/api/__init__.py
-------------------
Registers the /api/v1 blueprint group.
All mobile API routes live under the prefix /api/v1/.
This module is imported once from app/__init__.py — see the integration
instructions at the bottom of this file.
Blueprint layout
----------------
/api/v1/auth/login → api_auth.login
/api/v1/auth/refresh → api_auth.refresh
/api/v1/auth/logout → api_auth.logout
/api/v1/auth/me → api_auth.me
/api/v1/devices/register → api_auth.register_device
Future phases will add:
/api/v1/facilities → api_facilities.*
/api/v1/inspections → api_inspections.*
/api/v1/issues → api_issues.*
/api/v1/notifications → api_notifications.*
/api/v1/photos/upload → api_photos.*
"""
from flask import Blueprint
from app.api.errors import register_error_handlers
# Parent blueprint — all sub-blueprints registered under this prefix
api_bp = Blueprint('api', __name__, url_prefix='/api/v1')
# Register JSON error handlers so Flask exceptions within /api/v1/
# return JSON instead of HTML error pages.
register_error_handlers(api_bp)
def register_api(app):
"""
Import and register all API sub-blueprints onto api_bp, then
register api_bp on the Flask app.
Called once from create_app() in app/__init__.py.
"""
# ── Phase 1: Auth ────────────────────────────────────────────────────
from app.api.auth import bp as auth_bp
api_bp.register_blueprint(auth_bp)
# ── Phase 2+: Additional blueprints registered here as phases complete
# from app.api.facilities import bp as facilities_bp
# from app.api.inspections import bp as inspections_bp
# from app.api.issues import bp as issues_bp
# from app.api.notifications import bp as notifications_bp
# from app.api.photos import bp as photos_bp
# api_bp.register_blueprint(facilities_bp)
# api_bp.register_blueprint(inspections_bp)
# api_bp.register_blueprint(issues_bp)
# api_bp.register_blueprint(notifications_bp)
# api_bp.register_blueprint(photos_bp)
app.register_blueprint(api_bp)