@webitel/api-services Intro
Usage cases, Overview
@webitel/api-services експортує все необхідне для роботи з API Webitel.
Глобально, тут є 2 основні категорії:
Згенероване на основі OpenAPI специфікації. Генерується у два проходи, бо дріт –
snake_case, а аплікейшенам зручнішеcamelCase(детально:camelCaseтипи іsnake_caseдріт):@webitel/api-services/genта/gen/models– тільки типи уcamelCase: сутності, enum'и, їхні zod схеми. Це те, що шарять між собою аплікейшени.@webitel/api-services/gen-wire– функції для API ендпоінтів, zod схеми запитів/відповідей і типи до них, з іменами полів рівно як у swagger.
@webitel/api-services/api/...– Самописна кодова база, що обгортає генеровані файли.- Наші API клієнти, які обгортають згенеровані функції для їхнього хендлінгу "під нас".
- Допоміжні утиліти.
Як цим користуватись?
> Вам треба використати API'шку.
Десь на рівні інших апплікейшенів. скажімо, у якомусь store'і.
> Ви дивитесь (по експортах з @webitel/api-services/api), чи вона є.
> Вона Є – просто імпортуємо.
> ЇЇ Немає – дивимось в якусь з тих, що є, і пишемо подібне під необхідну API'шку-обгортку генерованих функцій.
> Немає навіть згенерованих сервісів (або коли бекенд каже "згенеруйте") – спершу генеруємо.
Через GitHub Action.