import os
from flask import Blueprint, jsonify
from models.site_configurations import SiteConfigurations
from utils.jwt_service import jwt_required
from datetime import datetime

site_config_bp = Blueprint("social", __name__)

@site_config_bp.route('/site-configurations', methods=['GET'])
def site_configurations():
    try:
        doc = SiteConfigurations.objects.first()
    except Exception as e:
        return jsonify({
            "status": False,
            "message": "No site configuration found",
            "details": None,
        }), 500

    if not doc:
        return jsonify({
            "status": False,
            "message": "No site configuration found",
            "details": None
        }), 404

    detail = doc.to_mongo().to_dict()
    detail.pop('_id', None)

    # Format created_at and updated_at as ISO8601 UTC strings: 2025-11-24T00:00:00Z
    for key in ("created_at", "updated_at"):
        val = detail.get(key)
        if isinstance(val, datetime):
            detail[key] = val.replace(microsecond=0).strftime("%Y-%m-%dT%H:%M:%SZ")
        elif val is None:
            detail[key] = None
        else:
            detail[key] = val

    return jsonify({
        "status": True,
        "message": "Details fetched successfully",
        "details": detail
    }), 200