"""Zorunlu response zarfı: {"success": bool, "data": ...}."""
from typing import Any

from fastapi import Response
from fastapi.responses import ORJSONResponse


def ok(
    data: Any, meta: dict | None = None, status: int = 200
) -> ORJSONResponse:
    payload: dict[str, Any] = {"success": True, "data": data}
    if meta:
        payload["meta"] = meta
    return ORJSONResponse(content=payload, status_code=status)


def created(data: Any) -> ORJSONResponse:
    return ok(data, status=201)


def no_content() -> Response:
    return Response(status_code=204)
