Начало работы
Настройка доступа к реестру
Пакет размещён в приватном 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