Skip to content

Commit

Permalink
docs: api docs in progress [WTEL-1093]
Browse files Browse the repository at this point in the history
  • Loading branch information
dlohvinov committed Apr 20, 2024
1 parent ea512ca commit 75c93f7
Show file tree
Hide file tree
Showing 3 changed files with 70 additions and 1 deletion.
2 changes: 1 addition & 1 deletion docs/.vitepress/config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ export default defineConfig({
{ text: 'FAQ', items: sidebarFAQ },
{ text: 'Architecture, Structures, Design, etc', items: sidebarArchitectureAndStructures },
{ text: 'How To', items: sidebarHowTo },
{ text: 'API', items: sidebarApi },
{ text: 'API Tools', items: sidebarApi },
{ text: 'Components', items: sidebarComponents },
{ text: 'Components/on-demand', items: onDemandSidebarComponents },
{ text: 'Enums', items: sidebarEnums },
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Backend API Communication

## Webitel SDK Endpoints

## Raw Endpoints

## Тонкощі роботи з ендпоінтами

### Falsy values

API Gateway на бекенді налаштований так, що не вертає полів, які мають falsy значення.

А нам-то ці поля потрібні!

Отже, ми маємо в ці поля сетати дефолтні для них значення.

### Чому одночасно Webitel SDK та Raw Endpoints?

Так склалось історично, але, сподіваюсь, колись це пройде і будуть тільки Webitel SDK ендпоінти.

## WebSocket

## А як додать апішку-то?

А це описано ось [тут](../../how-to/add-a-REST-API-module/Readme.md)
44 changes: 44 additions & 0 deletions docs/pages/docs/how-to/add-a-REST-API-module/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Adding REST API module

## Prerequisites

Говоримо про практику? - Не забуваєм про теорію.

[Backend API Communication](../../architecture-and-structures/Backend%20API%20communication/Readme.md)

А також пасувало би почитати про тулзи, які ми використовуватимемо:

- [Axios](https://axios-http.com/docs/intro)
- Наша обгортка над axios: [api/axios](../../../webitel-ui/api/axios/Readme.md)
- Набір вже готових, дефолтних клієнтів-модулів для певних ендпоінтів: [api/clients](../../../webitel-ui/api/clients/Readme.md)
- Дефолтні, реюзабельні штуки для роботи з апі: [api/defaults](../../../webitel-ui/api/defaults/Readme.md)
- axios interceptors: [api/interceptors](../../../webitel-ui/api/interceptors/Readme.md)
- Трансформери для даних: [api/transformers](../../../webitel-ui/api/transformers/Readme.md)

## Як додати Webitel SDK Endpoint модуль?

Піддивіться у souce code якогось з `api/clients` 🙂

### Тонкощі

#### Як знайти необхідну мені ApiFactory, та її методи?

**Щодо назви**, ApiFactory - вона має бути така сама, як і у Webitel Swagger.

**Щодо методів**, Webitel SDK на TypeScript, тож IDE має підказати вам, які там є методи.

Зазвичай це:
- `getList` це `search...`,
- `get` це `read...`,
- `add` це `create...`,
- `update` це `update...`,
- `patch` це `patch...`,
- `delete` це `delete...`.

Де замість `...` - назва сутності, з якою ми працюємо.

## Як додати Raw Endpoint модуль?
Піддивіться у souce code якогось з `api/clients` 🙂

### Тонкощі
Тут - немає. Берете, формуєте `url`'ку, викликаєте http метод, обробляєте відповідь.

0 comments on commit 75c93f7

Please sign in to comment.