Skip to content

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

Перед началом работы с SDK необходимо создать его экземпляр и настроить подключение к вашему бэкенду.

Создание экземпляра

typescript
import Kodzero from 'kodzero-front-sdk-alfa'

const kodzero = new Kodzero({
  host: 'https://api.your-backend.com',
  authCollection: 'auth'
})

Параметры конфигурации

ПараметрТипОбязательныйОписание
hoststringБазовый URL вашего Kodzero бэкенда
authCollectionstringНазвание коллекции, используемой для аутентификации

host

URL вашего бэкенда без завершающего слеша:

javascript
// ✅ Правильно
host: 'https://api.example.com'
host: 'https://example.com/api'

// ❌ Неправильно
host: 'https://api.example.com/'
host: 'api.example.com'

authCollection

Название коллекции в базе данных, которая хранит данные пользователей и используется для аутентификации:

javascript
authCollection: 'auth'     // обычно используется 'auth'
authCollection: 'users'    // или 'users', в зависимости от настройки бэкенда

Структура экземпляра

После создания экземпляра вам доступны следующие свойства и методы:

typescript
const kodzero = new Kodzero({ host, authCollection })

// Доступные свойства
kodzero.host           // URL бэкенда
kodzero.authCollection // Название коллекции для аутентификации
kodzero.auth           // Модуль аутентификации
kodzero.tokensManager  // Менеджер токенов

// Методы
kodzero.createModel()  // Создание модели для работы с коллекцией

Автоматическое добавление токенов

SDK автоматически добавляет токен авторизации ко всем исходящим запросам:

javascript
// После успешной авторизации...
await kodzero.auth.login({ email, password })

// ...все последующие запросы будут содержать заголовок Authorization
// Authorization: <access_token>

Это поведение реализовано через middleware:

typescript
this.api.middlewares.request.use((req) => {
  const accessToken = this.tokensManager.access
  if (accessToken) req.headers['Authorization'] = accessToken
  return req
})

Использование в разных окружениях

Веб-приложение (React)

typescript
// src/services/kodzero.ts
import Kodzero from 'kodzero-front-sdk-alfa'

export const kodzero = new Kodzero({
  host: import.meta.env.VITE_API_URL,
  authCollection: 'auth'
})

// Использование в компоненте
import { kodzero } from '@/services/kodzero'

function LoginComponent() {
  const handleLogin = async () => {
    await kodzero.auth.login({ email, password })
  }
  // ...
}

Vue.js

typescript
// src/plugins/kodzero.ts
import Kodzero from 'kodzero-front-sdk-alfa'

export const kodzero = new Kodzero({
  host: import.meta.env.VITE_API_URL,
  authCollection: 'auth'
})

// Или как Vue plugin
export default {
  install(app) {
    app.config.globalProperties.$kodzero = kodzero
    app.provide('kodzero', kodzero)
  }
}

React Native

typescript
// src/api/kodzero.ts
import Kodzero from 'kodzero-front-sdk-alfa'
import Config from 'react-native-config'

export const kodzero = new Kodzero({
  host: Config.API_URL,
  authCollection: 'auth'
})

Следующие шаги

После инициализации SDK вы можете:

Опубликовано под лицензией ISC.