Skip to content

Модели

Структура

Модели — это экспортируемые константы, содержащие массивы объектов для enum-значений:

js
export const CLIENT_STATUSES_MAP = [
  { value: 0, label: 'general.all', color: '#b3b3b3' },
  { value: 101, label: 'client.status.wait_client_call', color: '#d3e5ef' },
  { value: 400, label: 'client.status.in_progress', color: '#b9ebcf' },
  // ...
]

Поля объекта

ПолеТипОписание
valuenumberЧисловое значение, соответствующее бэкенд-enum
labelstringКлюч i18n-перевода (не отображаемый текст)
colorstringHEX-цвет для UI-отображения (опционально)
iconstringИмя иконки (опционально)

Использование

Импорт

js
import {
  CLIENT_STATUSES_MAP,
  GENDERS_MAP,
  INSURANCE_TYPES_MAP,
} from '@diealltagsfeen/frontend-api-client'

Поиск элемента по значению

js
const status = CLIENT_STATUSES_MAP.find(s => s.value === 400)
// { value: 400, label: 'client.status.in_progress', color: '#b9ebcf' }

Использование с i18n

Поле label содержит ключ перевода, а не готовый текст. Для отображения используйте функцию перевода вашего приложения:

js
const statusLabel = t(status.label) // "В работе"

Использование для фильтров

js
// Варианты для select-компонента
const options = CLIENT_STATUSES_MAP.map(s => ({
  label: t(s.label),
  value: s.value,
}))

Категории моделей

Модели организованы по доменным областям:

  • clientModels — статусы клиентов, пол, типы страховки, степени тяжести
  • workerModels — статусы и типы воркеров
  • userModels — роли и типы пользователей
  • taskModels — статусы и типы задач
  • contactModels — типы контактов
  • agentModels — типы агентов
  • partnerModels — типы партнёров
  • regionModels — регионы и локации
  • complaintModels — типы жалоб
  • notificationModels — типы уведомлений
  • emailModels, mailModels — типы писем
  • queueModels — статусы очереди
  • historyModels — типы записей истории
  • learningModels — курсы и квизы
  • docTemplateModels — шаблоны документов
  • recallModels — типы перезвонов
  • searchModels — фильтры поиска
  • workerAssignmentModels — назначения воркеров
  • insuranceCompanyModels — страховые компании
  • ratePerHourModels — почасовые ставки
  • commonModels — общие константы