Skip to content

Начало работы

Настройка доступа к реестру

Пакет размещён в приватном npm-реестре GitLab. Для установки необходимо настроить доступ.

Глобальный .npmrc (рекомендуется)

Добавьте в ~/.npmrc:

@diealltagsfeen:registry=https://gitlab.com/api/v4/projects/80348419/packages/npm/
//gitlab.com/api/v4/projects/80348419/packages/npm/:_authToken=<YOUR_TOKEN>

Замените <YOUR_TOKEN> на персональный GitLab-токен с правом read_api.

ОСПуть к .npmrc
Linux~/.npmrc
macOS~/.npmrc
Windows%USERPROFILE%\.npmrc

Локальный .npmrc в проекте

Создайте .npmrc в корне проекта-потребителя с тем же содержимым. Обязательно добавьте .npmrc в .gitignore, чтобы токен не попал в репозиторий.

Установка

bash
npm install @diealltagsfeen/frontend-api-client

Инициализация

Перед использованием сервисов вызовите init():

js
import { init } from '@diealltagsfeen/frontend-api-client'

init({
  axios: axiosInstance,
  hosts: {
    business: 'https://...',
    contacts: 'https://...',
    user: 'https://...',
    history: 'https://...',
    file: 'https://...',
    task: 'https://...',
    notifications: 'https://...',
    documents: 'https://...',
    chat: 'https://...',
  },
  onNotify: (message, color) => { /* UI уведомление */ },
  onError: (error, context) => { /* логирование ошибки */ },
})

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

После инициализации можно импортировать и использовать сервисы, модели и мапперы:

js
import {
  clientService,
  CLIENT_STATUSES_MAP,
  clientTableMapper,
  formatPhoneNumber,
} from '@diealltagsfeen/frontend-api-client'

// Получить список клиентов с маппингом данных
const data = await clientService.GetTable(
  { pagination, clientStatusFilters: [400] },
  clientTableMapper
)

// Форматировать телефонный номер
const formatted = formatPhoneNumber('030123456') // → +49 (30) 123456