'success', 'message' => $message]; if ($data !== null) { $payload['data'] = $data; } return response()->json($payload, $code); } public static function error(string $message = 'Error', int $code = 400, mixed $errors = null): JsonResponse { $payload = ['status' => 'error', 'message' => $message]; if ($errors !== null) { $payload['errors'] = $errors; } return response()->json($payload, $code); } public static function created(mixed $data = null, string $message = 'Created successfully'): JsonResponse { return self::success($data, $message, 201); } public static function notFound(string $message = 'Resource not found'): JsonResponse { return self::error($message, 404); } public static function unauthorized(string $message = 'Unauthorized'): JsonResponse { return self::error($message, 401); } public static function forbidden(string $message = 'Forbidden'): JsonResponse { return self::error($message, 403); } public static function validationError(mixed $errors, string $message = 'Validation failed'): JsonResponse { return self::error($message, 422, $errors); } public static function serverError(string $message = 'Internal server error'): JsonResponse { return self::error($message, 500); } }