This commit is contained in:
2024-05-14 11:39:33 +03:00
commit 2762ac794a
26 changed files with 1506 additions and 0 deletions

13
FRONTEND/API/ARTICLE.md Normal file
View File

@@ -0,0 +1,13 @@
Код представляет собой модуль для работы с API проекта, который использует константу `API_BASE_URL` из файла `constants` и пути API из файла `openapi.gen` для отправки запросов на сервер и обработки ответов.
**Импорт константы API_BASE_URL из файла constants**:
```
import { API_BASE_URL } from '~/constants'
```
**Импорт путей API из файла openapi.gen**:
```
import type { paths } from '~/openapi.gen'
```
**Типы ответов на запросы к API**
**Функции для отправки запросов к API**
**Функции для добавления и удаления статьи из избранного**

28
FRONTEND/API/AUTH.md Normal file
View File

@@ -0,0 +1,28 @@
**Импорт константы API_BASE_URL из файла constants**:
```
import { API_BASE_URL } from '~/constants'
```
**Импорт путей API из файла openapi.gen**:
```
import type { paths } from '~/openapi.gen'
```
**Типы запроса и ответа для аутентификации пользователя**:
```
type LoginUserRequest =
paths['/users/login']['post']['requestBody']['content']['application/json'];
type LoginUserResponse =
paths['/users/login']['post']['responses']['200']['content']['application/json'];
```
**Функция для отправки запроса на аутентификацию пользователя**:
```
export const login = (user: LoginUserRequest) => {
return $fetch<LoginUserResponse>(`${API_BASE_URL}/users/login`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: user, // Передаем данные пользователя в теле запроса
});
};
```

10
FRONTEND/API/TAG.md Normal file
View File

@@ -0,0 +1,10 @@
**Импорт путей API из файла openapi.gen**:
```
import type { paths } from '~/openapi.gen'
```
**Тип ответа на запрос получения тегов**:
```
export type GetTagsResponse =
paths['/tags']['get']['responses']['200']['content']['application/json'];
```
Кода определяется тип данных `GetTagsResponse`, который представляет собой ответ на запрос получения тегов из вашего API. Тип строится на основе структуры определенного пути `/tags` и кода состояния ответа 200 (успешный запрос) с типом содержимого `application/json`.

0
FRONTEND/API/TEAM.md Normal file
View File

34
FRONTEND/API/TENANT.md Normal file
View File

@@ -0,0 +1,34 @@
**Импорт константы API_BASE_URL из файла constants**:
```
import { API_BASE_URL } from '~/constants'
```
**Импорт путей API из файла openapi.gen**:
```
import type { paths } from '~/openapi.gen'
```
**Типы ответов на запросы к API для получения арендаторов и арендатора по ID**:
```
export type GetTenantsResponse =
paths['/tenants']['get']['responses']['200']['content']['application/json'];
export type GetTenantResponse =
paths['/tenants/{id}']['get']['responses']['200']['content']['application/json'];
```
**Типы запросов для создания и обновления арендатора**:
```
type CreateTenantRequest =
paths['/tenants']['post']['requestBody']['content']['application/json'];
type UpdateTenantRequest =
paths['/tenants/{id}']['put']['requestBody']['content']['application/json'];
```
**Типы ответа при создании и обновлении арендатора**:
```
export type CreateTenantResponse =
paths['/tenants']['post']['responses']['201']['content']['application/json'];
export type UpdateTenantResponse =
paths['/tenants/{id}']['put']['responses']['200']['content']['application/json'];
```
**Функции для работы с арендаторами и их контактами**:
- `createTenant`: Функция для создания нового арендатора.
- `updateTenant`: Функция для обновления данных арендатора.
- `removeTenant`: Функция для удаления арендатора.
- `createTenantContact`: Функция для добавления контакта к арендатору.

32
FRONTEND/API/TODO.md Normal file
View File

@@ -0,0 +1,32 @@
**Импорт константы API_BASE_URL из файла constants**:
```
import { API_BASE_URL } from '~/constants'
```
**Импорт путей API из файла openapi.gen**:
```
import type { paths } from '~/openapi.gen'
```
**Типы ответов на запросы к API для получения задач и комментариев**:
```
export type GetTodosResponse =
paths['/todos']['get']['responses']['200']['content']['application/json'];
export type GetTodoResponse =
paths['/todos/{id}']['get']['responses']['200']['content']['application/json'];
export type GetTodoCommentsResponse =
paths['/todos/{id}/comments']['get']['responses']['200']['content']['application/json'];
```
**Типы запросов для создания задачи и комментария к задаче**:
```
type CreateTodosRequest =
paths['/todos']['post']['requestBody']['content']['application/json'];
type CreateTodoCommentRequest =
paths['/todos/{id}/comments']['post']['requestBody']['content']['application/json'];
```
**Функции для работы с задачами и их комментариями**:
- `createTodo`: Функция для создания новой задачи.
- `updateTodo`: Функция для обновления данных задачи.
- `removeTodo`: Функция для удаления задачи.
- `createTodoComment`: Функция для добавления комментария к задаче.
**Функции для работы с избранными задачами**:
- `addTodoToFavorites`: Функция для добавления задачи в избранное.
- `removeTodoFromFavorites`: Функция для удаления задачи из избранного.

32
FRONTEND/API/USER.md Normal file
View File

@@ -0,0 +1,32 @@
**Импорт константы API_BASE_URL из файла constants**:
```
import { API_BASE_URL } from '~/constants'
```
**Импорт путей API из файла openapi.gen**:
```
import type { paths } from '~/openapi.gen'
```
**Типы запросов и ответов для обновления и создания пользователя**:
```
type UserSetting =
paths['/user']['put']['requestBody']['content']['application/json'];
type UpdateUserResponse =
paths['/user']['put']['responses']['200']['content']['application/json'];
type CreateUserResponse =
paths['/users']['post']['responses']['201']['content']['application/json'];
```
**Функции для работы с пользователями**:
- `updateUser`: Функция для обновления данных пользователя.
- `createUser`: Функция для создания нового пользователя.
- `getUser`: Функция для получения данных пользователя.
**Типы и функции для подписки и отписки от пользователя**:
```
export type FollowUserResponse =
paths['/profiles/{username}/follow']['post']['responses']['200']['content']['application/json'];
export type UnfollowUserResponse =
paths['/profiles/{username}/follow']['delete']['responses']['200']['content']['application/json'];
```
**Функции для подписки и отписки от пользователя**:
- `followUser`: Функция для подписки на пользователя.
- `unfollowUser`: Функция для отписки от пользователя.