📢 Common.Helpers.Response — Плагин для формирования структурированных ответов

:man_technologist: Автор: @ArtemGarashko
:date: Версия: 1.2
:hammer_and_wrench: Последнее обновление: 24.02.2025


:small_blue_diamond: Описание

Этот плагин предназначен для формирования ответов при обработке успешных и неудачных операций. Он может быть использован в:
:white_check_mark: API-методах
:white_check_mark: Плагинах
:white_check_mark: Компонентах
:white_check_mark: Логировании ошибок

:pushpin: Преимущества:

  • Универсальная структура для обработки ответов
  • Упрощает обработку ошибок и успешных операций
  • Удобно использовать при взаимодействии с пользователями и логированием

:pushpin: Примеры использования

:white_check_mark: Пример использования в API (успешный ответ)

const { getSuccessResponse } = require('Common.Helpers.Response');

function fetchUserData(userId) {
    // Данные пользователя
    let userData = {
        id: userId,
        name: "Иван Иванов",
        email: "ivan@example.com"
    };

    return getSuccessResponse({ data: userData });
}

debug(fetchUserData(123));

:pushpin: Вывод:

{
  "success": true,
  "data": {
    "id": 123,
    "name": "Иван Иванов",
    "email": "ivan@example.com"
  }
}

:x: Пример обработки ошибки

const { getErrorResponse } = require('Common.Helpers.Response');

function getUserById(userId) {
    if (!userId) {
        return getErrorResponse("ID пользователя не передан", "USER_ID_MISSING");
    }

    // Допустим, что пользователь не найден
    return getErrorResponse("Пользователь не найден", "USER_NOT_FOUND");
}

debug(getUserById(null));

:pushpin: Вывод:

{
  "success": false,
  "error": "USER_ID_MISSING",
  "message": "ID пользователя не передан"
}

:gear: Методы плагина

:hammer_and_wrench: getErrorResponse(errorMessage, error)

:pushpin: Описание: Формирует ответ об ошибке.
:small_blue_diamond: Параметры:

Параметр Тип Описание
errorMessage string Сообщение об ошибке
error (необ.) string Код ошибки (например, "USER_NOT_FOUND")

:pushpin: Пример:

getErrorResponse("Ошибка авторизации", "AUTH_FAILED");

:pushpin: Вывод:

{
  "success": false,
  "error": "AUTH_FAILED",
  "message": "Ошибка авторизации"
}

:white_check_mark: getSuccessResponse(data)

:pushpin: Описание: Формирует успешный ответ.
:small_blue_diamond: Параметры:

Параметр Тип Описание
data (необ.) object Дополнительные данные

:pushpin: Пример:

getSuccessResponse({ userId: 42, role: "admin" });

:pushpin: Вывод:

{
  "success": true,
  "userId": 42,
  "role": "admin"
}

:bulb: Используйте этот плагин для стандартизации ответов в вашем коде, упрощая обработку ошибок и успешных операций! :rocket: