@s21toolkit/client-schema
TypeScript icon, indicating that this package has built-in type declarations

75.1.0 • Public • Published

s21client-schema 📦👍

Схема GQL API платформы edu.21-school.ru для s21client. Обновляется автоматически при изменении схемы. Версия пакета соответствует версии продукта.

npm install @s21toolkit/client-schema

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

import { Client, UserAuthAdapter } from "@s21toolkit/client"
import { Schema } from "@s21toolkit/client-schema"

const client = new Client(Schema, new UserAuthAdapter("username", "p4ssw0rd"))

const user = await client.api.getCurrentUser()

Зачем отдельный пакет

Для удобства обновления и версионирования. Пакет со схемой обновляется только в случае изменения схемы, за остальное отвечает пакет клиента.

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

Если нужны только запросы и своя реализация клиента:

import { GraphQLClient } from "graphql-request"
import { S21_GQL_API_URL, UserAuthProvider, getAuthHeaders } from "@s21toolkit/auth"
import { getSdk } from "@s21toolkit/client-schema"

const auth = new UserAuthProvider("username", "p4sswo0rd")

const client = new GraphQLClient(S21_GQL_API_URL, {
   requestMiddleware: async (request) => {
      const authHeaders = await getAuthHeaders(auth)
      return {    
         ...request,
         headers: {
            ...request.headers,
            ...authHeaders,
         }   
      }   
   }
})

const sdk = getSdk(client)

const user = await sdk.getCurrentUser()

Readme

Keywords

none

Package Sidebar

Install

npm i @s21toolkit/client-schema

Weekly Downloads

71

Version

75.1.0

License

MIT

Unpacked Size

3.28 MB

Total Files

5

Last publish

Collaborators

  • bgenia