Skip to content

Internal API client for edu.21-school.ru

Notifications You must be signed in to change notification settings

s21toolkit/s21auto-client-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

s21auto-client-go 🍻🫃

Клиент для внутреннего GQL API платформы edu.21-school.ru. Предназначен для использования с s21auto для генерации запросов (requests/) из HAR логов платформы.

Important

Готовые версии автоклиента (со сгенерированным requests/) не публикуются на гитхабе. Если вам нужен простой доступ к платформе, используйте s21introspector вместе с любым GQL клиентом для Go. Если же нужен именно автоклиент, его нужно склонить и собрать самостоятельно по инструкции ниже.

Пример использования:

client := s21client.New(
  s21client.DefaultAuth(
    os.Getenv("S21_USERNAME"),
    os.Getenv("S21_PASSWORD")
  )
)

user, err := client.R().GetCurrentUser(requests.GetCurrentUser_Variables{})
if err != nil {
  t.Error(err)
}

fmt.Println(user)

Генерация методов

Методы клиента генерируются автоматически на основе запросов платформы к бекенду.

Для генерации запросов используется s21auto:

s21auto client generate log.har -o s21client/requests

Если какие-то методы не нужны, из папки requests можно удалить всё кроме context.go.