diff --git a/api-docs.json b/api-docs.json new file mode 100644 index 0000000..216e1a0 --- /dev/null +++ b/api-docs.json @@ -0,0 +1,2719 @@ +{ + "openapi": "3.0.1", + "info": { + "title": "Cinetwork API", + "description": "Documentation of Cinetwork API", + "version": "1.0" + }, + "servers": [ + { "url": "http://localhost:56032", "description": "Generated server url" } + ], + "paths": { + "/api/v1/complaint/{complaintId}": { + "get": { + "tags": ["complaint-controller"], + "summary": "Получение жалобы по id", + "operationId": "getComplaintById", + "parameters": [ + { + "name": "complaintId", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + } + ], + "responses": { + "200": { + "description": "Жалоба найдена", + "content": { + "*/*": { + "schema": { "$ref": "#/components/schemas/ComplaintDto" } + } + } + }, + "404": { + "description": "Жалоба не найдена", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + } + } + }, + "put": { + "tags": ["complaint-controller"], + "summary": "Измененение статуса жалобы", + "operationId": "updateComplaintStatus", + "parameters": [ + { + "name": "complaintId", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + }, + { + "name": "status", + "in": "query", + "required": true, + "schema": { + "type": "string", + "enum": ["OPEN", "IN_PROGRESS", "RESOLVED", "REJECTED"] + } + } + ], + "responses": { + "200": { + "description": "Статус жалобы успешно изменен", + "content": { + "*/*": { + "schema": { "$ref": "#/components/schemas/ComplaintDto" } + } + } + }, + "404": { + "description": "Жалоба не найдена", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + } + } + } + }, + "/api/v1/anime": { + "get": { + "tags": ["anime-controller"], + "summary": "Поиск аниме по параметрам", + "description": "Возвращает страницу AnimeDto/AnimeCardDto в зависимости от параметра запроса dtoType", + "operationId": "getPage", + "parameters": [ + { + "name": "searchCriteria", + "in": "query", + "required": true, + "schema": { "$ref": "#/components/schemas/AnimeSearchCriteria" } + }, + { + "name": "dtoType", + "in": "query", + "required": true, + "schema": { "type": "string", "enum": ["CARD", "DEFAULT"] } + }, + { + "name": "pageable", + "in": "query", + "required": true, + "schema": { "$ref": "#/components/schemas/Pageable" } + } + ], + "responses": { + "200": { + "description": "Аниме успешно создано", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/Page" } } + } + }, + "400": { + "description": "Параметры запроса не прошли валидацию", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + } + } + }, + "put": { + "tags": ["anime-controller"], + "summary": "Обновление аниме", + "operationId": "updateById", + "requestBody": { + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/UpdateAnimeRequest" } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Аниме успешно обновлено", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/AnimeDTO" } } + } + }, + "404": { + "description": "Аниме не найдено", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + } + } + }, + "post": { + "tags": ["anime-controller"], + "summary": "Создание аниме", + "operationId": "createAnime", + "requestBody": { + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/CreateAnimeRequest" } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Аниме успешно создано", + "content": { + "*/*": { + "schema": { "$ref": "#/components/schemas/CreatedAnimeDTO" } + } + } + }, + "400": { + "description": "Аниме не прошло валидацию", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + } + } + } + }, + "/api/v1/anime/group": { + "put": { + "tags": ["group-controller"], + "summary": "Обновление группы", + "operationId": "updateById_1", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateAnimeGroupRequest" + } + } + }, + "required": true + }, + "responses": { + "404": { + "description": "Группа не найдена", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + }, + "200": { + "description": "Группа обновлена", + "content": { + "*/*": { + "schema": { "$ref": "#/components/schemas/AnimeGroupDTO" } + } + } + } + } + }, + "post": { + "tags": ["group-controller"], + "summary": "Создание группы", + "operationId": "create_1", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateAnimeGroupRequest" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Группа создана", + "content": { + "*/*": { + "schema": { "$ref": "#/components/schemas/AnimeGroupDTO" } + } + } + } + } + } + }, + "/api/v1/anime/group/delete-from-group": { + "put": { + "tags": ["group-controller"], + "summary": "Удаление списка аниме из группы по id группы и списку id amine", + "operationId": "deleteAnimeIdsFromGroup", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteAnimeFromGroupRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Группа удалена из списока аниме", + "content": { + "*/*": { + "schema": { "$ref": "#/components/schemas/AnimeGroupDTO" } + } + } + }, + "404": { + "description": "Группа или ни одного аниме из списка не найдено", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + } + } + } + }, + "/api/v1/anime/group/add-to-group": { + "put": { + "tags": ["group-controller"], + "summary": "Добавление списка аниме в группу по id группы и списку id amine", + "operationId": "addAnimeIdsToGroup", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddAnimeToGroupRequest" + } + } + }, + "required": true + }, + "responses": { + "404": { + "description": "Группа или ни одного аниме из списка не найдено", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + }, + "200": { + "description": "Группа установлена в список аниме", + "content": { + "*/*": { + "schema": { "$ref": "#/components/schemas/AnimeGroupDTO" } + } + } + } + } + } + }, + "/api/v1/anime/episodes/{id}": { + "get": { + "tags": ["episodes-controller"], + "summary": "Получение эпизода по ID, с возможностью указания DtoType (DEFAULT/CARD), если тип не указан, будет выведен DEFAULT", + "operationId": "getEpisodeById", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + }, + { + "name": "dtoType", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["CARD", "DEFAULT"], + "default": "DEFAULT" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { "*/*": { "schema": { "type": "object" } } } + } + } + }, + "put": { + "tags": ["episodes-controller"], + "summary": "Редактирование эпизода", + "operationId": "updateEpisode", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/UpdateEpisodeRequest" } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/EpisodeDTO" } } + } + } + } + }, + "delete": { + "tags": ["episodes-controller"], + "summary": "Удаление эпизода", + "operationId": "deleteEpisode", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + } + ], + "responses": { "200": { "description": "OK" } } + } + }, + "/api/v1/anime/episodes/{id}/order/{newOrderId}": { + "put": { + "tags": ["episodes-controller"], + "summary": "Изменение порядка эпизода в списке", + "operationId": "updateEpisodeOrder", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + }, + { + "name": "newOrderId", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32" } + } + ], + "responses": { "200": { "description": "OK" } } + } + }, + "/api/v1/anime/dubs/{id}": { + "get": { + "tags": ["dub-controller"], + "summary": "Получение дубляжа по id", + "operationId": "getDubById", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + } + ], + "responses": { + "404": { + "description": "Дубляж не найден", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + }, + "200": { + "description": "Дубляж найден", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/DubDTO" } } + } + } + } + }, + "put": { + "tags": ["dub-controller"], + "summary": "Обновление дубляжа по id", + "operationId": "updateDubName", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + }, + { + "name": "name", + "in": "query", + "required": true, + "schema": { "type": "string" } + } + ], + "responses": { + "404": { + "description": "Дубляж не найден", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + }, + "200": { + "description": "Дубляж обновлен", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/DubDTO" } } + } + } + } + }, + "delete": { + "tags": ["dub-controller"], + "summary": "Удаление дубляжа", + "operationId": "deleteDub", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + } + ], + "responses": { + "204": { + "description": "Оправляет 204 статус вне зависимости, удален дубляж или нет" + } + } + } + }, + "/api/v1/anime/comments": { + "put": { + "tags": ["comments-controller"], + "summary": "Удаление комментария по id", + "operationId": "updateComment", + "requestBody": { + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/UpdateCommentRequest" } + } + }, + "required": true + }, + "responses": { + "404": { + "description": "Комментарий не найден", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + }, + "400": { + "description": "Комментарий невалидный", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + }, + "200": { + "description": "Комментарий обнавлен", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/CommentDTO" } } + } + } + } + }, + "post": { + "tags": ["comments-controller"], + "summary": "Создание комментария", + "operationId": "createComment", + "requestBody": { + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/CreateCommentRequest" } + } + }, + "required": true + }, + "responses": { + "404": { + "description": "Комментарий на который отвечают не найден", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + }, + "400": { + "description": "Комментарий не валидный", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + }, + "201": { + "description": "Комментарий создан", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/CommentDTO" } } + } + } + } + } + }, + "/api/v1/complaint": { + "post": { + "tags": ["complaint-controller"], + "summary": "Создание жалобы", + "operationId": "createComplaint", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateComplaintRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Создаваемая жалоба не прошла валидацию", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + }, + "201": { + "description": "Жалоба успешно создана", + "content": { + "*/*": { + "schema": { "$ref": "#/components/schemas/ComplaintDto" } + } + } + } + } + } + }, + "/api/v1/complaint/search": { + "post": { + "tags": ["complaint-controller"], + "summary": "Поиск жалоб по фильтрам", + "operationId": "getComplaints", + "requestBody": { + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/ComplaintSearchParams" } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "content": { + "*/*": { + "schema": { "$ref": "#/components/schemas/PageComplaintDto" } + } + } + } + } + } + }, + "/api/v1/anime/title": { + "post": { + "tags": ["title-controller"], + "summary": "Создание тайтла", + "operationId": "create", + "parameters": [ + { + "name": "createAnimeTitleRequest", + "in": "query", + "required": true, + "schema": { "$ref": "#/components/schemas/CreateAnimeTitleRequest" } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "*/*": { + "schema": { "$ref": "#/components/schemas/AnimeTitleDTO" } + } + } + } + } + }, + "patch": { + "tags": ["title-controller"], + "summary": "Обновление тайтла", + "operationId": "updateById_2", + "parameters": [ + { + "name": "updateAnimeTitleRequest", + "in": "query", + "required": true, + "schema": { "$ref": "#/components/schemas/UpdateAnimeTitleRequest" } + } + ], + "responses": { + "200": { + "description": "Тайтл успешно обновлен", + "content": { + "*/*": { + "schema": { "$ref": "#/components/schemas/AnimeTitleDTO" } + } + } + }, + "404": { + "description": "Тайтл не найден", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + } + } + } + }, + "/api/v1/anime/title/batch": { + "post": { + "tags": ["title-controller"], + "summary": "Создание списка тайтлов", + "operationId": "createAll", + "parameters": [ + { + "name": "createAnimeTitleRequests", + "in": "query", + "required": true, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CreateAnimeTitleRequest" + } + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "*/*": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/AnimeTitleDTO" } + } + } + } + } + } + }, + "delete": { + "tags": ["title-controller"], + "summary": "Удаление тайтлов по списку id", + "operationId": "deleteAllById", + "parameters": [ + { + "name": "ids", + "in": "query", + "required": true, + "schema": { + "type": "array", + "items": { "type": "string", "format": "uuid" } + } + } + ], + "responses": { + "204": { "description": "Тайтлы успешно удален или не найден" } + } + }, + "patch": { + "tags": ["title-controller"], + "summary": "Обновление тайтла списком", + "operationId": "updateAllById", + "parameters": [ + { + "name": "updateAnimeTitleRequests", + "in": "query", + "required": true, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UpdateAnimeTitleRequest" + } + } + } + ], + "responses": { + "404": { + "description": "Ни один из тайтлов не найден", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + }, + "200": { + "description": "Тайтлы успешно обновлены", + "content": { + "*/*": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/AnimeTitleDTO" } + } + } + } + } + } + } + }, + "/api/v1/anime/increasePopularity": { + "post": { + "tags": ["anime-controller"], + "summary": "Увеличение популярности аниме по id на 1", + "operationId": "increasePopularity", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IncreasePopularityRequest" + } + } + }, + "required": true + }, + "responses": { "200": { "description": "OK" } } + } + }, + "/api/v1/anime/episodes": { + "post": { + "tags": ["episodes-controller"], + "summary": "Создание эпизода", + "operationId": "createEpisode", + "requestBody": { + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/CreateEpisodeRequest" } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/EpisodeDTO" } } + } + } + } + } + }, + "/api/v1/anime/episodes/{id}/view": { + "post": { + "tags": ["episodes-controller"], + "summary": "Добавление просмотра эпизода", + "operationId": "addView", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + } + ], + "responses": { "200": { "description": "OK" } } + } + }, + "/api/v1/anime/dubs": { + "post": { + "tags": ["dub-controller"], + "summary": "Создание дубляжа", + "operationId": "createDub", + "requestBody": { + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/CreateDubRequest" } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/DubDTO" } } + } + } + } + } + }, + "/api/v1/anime/dubs/{dubId}/episodes/{episodeId}": { + "post": { + "tags": ["dub-controller"], + "summary": "Добавление дубляжа к эпизоду", + "operationId": "addDubToEpisode", + "parameters": [ + { + "name": "dubId", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + }, + { + "name": "episodeId", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + } + ], + "responses": { + "200": { + "description": "Дубляж успешно добавлен к эпизоду", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/DubDTO" } } + } + }, + "404": { + "description": "Дубляж или эпизод не найден", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + } + } + }, + "delete": { + "tags": ["dub-controller"], + "summary": "Удаление дубляжа к эпизоду", + "operationId": "removeDubFromEpisode", + "parameters": [ + { + "name": "dubId", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + }, + { + "name": "episodeId", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + } + ], + "responses": { + "200": { "description": "Дубляж успешно удален из эпизода" }, + "404": { + "description": "Дубляж или эпизод не найден", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + } + } + } + }, + "/api/v1/anime/{id}": { + "get": { + "tags": ["anime-controller"], + "summary": "Поиск аниме по id", + "operationId": "findById", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + } + ], + "responses": { + "404": { + "description": "Аниме не найдено", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + }, + "200": { + "description": "Аниме найдено", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/AnimeDTO" } } + } + } + } + }, + "delete": { + "tags": ["anime-controller"], + "summary": "Удаление аниме", + "operationId": "deleteById", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + } + ], + "responses": { + "204": { + "description": "Оправляет 204 статус вне зависимости, удалено аниме или нет" + } + } + } + }, + "/api/v1/anime/{animeId}/similar": { + "get": { + "tags": ["anime-controller"], + "summary": "Получение страницы похожих аниме по animeId", + "operationId": "findSimilar", + "parameters": [ + { + "name": "animeId", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + }, + { + "name": "pageable", + "in": "query", + "required": true, + "schema": { "$ref": "#/components/schemas/Pageable" } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "*/*": { + "schema": { "$ref": "#/components/schemas/PageAnimeCardDTO" } + } + } + } + } + } + }, + "/api/v1/anime/types": { + "get": { + "tags": ["anime-controller"], + "summary": "Получение списка влзможных типов аниме", + "operationId": "getAllTypes", + "responses": { + "200": { + "description": "OK", + "content": { + "*/*": { + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "TV", + "MOVIE", + "OVA", + "ONA", + "SPECIAL", + "TV_SPECIAL", + "MUSIC", + "PV", + "CM" + ] + } + } + } + } + } + } + } + }, + "/api/v1/anime/title/{id}": { + "get": { + "tags": ["title-controller"], + "summary": "Получение тайтла по id", + "operationId": "getById", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + } + ], + "responses": { + "200": { + "description": "Тайтл найден", + "content": { + "*/*": { + "schema": { "$ref": "#/components/schemas/AnimeTitleDTO" } + } + } + }, + "404": { + "description": "Тайтл не найден", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + } + } + }, + "delete": { + "tags": ["title-controller"], + "summary": "Удаление тайтла", + "operationId": "deleteById_1", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + } + ], + "responses": { + "204": { "description": "Тайтлы успешно удален или не найден" } + } + } + }, + "/api/v1/anime/title/page": { + "get": { + "tags": ["title-controller"], + "summary": "Постраничное получение всех тайтлов", + "operationId": "getPage_1", + "parameters": [ + { + "name": "page", + "in": "query", + "required": true, + "schema": { "type": "integer", "format": "int32" } + }, + { + "name": "size", + "in": "query", + "required": true, + "schema": { "type": "integer", "format": "int32" } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "*/*": { + "schema": { "$ref": "#/components/schemas/PageAnimeTitleDTO" } + } + } + } + } + } + }, + "/api/v1/anime/title/by-anime/{animeId}": { + "get": { + "tags": ["title-controller"], + "summary": "Получение списка тайтлов по аниме id", + "operationId": "getAllByAnimeId", + "parameters": [ + { + "name": "animeId", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + } + ], + "responses": { + "200": { + "description": "Список тайтлов по аниме id успешно найден", + "content": { + "*/*": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/AnimeTitleDTO" } + } + } + } + }, + "404": { + "description": "Аниме не найдео", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + } + } + } + }, + "/api/v1/anime/statuses": { + "get": { + "tags": ["anime-controller"], + "summary": "Получение списка влзможных статусов аниме", + "operationId": "getAllStatuses", + "responses": { + "200": { + "description": "OK", + "content": { + "*/*": { + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": ["ANNOUNCE", "ONGOING", "RELEASED"] + } + } + } + } + } + } + } + }, + "/api/v1/anime/mpaaratings": { + "get": { + "tags": ["anime-controller"], + "summary": "Получение списка влзможных mpa рейтингов", + "operationId": "getAllMpaaRatings", + "responses": { + "200": { + "description": "OK", + "content": { + "*/*": { + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": ["G", "PG", "PG_13", "R", "NC_17"] + } + } + } + } + } + } + } + }, + "/api/v1/anime/group/{id}": { + "get": { + "tags": ["group-controller"], + "summary": "Получение группы по id", + "operationId": "getById_1", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + } + ], + "responses": { + "404": { + "description": "Группа не найдена", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + }, + "200": { + "description": "Группа найдена", + "content": { + "*/*": { + "schema": { "$ref": "#/components/schemas/AnimeGroupDTO" } + } + } + } + } + }, + "delete": { + "tags": ["group-controller"], + "summary": "Удаление группы", + "operationId": "deleteById_2", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + } + ], + "responses": { + "404": { + "description": "Группа не найдена", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + }, + "204": { "description": "Группа обновлена" } + } + } + }, + "/api/v1/anime/group/by-anime/{animeId}": { + "get": { + "tags": ["group-controller"], + "summary": "Получение группы по аниме id", + "operationId": "getByAnimeId", + "parameters": [ + { + "name": "animeId", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + } + ], + "responses": { + "404": { + "description": "Группа или аниме не найдены", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + }, + "200": { + "description": "Группа найдена", + "content": { + "*/*": { + "schema": { "$ref": "#/components/schemas/AnimeGroupDTO" } + } + } + } + } + } + }, + "/api/v1/anime/genres": { + "get": { + "tags": ["anime-controller"], + "summary": "Получение списка влзможных жанров аниме", + "operationId": "getAllGenres", + "responses": { + "200": { + "description": "OK", + "content": { + "*/*": { + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "DRAMA", + "GAME", + "PSYCHOLOGICAL", + "MUSIC", + "ACTION", + "COMEDY", + "DEMONS", + "POLICE", + "ECCHI", + "FANTASY", + "HENTAI", + "HISTORICAL", + "MAGIC", + "MECHA", + "PARODY", + "SAMURAI", + "ROMANCE", + "SCHOOL", + "SHOUNEN", + "VAMPIRE", + "YAOI", + "YURI", + "HAREM", + "SLICE_OF_LIFE", + "SHOUJO_AI", + "JOSEI", + "SUPERNATURAL", + "THRILLER", + "SCI_FI", + "SHOUJO", + "SUPER_POWER", + "MILITARY", + "MYSTERY", + "KIDS", + "CARS", + "MARTIAL_ARTS", + "DEMENTIA", + "SPORTS", + "SEINEN", + "SHOUNEN_AI", + "GOURMET", + "SPACE", + "WORK_LIFE", + "HORROR", + "ADVENTURE", + "EROTICA" + ] + } + } + } + } + } + } + } + }, + "/api/v1/anime/episodes/{id}/admin": { + "get": { + "tags": ["episodes-controller"], + "summary": "Получение эпизода по ID для админки", + "description": "(дополнительные данные о том, кто смодерировал, опубликовал)", + "operationId": "getAdminEpisodeById", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "*/*": { + "schema": { "$ref": "#/components/schemas/AdminEpisodeDTO" } + } + } + } + } + } + }, + "/api/v1/anime/episodes/by-anime/{animeId}": { + "get": { + "tags": ["episodes-controller"], + "summary": "Получение списка эпизодов по ID аниме", + "operationId": "getEpisodesByAnimeId", + "parameters": [ + { + "name": "animeId", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + }, + { + "name": "dtoType", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["CARD", "DEFAULT"], + "default": "DEFAULT" + } + }, + { + "name": "pageable", + "in": "query", + "required": true, + "schema": { "$ref": "#/components/schemas/Pageable" } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/Page" } } + } + } + } + } + }, + "/api/v1/anime/dubs/by-episode/{episodeID}/all": { + "get": { + "tags": ["dub-controller"], + "summary": "Получение списка дубляжей по id эпизода", + "description": "В случае отсутствия эпизода или дубляжей вернет пустой список", + "operationId": "getDubsByEpisode", + "parameters": [ + { + "name": "episodeID", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "*/*": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/DubDTO" } + } + } + } + } + } + } + }, + "/api/v1/anime/comments/by-user/{id}": { + "get": { + "tags": ["comments-controller"], + "summary": "Постраничное получение всех комментариев пользователя по id пользователя", + "operationId": "getCommentsByUser", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + }, + { + "name": "pageable", + "in": "query", + "required": true, + "schema": { "$ref": "#/components/schemas/Pageable" } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "*/*": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/CommentDTO" } + } + } + } + } + } + } + }, + "/api/v1/anime/comments/by-type-and-id/{type}/{id}": { + "get": { + "tags": ["comments-controller"], + "summary": "Постраничное получение всех комментариев пользователя по id пользователя с фильтрацией по типу комментария", + "operationId": "getCommentsById", + "parameters": [ + { + "name": "type", + "in": "path", + "required": true, + "schema": { "type": "string" } + }, + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + }, + { + "name": "pageable", + "in": "query", + "required": true, + "schema": { "$ref": "#/components/schemas/Pageable" } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "*/*": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/CommentDTO" } + } + } + } + } + } + } + }, + "/api/v1/anime/title/by-anime": { + "delete": { + "tags": ["title-controller"], + "summary": "Удаление тайтлов по аниме id", + "operationId": "deleteAllByAnimeId", + "parameters": [ + { + "name": "animeId", + "in": "query", + "required": true, + "schema": { "type": "string", "format": "uuid" } + } + ], + "responses": { + "404": { + "description": "Аниме не найдено", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + }, + "204": { "description": "Тайтлы успешно удален или не найден" } + } + } + }, + "/api/v1/anime/comments/{id}": { + "delete": { + "tags": ["comments-controller"], + "summary": "Удаление комментария по id", + "operationId": "deleteComment", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uuid" } + } + ], + "responses": { + "204": { "description": "Комментарий удален" }, + "404": { + "description": "Комментарий не найден", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + }, + "400": { + "description": "Комментарий невалидный", + "content": { + "*/*": { "schema": { "$ref": "#/components/schemas/ErrorDTO" } } + } + } + } + } + } + }, + "components": { + "schemas": { + "ErrorDTO": { + "type": "object", + "properties": { + "time": { "type": "string", "format": "date-time" }, + "status": { + "type": "string", + "enum": [ + "100 CONTINUE", + "101 SWITCHING_PROTOCOLS", + "102 PROCESSING", + "103 EARLY_HINTS", + "103 CHECKPOINT", + "200 OK", + "201 CREATED", + "202 ACCEPTED", + "203 NON_AUTHORITATIVE_INFORMATION", + "204 NO_CONTENT", + "205 RESET_CONTENT", + "206 PARTIAL_CONTENT", + "207 MULTI_STATUS", + "208 ALREADY_REPORTED", + "226 IM_USED", + "300 MULTIPLE_CHOICES", + "301 MOVED_PERMANENTLY", + "302 FOUND", + "302 MOVED_TEMPORARILY", + "303 SEE_OTHER", + "304 NOT_MODIFIED", + "305 USE_PROXY", + "307 TEMPORARY_REDIRECT", + "308 PERMANENT_REDIRECT", + "400 BAD_REQUEST", + "401 UNAUTHORIZED", + "402 PAYMENT_REQUIRED", + "403 FORBIDDEN", + "404 NOT_FOUND", + "405 METHOD_NOT_ALLOWED", + "406 NOT_ACCEPTABLE", + "407 PROXY_AUTHENTICATION_REQUIRED", + "408 REQUEST_TIMEOUT", + "409 CONFLICT", + "410 GONE", + "411 LENGTH_REQUIRED", + "412 PRECONDITION_FAILED", + "413 PAYLOAD_TOO_LARGE", + "413 REQUEST_ENTITY_TOO_LARGE", + "414 URI_TOO_LONG", + "414 REQUEST_URI_TOO_LONG", + "415 UNSUPPORTED_MEDIA_TYPE", + "416 REQUESTED_RANGE_NOT_SATISFIABLE", + "417 EXPECTATION_FAILED", + "418 I_AM_A_TEAPOT", + "419 INSUFFICIENT_SPACE_ON_RESOURCE", + "420 METHOD_FAILURE", + "421 DESTINATION_LOCKED", + "422 UNPROCESSABLE_ENTITY", + "423 LOCKED", + "424 FAILED_DEPENDENCY", + "425 TOO_EARLY", + "426 UPGRADE_REQUIRED", + "428 PRECONDITION_REQUIRED", + "429 TOO_MANY_REQUESTS", + "431 REQUEST_HEADER_FIELDS_TOO_LARGE", + "451 UNAVAILABLE_FOR_LEGAL_REASONS", + "500 INTERNAL_SERVER_ERROR", + "501 NOT_IMPLEMENTED", + "502 BAD_GATEWAY", + "503 SERVICE_UNAVAILABLE", + "504 GATEWAY_TIMEOUT", + "505 HTTP_VERSION_NOT_SUPPORTED", + "506 VARIANT_ALSO_NEGOTIATES", + "507 INSUFFICIENT_STORAGE", + "508 LOOP_DETECTED", + "509 BANDWIDTH_LIMIT_EXCEEDED", + "510 NOT_EXTENDED", + "511 NETWORK_AUTHENTICATION_REQUIRED" + ] + }, + "errors": { + "type": "object", + "additionalProperties": { "type": "string" } + } + } + }, + "ComplaintDto": { + "required": ["content", "pageUrl", "userAgent", "userId"], + "type": "object", + "properties": { + "id": { "type": "string", "format": "uuid" }, + "objectType": { + "type": "string", + "enum": ["PAGE", "PLAYER", "USER", "COMMENT", "ANIME", "EPISODE"] + }, + "objectId": { "type": "string", "format": "uuid" }, + "userId": { "type": "string", "format": "uuid" }, + "pageUrl": { "maxLength": 255, "minLength": 0, "type": "string" }, + "userAgent": { "maxLength": 255, "minLength": 0, "type": "string" }, + "content": { "type": "string" }, + "createdAt": { "type": "string", "format": "date-time" }, + "complaintStatus": { + "type": "string", + "enum": ["OPEN", "IN_PROGRESS", "RESOLVED", "REJECTED"] + } + } + }, + "AnimeDTO": { + "type": "object", + "properties": { + "id": { "type": "string", "format": "uuid" }, + "primaryTitle": { "type": "string" }, + "titles": { + "type": "array", + "items": { "$ref": "#/components/schemas/AnimeTitleDTO" } + }, + "description": { "type": "string" }, + "releasedOn": { "type": "string", "format": "date" }, + "finishedOn": { "type": "string", "format": "date" }, + "episodesCount": { "type": "integer", "format": "int32" }, + "episodes": { + "type": "array", + "items": { "type": "string", "format": "uuid" } + }, + "status": { + "type": "string", + "enum": ["ANNOUNCE", "ONGOING", "RELEASED"] + }, + "type": { + "type": "string", + "enum": [ + "TV", + "MOVIE", + "OVA", + "ONA", + "SPECIAL", + "TV_SPECIAL", + "MUSIC", + "PV", + "CM" + ] + }, + "genres": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "DRAMA", + "GAME", + "PSYCHOLOGICAL", + "MUSIC", + "ACTION", + "COMEDY", + "DEMONS", + "POLICE", + "ECCHI", + "FANTASY", + "HENTAI", + "HISTORICAL", + "MAGIC", + "MECHA", + "PARODY", + "SAMURAI", + "ROMANCE", + "SCHOOL", + "SHOUNEN", + "VAMPIRE", + "YAOI", + "YURI", + "HAREM", + "SLICE_OF_LIFE", + "SHOUJO_AI", + "JOSEI", + "SUPERNATURAL", + "THRILLER", + "SCI_FI", + "SHOUJO", + "SUPER_POWER", + "MILITARY", + "MYSTERY", + "KIDS", + "CARS", + "MARTIAL_ARTS", + "DEMENTIA", + "SPORTS", + "SEINEN", + "SHOUNEN_AI", + "GOURMET", + "SPACE", + "WORK_LIFE", + "HORROR", + "ADVENTURE", + "EROTICA" + ] + } + }, + "studios": { + "type": "array", + "items": { "$ref": "#/components/schemas/StudioDTO" } + }, + "mpaaRating": { + "type": "string", + "enum": ["G", "PG", "PG_13", "R", "NC_17"] + }, + "duration": { "type": "integer", "format": "int32" }, + "shikimoriId": { "type": "string" } + } + }, + "AnimeTitleDTO": { + "type": "object", + "properties": { + "id": { "type": "string", "format": "uuid" }, + "animeId": { "type": "string", "format": "uuid" }, + "title": { "type": "string" }, + "languageCode": { "type": "string" }, + "titleType": { + "type": "string", + "enum": [ + "ORIGINAL", + "OFFICIAL", + "SYNONYM", + "SHORT", + "ROMAJI", + "TRANSLITERATION" + ] + }, + "isPrimary": { "type": "boolean" }, + "sortOrder": { "type": "integer", "format": "int32" } + } + }, + "CharacterDTO": { + "required": ["name"], + "type": "object", + "properties": { + "id": { "type": "string", "format": "uuid" }, + "name": { "maxLength": 63, "minLength": 0, "type": "string" }, + "surname": { "maxLength": 63, "minLength": 0, "type": "string" }, + "imageUrl": { "maxLength": 255, "minLength": 0, "type": "string" }, + "anime": { + "uniqueItems": true, + "type": "array", + "items": { "$ref": "#/components/schemas/AnimeDTO" } + } + } + }, + "StudioDTO": { + "type": "object", + "properties": { + "id": { "type": "string", "format": "uuid" }, + "name": { "type": "string" } + } + }, + "UpdateAnimeRequest": { + "required": [ + "description", + "duration", + "episodesCount", + "genres", + "id", + "mpaaRating", + "myanimelistId", + "primaryTitle", + "releasedOn", + "shikimoriId", + "status", + "type" + ], + "type": "object", + "properties": { + "id": { "type": "string", "format": "uuid" }, + "primaryTitle": { "type": "string" }, + "description": { "type": "string" }, + "airedOn": { "type": "string", "format": "date" }, + "releasedOn": { "type": "string", "format": "date" }, + "episodesCount": { "type": "integer", "format": "int32" }, + "status": { + "type": "string", + "enum": ["ANNOUNCE", "ONGOING", "RELEASED"] + }, + "type": { + "type": "string", + "enum": [ + "TV", + "MOVIE", + "OVA", + "ONA", + "SPECIAL", + "TV_SPECIAL", + "MUSIC", + "PV", + "CM" + ] + }, + "genres": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "DRAMA", + "GAME", + "PSYCHOLOGICAL", + "MUSIC", + "ACTION", + "COMEDY", + "DEMONS", + "POLICE", + "ECCHI", + "FANTASY", + "HENTAI", + "HISTORICAL", + "MAGIC", + "MECHA", + "PARODY", + "SAMURAI", + "ROMANCE", + "SCHOOL", + "SHOUNEN", + "VAMPIRE", + "YAOI", + "YURI", + "HAREM", + "SLICE_OF_LIFE", + "SHOUJO_AI", + "JOSEI", + "SUPERNATURAL", + "THRILLER", + "SCI_FI", + "SHOUJO", + "SUPER_POWER", + "MILITARY", + "MYSTERY", + "KIDS", + "CARS", + "MARTIAL_ARTS", + "DEMENTIA", + "SPORTS", + "SEINEN", + "SHOUNEN_AI", + "GOURMET", + "SPACE", + "WORK_LIFE", + "HORROR", + "ADVENTURE", + "EROTICA" + ] + } + }, + "mpaaRating": { + "type": "string", + "enum": ["G", "PG", "PG_13", "R", "NC_17"] + }, + "duration": { "type": "integer", "format": "int32" }, + "shikimoriId": { "type": "string" }, + "myanimelistId": { "type": "string" }, + "characters": { + "uniqueItems": true, + "type": "array", + "items": { "$ref": "#/components/schemas/CharacterDTO" } + } + } + }, + "UpdateAnimeGroupRequest": { + "type": "object", + "properties": { + "id": { "type": "string", "format": "uuid" }, + "name": { "type": "string" } + } + }, + "AnimeGroupDTO": { + "type": "object", + "properties": { + "id": { "type": "string", "format": "uuid" }, + "name": { "type": "string" }, + "animeIds": { + "type": "array", + "items": { "type": "string", "format": "uuid" } + } + } + }, + "DeleteAnimeFromGroupRequest": { + "type": "object", + "properties": { + "id": { "type": "string", "format": "uuid" }, + "animeIds": { + "type": "array", + "items": { "type": "string", "format": "uuid" } + } + } + }, + "AddAnimeToGroupRequest": { + "type": "object", + "properties": { + "id": { "type": "string", "format": "uuid" }, + "animeIds": { + "uniqueItems": true, + "type": "array", + "items": { "type": "string", "format": "uuid" } + } + } + }, + "UpdateEpisodeRequest": { + "required": ["isModerated", "title"], + "type": "object", + "properties": { + "title": { "type": "string" }, + "releasedOn": { "type": "string", "format": "date" }, + "isModerated": { "type": "boolean" } + } + }, + "AnimeCardDTO": { + "type": "object", + "properties": { + "id": { "type": "string", "format": "uuid" }, + "primaryTitle": { "type": "string" }, + "releasedOn": { "type": "string", "format": "date" }, + "mainGenre": { + "type": "string", + "enum": [ + "DRAMA", + "GAME", + "PSYCHOLOGICAL", + "MUSIC", + "ACTION", + "COMEDY", + "DEMONS", + "POLICE", + "ECCHI", + "FANTASY", + "HENTAI", + "HISTORICAL", + "MAGIC", + "MECHA", + "PARODY", + "SAMURAI", + "ROMANCE", + "SCHOOL", + "SHOUNEN", + "VAMPIRE", + "YAOI", + "YURI", + "HAREM", + "SLICE_OF_LIFE", + "SHOUJO_AI", + "JOSEI", + "SUPERNATURAL", + "THRILLER", + "SCI_FI", + "SHOUJO", + "SUPER_POWER", + "MILITARY", + "MYSTERY", + "KIDS", + "CARS", + "MARTIAL_ARTS", + "DEMENTIA", + "SPORTS", + "SEINEN", + "SHOUNEN_AI", + "GOURMET", + "SPACE", + "WORK_LIFE", + "HORROR", + "ADVENTURE", + "EROTICA" + ] + } + } + }, + "EpisodeDTO": { + "type": "object", + "properties": { + "id": { "type": "string", "format": "uuid" }, + "ordinalId": { "type": "integer", "format": "int32" }, + "title": { "type": "string" }, + "views": { "type": "integer", "format": "int32" }, + "likes": { "type": "integer", "format": "int32" }, + "dislikes": { "type": "integer", "format": "int32" }, + "anime": { "$ref": "#/components/schemas/AnimeCardDTO" }, + "releasedOn": { "type": "string", "format": "date" } + } + }, + "DubDTO": { + "type": "object", + "properties": { + "id": { "type": "string", "format": "uuid" }, + "name": { "type": "string" }, + "episodes": { + "type": "array", + "items": { "$ref": "#/components/schemas/EpisodeDTO" } + } + } + }, + "UpdateCommentRequest": { + "required": ["id", "text"], + "type": "object", + "properties": { + "id": { "type": "string", "format": "uuid" }, + "text": { "maxLength": 256, "minLength": 0, "type": "string" } + } + }, + "CommentAnswerDTO": { + "type": "object", + "properties": { + "id": { "type": "string", "format": "uuid" }, + "text": { "type": "string" } + } + }, + "CommentDTO": { + "type": "object", + "properties": { + "id": { "type": "string", "format": "uuid" }, + "text": { "type": "string" }, + "replies": { + "type": "array", + "items": { "$ref": "#/components/schemas/CommentAnswerDTO" } + } + } + }, + "CreateComplaintRequest": { + "required": ["content", "pageUrl", "userAgent", "userId"], + "type": "object", + "properties": { + "objectType": { + "type": "string", + "enum": ["PAGE", "PLAYER", "USER", "COMMENT", "ANIME", "EPISODE"] + }, + "objectId": { "type": "string", "format": "uuid" }, + "userId": { "type": "string", "format": "uuid" }, + "pageUrl": { "maxLength": 255, "minLength": 0, "type": "string" }, + "userAgent": { "maxLength": 255, "minLength": 0, "type": "string" }, + "content": { "type": "string" } + } + }, + "ComplaintSearchParams": { + "type": "object", + "properties": { + "text": { "type": "string" }, + "types": { + "type": "array", + "items": { + "type": "string", + "enum": ["PAGE", "PLAYER", "USER", "COMMENT", "ANIME", "EPISODE"] + } + }, + "statuses": { + "type": "array", + "items": { + "type": "string", + "enum": ["OPEN", "IN_PROGRESS", "RESOLVED", "REJECTED"] + } + }, + "userIds": { + "type": "array", + "items": { "type": "string", "format": "uuid" } + }, + "objectIds": { + "type": "array", + "items": { "type": "string", "format": "uuid" } + }, + "pageUrls": { "type": "array", "items": { "type": "string" } }, + "before": { "type": "string", "format": "date-time" }, + "after": { "type": "string", "format": "date-time" }, + "page": { "type": "integer", "format": "int32" }, + "size": { "type": "integer", "format": "int32" }, + "sortField": { "type": "string" }, + "direction": { "type": "string", "enum": ["ASC", "DESC"] }, + "pageable": { "$ref": "#/components/schemas/PageableObject" } + } + }, + "PageableObject": { + "type": "object", + "properties": { + "unpaged": { "type": "boolean" }, + "paged": { "type": "boolean" }, + "pageNumber": { "type": "integer", "format": "int32" }, + "pageSize": { "type": "integer", "format": "int32" }, + "sort": { + "type": "array", + "items": { "$ref": "#/components/schemas/SortObject" } + }, + "offset": { "type": "integer", "format": "int64" } + } + }, + "SortObject": { + "type": "object", + "properties": { + "direction": { "type": "string" }, + "nullHandling": { "type": "string" }, + "ascending": { "type": "boolean" }, + "property": { "type": "string" }, + "ignoreCase": { "type": "boolean" } + } + }, + "PageComplaintDto": { + "type": "object", + "properties": { + "totalElements": { "type": "integer", "format": "int64" }, + "totalPages": { "type": "integer", "format": "int32" }, + "pageable": { "$ref": "#/components/schemas/PageableObject" }, + "numberOfElements": { "type": "integer", "format": "int32" }, + "sort": { + "type": "array", + "items": { "$ref": "#/components/schemas/SortObject" } + }, + "first": { "type": "boolean" }, + "last": { "type": "boolean" }, + "size": { "type": "integer", "format": "int32" }, + "content": { + "type": "array", + "items": { "$ref": "#/components/schemas/ComplaintDto" } + }, + "number": { "type": "integer", "format": "int32" }, + "empty": { "type": "boolean" } + } + }, + "CreateAnimeRequest": { + "required": [ + "description", + "duration", + "genres", + "mainGenre", + "mpaaRating", + "myanimelistId", + "originalSource", + "primaryTitle", + "releasedOn", + "shikimoriId", + "status", + "type" + ], + "type": "object", + "properties": { + "primaryTitle": { "type": "string" }, + "description": { "type": "string" }, + "releasedOn": { "type": "string", "format": "date" }, + "finishedOn": { "type": "string", "format": "date" }, + "originalSource": { + "type": "string", + "enum": [ + "MANGA", + "GAME", + "LIGHT_NOVEL", + "FILM", + "RANOBE", + "MANHWA", + "MANHUA" + ] + }, + "status": { + "type": "string", + "enum": ["ANNOUNCE", "ONGOING", "RELEASED"] + }, + "type": { + "type": "string", + "enum": [ + "TV", + "MOVIE", + "OVA", + "ONA", + "SPECIAL", + "TV_SPECIAL", + "MUSIC", + "PV", + "CM" + ] + }, + "mainGenre": { + "type": "string", + "enum": [ + "DRAMA", + "GAME", + "PSYCHOLOGICAL", + "MUSIC", + "ACTION", + "COMEDY", + "DEMONS", + "POLICE", + "ECCHI", + "FANTASY", + "HENTAI", + "HISTORICAL", + "MAGIC", + "MECHA", + "PARODY", + "SAMURAI", + "ROMANCE", + "SCHOOL", + "SHOUNEN", + "VAMPIRE", + "YAOI", + "YURI", + "HAREM", + "SLICE_OF_LIFE", + "SHOUJO_AI", + "JOSEI", + "SUPERNATURAL", + "THRILLER", + "SCI_FI", + "SHOUJO", + "SUPER_POWER", + "MILITARY", + "MYSTERY", + "KIDS", + "CARS", + "MARTIAL_ARTS", + "DEMENTIA", + "SPORTS", + "SEINEN", + "SHOUNEN_AI", + "GOURMET", + "SPACE", + "WORK_LIFE", + "HORROR", + "ADVENTURE", + "EROTICA" + ] + }, + "genres": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "DRAMA", + "GAME", + "PSYCHOLOGICAL", + "MUSIC", + "ACTION", + "COMEDY", + "DEMONS", + "POLICE", + "ECCHI", + "FANTASY", + "HENTAI", + "HISTORICAL", + "MAGIC", + "MECHA", + "PARODY", + "SAMURAI", + "ROMANCE", + "SCHOOL", + "SHOUNEN", + "VAMPIRE", + "YAOI", + "YURI", + "HAREM", + "SLICE_OF_LIFE", + "SHOUJO_AI", + "JOSEI", + "SUPERNATURAL", + "THRILLER", + "SCI_FI", + "SHOUJO", + "SUPER_POWER", + "MILITARY", + "MYSTERY", + "KIDS", + "CARS", + "MARTIAL_ARTS", + "DEMENTIA", + "SPORTS", + "SEINEN", + "SHOUNEN_AI", + "GOURMET", + "SPACE", + "WORK_LIFE", + "HORROR", + "ADVENTURE", + "EROTICA" + ] + } + }, + "mpaaRating": { + "type": "string", + "enum": ["G", "PG", "PG_13", "R", "NC_17"] + }, + "duration": { "type": "integer", "format": "int32" }, + "shikimoriId": { "type": "string" }, + "myanimelistId": { "type": "string" }, + "characters": { + "uniqueItems": true, + "type": "array", + "items": { "$ref": "#/components/schemas/CharacterDTO" } + } + } + }, + "CreatedAnimeDTO": { + "type": "object", + "properties": { + "id": { "type": "string", "format": "uuid" }, + "primaryTitle": { "type": "string" }, + "description": { "type": "string" }, + "releasedOn": { "type": "string", "format": "date" }, + "episodesCount": { "type": "integer", "format": "int32" }, + "status": { + "type": "string", + "enum": ["ANNOUNCE", "ONGOING", "RELEASED"] + }, + "type": { + "type": "string", + "enum": [ + "TV", + "MOVIE", + "OVA", + "ONA", + "SPECIAL", + "TV_SPECIAL", + "MUSIC", + "PV", + "CM" + ] + }, + "genres": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "DRAMA", + "GAME", + "PSYCHOLOGICAL", + "MUSIC", + "ACTION", + "COMEDY", + "DEMONS", + "POLICE", + "ECCHI", + "FANTASY", + "HENTAI", + "HISTORICAL", + "MAGIC", + "MECHA", + "PARODY", + "SAMURAI", + "ROMANCE", + "SCHOOL", + "SHOUNEN", + "VAMPIRE", + "YAOI", + "YURI", + "HAREM", + "SLICE_OF_LIFE", + "SHOUJO_AI", + "JOSEI", + "SUPERNATURAL", + "THRILLER", + "SCI_FI", + "SHOUJO", + "SUPER_POWER", + "MILITARY", + "MYSTERY", + "KIDS", + "CARS", + "MARTIAL_ARTS", + "DEMENTIA", + "SPORTS", + "SEINEN", + "SHOUNEN_AI", + "GOURMET", + "SPACE", + "WORK_LIFE", + "HORROR", + "ADVENTURE", + "EROTICA" + ] + } + }, + "mpaaRating": { + "type": "string", + "enum": ["G", "PG", "PG_13", "R", "NC_17"] + }, + "duration": { "type": "integer", "format": "int32" }, + "characters": { + "uniqueItems": true, + "type": "array", + "items": { "$ref": "#/components/schemas/CharacterDTO" } + } + } + }, + "CreateAnimeTitleRequest": { + "required": [ + "animeId", + "isPrimary", + "languageCode", + "sortOrder", + "title", + "titleType" + ], + "type": "object", + "properties": { + "animeId": { "type": "string", "format": "uuid" }, + "title": { "type": "string" }, + "languageCode": { "type": "string" }, + "titleType": { + "type": "string", + "enum": [ + "ORIGINAL", + "OFFICIAL", + "SYNONYM", + "SHORT", + "ROMAJI", + "TRANSLITERATION" + ] + }, + "isPrimary": { "type": "boolean" }, + "sortOrder": { "type": "integer", "format": "int32" } + } + }, + "IncreasePopularityRequest": { + "type": "object", + "properties": { "animeId": { "type": "string", "format": "uuid" } } + }, + "CreateAnimeGroupRequest": { + "type": "object", + "properties": { "name": { "type": "string" } } + }, + "CreateEpisodeRequest": { + "required": ["animeId", "title"], + "type": "object", + "properties": { + "animeId": { "type": "string", "format": "uuid" }, + "title": { "type": "string" }, + "releasedOn": { "type": "string", "format": "date" } + } + }, + "CreateDubRequest": { + "required": ["name"], + "type": "object", + "properties": { "name": { "type": "string" } } + }, + "CreateCommentRequest": { + "required": ["text"], + "type": "object", + "properties": { + "text": { "maxLength": 256, "minLength": 0, "type": "string" }, + "objectId": { "type": "string", "format": "uuid" }, + "objectType": { "type": "string", "enum": ["EPISODE", "ANIME"] }, + "repliesTo": { "type": "string", "format": "uuid" } + } + }, + "UpdateAnimeTitleRequest": { + "type": "object", + "properties": { + "id": { "type": "string", "format": "uuid" }, + "animeId": { "type": "string", "format": "uuid" }, + "title": { "type": "string" }, + "languageCode": { "type": "string" }, + "titleType": { + "type": "string", + "enum": [ + "ORIGINAL", + "OFFICIAL", + "SYNONYM", + "SHORT", + "ROMAJI", + "TRANSLITERATION" + ] + }, + "isPrimary": { "type": "boolean" }, + "sortOrder": { "type": "integer", "format": "int32" } + } + }, + "AnimeSearchCriteria": { + "type": "object", + "properties": { + "includeGenres": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string", + "enum": [ + "DRAMA", + "GAME", + "PSYCHOLOGICAL", + "MUSIC", + "ACTION", + "COMEDY", + "DEMONS", + "POLICE", + "ECCHI", + "FANTASY", + "HENTAI", + "HISTORICAL", + "MAGIC", + "MECHA", + "PARODY", + "SAMURAI", + "ROMANCE", + "SCHOOL", + "SHOUNEN", + "VAMPIRE", + "YAOI", + "YURI", + "HAREM", + "SLICE_OF_LIFE", + "SHOUJO_AI", + "JOSEI", + "SUPERNATURAL", + "THRILLER", + "SCI_FI", + "SHOUJO", + "SUPER_POWER", + "MILITARY", + "MYSTERY", + "KIDS", + "CARS", + "MARTIAL_ARTS", + "DEMENTIA", + "SPORTS", + "SEINEN", + "SHOUNEN_AI", + "GOURMET", + "SPACE", + "WORK_LIFE", + "HORROR", + "ADVENTURE", + "EROTICA" + ] + } + }, + "excludeGenres": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string", + "enum": [ + "DRAMA", + "GAME", + "PSYCHOLOGICAL", + "MUSIC", + "ACTION", + "COMEDY", + "DEMONS", + "POLICE", + "ECCHI", + "FANTASY", + "HENTAI", + "HISTORICAL", + "MAGIC", + "MECHA", + "PARODY", + "SAMURAI", + "ROMANCE", + "SCHOOL", + "SHOUNEN", + "VAMPIRE", + "YAOI", + "YURI", + "HAREM", + "SLICE_OF_LIFE", + "SHOUJO_AI", + "JOSEI", + "SUPERNATURAL", + "THRILLER", + "SCI_FI", + "SHOUJO", + "SUPER_POWER", + "MILITARY", + "MYSTERY", + "KIDS", + "CARS", + "MARTIAL_ARTS", + "DEMENTIA", + "SPORTS", + "SEINEN", + "SHOUNEN_AI", + "GOURMET", + "SPACE", + "WORK_LIFE", + "HORROR", + "ADVENTURE", + "EROTICA" + ] + } + }, + "status": { + "type": "string", + "enum": ["ANNOUNCE", "ONGOING", "RELEASED"] + }, + "studioId": { "type": "string", "format": "uuid" }, + "type": { + "type": "string", + "enum": [ + "TV", + "MOVIE", + "OVA", + "ONA", + "SPECIAL", + "TV_SPECIAL", + "MUSIC", + "PV", + "CM" + ] + } + } + }, + "Pageable": { + "type": "object", + "properties": { + "page": { "minimum": 0, "type": "integer", "format": "int32" }, + "size": { "minimum": 1, "type": "integer", "format": "int32" }, + "sort": { "type": "array", "items": { "type": "string" } } + } + }, + "Page": { + "type": "object", + "properties": { + "totalElements": { "type": "integer", "format": "int64" }, + "totalPages": { "type": "integer", "format": "int32" }, + "pageable": { "$ref": "#/components/schemas/PageableObject" }, + "numberOfElements": { "type": "integer", "format": "int32" }, + "sort": { + "type": "array", + "items": { "$ref": "#/components/schemas/SortObject" } + }, + "first": { "type": "boolean" }, + "last": { "type": "boolean" }, + "size": { "type": "integer", "format": "int32" }, + "content": { "type": "array", "items": { "type": "object" } }, + "number": { "type": "integer", "format": "int32" }, + "empty": { "type": "boolean" } + } + }, + "PageAnimeCardDTO": { + "type": "object", + "properties": { + "totalElements": { "type": "integer", "format": "int64" }, + "totalPages": { "type": "integer", "format": "int32" }, + "pageable": { "$ref": "#/components/schemas/PageableObject" }, + "numberOfElements": { "type": "integer", "format": "int32" }, + "sort": { + "type": "array", + "items": { "$ref": "#/components/schemas/SortObject" } + }, + "first": { "type": "boolean" }, + "last": { "type": "boolean" }, + "size": { "type": "integer", "format": "int32" }, + "content": { + "type": "array", + "items": { "$ref": "#/components/schemas/AnimeCardDTO" } + }, + "number": { "type": "integer", "format": "int32" }, + "empty": { "type": "boolean" } + } + }, + "PageAnimeTitleDTO": { + "type": "object", + "properties": { + "totalElements": { "type": "integer", "format": "int64" }, + "totalPages": { "type": "integer", "format": "int32" }, + "pageable": { "$ref": "#/components/schemas/PageableObject" }, + "numberOfElements": { "type": "integer", "format": "int32" }, + "sort": { + "type": "array", + "items": { "$ref": "#/components/schemas/SortObject" } + }, + "first": { "type": "boolean" }, + "last": { "type": "boolean" }, + "size": { "type": "integer", "format": "int32" }, + "content": { + "type": "array", + "items": { "$ref": "#/components/schemas/AnimeTitleDTO" } + }, + "number": { "type": "integer", "format": "int32" }, + "empty": { "type": "boolean" } + } + }, + "AdminEpisodeDTO": { + "type": "object", + "properties": { + "id": { "type": "string", "format": "uuid" }, + "ordinalId": { "type": "integer", "format": "int32" }, + "title": { "type": "string" }, + "views": { "type": "integer", "format": "int32" }, + "likes": { "type": "integer", "format": "int32" }, + "dislikes": { "type": "integer", "format": "int32" }, + "anime": { "$ref": "#/components/schemas/AnimeCardDTO" }, + "releasedOn": { "type": "string", "format": "date" }, + "isModerated": { "type": "boolean" }, + "lastModeratedBy": { "type": "string", "format": "uuid" } + } + } + } + } +} diff --git a/app/(main)/test/Genres/Genres.tsx b/app/(main)/test/Genres/Genres.tsx new file mode 100644 index 0000000..6df6bc3 --- /dev/null +++ b/app/(main)/test/Genres/Genres.tsx @@ -0,0 +1,27 @@ +"use client"; + +import { useGetAllGenres } from "@/app/api/generated"; +import { routesMapping } from "@/app/api/helpers"; +import { ROUTES } from "@/app/api/types"; +import React from "react"; + +export const Genres: React.FC = () => { + const { data: genres, isPending } = useGetAllGenres({ + client: routesMapping(ROUTES.ANIME_GENRES), + }); + + console.log({ genres }); + + if (!genres || isPending) { + return null; + } + + return ( +
+ {genres.map((genre) => ( + /* @ts-expect-error */ +
{genre.value}
+ ))} +
+ ); +}; diff --git a/app/(main)/test/Genres/index.ts b/app/(main)/test/Genres/index.ts new file mode 100644 index 0000000..67bad59 --- /dev/null +++ b/app/(main)/test/Genres/index.ts @@ -0,0 +1 @@ +export * from "./Genres"; diff --git a/app/(main)/test/page.tsx b/app/(main)/test/page.tsx new file mode 100644 index 0000000..702f13a --- /dev/null +++ b/app/(main)/test/page.tsx @@ -0,0 +1,35 @@ +import { getAllGenresQueryOptions } from "@/app/api/generated"; +import { routesMapping } from "@/app/api/helpers"; +import { ROUTES } from "@/app/api/types"; +import { + dehydrate, + HydrationBoundary, + QueryClient, +} from "@tanstack/react-query"; +import { NextPage } from "next"; +import { Suspense } from "react"; +import { Genres } from "./Genres"; + +const PageSuspense: NextPage = async () => { + const queryClient = new QueryClient(); + + await queryClient.prefetchQuery( + getAllGenresQueryOptions(routesMapping(ROUTES.ANIME_GENRES)), + ); + + return ( + + + + ); +}; + +const Page: NextPage = () => { + return ( + Загрузка...

}> + +
+ ); +}; + +export default Page; diff --git a/app/api/client/axios.ts b/app/api/client/axios.ts new file mode 100644 index 0000000..747ce66 --- /dev/null +++ b/app/api/client/axios.ts @@ -0,0 +1,44 @@ +import { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios' + +import { clientInstance } from '../instances' + +export type ResponseErrorConfig = AxiosError + +export type RequestConfig = { + url?: string + method: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' + params?: unknown + data?: TData + responseType?: + | 'arraybuffer' + | 'blob' + | 'document' + | 'json' + | 'text' + | 'stream' + signal?: AbortSignal + headers?: AxiosRequestConfig['headers'] +} + +export type ResponseConfig = { + data: TData + status: number + statusText: string + headers?: AxiosResponse['headers'] +} + +export const client = async < + TData, + TError = unknown, + TVariables = unknown, +>( + config: RequestConfig +): Promise> => { + const promise = clientInstance + .request>({ ...config }) + .catch((e: AxiosError) => { + throw e + }) + + return promise +} diff --git a/app/api/client/index.ts b/app/api/client/index.ts new file mode 100644 index 0000000..4b6fd95 --- /dev/null +++ b/app/api/client/index.ts @@ -0,0 +1,2 @@ +export { client as default } from './axios' +export * from './axios' diff --git a/app/api/generated/clients/axios/animeControllerService/animeControllerService.ts b/app/api/generated/clients/axios/animeControllerService/animeControllerService.ts new file mode 100644 index 0000000..bb2a6a0 --- /dev/null +++ b/app/api/generated/clients/axios/animeControllerService/animeControllerService.ts @@ -0,0 +1,37 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import { createAnime } from './createAnime.ts' +import { deleteById } from './deleteById.ts' +import { findById } from './findById.ts' +import { findSimilar } from './findSimilar.ts' +import { getAllGenres } from './getAllGenres.ts' +import { getAllMpaaRatings } from './getAllMpaaRatings.ts' +import { getAllStatuses } from './getAllStatuses.ts' +import { getAllTypes } from './getAllTypes.ts' +import { getPage } from './getPage.ts' +import { increasePopularity } from './increasePopularity.ts' +import { updateById } from './updateById.ts' + +export function animeControllerService() { + return { + getPage, + updateById, + createAnime, + increasePopularity, + findById, + deleteById, + findSimilar, + getAllTypes, + getAllStatuses, + getAllMpaaRatings, + getAllGenres, + } +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/animeControllerService/createAnime.ts b/app/api/generated/clients/axios/animeControllerService/createAnime.ts new file mode 100644 index 0000000..9462c51 --- /dev/null +++ b/app/api/generated/clients/axios/animeControllerService/createAnime.ts @@ -0,0 +1,37 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { CreateAnimeMutationRequest, CreateAnimeMutationResponse, CreateAnime400 } from '../../../types/animeControllerController/CreateAnime.ts' + +function getCreateAnimeUrl() { + return `/api/v1/anime` as const +} + +/** + * @summary Создание аниме + * {@link /api/v1/anime} + */ +export async function createAnime( + data: CreateAnimeMutationRequest, + config: Partial> & { client?: typeof fetch } = {}, +) { + const { client: request = fetch, ...requestConfig } = config + + const requestData = data + const res = await request, CreateAnimeMutationRequest>({ + method: 'POST', + url: getCreateAnimeUrl().toString(), + data: requestData, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/animeControllerService/deleteById.ts b/app/api/generated/clients/axios/animeControllerService/deleteById.ts new file mode 100644 index 0000000..b636a25 --- /dev/null +++ b/app/api/generated/clients/axios/animeControllerService/deleteById.ts @@ -0,0 +1,32 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { DeleteByIdMutationResponse, DeleteByIdPathParams } from '../../../types/animeControllerController/DeleteById.ts' + +function getDeleteByIdUrl(id: DeleteByIdPathParams['id']) { + return `/api/v1/anime/${id}` as const +} + +/** + * @summary Удаление аниме + * {@link /api/v1/anime/:id} + */ +export async function deleteById(id: DeleteByIdPathParams['id'], config: Partial & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'DELETE', + url: getDeleteByIdUrl(id).toString(), + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/animeControllerService/findById.ts b/app/api/generated/clients/axios/animeControllerService/findById.ts new file mode 100644 index 0000000..2daa7e0 --- /dev/null +++ b/app/api/generated/clients/axios/animeControllerService/findById.ts @@ -0,0 +1,32 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { FindByIdQueryResponse, FindByIdPathParams, FindById404 } from '../../../types/animeControllerController/FindById.ts' + +function getFindByIdUrl(id: FindByIdPathParams['id']) { + return `/api/v1/anime/${id}` as const +} + +/** + * @summary Поиск аниме по id + * {@link /api/v1/anime/:id} + */ +export async function findById(id: FindByIdPathParams['id'], config: Partial & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'GET', + url: getFindByIdUrl(id).toString(), + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/animeControllerService/findSimilar.ts b/app/api/generated/clients/axios/animeControllerService/findSimilar.ts new file mode 100644 index 0000000..fb0dca3 --- /dev/null +++ b/app/api/generated/clients/axios/animeControllerService/findSimilar.ts @@ -0,0 +1,37 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { FindSimilarQueryResponse, FindSimilarPathParams, FindSimilarQueryParams } from '../../../types/animeControllerController/FindSimilar.ts' + +function getFindSimilarUrl(animeId: FindSimilarPathParams['animeId']) { + return `/api/v1/anime/${animeId}/similar` as const +} + +/** + * @summary Получение страницы похожих аниме по animeId + * {@link /api/v1/anime/:animeId/similar} + */ +export async function findSimilar( + animeId: FindSimilarPathParams['animeId'], + params: FindSimilarQueryParams, + config: Partial & { client?: typeof fetch } = {}, +) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'GET', + url: getFindSimilarUrl(animeId).toString(), + params, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/animeControllerService/getAllGenres.ts b/app/api/generated/clients/axios/animeControllerService/getAllGenres.ts new file mode 100644 index 0000000..029a6b9 --- /dev/null +++ b/app/api/generated/clients/axios/animeControllerService/getAllGenres.ts @@ -0,0 +1,32 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { GetAllGenresQueryResponse } from '../../../types/animeControllerController/GetAllGenres.ts' + +function getGetAllGenresUrl() { + return `/api/v1/anime/genres` as const +} + +/** + * @summary Получение списка влзможных жанров аниме + * {@link /api/v1/anime/genres} + */ +export async function getAllGenres(config: Partial & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'GET', + url: getGetAllGenresUrl().toString(), + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/animeControllerService/getAllMpaaRatings.ts b/app/api/generated/clients/axios/animeControllerService/getAllMpaaRatings.ts new file mode 100644 index 0000000..f08acdb --- /dev/null +++ b/app/api/generated/clients/axios/animeControllerService/getAllMpaaRatings.ts @@ -0,0 +1,32 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { GetAllMpaaRatingsQueryResponse } from '../../../types/animeControllerController/GetAllMpaaRatings.ts' + +function getGetAllMpaaRatingsUrl() { + return `/api/v1/anime/mpaaratings` as const +} + +/** + * @summary Получение списка влзможных mpa рейтингов + * {@link /api/v1/anime/mpaaratings} + */ +export async function getAllMpaaRatings(config: Partial & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'GET', + url: getGetAllMpaaRatingsUrl().toString(), + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/animeControllerService/getAllStatuses.ts b/app/api/generated/clients/axios/animeControllerService/getAllStatuses.ts new file mode 100644 index 0000000..f2f05c6 --- /dev/null +++ b/app/api/generated/clients/axios/animeControllerService/getAllStatuses.ts @@ -0,0 +1,32 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { GetAllStatusesQueryResponse } from '../../../types/animeControllerController/GetAllStatuses.ts' + +function getGetAllStatusesUrl() { + return `/api/v1/anime/statuses` as const +} + +/** + * @summary Получение списка влзможных статусов аниме + * {@link /api/v1/anime/statuses} + */ +export async function getAllStatuses(config: Partial & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'GET', + url: getGetAllStatusesUrl().toString(), + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/animeControllerService/getAllTypes.ts b/app/api/generated/clients/axios/animeControllerService/getAllTypes.ts new file mode 100644 index 0000000..f6f2a6f --- /dev/null +++ b/app/api/generated/clients/axios/animeControllerService/getAllTypes.ts @@ -0,0 +1,32 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { GetAllTypesQueryResponse } from '../../../types/animeControllerController/GetAllTypes.ts' + +function getGetAllTypesUrl() { + return `/api/v1/anime/types` as const +} + +/** + * @summary Получение списка влзможных типов аниме + * {@link /api/v1/anime/types} + */ +export async function getAllTypes(config: Partial & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'GET', + url: getGetAllTypesUrl().toString(), + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/animeControllerService/getPage.ts b/app/api/generated/clients/axios/animeControllerService/getPage.ts new file mode 100644 index 0000000..8ac676c --- /dev/null +++ b/app/api/generated/clients/axios/animeControllerService/getPage.ts @@ -0,0 +1,34 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { GetPageQueryResponse, GetPageQueryParams, GetPage400 } from '../../../types/animeControllerController/GetPage.ts' + +function getGetPageUrl() { + return `/api/v1/anime` as const +} + +/** + * @description Возвращает страницу AnimeDto/AnimeCardDto в зависимости от параметра запроса dtoType + * @summary Поиск аниме по параметрам + * {@link /api/v1/anime} + */ +export async function getPage(params: GetPageQueryParams, config: Partial & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'GET', + url: getGetPageUrl().toString(), + params, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/animeControllerService/increasePopularity.ts b/app/api/generated/clients/axios/animeControllerService/increasePopularity.ts new file mode 100644 index 0000000..88c7ab9 --- /dev/null +++ b/app/api/generated/clients/axios/animeControllerService/increasePopularity.ts @@ -0,0 +1,37 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { IncreasePopularityMutationRequest, IncreasePopularityMutationResponse } from '../../../types/animeControllerController/IncreasePopularity.ts' + +function getIncreasePopularityUrl() { + return `/api/v1/anime/increasePopularity` as const +} + +/** + * @summary Увеличение популярности аниме по id на 1 + * {@link /api/v1/anime/increasePopularity} + */ +export async function increasePopularity( + data?: IncreasePopularityMutationRequest, + config: Partial> & { client?: typeof fetch } = {}, +) { + const { client: request = fetch, ...requestConfig } = config + + const requestData = data + const res = await request, IncreasePopularityMutationRequest>({ + method: 'POST', + url: getIncreasePopularityUrl().toString(), + data: requestData, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/animeControllerService/updateById.ts b/app/api/generated/clients/axios/animeControllerService/updateById.ts new file mode 100644 index 0000000..e8c5750 --- /dev/null +++ b/app/api/generated/clients/axios/animeControllerService/updateById.ts @@ -0,0 +1,34 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UpdateByIdMutationRequest, UpdateByIdMutationResponse, UpdateById404 } from '../../../types/animeControllerController/UpdateById.ts' + +function getUpdateByIdUrl() { + return `/api/v1/anime` as const +} + +/** + * @summary Обновление аниме + * {@link /api/v1/anime} + */ +export async function updateById(data: UpdateByIdMutationRequest, config: Partial> & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const requestData = data + const res = await request, UpdateByIdMutationRequest>({ + method: 'PUT', + url: getUpdateByIdUrl().toString(), + data: requestData, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/commentsControllerService/commentsControllerService.ts b/app/api/generated/clients/axios/commentsControllerService/commentsControllerService.ts new file mode 100644 index 0000000..ed9c09d --- /dev/null +++ b/app/api/generated/clients/axios/commentsControllerService/commentsControllerService.ts @@ -0,0 +1,19 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import { createComment } from './createComment.ts' +import { deleteComment } from './deleteComment.ts' +import { getCommentsById } from './getCommentsById.ts' +import { getCommentsByUser } from './getCommentsByUser.ts' +import { updateComment } from './updateComment.ts' + +export function commentsControllerService() { + return { updateComment, createComment, getCommentsByUser, getCommentsById, deleteComment } +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/commentsControllerService/createComment.ts b/app/api/generated/clients/axios/commentsControllerService/createComment.ts new file mode 100644 index 0000000..4931edf --- /dev/null +++ b/app/api/generated/clients/axios/commentsControllerService/createComment.ts @@ -0,0 +1,42 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { + CreateCommentMutationRequest, + CreateCommentMutationResponse, + CreateComment400, + CreateComment404, +} from '../../../types/commentsControllerController/CreateComment.ts' + +function getCreateCommentUrl() { + return `/api/v1/anime/comments` as const +} + +/** + * @summary Создание комментария + * {@link /api/v1/anime/comments} + */ +export async function createComment( + data: CreateCommentMutationRequest, + config: Partial> & { client?: typeof fetch } = {}, +) { + const { client: request = fetch, ...requestConfig } = config + + const requestData = data + const res = await request, CreateCommentMutationRequest>({ + method: 'POST', + url: getCreateCommentUrl().toString(), + data: requestData, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/commentsControllerService/deleteComment.ts b/app/api/generated/clients/axios/commentsControllerService/deleteComment.ts new file mode 100644 index 0000000..dd0905d --- /dev/null +++ b/app/api/generated/clients/axios/commentsControllerService/deleteComment.ts @@ -0,0 +1,37 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { + DeleteCommentMutationResponse, + DeleteCommentPathParams, + DeleteComment400, + DeleteComment404, +} from '../../../types/commentsControllerController/DeleteComment.ts' + +function getDeleteCommentUrl(id: DeleteCommentPathParams['id']) { + return `/api/v1/anime/comments/${id}` as const +} + +/** + * @summary Удаление комментария по id + * {@link /api/v1/anime/comments/:id} + */ +export async function deleteComment(id: DeleteCommentPathParams['id'], config: Partial & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'DELETE', + url: getDeleteCommentUrl(id).toString(), + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/commentsControllerService/getCommentsById.ts b/app/api/generated/clients/axios/commentsControllerService/getCommentsById.ts new file mode 100644 index 0000000..11cd7dd --- /dev/null +++ b/app/api/generated/clients/axios/commentsControllerService/getCommentsById.ts @@ -0,0 +1,42 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { + GetCommentsByIdQueryResponse, + GetCommentsByIdPathParams, + GetCommentsByIdQueryParams, +} from '../../../types/commentsControllerController/GetCommentsById.ts' + +function getGetCommentsByIdUrl(type: GetCommentsByIdPathParams['type'], id: GetCommentsByIdPathParams['id']) { + return `/api/v1/anime/comments/by-type-and-id/${type}/${id}` as const +} + +/** + * @summary Постраничное получение всех комментариев пользователя по id пользователя с фильтрацией по типу комментария + * {@link /api/v1/anime/comments/by-type-and-id/:type/:id} + */ +export async function getCommentsById( + type: GetCommentsByIdPathParams['type'], + id: GetCommentsByIdPathParams['id'], + params: GetCommentsByIdQueryParams, + config: Partial & { client?: typeof fetch } = {}, +) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'GET', + url: getGetCommentsByIdUrl(type, id).toString(), + params, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/commentsControllerService/getCommentsByUser.ts b/app/api/generated/clients/axios/commentsControllerService/getCommentsByUser.ts new file mode 100644 index 0000000..5c403c6 --- /dev/null +++ b/app/api/generated/clients/axios/commentsControllerService/getCommentsByUser.ts @@ -0,0 +1,41 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { + GetCommentsByUserQueryResponse, + GetCommentsByUserPathParams, + GetCommentsByUserQueryParams, +} from '../../../types/commentsControllerController/GetCommentsByUser.ts' + +function getGetCommentsByUserUrl(id: GetCommentsByUserPathParams['id']) { + return `/api/v1/anime/comments/by-user/${id}` as const +} + +/** + * @summary Постраничное получение всех комментариев пользователя по id пользователя + * {@link /api/v1/anime/comments/by-user/:id} + */ +export async function getCommentsByUser( + id: GetCommentsByUserPathParams['id'], + params: GetCommentsByUserQueryParams, + config: Partial & { client?: typeof fetch } = {}, +) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'GET', + url: getGetCommentsByUserUrl(id).toString(), + params, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/commentsControllerService/updateComment.ts b/app/api/generated/clients/axios/commentsControllerService/updateComment.ts new file mode 100644 index 0000000..7821cda --- /dev/null +++ b/app/api/generated/clients/axios/commentsControllerService/updateComment.ts @@ -0,0 +1,42 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { + UpdateCommentMutationRequest, + UpdateCommentMutationResponse, + UpdateComment400, + UpdateComment404, +} from '../../../types/commentsControllerController/UpdateComment.ts' + +function getUpdateCommentUrl() { + return `/api/v1/anime/comments` as const +} + +/** + * @summary Удаление комментария по id + * {@link /api/v1/anime/comments} + */ +export async function updateComment( + data: UpdateCommentMutationRequest, + config: Partial> & { client?: typeof fetch } = {}, +) { + const { client: request = fetch, ...requestConfig } = config + + const requestData = data + const res = await request, UpdateCommentMutationRequest>({ + method: 'PUT', + url: getUpdateCommentUrl().toString(), + data: requestData, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/complaintControllerService/complaintControllerService.ts b/app/api/generated/clients/axios/complaintControllerService/complaintControllerService.ts new file mode 100644 index 0000000..5914c4a --- /dev/null +++ b/app/api/generated/clients/axios/complaintControllerService/complaintControllerService.ts @@ -0,0 +1,18 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import { createComplaint } from './createComplaint.ts' +import { getComplaintById } from './getComplaintById.ts' +import { getComplaints } from './getComplaints.ts' +import { updateComplaintStatus } from './updateComplaintStatus.ts' + +export function complaintControllerService() { + return { getComplaintById, updateComplaintStatus, createComplaint, getComplaints } +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/complaintControllerService/createComplaint.ts b/app/api/generated/clients/axios/complaintControllerService/createComplaint.ts new file mode 100644 index 0000000..4c4b42f --- /dev/null +++ b/app/api/generated/clients/axios/complaintControllerService/createComplaint.ts @@ -0,0 +1,41 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { + CreateComplaintMutationRequest, + CreateComplaintMutationResponse, + CreateComplaint400, +} from '../../../types/complaintControllerController/CreateComplaint.ts' + +function getCreateComplaintUrl() { + return `/api/v1/complaint` as const +} + +/** + * @summary Создание жалобы + * {@link /api/v1/complaint} + */ +export async function createComplaint( + data: CreateComplaintMutationRequest, + config: Partial> & { client?: typeof fetch } = {}, +) { + const { client: request = fetch, ...requestConfig } = config + + const requestData = data + const res = await request, CreateComplaintMutationRequest>({ + method: 'POST', + url: getCreateComplaintUrl().toString(), + data: requestData, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/complaintControllerService/getComplaintById.ts b/app/api/generated/clients/axios/complaintControllerService/getComplaintById.ts new file mode 100644 index 0000000..a5defaf --- /dev/null +++ b/app/api/generated/clients/axios/complaintControllerService/getComplaintById.ts @@ -0,0 +1,39 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { + GetComplaintByIdQueryResponse, + GetComplaintByIdPathParams, + GetComplaintById404, +} from '../../../types/complaintControllerController/GetComplaintById.ts' + +function getGetComplaintByIdUrl(complaintId: GetComplaintByIdPathParams['complaintId']) { + return `/api/v1/complaint/${complaintId}` as const +} + +/** + * @summary Получение жалобы по id + * {@link /api/v1/complaint/:complaintId} + */ +export async function getComplaintById( + complaintId: GetComplaintByIdPathParams['complaintId'], + config: Partial & { client?: typeof fetch } = {}, +) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'GET', + url: getGetComplaintByIdUrl(complaintId).toString(), + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/complaintControllerService/getComplaints.ts b/app/api/generated/clients/axios/complaintControllerService/getComplaints.ts new file mode 100644 index 0000000..9e12ab9 --- /dev/null +++ b/app/api/generated/clients/axios/complaintControllerService/getComplaints.ts @@ -0,0 +1,37 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { GetComplaintsMutationRequest, GetComplaintsMutationResponse } from '../../../types/complaintControllerController/GetComplaints.ts' + +function getGetComplaintsUrl() { + return `/api/v1/complaint/search` as const +} + +/** + * @summary Поиск жалоб по фильтрам + * {@link /api/v1/complaint/search} + */ +export async function getComplaints( + data?: GetComplaintsMutationRequest, + config: Partial> & { client?: typeof fetch } = {}, +) { + const { client: request = fetch, ...requestConfig } = config + + const requestData = data + const res = await request, GetComplaintsMutationRequest>({ + method: 'POST', + url: getGetComplaintsUrl().toString(), + data: requestData, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/complaintControllerService/updateComplaintStatus.ts b/app/api/generated/clients/axios/complaintControllerService/updateComplaintStatus.ts new file mode 100644 index 0000000..7bcbc71 --- /dev/null +++ b/app/api/generated/clients/axios/complaintControllerService/updateComplaintStatus.ts @@ -0,0 +1,42 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { + UpdateComplaintStatusMutationResponse, + UpdateComplaintStatusPathParams, + UpdateComplaintStatusQueryParams, + UpdateComplaintStatus404, +} from '../../../types/complaintControllerController/UpdateComplaintStatus.ts' + +function getUpdateComplaintStatusUrl(complaintId: UpdateComplaintStatusPathParams['complaintId']) { + return `/api/v1/complaint/${complaintId}` as const +} + +/** + * @summary Измененение статуса жалобы + * {@link /api/v1/complaint/:complaintId} + */ +export async function updateComplaintStatus( + complaintId: UpdateComplaintStatusPathParams['complaintId'], + params: UpdateComplaintStatusQueryParams, + config: Partial & { client?: typeof fetch } = {}, +) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'PUT', + url: getUpdateComplaintStatusUrl(complaintId).toString(), + params, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/dubControllerService/addDubToEpisode.ts b/app/api/generated/clients/axios/dubControllerService/addDubToEpisode.ts new file mode 100644 index 0000000..42e003c --- /dev/null +++ b/app/api/generated/clients/axios/dubControllerService/addDubToEpisode.ts @@ -0,0 +1,36 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { AddDubToEpisodeMutationResponse, AddDubToEpisodePathParams, AddDubToEpisode404 } from '../../../types/dubControllerController/AddDubToEpisode.ts' + +function getAddDubToEpisodeUrl(dubId: AddDubToEpisodePathParams['dubId'], episodeId: AddDubToEpisodePathParams['episodeId']) { + return `/api/v1/anime/dubs/${dubId}/episodes/${episodeId}` as const +} + +/** + * @summary Добавление дубляжа к эпизоду + * {@link /api/v1/anime/dubs/:dubId/episodes/:episodeId} + */ +export async function addDubToEpisode( + dubId: AddDubToEpisodePathParams['dubId'], + episodeId: AddDubToEpisodePathParams['episodeId'], + config: Partial & { client?: typeof fetch } = {}, +) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'POST', + url: getAddDubToEpisodeUrl(dubId, episodeId).toString(), + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/dubControllerService/createDub.ts b/app/api/generated/clients/axios/dubControllerService/createDub.ts new file mode 100644 index 0000000..adb28f5 --- /dev/null +++ b/app/api/generated/clients/axios/dubControllerService/createDub.ts @@ -0,0 +1,34 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { CreateDubMutationRequest, CreateDubMutationResponse } from '../../../types/dubControllerController/CreateDub.ts' + +function getCreateDubUrl() { + return `/api/v1/anime/dubs` as const +} + +/** + * @summary Создание дубляжа + * {@link /api/v1/anime/dubs} + */ +export async function createDub(data: CreateDubMutationRequest, config: Partial> & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const requestData = data + const res = await request, CreateDubMutationRequest>({ + method: 'POST', + url: getCreateDubUrl().toString(), + data: requestData, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/dubControllerService/deleteDub.ts b/app/api/generated/clients/axios/dubControllerService/deleteDub.ts new file mode 100644 index 0000000..331937e --- /dev/null +++ b/app/api/generated/clients/axios/dubControllerService/deleteDub.ts @@ -0,0 +1,32 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { DeleteDubMutationResponse, DeleteDubPathParams } from '../../../types/dubControllerController/DeleteDub.ts' + +function getDeleteDubUrl(id: DeleteDubPathParams['id']) { + return `/api/v1/anime/dubs/${id}` as const +} + +/** + * @summary Удаление дубляжа + * {@link /api/v1/anime/dubs/:id} + */ +export async function deleteDub(id: DeleteDubPathParams['id'], config: Partial & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'DELETE', + url: getDeleteDubUrl(id).toString(), + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/dubControllerService/dubControllerService.ts b/app/api/generated/clients/axios/dubControllerService/dubControllerService.ts new file mode 100644 index 0000000..3597e42 --- /dev/null +++ b/app/api/generated/clients/axios/dubControllerService/dubControllerService.ts @@ -0,0 +1,21 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import { addDubToEpisode } from './addDubToEpisode.ts' +import { createDub } from './createDub.ts' +import { deleteDub } from './deleteDub.ts' +import { getDubById } from './getDubById.ts' +import { getDubsByEpisode } from './getDubsByEpisode.ts' +import { removeDubFromEpisode } from './removeDubFromEpisode.ts' +import { updateDubName } from './updateDubName.ts' + +export function dubControllerService() { + return { getDubById, updateDubName, deleteDub, createDub, addDubToEpisode, removeDubFromEpisode, getDubsByEpisode } +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/dubControllerService/getDubById.ts b/app/api/generated/clients/axios/dubControllerService/getDubById.ts new file mode 100644 index 0000000..312512a --- /dev/null +++ b/app/api/generated/clients/axios/dubControllerService/getDubById.ts @@ -0,0 +1,32 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { GetDubByIdQueryResponse, GetDubByIdPathParams, GetDubById404 } from '../../../types/dubControllerController/GetDubById.ts' + +function getGetDubByIdUrl(id: GetDubByIdPathParams['id']) { + return `/api/v1/anime/dubs/${id}` as const +} + +/** + * @summary Получение дубляжа по id + * {@link /api/v1/anime/dubs/:id} + */ +export async function getDubById(id: GetDubByIdPathParams['id'], config: Partial & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'GET', + url: getGetDubByIdUrl(id).toString(), + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/dubControllerService/getDubsByEpisode.ts b/app/api/generated/clients/axios/dubControllerService/getDubsByEpisode.ts new file mode 100644 index 0000000..901adcf --- /dev/null +++ b/app/api/generated/clients/axios/dubControllerService/getDubsByEpisode.ts @@ -0,0 +1,33 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { GetDubsByEpisodeQueryResponse, GetDubsByEpisodePathParams } from '../../../types/dubControllerController/GetDubsByEpisode.ts' + +function getGetDubsByEpisodeUrl(episodeID: GetDubsByEpisodePathParams['episodeID']) { + return `/api/v1/anime/dubs/by-episode/${episodeID}/all` as const +} + +/** + * @description В случае отсутствия эпизода или дубляжей вернет пустой список + * @summary Получение списка дубляжей по id эпизода + * {@link /api/v1/anime/dubs/by-episode/:episodeID/all} + */ +export async function getDubsByEpisode(episodeID: GetDubsByEpisodePathParams['episodeID'], config: Partial & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'GET', + url: getGetDubsByEpisodeUrl(episodeID).toString(), + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/dubControllerService/removeDubFromEpisode.ts b/app/api/generated/clients/axios/dubControllerService/removeDubFromEpisode.ts new file mode 100644 index 0000000..17b17f7 --- /dev/null +++ b/app/api/generated/clients/axios/dubControllerService/removeDubFromEpisode.ts @@ -0,0 +1,40 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { + RemoveDubFromEpisodeMutationResponse, + RemoveDubFromEpisodePathParams, + RemoveDubFromEpisode404, +} from '../../../types/dubControllerController/RemoveDubFromEpisode.ts' + +function getRemoveDubFromEpisodeUrl(dubId: RemoveDubFromEpisodePathParams['dubId'], episodeId: RemoveDubFromEpisodePathParams['episodeId']) { + return `/api/v1/anime/dubs/${dubId}/episodes/${episodeId}` as const +} + +/** + * @summary Удаление дубляжа к эпизоду + * {@link /api/v1/anime/dubs/:dubId/episodes/:episodeId} + */ +export async function removeDubFromEpisode( + dubId: RemoveDubFromEpisodePathParams['dubId'], + episodeId: RemoveDubFromEpisodePathParams['episodeId'], + config: Partial & { client?: typeof fetch } = {}, +) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'DELETE', + url: getRemoveDubFromEpisodeUrl(dubId, episodeId).toString(), + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/dubControllerService/updateDubName.ts b/app/api/generated/clients/axios/dubControllerService/updateDubName.ts new file mode 100644 index 0000000..28bda51 --- /dev/null +++ b/app/api/generated/clients/axios/dubControllerService/updateDubName.ts @@ -0,0 +1,42 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { + UpdateDubNameMutationResponse, + UpdateDubNamePathParams, + UpdateDubNameQueryParams, + UpdateDubName404, +} from '../../../types/dubControllerController/UpdateDubName.ts' + +function getUpdateDubNameUrl(id: UpdateDubNamePathParams['id']) { + return `/api/v1/anime/dubs/${id}` as const +} + +/** + * @summary Обновление дубляжа по id + * {@link /api/v1/anime/dubs/:id} + */ +export async function updateDubName( + id: UpdateDubNamePathParams['id'], + params: UpdateDubNameQueryParams, + config: Partial & { client?: typeof fetch } = {}, +) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'PUT', + url: getUpdateDubNameUrl(id).toString(), + params, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/episodesControllerService/addView.ts b/app/api/generated/clients/axios/episodesControllerService/addView.ts new file mode 100644 index 0000000..549837d --- /dev/null +++ b/app/api/generated/clients/axios/episodesControllerService/addView.ts @@ -0,0 +1,32 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { AddViewMutationResponse, AddViewPathParams } from '../../../types/episodesControllerController/AddView.ts' + +function getAddViewUrl(id: AddViewPathParams['id']) { + return `/api/v1/anime/episodes/${id}/view` as const +} + +/** + * @summary Добавление просмотра эпизода + * {@link /api/v1/anime/episodes/:id/view} + */ +export async function addView(id: AddViewPathParams['id'], config: Partial & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'POST', + url: getAddViewUrl(id).toString(), + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/episodesControllerService/createEpisode.ts b/app/api/generated/clients/axios/episodesControllerService/createEpisode.ts new file mode 100644 index 0000000..5aaf8a0 --- /dev/null +++ b/app/api/generated/clients/axios/episodesControllerService/createEpisode.ts @@ -0,0 +1,37 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { CreateEpisodeMutationRequest, CreateEpisodeMutationResponse } from '../../../types/episodesControllerController/CreateEpisode.ts' + +function getCreateEpisodeUrl() { + return `/api/v1/anime/episodes` as const +} + +/** + * @summary Создание эпизода + * {@link /api/v1/anime/episodes} + */ +export async function createEpisode( + data: CreateEpisodeMutationRequest, + config: Partial> & { client?: typeof fetch } = {}, +) { + const { client: request = fetch, ...requestConfig } = config + + const requestData = data + const res = await request, CreateEpisodeMutationRequest>({ + method: 'POST', + url: getCreateEpisodeUrl().toString(), + data: requestData, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/episodesControllerService/deleteEpisode.ts b/app/api/generated/clients/axios/episodesControllerService/deleteEpisode.ts new file mode 100644 index 0000000..6a4c2b0 --- /dev/null +++ b/app/api/generated/clients/axios/episodesControllerService/deleteEpisode.ts @@ -0,0 +1,32 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { DeleteEpisodeMutationResponse, DeleteEpisodePathParams } from '../../../types/episodesControllerController/DeleteEpisode.ts' + +function getDeleteEpisodeUrl(id: DeleteEpisodePathParams['id']) { + return `/api/v1/anime/episodes/${id}` as const +} + +/** + * @summary Удаление эпизода + * {@link /api/v1/anime/episodes/:id} + */ +export async function deleteEpisode(id: DeleteEpisodePathParams['id'], config: Partial & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'DELETE', + url: getDeleteEpisodeUrl(id).toString(), + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/episodesControllerService/episodesControllerService.ts b/app/api/generated/clients/axios/episodesControllerService/episodesControllerService.ts new file mode 100644 index 0000000..b95ca65 --- /dev/null +++ b/app/api/generated/clients/axios/episodesControllerService/episodesControllerService.ts @@ -0,0 +1,22 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import { addView } from './addView.ts' +import { createEpisode } from './createEpisode.ts' +import { deleteEpisode } from './deleteEpisode.ts' +import { getAdminEpisodeById } from './getAdminEpisodeById.ts' +import { getEpisodeById } from './getEpisodeById.ts' +import { getEpisodesByAnimeId } from './getEpisodesByAnimeId.ts' +import { updateEpisode } from './updateEpisode.ts' +import { updateEpisodeOrder } from './updateEpisodeOrder.ts' + +export function episodesControllerService() { + return { getEpisodeById, updateEpisode, deleteEpisode, updateEpisodeOrder, createEpisode, addView, getAdminEpisodeById, getEpisodesByAnimeId } +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/episodesControllerService/getAdminEpisodeById.ts b/app/api/generated/clients/axios/episodesControllerService/getAdminEpisodeById.ts new file mode 100644 index 0000000..947777c --- /dev/null +++ b/app/api/generated/clients/axios/episodesControllerService/getAdminEpisodeById.ts @@ -0,0 +1,33 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { GetAdminEpisodeByIdQueryResponse, GetAdminEpisodeByIdPathParams } from '../../../types/episodesControllerController/GetAdminEpisodeById.ts' + +function getGetAdminEpisodeByIdUrl(id: GetAdminEpisodeByIdPathParams['id']) { + return `/api/v1/anime/episodes/${id}/admin` as const +} + +/** + * @description (дополнительные данные о том, кто смодерировал, опубликовал) + * @summary Получение эпизода по ID для админки + * {@link /api/v1/anime/episodes/:id/admin} + */ +export async function getAdminEpisodeById(id: GetAdminEpisodeByIdPathParams['id'], config: Partial & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'GET', + url: getGetAdminEpisodeByIdUrl(id).toString(), + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/episodesControllerService/getEpisodeById.ts b/app/api/generated/clients/axios/episodesControllerService/getEpisodeById.ts new file mode 100644 index 0000000..28f75ee --- /dev/null +++ b/app/api/generated/clients/axios/episodesControllerService/getEpisodeById.ts @@ -0,0 +1,41 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { + GetEpisodeByIdQueryResponse, + GetEpisodeByIdPathParams, + GetEpisodeByIdQueryParams, +} from '../../../types/episodesControllerController/GetEpisodeById.ts' + +function getGetEpisodeByIdUrl(id: GetEpisodeByIdPathParams['id']) { + return `/api/v1/anime/episodes/${id}` as const +} + +/** + * @summary Получение эпизода по ID, с возможностью указания DtoType (DEFAULT/CARD), если тип не указан, будет выведен DEFAULT + * {@link /api/v1/anime/episodes/:id} + */ +export async function getEpisodeById( + id: GetEpisodeByIdPathParams['id'], + params?: GetEpisodeByIdQueryParams, + config: Partial & { client?: typeof fetch } = {}, +) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'GET', + url: getGetEpisodeByIdUrl(id).toString(), + params, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/episodesControllerService/getEpisodesByAnimeId.ts b/app/api/generated/clients/axios/episodesControllerService/getEpisodesByAnimeId.ts new file mode 100644 index 0000000..1b4f851 --- /dev/null +++ b/app/api/generated/clients/axios/episodesControllerService/getEpisodesByAnimeId.ts @@ -0,0 +1,41 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { + GetEpisodesByAnimeIdQueryResponse, + GetEpisodesByAnimeIdPathParams, + GetEpisodesByAnimeIdQueryParams, +} from '../../../types/episodesControllerController/GetEpisodesByAnimeId.ts' + +function getGetEpisodesByAnimeIdUrl(animeId: GetEpisodesByAnimeIdPathParams['animeId']) { + return `/api/v1/anime/episodes/by-anime/${animeId}` as const +} + +/** + * @summary Получение списка эпизодов по ID аниме + * {@link /api/v1/anime/episodes/by-anime/:animeId} + */ +export async function getEpisodesByAnimeId( + animeId: GetEpisodesByAnimeIdPathParams['animeId'], + params: GetEpisodesByAnimeIdQueryParams, + config: Partial & { client?: typeof fetch } = {}, +) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'GET', + url: getGetEpisodesByAnimeIdUrl(animeId).toString(), + params, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/episodesControllerService/updateEpisode.ts b/app/api/generated/clients/axios/episodesControllerService/updateEpisode.ts new file mode 100644 index 0000000..0f86cee --- /dev/null +++ b/app/api/generated/clients/axios/episodesControllerService/updateEpisode.ts @@ -0,0 +1,42 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { + UpdateEpisodeMutationRequest, + UpdateEpisodeMutationResponse, + UpdateEpisodePathParams, +} from '../../../types/episodesControllerController/UpdateEpisode.ts' + +function getUpdateEpisodeUrl(id: UpdateEpisodePathParams['id']) { + return `/api/v1/anime/episodes/${id}` as const +} + +/** + * @summary Редактирование эпизода + * {@link /api/v1/anime/episodes/:id} + */ +export async function updateEpisode( + id: UpdateEpisodePathParams['id'], + data: UpdateEpisodeMutationRequest, + config: Partial> & { client?: typeof fetch } = {}, +) { + const { client: request = fetch, ...requestConfig } = config + + const requestData = data + const res = await request, UpdateEpisodeMutationRequest>({ + method: 'PUT', + url: getUpdateEpisodeUrl(id).toString(), + data: requestData, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/episodesControllerService/updateEpisodeOrder.ts b/app/api/generated/clients/axios/episodesControllerService/updateEpisodeOrder.ts new file mode 100644 index 0000000..332fd66 --- /dev/null +++ b/app/api/generated/clients/axios/episodesControllerService/updateEpisodeOrder.ts @@ -0,0 +1,36 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UpdateEpisodeOrderMutationResponse, UpdateEpisodeOrderPathParams } from '../../../types/episodesControllerController/UpdateEpisodeOrder.ts' + +function getUpdateEpisodeOrderUrl(id: UpdateEpisodeOrderPathParams['id'], newOrderId: UpdateEpisodeOrderPathParams['newOrderId']) { + return `/api/v1/anime/episodes/${id}/order/${newOrderId}` as const +} + +/** + * @summary Изменение порядка эпизода в списке + * {@link /api/v1/anime/episodes/:id/order/:newOrderId} + */ +export async function updateEpisodeOrder( + id: UpdateEpisodeOrderPathParams['id'], + newOrderId: UpdateEpisodeOrderPathParams['newOrderId'], + config: Partial & { client?: typeof fetch } = {}, +) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'PUT', + url: getUpdateEpisodeOrderUrl(id, newOrderId).toString(), + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/groupControllerService/addAnimeIdsToGroup.ts b/app/api/generated/clients/axios/groupControllerService/addAnimeIdsToGroup.ts new file mode 100644 index 0000000..a18ba8c --- /dev/null +++ b/app/api/generated/clients/axios/groupControllerService/addAnimeIdsToGroup.ts @@ -0,0 +1,41 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { + AddAnimeIdsToGroupMutationRequest, + AddAnimeIdsToGroupMutationResponse, + AddAnimeIdsToGroup404, +} from '../../../types/groupControllerController/AddAnimeIdsToGroup.ts' + +function getAddAnimeIdsToGroupUrl() { + return `/api/v1/anime/group/add-to-group` as const +} + +/** + * @summary Добавление списка аниме в группу по id группы и списку id amine + * {@link /api/v1/anime/group/add-to-group} + */ +export async function addAnimeIdsToGroup( + data?: AddAnimeIdsToGroupMutationRequest, + config: Partial> & { client?: typeof fetch } = {}, +) { + const { client: request = fetch, ...requestConfig } = config + + const requestData = data + const res = await request, AddAnimeIdsToGroupMutationRequest>({ + method: 'PUT', + url: getAddAnimeIdsToGroupUrl().toString(), + data: requestData, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/groupControllerService/create1.ts b/app/api/generated/clients/axios/groupControllerService/create1.ts new file mode 100644 index 0000000..25825fd --- /dev/null +++ b/app/api/generated/clients/axios/groupControllerService/create1.ts @@ -0,0 +1,34 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { Create1MutationRequest, Create1MutationResponse } from '../../../types/groupControllerController/Create1.ts' + +function getCreate1Url() { + return `/api/v1/anime/group` as const +} + +/** + * @summary Создание группы + * {@link /api/v1/anime/group} + */ +export async function create1(data?: Create1MutationRequest, config: Partial> & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const requestData = data + const res = await request, Create1MutationRequest>({ + method: 'POST', + url: getCreate1Url().toString(), + data: requestData, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/groupControllerService/deleteAnimeIdsFromGroup.ts b/app/api/generated/clients/axios/groupControllerService/deleteAnimeIdsFromGroup.ts new file mode 100644 index 0000000..43859ac --- /dev/null +++ b/app/api/generated/clients/axios/groupControllerService/deleteAnimeIdsFromGroup.ts @@ -0,0 +1,41 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { + DeleteAnimeIdsFromGroupMutationRequest, + DeleteAnimeIdsFromGroupMutationResponse, + DeleteAnimeIdsFromGroup404, +} from '../../../types/groupControllerController/DeleteAnimeIdsFromGroup.ts' + +function getDeleteAnimeIdsFromGroupUrl() { + return `/api/v1/anime/group/delete-from-group` as const +} + +/** + * @summary Удаление списка аниме из группы по id группы и списку id amine + * {@link /api/v1/anime/group/delete-from-group} + */ +export async function deleteAnimeIdsFromGroup( + data?: DeleteAnimeIdsFromGroupMutationRequest, + config: Partial> & { client?: typeof fetch } = {}, +) { + const { client: request = fetch, ...requestConfig } = config + + const requestData = data + const res = await request, DeleteAnimeIdsFromGroupMutationRequest>({ + method: 'PUT', + url: getDeleteAnimeIdsFromGroupUrl().toString(), + data: requestData, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/groupControllerService/deleteById2.ts b/app/api/generated/clients/axios/groupControllerService/deleteById2.ts new file mode 100644 index 0000000..093f4d4 --- /dev/null +++ b/app/api/generated/clients/axios/groupControllerService/deleteById2.ts @@ -0,0 +1,32 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { DeleteById2MutationResponse, DeleteById2PathParams, DeleteById2404 } from '../../../types/groupControllerController/DeleteById2.ts' + +function getDeleteById2Url(id: DeleteById2PathParams['id']) { + return `/api/v1/anime/group/${id}` as const +} + +/** + * @summary Удаление группы + * {@link /api/v1/anime/group/:id} + */ +export async function deleteById2(id: DeleteById2PathParams['id'], config: Partial & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'DELETE', + url: getDeleteById2Url(id).toString(), + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/groupControllerService/getByAnimeId.ts b/app/api/generated/clients/axios/groupControllerService/getByAnimeId.ts new file mode 100644 index 0000000..0acc97c --- /dev/null +++ b/app/api/generated/clients/axios/groupControllerService/getByAnimeId.ts @@ -0,0 +1,32 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { GetByAnimeIdQueryResponse, GetByAnimeIdPathParams, GetByAnimeId404 } from '../../../types/groupControllerController/GetByAnimeId.ts' + +function getGetByAnimeIdUrl(animeId: GetByAnimeIdPathParams['animeId']) { + return `/api/v1/anime/group/by-anime/${animeId}` as const +} + +/** + * @summary Получение группы по аниме id + * {@link /api/v1/anime/group/by-anime/:animeId} + */ +export async function getByAnimeId(animeId: GetByAnimeIdPathParams['animeId'], config: Partial & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'GET', + url: getGetByAnimeIdUrl(animeId).toString(), + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/groupControllerService/getById1.ts b/app/api/generated/clients/axios/groupControllerService/getById1.ts new file mode 100644 index 0000000..8f4e2b5 --- /dev/null +++ b/app/api/generated/clients/axios/groupControllerService/getById1.ts @@ -0,0 +1,32 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { GetById1QueryResponse, GetById1PathParams, GetById1404 } from '../../../types/groupControllerController/GetById1.ts' + +function getGetById1Url(id: GetById1PathParams['id']) { + return `/api/v1/anime/group/${id}` as const +} + +/** + * @summary Получение группы по id + * {@link /api/v1/anime/group/:id} + */ +export async function getById1(id: GetById1PathParams['id'], config: Partial & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'GET', + url: getGetById1Url(id).toString(), + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/groupControllerService/groupControllerService.ts b/app/api/generated/clients/axios/groupControllerService/groupControllerService.ts new file mode 100644 index 0000000..e73d21f --- /dev/null +++ b/app/api/generated/clients/axios/groupControllerService/groupControllerService.ts @@ -0,0 +1,21 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import { addAnimeIdsToGroup } from './addAnimeIdsToGroup.ts' +import { create1 } from './create1.ts' +import { deleteAnimeIdsFromGroup } from './deleteAnimeIdsFromGroup.ts' +import { deleteById2 } from './deleteById2.ts' +import { getByAnimeId } from './getByAnimeId.ts' +import { getById1 } from './getById1.ts' +import { updateById1 } from './updateById1.ts' + +export function groupControllerService() { + return { updateById1, create1, deleteAnimeIdsFromGroup, addAnimeIdsToGroup, getById1, deleteById2, getByAnimeId } +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/groupControllerService/updateById1.ts b/app/api/generated/clients/axios/groupControllerService/updateById1.ts new file mode 100644 index 0000000..bae77f0 --- /dev/null +++ b/app/api/generated/clients/axios/groupControllerService/updateById1.ts @@ -0,0 +1,37 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UpdateById1MutationRequest, UpdateById1MutationResponse, UpdateById1404 } from '../../../types/groupControllerController/UpdateById1.ts' + +function getUpdateById1Url() { + return `/api/v1/anime/group` as const +} + +/** + * @summary Обновление группы + * {@link /api/v1/anime/group} + */ +export async function updateById1( + data?: UpdateById1MutationRequest, + config: Partial> & { client?: typeof fetch } = {}, +) { + const { client: request = fetch, ...requestConfig } = config + + const requestData = data + const res = await request, UpdateById1MutationRequest>({ + method: 'PUT', + url: getUpdateById1Url().toString(), + data: requestData, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/index.ts b/app/api/generated/clients/axios/index.ts new file mode 100644 index 0000000..1b84f07 --- /dev/null +++ b/app/api/generated/clients/axios/index.ts @@ -0,0 +1,60 @@ +export { animeControllerService } from './animeControllerService/animeControllerService.ts' +export { createAnime } from './animeControllerService/createAnime.ts' +export { deleteById } from './animeControllerService/deleteById.ts' +export { findById } from './animeControllerService/findById.ts' +export { findSimilar } from './animeControllerService/findSimilar.ts' +export { getAllGenres } from './animeControllerService/getAllGenres.ts' +export { getAllMpaaRatings } from './animeControllerService/getAllMpaaRatings.ts' +export { getAllStatuses } from './animeControllerService/getAllStatuses.ts' +export { getAllTypes } from './animeControllerService/getAllTypes.ts' +export { getPage } from './animeControllerService/getPage.ts' +export { increasePopularity } from './animeControllerService/increasePopularity.ts' +export { updateById } from './animeControllerService/updateById.ts' +export { commentsControllerService } from './commentsControllerService/commentsControllerService.ts' +export { createComment } from './commentsControllerService/createComment.ts' +export { deleteComment } from './commentsControllerService/deleteComment.ts' +export { getCommentsById } from './commentsControllerService/getCommentsById.ts' +export { getCommentsByUser } from './commentsControllerService/getCommentsByUser.ts' +export { updateComment } from './commentsControllerService/updateComment.ts' +export { complaintControllerService } from './complaintControllerService/complaintControllerService.ts' +export { createComplaint } from './complaintControllerService/createComplaint.ts' +export { getComplaintById } from './complaintControllerService/getComplaintById.ts' +export { getComplaints } from './complaintControllerService/getComplaints.ts' +export { updateComplaintStatus } from './complaintControllerService/updateComplaintStatus.ts' +export { addDubToEpisode } from './dubControllerService/addDubToEpisode.ts' +export { createDub } from './dubControllerService/createDub.ts' +export { deleteDub } from './dubControllerService/deleteDub.ts' +export { dubControllerService } from './dubControllerService/dubControllerService.ts' +export { getDubById } from './dubControllerService/getDubById.ts' +export { getDubsByEpisode } from './dubControllerService/getDubsByEpisode.ts' +export { removeDubFromEpisode } from './dubControllerService/removeDubFromEpisode.ts' +export { updateDubName } from './dubControllerService/updateDubName.ts' +export { addView } from './episodesControllerService/addView.ts' +export { createEpisode } from './episodesControllerService/createEpisode.ts' +export { deleteEpisode } from './episodesControllerService/deleteEpisode.ts' +export { episodesControllerService } from './episodesControllerService/episodesControllerService.ts' +export { getAdminEpisodeById } from './episodesControllerService/getAdminEpisodeById.ts' +export { getEpisodeById } from './episodesControllerService/getEpisodeById.ts' +export { getEpisodesByAnimeId } from './episodesControllerService/getEpisodesByAnimeId.ts' +export { updateEpisode } from './episodesControllerService/updateEpisode.ts' +export { updateEpisodeOrder } from './episodesControllerService/updateEpisodeOrder.ts' +export { addAnimeIdsToGroup } from './groupControllerService/addAnimeIdsToGroup.ts' +export { create1 } from './groupControllerService/create1.ts' +export { deleteAnimeIdsFromGroup } from './groupControllerService/deleteAnimeIdsFromGroup.ts' +export { deleteById2 } from './groupControllerService/deleteById2.ts' +export { getByAnimeId } from './groupControllerService/getByAnimeId.ts' +export { getById1 } from './groupControllerService/getById1.ts' +export { groupControllerService } from './groupControllerService/groupControllerService.ts' +export { updateById1 } from './groupControllerService/updateById1.ts' +export { operations } from './operations.ts' +export { create } from './titleControllerService/create.ts' +export { createAll } from './titleControllerService/createAll.ts' +export { deleteAllByAnimeId } from './titleControllerService/deleteAllByAnimeId.ts' +export { deleteAllById } from './titleControllerService/deleteAllById.ts' +export { deleteById1 } from './titleControllerService/deleteById1.ts' +export { getAllByAnimeId } from './titleControllerService/getAllByAnimeId.ts' +export { getById } from './titleControllerService/getById.ts' +export { getPage1 } from './titleControllerService/getPage1.ts' +export { titleControllerService } from './titleControllerService/titleControllerService.ts' +export { updateAllById } from './titleControllerService/updateAllById.ts' +export { updateById2 } from './titleControllerService/updateById2.ts' \ No newline at end of file diff --git a/app/api/generated/clients/axios/operations.ts b/app/api/generated/clients/axios/operations.ts new file mode 100644 index 0000000..ac60ffe --- /dev/null +++ b/app/api/generated/clients/axios/operations.ts @@ -0,0 +1,220 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export const operations = { + getComplaintById: { + path: '/api/v1/complaint/:complaintId', + method: 'get', + }, + updateComplaintStatus: { + path: '/api/v1/complaint/:complaintId', + method: 'put', + }, + getPage: { + path: '/api/v1/anime', + method: 'get', + }, + updateById: { + path: '/api/v1/anime', + method: 'put', + }, + createAnime: { + path: '/api/v1/anime', + method: 'post', + }, + updateById_1: { + path: '/api/v1/anime/group', + method: 'put', + }, + create_1: { + path: '/api/v1/anime/group', + method: 'post', + }, + deleteAnimeIdsFromGroup: { + path: '/api/v1/anime/group/delete-from-group', + method: 'put', + }, + addAnimeIdsToGroup: { + path: '/api/v1/anime/group/add-to-group', + method: 'put', + }, + getEpisodeById: { + path: '/api/v1/anime/episodes/:id', + method: 'get', + }, + updateEpisode: { + path: '/api/v1/anime/episodes/:id', + method: 'put', + }, + deleteEpisode: { + path: '/api/v1/anime/episodes/:id', + method: 'delete', + }, + updateEpisodeOrder: { + path: '/api/v1/anime/episodes/:id/order/:newOrderId', + method: 'put', + }, + getDubById: { + path: '/api/v1/anime/dubs/:id', + method: 'get', + }, + updateDubName: { + path: '/api/v1/anime/dubs/:id', + method: 'put', + }, + deleteDub: { + path: '/api/v1/anime/dubs/:id', + method: 'delete', + }, + updateComment: { + path: '/api/v1/anime/comments', + method: 'put', + }, + createComment: { + path: '/api/v1/anime/comments', + method: 'post', + }, + createComplaint: { + path: '/api/v1/complaint', + method: 'post', + }, + getComplaints: { + path: '/api/v1/complaint/search', + method: 'post', + }, + create: { + path: '/api/v1/anime/title', + method: 'post', + }, + updateById_2: { + path: '/api/v1/anime/title', + method: 'patch', + }, + createAll: { + path: '/api/v1/anime/title/batch', + method: 'post', + }, + deleteAllById: { + path: '/api/v1/anime/title/batch', + method: 'delete', + }, + updateAllById: { + path: '/api/v1/anime/title/batch', + method: 'patch', + }, + increasePopularity: { + path: '/api/v1/anime/increasePopularity', + method: 'post', + }, + createEpisode: { + path: '/api/v1/anime/episodes', + method: 'post', + }, + addView: { + path: '/api/v1/anime/episodes/:id/view', + method: 'post', + }, + createDub: { + path: '/api/v1/anime/dubs', + method: 'post', + }, + addDubToEpisode: { + path: '/api/v1/anime/dubs/:dubId/episodes/:episodeId', + method: 'post', + }, + removeDubFromEpisode: { + path: '/api/v1/anime/dubs/:dubId/episodes/:episodeId', + method: 'delete', + }, + findById: { + path: '/api/v1/anime/:id', + method: 'get', + }, + deleteById: { + path: '/api/v1/anime/:id', + method: 'delete', + }, + findSimilar: { + path: '/api/v1/anime/:animeId/similar', + method: 'get', + }, + getAllTypes: { + path: '/api/v1/anime/types', + method: 'get', + }, + getById: { + path: '/api/v1/anime/title/:id', + method: 'get', + }, + deleteById_1: { + path: '/api/v1/anime/title/:id', + method: 'delete', + }, + getPage_1: { + path: '/api/v1/anime/title/page', + method: 'get', + }, + getAllByAnimeId: { + path: '/api/v1/anime/title/by-anime/:animeId', + method: 'get', + }, + getAllStatuses: { + path: '/api/v1/anime/statuses', + method: 'get', + }, + getAllMpaaRatings: { + path: '/api/v1/anime/mpaaratings', + method: 'get', + }, + getById_1: { + path: '/api/v1/anime/group/:id', + method: 'get', + }, + deleteById_2: { + path: '/api/v1/anime/group/:id', + method: 'delete', + }, + getByAnimeId: { + path: '/api/v1/anime/group/by-anime/:animeId', + method: 'get', + }, + getAllGenres: { + path: '/api/v1/anime/genres', + method: 'get', + }, + getAdminEpisodeById: { + path: '/api/v1/anime/episodes/:id/admin', + method: 'get', + }, + getEpisodesByAnimeId: { + path: '/api/v1/anime/episodes/by-anime/:animeId', + method: 'get', + }, + getDubsByEpisode: { + path: '/api/v1/anime/dubs/by-episode/:episodeID/all', + method: 'get', + }, + getCommentsByUser: { + path: '/api/v1/anime/comments/by-user/:id', + method: 'get', + }, + getCommentsById: { + path: '/api/v1/anime/comments/by-type-and-id/:type/:id', + method: 'get', + }, + deleteAllByAnimeId: { + path: '/api/v1/anime/title/by-anime', + method: 'delete', + }, + deleteComment: { + path: '/api/v1/anime/comments/:id', + method: 'delete', + }, +} as const \ No newline at end of file diff --git a/app/api/generated/clients/axios/titleControllerService/create.ts b/app/api/generated/clients/axios/titleControllerService/create.ts new file mode 100644 index 0000000..dc701cd --- /dev/null +++ b/app/api/generated/clients/axios/titleControllerService/create.ts @@ -0,0 +1,33 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { CreateMutationResponse, CreateQueryParams } from '../../../types/titleControllerController/Create.ts' + +function getCreateUrl() { + return `/api/v1/anime/title` as const +} + +/** + * @summary Создание тайтла + * {@link /api/v1/anime/title} + */ +export async function create(params: CreateQueryParams, config: Partial & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'POST', + url: getCreateUrl().toString(), + params, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/titleControllerService/createAll.ts b/app/api/generated/clients/axios/titleControllerService/createAll.ts new file mode 100644 index 0000000..0b985b9 --- /dev/null +++ b/app/api/generated/clients/axios/titleControllerService/createAll.ts @@ -0,0 +1,33 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { CreateAllMutationResponse, CreateAllQueryParams } from '../../../types/titleControllerController/CreateAll.ts' + +function getCreateAllUrl() { + return `/api/v1/anime/title/batch` as const +} + +/** + * @summary Создание списка тайтлов + * {@link /api/v1/anime/title/batch} + */ +export async function createAll(params: CreateAllQueryParams, config: Partial & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'POST', + url: getCreateAllUrl().toString(), + params, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/titleControllerService/deleteAllByAnimeId.ts b/app/api/generated/clients/axios/titleControllerService/deleteAllByAnimeId.ts new file mode 100644 index 0000000..c97ea0d --- /dev/null +++ b/app/api/generated/clients/axios/titleControllerService/deleteAllByAnimeId.ts @@ -0,0 +1,37 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { + DeleteAllByAnimeIdMutationResponse, + DeleteAllByAnimeIdQueryParams, + DeleteAllByAnimeId404, +} from '../../../types/titleControllerController/DeleteAllByAnimeId.ts' + +function getDeleteAllByAnimeIdUrl() { + return `/api/v1/anime/title/by-anime` as const +} + +/** + * @summary Удаление тайтлов по аниме id + * {@link /api/v1/anime/title/by-anime} + */ +export async function deleteAllByAnimeId(params: DeleteAllByAnimeIdQueryParams, config: Partial & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'DELETE', + url: getDeleteAllByAnimeIdUrl().toString(), + params, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/titleControllerService/deleteAllById.ts b/app/api/generated/clients/axios/titleControllerService/deleteAllById.ts new file mode 100644 index 0000000..e9488ae --- /dev/null +++ b/app/api/generated/clients/axios/titleControllerService/deleteAllById.ts @@ -0,0 +1,33 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { DeleteAllByIdMutationResponse, DeleteAllByIdQueryParams } from '../../../types/titleControllerController/DeleteAllById.ts' + +function getDeleteAllByIdUrl() { + return `/api/v1/anime/title/batch` as const +} + +/** + * @summary Удаление тайтлов по списку id + * {@link /api/v1/anime/title/batch} + */ +export async function deleteAllById(params: DeleteAllByIdQueryParams, config: Partial & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'DELETE', + url: getDeleteAllByIdUrl().toString(), + params, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/titleControllerService/deleteById1.ts b/app/api/generated/clients/axios/titleControllerService/deleteById1.ts new file mode 100644 index 0000000..92ea4e8 --- /dev/null +++ b/app/api/generated/clients/axios/titleControllerService/deleteById1.ts @@ -0,0 +1,32 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { DeleteById1MutationResponse, DeleteById1PathParams } from '../../../types/titleControllerController/DeleteById1.ts' + +function getDeleteById1Url(id: DeleteById1PathParams['id']) { + return `/api/v1/anime/title/${id}` as const +} + +/** + * @summary Удаление тайтла + * {@link /api/v1/anime/title/:id} + */ +export async function deleteById1(id: DeleteById1PathParams['id'], config: Partial & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'DELETE', + url: getDeleteById1Url(id).toString(), + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/titleControllerService/getAllByAnimeId.ts b/app/api/generated/clients/axios/titleControllerService/getAllByAnimeId.ts new file mode 100644 index 0000000..9ae3b4e --- /dev/null +++ b/app/api/generated/clients/axios/titleControllerService/getAllByAnimeId.ts @@ -0,0 +1,32 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { GetAllByAnimeIdQueryResponse, GetAllByAnimeIdPathParams, GetAllByAnimeId404 } from '../../../types/titleControllerController/GetAllByAnimeId.ts' + +function getGetAllByAnimeIdUrl(animeId: GetAllByAnimeIdPathParams['animeId']) { + return `/api/v1/anime/title/by-anime/${animeId}` as const +} + +/** + * @summary Получение списка тайтлов по аниме id + * {@link /api/v1/anime/title/by-anime/:animeId} + */ +export async function getAllByAnimeId(animeId: GetAllByAnimeIdPathParams['animeId'], config: Partial & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'GET', + url: getGetAllByAnimeIdUrl(animeId).toString(), + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/titleControllerService/getById.ts b/app/api/generated/clients/axios/titleControllerService/getById.ts new file mode 100644 index 0000000..0a6be4f --- /dev/null +++ b/app/api/generated/clients/axios/titleControllerService/getById.ts @@ -0,0 +1,32 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { GetByIdQueryResponse, GetByIdPathParams, GetById404 } from '../../../types/titleControllerController/GetById.ts' + +function getGetByIdUrl(id: GetByIdPathParams['id']) { + return `/api/v1/anime/title/${id}` as const +} + +/** + * @summary Получение тайтла по id + * {@link /api/v1/anime/title/:id} + */ +export async function getById(id: GetByIdPathParams['id'], config: Partial & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'GET', + url: getGetByIdUrl(id).toString(), + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/titleControllerService/getPage1.ts b/app/api/generated/clients/axios/titleControllerService/getPage1.ts new file mode 100644 index 0000000..29e404f --- /dev/null +++ b/app/api/generated/clients/axios/titleControllerService/getPage1.ts @@ -0,0 +1,33 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { GetPage1QueryResponse, GetPage1QueryParams } from '../../../types/titleControllerController/GetPage1.ts' + +function getGetPage1Url() { + return `/api/v1/anime/title/page` as const +} + +/** + * @summary Постраничное получение всех тайтлов + * {@link /api/v1/anime/title/page} + */ +export async function getPage1(params: GetPage1QueryParams, config: Partial & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'GET', + url: getGetPage1Url().toString(), + params, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/titleControllerService/titleControllerService.ts b/app/api/generated/clients/axios/titleControllerService/titleControllerService.ts new file mode 100644 index 0000000..73e378b --- /dev/null +++ b/app/api/generated/clients/axios/titleControllerService/titleControllerService.ts @@ -0,0 +1,24 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import { create } from './create.ts' +import { createAll } from './createAll.ts' +import { deleteAllByAnimeId } from './deleteAllByAnimeId.ts' +import { deleteAllById } from './deleteAllById.ts' +import { deleteById1 } from './deleteById1.ts' +import { getAllByAnimeId } from './getAllByAnimeId.ts' +import { getById } from './getById.ts' +import { getPage1 } from './getPage1.ts' +import { updateAllById } from './updateAllById.ts' +import { updateById2 } from './updateById2.ts' + +export function titleControllerService() { + return { create, updateById2, createAll, deleteAllById, updateAllById, getById, deleteById1, getPage1, getAllByAnimeId, deleteAllByAnimeId } +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/titleControllerService/updateAllById.ts b/app/api/generated/clients/axios/titleControllerService/updateAllById.ts new file mode 100644 index 0000000..3a822a2 --- /dev/null +++ b/app/api/generated/clients/axios/titleControllerService/updateAllById.ts @@ -0,0 +1,33 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UpdateAllByIdMutationResponse, UpdateAllByIdQueryParams, UpdateAllById404 } from '../../../types/titleControllerController/UpdateAllById.ts' + +function getUpdateAllByIdUrl() { + return `/api/v1/anime/title/batch` as const +} + +/** + * @summary Обновление тайтла списком + * {@link /api/v1/anime/title/batch} + */ +export async function updateAllById(params: UpdateAllByIdQueryParams, config: Partial & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'PATCH', + url: getUpdateAllByIdUrl().toString(), + params, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/clients/axios/titleControllerService/updateById2.ts b/app/api/generated/clients/axios/titleControllerService/updateById2.ts new file mode 100644 index 0000000..e2c85a1 --- /dev/null +++ b/app/api/generated/clients/axios/titleControllerService/updateById2.ts @@ -0,0 +1,33 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UpdateById2MutationResponse, UpdateById2QueryParams, UpdateById2404 } from '../../../types/titleControllerController/UpdateById2.ts' + +function getUpdateById2Url() { + return `/api/v1/anime/title` as const +} + +/** + * @summary Обновление тайтла + * {@link /api/v1/anime/title} + */ +export async function updateById2(params: UpdateById2QueryParams, config: Partial & { client?: typeof fetch } = {}) { + const { client: request = fetch, ...requestConfig } = config + + const res = await request, unknown>({ + method: 'PATCH', + url: getUpdateById2Url().toString(), + params, + ...requestConfig, + }) + return res.data +} \ No newline at end of file diff --git a/app/api/generated/hooks/animeControllerHooks/useCreateAnime.ts b/app/api/generated/hooks/animeControllerHooks/useCreateAnime.ts new file mode 100644 index 0000000..00317a0 --- /dev/null +++ b/app/api/generated/hooks/animeControllerHooks/useCreateAnime.ts @@ -0,0 +1,48 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { CreateAnimeMutationRequest, CreateAnimeMutationResponse, CreateAnime400 } from '../../types/animeControllerController/CreateAnime.ts' +import { useMutation } from '@tanstack/react-query' +import { createAnime } from '../../clients/axios/animeControllerService/createAnime.ts' + +export const createAnimeMutationKey = () => [{ url: '/api/v1/anime' }] as const + +export type CreateAnimeMutationKey = ReturnType + +/** + * @summary Создание аниме + * {@link /api/v1/anime} + */ +export function useCreateAnime( + options: { + mutation?: UseMutationOptions, { data: CreateAnimeMutationRequest }, TContext> & { + client?: QueryClient + } + client?: Partial> & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? createAnimeMutationKey() + + return useMutation, { data: CreateAnimeMutationRequest }, TContext>( + { + mutationFn: async ({ data }) => { + return createAnime(data, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/animeControllerHooks/useDeleteById.ts b/app/api/generated/hooks/animeControllerHooks/useDeleteById.ts new file mode 100644 index 0000000..b6dabba --- /dev/null +++ b/app/api/generated/hooks/animeControllerHooks/useDeleteById.ts @@ -0,0 +1,48 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { DeleteByIdMutationResponse, DeleteByIdPathParams } from '../../types/animeControllerController/DeleteById.ts' +import { useMutation } from '@tanstack/react-query' +import { deleteById } from '../../clients/axios/animeControllerService/deleteById.ts' + +export const deleteByIdMutationKey = () => [{ url: '/api/v1/anime/{id}' }] as const + +export type DeleteByIdMutationKey = ReturnType + +/** + * @summary Удаление аниме + * {@link /api/v1/anime/:id} + */ +export function useDeleteById( + options: { + mutation?: UseMutationOptions, { id: DeleteByIdPathParams['id'] }, TContext> & { + client?: QueryClient + } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? deleteByIdMutationKey() + + return useMutation, { id: DeleteByIdPathParams['id'] }, TContext>( + { + mutationFn: async ({ id }) => { + return deleteById(id, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/animeControllerHooks/useFindById.ts b/app/api/generated/hooks/animeControllerHooks/useFindById.ts new file mode 100644 index 0000000..d6d9939 --- /dev/null +++ b/app/api/generated/hooks/animeControllerHooks/useFindById.ts @@ -0,0 +1,60 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, QueryObserverOptions, UseQueryResult } from '@tanstack/react-query' +import type { FindByIdQueryResponse, FindByIdPathParams, FindById404 } from '../../types/animeControllerController/FindById.ts' +import { queryOptions, useQuery } from '@tanstack/react-query' +import { findById } from '../../clients/axios/animeControllerService/findById.ts' + +export const findByIdQueryKey = (id: FindByIdPathParams['id']) => [{ url: '/api/v1/anime/:id', params: { id: id } }] as const + +export type FindByIdQueryKey = ReturnType + +export function findByIdQueryOptions(id: FindByIdPathParams['id'], config: Partial & { client?: typeof fetch } = {}) { + const queryKey = findByIdQueryKey(id) + return queryOptions, FindByIdQueryResponse, typeof queryKey>({ + enabled: !!id, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return findById(id, config) + }, + }) +} + +/** + * @summary Поиск аниме по id + * {@link /api/v1/anime/:id} + */ +export function useFindById( + id: FindByIdPathParams['id'], + options: { + query?: Partial, TData, TQueryData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? findByIdQueryKey(id) + + const query = useQuery( + { + ...findByIdQueryOptions(id, config), + queryKey, + ...queryOptions, + } as unknown as QueryObserverOptions, + queryClient, + ) as UseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/animeControllerHooks/useFindByIdInfinite.ts b/app/api/generated/hooks/animeControllerHooks/useFindByIdInfinite.ts new file mode 100644 index 0000000..8949c1e --- /dev/null +++ b/app/api/generated/hooks/animeControllerHooks/useFindByIdInfinite.ts @@ -0,0 +1,67 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { InfiniteData, QueryKey, QueryClient, InfiniteQueryObserverOptions, UseInfiniteQueryResult } from '@tanstack/react-query' +import type { FindByIdQueryResponse, FindByIdPathParams, FindById404 } from '../../types/animeControllerController/FindById.ts' +import { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/react-query' +import { findById } from '../../clients/axios/animeControllerService/findById.ts' + +export const findByIdInfiniteQueryKey = (id: FindByIdPathParams['id']) => [{ url: '/api/v1/anime/:id', params: { id: id } }] as const + +export type FindByIdInfiniteQueryKey = ReturnType + +export function findByIdInfiniteQueryOptions(id: FindByIdPathParams['id'], config: Partial & { client?: typeof fetch } = {}) { + const queryKey = findByIdInfiniteQueryKey(id) + return infiniteQueryOptions, FindByIdQueryResponse, typeof queryKey>({ + enabled: !!id, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return findById(id, config) + }, + initialPageParam: 1, + getNextPageParam: (lastPage) => lastPage['nextCursor'], + getPreviousPageParam: (firstPage) => firstPage['nextCursor'], + }) +} + +/** + * @summary Поиск аниме по id + * {@link /api/v1/anime/:id} + */ +export function useFindByIdInfinite< + TData = InfiniteData, + TQueryData = FindByIdQueryResponse, + TQueryKey extends QueryKey = FindByIdInfiniteQueryKey, +>( + id: FindByIdPathParams['id'], + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? findByIdInfiniteQueryKey(id) + + const query = useInfiniteQuery( + { + ...findByIdInfiniteQueryOptions(id, config), + queryKey, + ...queryOptions, + } as unknown as InfiniteQueryObserverOptions, + queryClient, + ) as UseInfiniteQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/animeControllerHooks/useFindByIdSuspense.ts b/app/api/generated/hooks/animeControllerHooks/useFindByIdSuspense.ts new file mode 100644 index 0000000..42bb665 --- /dev/null +++ b/app/api/generated/hooks/animeControllerHooks/useFindByIdSuspense.ts @@ -0,0 +1,60 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, UseSuspenseQueryOptions, UseSuspenseQueryResult } from '@tanstack/react-query' +import type { FindByIdQueryResponse, FindByIdPathParams, FindById404 } from '../../types/animeControllerController/FindById.ts' +import { queryOptions, useSuspenseQuery } from '@tanstack/react-query' +import { findById } from '../../clients/axios/animeControllerService/findById.ts' + +export const findByIdSuspenseQueryKey = (id: FindByIdPathParams['id']) => [{ url: '/api/v1/anime/:id', params: { id: id } }] as const + +export type FindByIdSuspenseQueryKey = ReturnType + +export function findByIdSuspenseQueryOptions(id: FindByIdPathParams['id'], config: Partial & { client?: typeof fetch } = {}) { + const queryKey = findByIdSuspenseQueryKey(id) + return queryOptions, FindByIdQueryResponse, typeof queryKey>({ + enabled: !!id, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return findById(id, config) + }, + }) +} + +/** + * @summary Поиск аниме по id + * {@link /api/v1/anime/:id} + */ +export function useFindByIdSuspense( + id: FindByIdPathParams['id'], + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? findByIdSuspenseQueryKey(id) + + const query = useSuspenseQuery( + { + ...findByIdSuspenseQueryOptions(id, config), + queryKey, + ...queryOptions, + } as unknown as UseSuspenseQueryOptions, + queryClient, + ) as UseSuspenseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/animeControllerHooks/useFindSimilar.ts b/app/api/generated/hooks/animeControllerHooks/useFindSimilar.ts new file mode 100644 index 0000000..08d1705 --- /dev/null +++ b/app/api/generated/hooks/animeControllerHooks/useFindSimilar.ts @@ -0,0 +1,66 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, QueryObserverOptions, UseQueryResult } from '@tanstack/react-query' +import type { FindSimilarQueryResponse, FindSimilarPathParams, FindSimilarQueryParams } from '../../types/animeControllerController/FindSimilar.ts' +import { queryOptions, useQuery } from '@tanstack/react-query' +import { findSimilar } from '../../clients/axios/animeControllerService/findSimilar.ts' + +export const findSimilarQueryKey = (animeId: FindSimilarPathParams['animeId'], params: FindSimilarQueryParams) => + [{ url: '/api/v1/anime/:animeId/similar', params: { animeId: animeId } }, ...(params ? [params] : [])] as const + +export type FindSimilarQueryKey = ReturnType + +export function findSimilarQueryOptions( + animeId: FindSimilarPathParams['animeId'], + params: FindSimilarQueryParams, + config: Partial & { client?: typeof fetch } = {}, +) { + const queryKey = findSimilarQueryKey(animeId, params) + return queryOptions, FindSimilarQueryResponse, typeof queryKey>({ + enabled: !!(animeId && params), + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return findSimilar(animeId, params, config) + }, + }) +} + +/** + * @summary Получение страницы похожих аниме по animeId + * {@link /api/v1/anime/:animeId/similar} + */ +export function useFindSimilar( + animeId: FindSimilarPathParams['animeId'], + params: FindSimilarQueryParams, + options: { + query?: Partial, TData, TQueryData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? findSimilarQueryKey(animeId, params) + + const query = useQuery( + { + ...findSimilarQueryOptions(animeId, params, config), + queryKey, + ...queryOptions, + } as unknown as QueryObserverOptions, + queryClient, + ) as UseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/animeControllerHooks/useFindSimilarInfinite.ts b/app/api/generated/hooks/animeControllerHooks/useFindSimilarInfinite.ts new file mode 100644 index 0000000..1964e6d --- /dev/null +++ b/app/api/generated/hooks/animeControllerHooks/useFindSimilarInfinite.ts @@ -0,0 +1,77 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { InfiniteData, QueryKey, QueryClient, InfiniteQueryObserverOptions, UseInfiniteQueryResult } from '@tanstack/react-query' +import type { FindSimilarQueryResponse, FindSimilarPathParams, FindSimilarQueryParams } from '../../types/animeControllerController/FindSimilar.ts' +import { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/react-query' +import { findSimilar } from '../../clients/axios/animeControllerService/findSimilar.ts' + +export const findSimilarInfiniteQueryKey = (animeId: FindSimilarPathParams['animeId'], params: FindSimilarQueryParams) => + [{ url: '/api/v1/anime/:animeId/similar', params: { animeId: animeId } }, ...(params ? [params] : [])] as const + +export type FindSimilarInfiniteQueryKey = ReturnType + +export function findSimilarInfiniteQueryOptions( + animeId: FindSimilarPathParams['animeId'], + params: FindSimilarQueryParams, + config: Partial & { client?: typeof fetch } = {}, +) { + const queryKey = findSimilarInfiniteQueryKey(animeId, params) + return infiniteQueryOptions, FindSimilarQueryResponse, typeof queryKey, number>({ + enabled: !!(animeId && params), + queryKey, + queryFn: async ({ signal, pageParam }) => { + config.signal = signal + + if (params) { + params['page'] = pageParam as unknown as FindSimilarQueryParams['page'] + } + return findSimilar(animeId, params, config) + }, + initialPageParam: 1, + getNextPageParam: (lastPage) => lastPage['nextCursor'], + getPreviousPageParam: (firstPage) => firstPage['nextCursor'], + }) +} + +/** + * @summary Получение страницы похожих аниме по animeId + * {@link /api/v1/anime/:animeId/similar} + */ +export function useFindSimilarInfinite< + TData = InfiniteData, + TQueryData = FindSimilarQueryResponse, + TQueryKey extends QueryKey = FindSimilarInfiniteQueryKey, +>( + animeId: FindSimilarPathParams['animeId'], + params: FindSimilarQueryParams, + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? findSimilarInfiniteQueryKey(animeId, params) + + const query = useInfiniteQuery( + { + ...findSimilarInfiniteQueryOptions(animeId, params, config), + queryKey, + ...queryOptions, + } as unknown as InfiniteQueryObserverOptions, + queryClient, + ) as UseInfiniteQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/animeControllerHooks/useFindSimilarSuspense.ts b/app/api/generated/hooks/animeControllerHooks/useFindSimilarSuspense.ts new file mode 100644 index 0000000..c3fcce7 --- /dev/null +++ b/app/api/generated/hooks/animeControllerHooks/useFindSimilarSuspense.ts @@ -0,0 +1,66 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, UseSuspenseQueryOptions, UseSuspenseQueryResult } from '@tanstack/react-query' +import type { FindSimilarQueryResponse, FindSimilarPathParams, FindSimilarQueryParams } from '../../types/animeControllerController/FindSimilar.ts' +import { queryOptions, useSuspenseQuery } from '@tanstack/react-query' +import { findSimilar } from '../../clients/axios/animeControllerService/findSimilar.ts' + +export const findSimilarSuspenseQueryKey = (animeId: FindSimilarPathParams['animeId'], params: FindSimilarQueryParams) => + [{ url: '/api/v1/anime/:animeId/similar', params: { animeId: animeId } }, ...(params ? [params] : [])] as const + +export type FindSimilarSuspenseQueryKey = ReturnType + +export function findSimilarSuspenseQueryOptions( + animeId: FindSimilarPathParams['animeId'], + params: FindSimilarQueryParams, + config: Partial & { client?: typeof fetch } = {}, +) { + const queryKey = findSimilarSuspenseQueryKey(animeId, params) + return queryOptions, FindSimilarQueryResponse, typeof queryKey>({ + enabled: !!(animeId && params), + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return findSimilar(animeId, params, config) + }, + }) +} + +/** + * @summary Получение страницы похожих аниме по animeId + * {@link /api/v1/anime/:animeId/similar} + */ +export function useFindSimilarSuspense( + animeId: FindSimilarPathParams['animeId'], + params: FindSimilarQueryParams, + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? findSimilarSuspenseQueryKey(animeId, params) + + const query = useSuspenseQuery( + { + ...findSimilarSuspenseQueryOptions(animeId, params, config), + queryKey, + ...queryOptions, + } as unknown as UseSuspenseQueryOptions, + queryClient, + ) as UseSuspenseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/animeControllerHooks/useGetAllGenres.ts b/app/api/generated/hooks/animeControllerHooks/useGetAllGenres.ts new file mode 100644 index 0000000..3bc5fab --- /dev/null +++ b/app/api/generated/hooks/animeControllerHooks/useGetAllGenres.ts @@ -0,0 +1,58 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, QueryObserverOptions, UseQueryResult } from '@tanstack/react-query' +import type { GetAllGenresQueryResponse } from '../../types/animeControllerController/GetAllGenres.ts' +import { queryOptions, useQuery } from '@tanstack/react-query' +import { getAllGenres } from '../../clients/axios/animeControllerService/getAllGenres.ts' + +export const getAllGenresQueryKey = () => [{ url: '/api/v1/anime/genres' }] as const + +export type GetAllGenresQueryKey = ReturnType + +export function getAllGenresQueryOptions(config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getAllGenresQueryKey() + return queryOptions, GetAllGenresQueryResponse, typeof queryKey>({ + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getAllGenres(config) + }, + }) +} + +/** + * @summary Получение списка влзможных жанров аниме + * {@link /api/v1/anime/genres} + */ +export function useGetAllGenres( + options: { + query?: Partial, TData, TQueryData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getAllGenresQueryKey() + + const query = useQuery( + { + ...getAllGenresQueryOptions(config), + queryKey, + ...queryOptions, + } as unknown as QueryObserverOptions, + queryClient, + ) as UseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/animeControllerHooks/useGetAllGenresInfinite.ts b/app/api/generated/hooks/animeControllerHooks/useGetAllGenresInfinite.ts new file mode 100644 index 0000000..80e6669 --- /dev/null +++ b/app/api/generated/hooks/animeControllerHooks/useGetAllGenresInfinite.ts @@ -0,0 +1,65 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { InfiniteData, QueryKey, QueryClient, InfiniteQueryObserverOptions, UseInfiniteQueryResult } from '@tanstack/react-query' +import type { GetAllGenresQueryResponse } from '../../types/animeControllerController/GetAllGenres.ts' +import { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/react-query' +import { getAllGenres } from '../../clients/axios/animeControllerService/getAllGenres.ts' + +export const getAllGenresInfiniteQueryKey = () => [{ url: '/api/v1/anime/genres' }] as const + +export type GetAllGenresInfiniteQueryKey = ReturnType + +export function getAllGenresInfiniteQueryOptions(config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getAllGenresInfiniteQueryKey() + return infiniteQueryOptions, GetAllGenresQueryResponse, typeof queryKey>({ + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getAllGenres(config) + }, + initialPageParam: 1, + getNextPageParam: (lastPage) => lastPage['nextCursor'], + getPreviousPageParam: (firstPage) => firstPage['nextCursor'], + }) +} + +/** + * @summary Получение списка влзможных жанров аниме + * {@link /api/v1/anime/genres} + */ +export function useGetAllGenresInfinite< + TData = InfiniteData, + TQueryData = GetAllGenresQueryResponse, + TQueryKey extends QueryKey = GetAllGenresInfiniteQueryKey, +>( + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getAllGenresInfiniteQueryKey() + + const query = useInfiniteQuery( + { + ...getAllGenresInfiniteQueryOptions(config), + queryKey, + ...queryOptions, + } as unknown as InfiniteQueryObserverOptions, + queryClient, + ) as UseInfiniteQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/animeControllerHooks/useGetAllGenresSuspense.ts b/app/api/generated/hooks/animeControllerHooks/useGetAllGenresSuspense.ts new file mode 100644 index 0000000..316dc51 --- /dev/null +++ b/app/api/generated/hooks/animeControllerHooks/useGetAllGenresSuspense.ts @@ -0,0 +1,58 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, UseSuspenseQueryOptions, UseSuspenseQueryResult } from '@tanstack/react-query' +import type { GetAllGenresQueryResponse } from '../../types/animeControllerController/GetAllGenres.ts' +import { queryOptions, useSuspenseQuery } from '@tanstack/react-query' +import { getAllGenres } from '../../clients/axios/animeControllerService/getAllGenres.ts' + +export const getAllGenresSuspenseQueryKey = () => [{ url: '/api/v1/anime/genres' }] as const + +export type GetAllGenresSuspenseQueryKey = ReturnType + +export function getAllGenresSuspenseQueryOptions(config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getAllGenresSuspenseQueryKey() + return queryOptions, GetAllGenresQueryResponse, typeof queryKey>({ + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getAllGenres(config) + }, + }) +} + +/** + * @summary Получение списка влзможных жанров аниме + * {@link /api/v1/anime/genres} + */ +export function useGetAllGenresSuspense( + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getAllGenresSuspenseQueryKey() + + const query = useSuspenseQuery( + { + ...getAllGenresSuspenseQueryOptions(config), + queryKey, + ...queryOptions, + } as unknown as UseSuspenseQueryOptions, + queryClient, + ) as UseSuspenseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/animeControllerHooks/useGetAllMpaaRatings.ts b/app/api/generated/hooks/animeControllerHooks/useGetAllMpaaRatings.ts new file mode 100644 index 0000000..f23fabc --- /dev/null +++ b/app/api/generated/hooks/animeControllerHooks/useGetAllMpaaRatings.ts @@ -0,0 +1,62 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, QueryObserverOptions, UseQueryResult } from '@tanstack/react-query' +import type { GetAllMpaaRatingsQueryResponse } from '../../types/animeControllerController/GetAllMpaaRatings.ts' +import { queryOptions, useQuery } from '@tanstack/react-query' +import { getAllMpaaRatings } from '../../clients/axios/animeControllerService/getAllMpaaRatings.ts' + +export const getAllMpaaRatingsQueryKey = () => [{ url: '/api/v1/anime/mpaaratings' }] as const + +export type GetAllMpaaRatingsQueryKey = ReturnType + +export function getAllMpaaRatingsQueryOptions(config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getAllMpaaRatingsQueryKey() + return queryOptions, GetAllMpaaRatingsQueryResponse, typeof queryKey>({ + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getAllMpaaRatings(config) + }, + }) +} + +/** + * @summary Получение списка влзможных mpa рейтингов + * {@link /api/v1/anime/mpaaratings} + */ +export function useGetAllMpaaRatings< + TData = GetAllMpaaRatingsQueryResponse, + TQueryData = GetAllMpaaRatingsQueryResponse, + TQueryKey extends QueryKey = GetAllMpaaRatingsQueryKey, +>( + options: { + query?: Partial, TData, TQueryData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getAllMpaaRatingsQueryKey() + + const query = useQuery( + { + ...getAllMpaaRatingsQueryOptions(config), + queryKey, + ...queryOptions, + } as unknown as QueryObserverOptions, + queryClient, + ) as UseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/animeControllerHooks/useGetAllMpaaRatingsInfinite.ts b/app/api/generated/hooks/animeControllerHooks/useGetAllMpaaRatingsInfinite.ts new file mode 100644 index 0000000..d729173 --- /dev/null +++ b/app/api/generated/hooks/animeControllerHooks/useGetAllMpaaRatingsInfinite.ts @@ -0,0 +1,65 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { InfiniteData, QueryKey, QueryClient, InfiniteQueryObserverOptions, UseInfiniteQueryResult } from '@tanstack/react-query' +import type { GetAllMpaaRatingsQueryResponse } from '../../types/animeControllerController/GetAllMpaaRatings.ts' +import { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/react-query' +import { getAllMpaaRatings } from '../../clients/axios/animeControllerService/getAllMpaaRatings.ts' + +export const getAllMpaaRatingsInfiniteQueryKey = () => [{ url: '/api/v1/anime/mpaaratings' }] as const + +export type GetAllMpaaRatingsInfiniteQueryKey = ReturnType + +export function getAllMpaaRatingsInfiniteQueryOptions(config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getAllMpaaRatingsInfiniteQueryKey() + return infiniteQueryOptions, GetAllMpaaRatingsQueryResponse, typeof queryKey>({ + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getAllMpaaRatings(config) + }, + initialPageParam: 1, + getNextPageParam: (lastPage) => lastPage['nextCursor'], + getPreviousPageParam: (firstPage) => firstPage['nextCursor'], + }) +} + +/** + * @summary Получение списка влзможных mpa рейтингов + * {@link /api/v1/anime/mpaaratings} + */ +export function useGetAllMpaaRatingsInfinite< + TData = InfiniteData, + TQueryData = GetAllMpaaRatingsQueryResponse, + TQueryKey extends QueryKey = GetAllMpaaRatingsInfiniteQueryKey, +>( + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getAllMpaaRatingsInfiniteQueryKey() + + const query = useInfiniteQuery( + { + ...getAllMpaaRatingsInfiniteQueryOptions(config), + queryKey, + ...queryOptions, + } as unknown as InfiniteQueryObserverOptions, + queryClient, + ) as UseInfiniteQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/animeControllerHooks/useGetAllMpaaRatingsSuspense.ts b/app/api/generated/hooks/animeControllerHooks/useGetAllMpaaRatingsSuspense.ts new file mode 100644 index 0000000..e888eb4 --- /dev/null +++ b/app/api/generated/hooks/animeControllerHooks/useGetAllMpaaRatingsSuspense.ts @@ -0,0 +1,58 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, UseSuspenseQueryOptions, UseSuspenseQueryResult } from '@tanstack/react-query' +import type { GetAllMpaaRatingsQueryResponse } from '../../types/animeControllerController/GetAllMpaaRatings.ts' +import { queryOptions, useSuspenseQuery } from '@tanstack/react-query' +import { getAllMpaaRatings } from '../../clients/axios/animeControllerService/getAllMpaaRatings.ts' + +export const getAllMpaaRatingsSuspenseQueryKey = () => [{ url: '/api/v1/anime/mpaaratings' }] as const + +export type GetAllMpaaRatingsSuspenseQueryKey = ReturnType + +export function getAllMpaaRatingsSuspenseQueryOptions(config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getAllMpaaRatingsSuspenseQueryKey() + return queryOptions, GetAllMpaaRatingsQueryResponse, typeof queryKey>({ + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getAllMpaaRatings(config) + }, + }) +} + +/** + * @summary Получение списка влзможных mpa рейтингов + * {@link /api/v1/anime/mpaaratings} + */ +export function useGetAllMpaaRatingsSuspense( + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getAllMpaaRatingsSuspenseQueryKey() + + const query = useSuspenseQuery( + { + ...getAllMpaaRatingsSuspenseQueryOptions(config), + queryKey, + ...queryOptions, + } as unknown as UseSuspenseQueryOptions, + queryClient, + ) as UseSuspenseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/animeControllerHooks/useGetAllStatuses.ts b/app/api/generated/hooks/animeControllerHooks/useGetAllStatuses.ts new file mode 100644 index 0000000..528ed0b --- /dev/null +++ b/app/api/generated/hooks/animeControllerHooks/useGetAllStatuses.ts @@ -0,0 +1,62 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, QueryObserverOptions, UseQueryResult } from '@tanstack/react-query' +import type { GetAllStatusesQueryResponse } from '../../types/animeControllerController/GetAllStatuses.ts' +import { queryOptions, useQuery } from '@tanstack/react-query' +import { getAllStatuses } from '../../clients/axios/animeControllerService/getAllStatuses.ts' + +export const getAllStatusesQueryKey = () => [{ url: '/api/v1/anime/statuses' }] as const + +export type GetAllStatusesQueryKey = ReturnType + +export function getAllStatusesQueryOptions(config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getAllStatusesQueryKey() + return queryOptions, GetAllStatusesQueryResponse, typeof queryKey>({ + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getAllStatuses(config) + }, + }) +} + +/** + * @summary Получение списка влзможных статусов аниме + * {@link /api/v1/anime/statuses} + */ +export function useGetAllStatuses< + TData = GetAllStatusesQueryResponse, + TQueryData = GetAllStatusesQueryResponse, + TQueryKey extends QueryKey = GetAllStatusesQueryKey, +>( + options: { + query?: Partial, TData, TQueryData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getAllStatusesQueryKey() + + const query = useQuery( + { + ...getAllStatusesQueryOptions(config), + queryKey, + ...queryOptions, + } as unknown as QueryObserverOptions, + queryClient, + ) as UseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/animeControllerHooks/useGetAllStatusesInfinite.ts b/app/api/generated/hooks/animeControllerHooks/useGetAllStatusesInfinite.ts new file mode 100644 index 0000000..175b146 --- /dev/null +++ b/app/api/generated/hooks/animeControllerHooks/useGetAllStatusesInfinite.ts @@ -0,0 +1,65 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { InfiniteData, QueryKey, QueryClient, InfiniteQueryObserverOptions, UseInfiniteQueryResult } from '@tanstack/react-query' +import type { GetAllStatusesQueryResponse } from '../../types/animeControllerController/GetAllStatuses.ts' +import { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/react-query' +import { getAllStatuses } from '../../clients/axios/animeControllerService/getAllStatuses.ts' + +export const getAllStatusesInfiniteQueryKey = () => [{ url: '/api/v1/anime/statuses' }] as const + +export type GetAllStatusesInfiniteQueryKey = ReturnType + +export function getAllStatusesInfiniteQueryOptions(config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getAllStatusesInfiniteQueryKey() + return infiniteQueryOptions, GetAllStatusesQueryResponse, typeof queryKey>({ + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getAllStatuses(config) + }, + initialPageParam: 1, + getNextPageParam: (lastPage) => lastPage['nextCursor'], + getPreviousPageParam: (firstPage) => firstPage['nextCursor'], + }) +} + +/** + * @summary Получение списка влзможных статусов аниме + * {@link /api/v1/anime/statuses} + */ +export function useGetAllStatusesInfinite< + TData = InfiniteData, + TQueryData = GetAllStatusesQueryResponse, + TQueryKey extends QueryKey = GetAllStatusesInfiniteQueryKey, +>( + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getAllStatusesInfiniteQueryKey() + + const query = useInfiniteQuery( + { + ...getAllStatusesInfiniteQueryOptions(config), + queryKey, + ...queryOptions, + } as unknown as InfiniteQueryObserverOptions, + queryClient, + ) as UseInfiniteQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/animeControllerHooks/useGetAllStatusesSuspense.ts b/app/api/generated/hooks/animeControllerHooks/useGetAllStatusesSuspense.ts new file mode 100644 index 0000000..d5d9a42 --- /dev/null +++ b/app/api/generated/hooks/animeControllerHooks/useGetAllStatusesSuspense.ts @@ -0,0 +1,58 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, UseSuspenseQueryOptions, UseSuspenseQueryResult } from '@tanstack/react-query' +import type { GetAllStatusesQueryResponse } from '../../types/animeControllerController/GetAllStatuses.ts' +import { queryOptions, useSuspenseQuery } from '@tanstack/react-query' +import { getAllStatuses } from '../../clients/axios/animeControllerService/getAllStatuses.ts' + +export const getAllStatusesSuspenseQueryKey = () => [{ url: '/api/v1/anime/statuses' }] as const + +export type GetAllStatusesSuspenseQueryKey = ReturnType + +export function getAllStatusesSuspenseQueryOptions(config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getAllStatusesSuspenseQueryKey() + return queryOptions, GetAllStatusesQueryResponse, typeof queryKey>({ + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getAllStatuses(config) + }, + }) +} + +/** + * @summary Получение списка влзможных статусов аниме + * {@link /api/v1/anime/statuses} + */ +export function useGetAllStatusesSuspense( + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getAllStatusesSuspenseQueryKey() + + const query = useSuspenseQuery( + { + ...getAllStatusesSuspenseQueryOptions(config), + queryKey, + ...queryOptions, + } as unknown as UseSuspenseQueryOptions, + queryClient, + ) as UseSuspenseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/animeControllerHooks/useGetAllTypes.ts b/app/api/generated/hooks/animeControllerHooks/useGetAllTypes.ts new file mode 100644 index 0000000..1a4973c --- /dev/null +++ b/app/api/generated/hooks/animeControllerHooks/useGetAllTypes.ts @@ -0,0 +1,58 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, QueryObserverOptions, UseQueryResult } from '@tanstack/react-query' +import type { GetAllTypesQueryResponse } from '../../types/animeControllerController/GetAllTypes.ts' +import { queryOptions, useQuery } from '@tanstack/react-query' +import { getAllTypes } from '../../clients/axios/animeControllerService/getAllTypes.ts' + +export const getAllTypesQueryKey = () => [{ url: '/api/v1/anime/types' }] as const + +export type GetAllTypesQueryKey = ReturnType + +export function getAllTypesQueryOptions(config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getAllTypesQueryKey() + return queryOptions, GetAllTypesQueryResponse, typeof queryKey>({ + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getAllTypes(config) + }, + }) +} + +/** + * @summary Получение списка влзможных типов аниме + * {@link /api/v1/anime/types} + */ +export function useGetAllTypes( + options: { + query?: Partial, TData, TQueryData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getAllTypesQueryKey() + + const query = useQuery( + { + ...getAllTypesQueryOptions(config), + queryKey, + ...queryOptions, + } as unknown as QueryObserverOptions, + queryClient, + ) as UseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/animeControllerHooks/useGetAllTypesInfinite.ts b/app/api/generated/hooks/animeControllerHooks/useGetAllTypesInfinite.ts new file mode 100644 index 0000000..9f4ce50 --- /dev/null +++ b/app/api/generated/hooks/animeControllerHooks/useGetAllTypesInfinite.ts @@ -0,0 +1,65 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { InfiniteData, QueryKey, QueryClient, InfiniteQueryObserverOptions, UseInfiniteQueryResult } from '@tanstack/react-query' +import type { GetAllTypesQueryResponse } from '../../types/animeControllerController/GetAllTypes.ts' +import { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/react-query' +import { getAllTypes } from '../../clients/axios/animeControllerService/getAllTypes.ts' + +export const getAllTypesInfiniteQueryKey = () => [{ url: '/api/v1/anime/types' }] as const + +export type GetAllTypesInfiniteQueryKey = ReturnType + +export function getAllTypesInfiniteQueryOptions(config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getAllTypesInfiniteQueryKey() + return infiniteQueryOptions, GetAllTypesQueryResponse, typeof queryKey>({ + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getAllTypes(config) + }, + initialPageParam: 1, + getNextPageParam: (lastPage) => lastPage['nextCursor'], + getPreviousPageParam: (firstPage) => firstPage['nextCursor'], + }) +} + +/** + * @summary Получение списка влзможных типов аниме + * {@link /api/v1/anime/types} + */ +export function useGetAllTypesInfinite< + TData = InfiniteData, + TQueryData = GetAllTypesQueryResponse, + TQueryKey extends QueryKey = GetAllTypesInfiniteQueryKey, +>( + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getAllTypesInfiniteQueryKey() + + const query = useInfiniteQuery( + { + ...getAllTypesInfiniteQueryOptions(config), + queryKey, + ...queryOptions, + } as unknown as InfiniteQueryObserverOptions, + queryClient, + ) as UseInfiniteQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/animeControllerHooks/useGetAllTypesSuspense.ts b/app/api/generated/hooks/animeControllerHooks/useGetAllTypesSuspense.ts new file mode 100644 index 0000000..789f4d5 --- /dev/null +++ b/app/api/generated/hooks/animeControllerHooks/useGetAllTypesSuspense.ts @@ -0,0 +1,58 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, UseSuspenseQueryOptions, UseSuspenseQueryResult } from '@tanstack/react-query' +import type { GetAllTypesQueryResponse } from '../../types/animeControllerController/GetAllTypes.ts' +import { queryOptions, useSuspenseQuery } from '@tanstack/react-query' +import { getAllTypes } from '../../clients/axios/animeControllerService/getAllTypes.ts' + +export const getAllTypesSuspenseQueryKey = () => [{ url: '/api/v1/anime/types' }] as const + +export type GetAllTypesSuspenseQueryKey = ReturnType + +export function getAllTypesSuspenseQueryOptions(config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getAllTypesSuspenseQueryKey() + return queryOptions, GetAllTypesQueryResponse, typeof queryKey>({ + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getAllTypes(config) + }, + }) +} + +/** + * @summary Получение списка влзможных типов аниме + * {@link /api/v1/anime/types} + */ +export function useGetAllTypesSuspense( + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getAllTypesSuspenseQueryKey() + + const query = useSuspenseQuery( + { + ...getAllTypesSuspenseQueryOptions(config), + queryKey, + ...queryOptions, + } as unknown as UseSuspenseQueryOptions, + queryClient, + ) as UseSuspenseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/animeControllerHooks/useGetPage.ts b/app/api/generated/hooks/animeControllerHooks/useGetPage.ts new file mode 100644 index 0000000..d46865a --- /dev/null +++ b/app/api/generated/hooks/animeControllerHooks/useGetPage.ts @@ -0,0 +1,61 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, QueryObserverOptions, UseQueryResult } from '@tanstack/react-query' +import type { GetPageQueryResponse, GetPageQueryParams, GetPage400 } from '../../types/animeControllerController/GetPage.ts' +import { queryOptions, useQuery } from '@tanstack/react-query' +import { getPage } from '../../clients/axios/animeControllerService/getPage.ts' + +export const getPageQueryKey = (params: GetPageQueryParams) => [{ url: '/api/v1/anime' }, ...(params ? [params] : [])] as const + +export type GetPageQueryKey = ReturnType + +export function getPageQueryOptions(params: GetPageQueryParams, config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getPageQueryKey(params) + return queryOptions, GetPageQueryResponse, typeof queryKey>({ + enabled: !!params, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getPage(params, config) + }, + }) +} + +/** + * @description Возвращает страницу AnimeDto/AnimeCardDto в зависимости от параметра запроса dtoType + * @summary Поиск аниме по параметрам + * {@link /api/v1/anime} + */ +export function useGetPage( + params: GetPageQueryParams, + options: { + query?: Partial, TData, TQueryData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getPageQueryKey(params) + + const query = useQuery( + { + ...getPageQueryOptions(params, config), + queryKey, + ...queryOptions, + } as unknown as QueryObserverOptions, + queryClient, + ) as UseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/animeControllerHooks/useGetPageInfinite.ts b/app/api/generated/hooks/animeControllerHooks/useGetPageInfinite.ts new file mode 100644 index 0000000..6f888f7 --- /dev/null +++ b/app/api/generated/hooks/animeControllerHooks/useGetPageInfinite.ts @@ -0,0 +1,72 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { InfiniteData, QueryKey, QueryClient, InfiniteQueryObserverOptions, UseInfiniteQueryResult } from '@tanstack/react-query' +import type { GetPageQueryResponse, GetPageQueryParams, GetPage400 } from '../../types/animeControllerController/GetPage.ts' +import { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/react-query' +import { getPage } from '../../clients/axios/animeControllerService/getPage.ts' + +export const getPageInfiniteQueryKey = (params: GetPageQueryParams) => [{ url: '/api/v1/anime' }, ...(params ? [params] : [])] as const + +export type GetPageInfiniteQueryKey = ReturnType + +export function getPageInfiniteQueryOptions(params: GetPageQueryParams, config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getPageInfiniteQueryKey(params) + return infiniteQueryOptions, GetPageQueryResponse, typeof queryKey, number>({ + enabled: !!params, + queryKey, + queryFn: async ({ signal, pageParam }) => { + config.signal = signal + + if (params) { + params['page'] = pageParam as unknown as GetPageQueryParams['page'] + } + return getPage(params, config) + }, + initialPageParam: 1, + getNextPageParam: (lastPage) => lastPage['nextCursor'], + getPreviousPageParam: (firstPage) => firstPage['nextCursor'], + }) +} + +/** + * @description Возвращает страницу AnimeDto/AnimeCardDto в зависимости от параметра запроса dtoType + * @summary Поиск аниме по параметрам + * {@link /api/v1/anime} + */ +export function useGetPageInfinite< + TData = InfiniteData, + TQueryData = GetPageQueryResponse, + TQueryKey extends QueryKey = GetPageInfiniteQueryKey, +>( + params: GetPageQueryParams, + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getPageInfiniteQueryKey(params) + + const query = useInfiniteQuery( + { + ...getPageInfiniteQueryOptions(params, config), + queryKey, + ...queryOptions, + } as unknown as InfiniteQueryObserverOptions, + queryClient, + ) as UseInfiniteQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/animeControllerHooks/useGetPageSuspense.ts b/app/api/generated/hooks/animeControllerHooks/useGetPageSuspense.ts new file mode 100644 index 0000000..471fda0 --- /dev/null +++ b/app/api/generated/hooks/animeControllerHooks/useGetPageSuspense.ts @@ -0,0 +1,61 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, UseSuspenseQueryOptions, UseSuspenseQueryResult } from '@tanstack/react-query' +import type { GetPageQueryResponse, GetPageQueryParams, GetPage400 } from '../../types/animeControllerController/GetPage.ts' +import { queryOptions, useSuspenseQuery } from '@tanstack/react-query' +import { getPage } from '../../clients/axios/animeControllerService/getPage.ts' + +export const getPageSuspenseQueryKey = (params: GetPageQueryParams) => [{ url: '/api/v1/anime' }, ...(params ? [params] : [])] as const + +export type GetPageSuspenseQueryKey = ReturnType + +export function getPageSuspenseQueryOptions(params: GetPageQueryParams, config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getPageSuspenseQueryKey(params) + return queryOptions, GetPageQueryResponse, typeof queryKey>({ + enabled: !!params, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getPage(params, config) + }, + }) +} + +/** + * @description Возвращает страницу AnimeDto/AnimeCardDto в зависимости от параметра запроса dtoType + * @summary Поиск аниме по параметрам + * {@link /api/v1/anime} + */ +export function useGetPageSuspense( + params: GetPageQueryParams, + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getPageSuspenseQueryKey(params) + + const query = useSuspenseQuery( + { + ...getPageSuspenseQueryOptions(params, config), + queryKey, + ...queryOptions, + } as unknown as UseSuspenseQueryOptions, + queryClient, + ) as UseSuspenseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/animeControllerHooks/useIncreasePopularity.ts b/app/api/generated/hooks/animeControllerHooks/useIncreasePopularity.ts new file mode 100644 index 0000000..df73ad4 --- /dev/null +++ b/app/api/generated/hooks/animeControllerHooks/useIncreasePopularity.ts @@ -0,0 +1,48 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { IncreasePopularityMutationRequest, IncreasePopularityMutationResponse } from '../../types/animeControllerController/IncreasePopularity.ts' +import { useMutation } from '@tanstack/react-query' +import { increasePopularity } from '../../clients/axios/animeControllerService/increasePopularity.ts' + +export const increasePopularityMutationKey = () => [{ url: '/api/v1/anime/increasePopularity' }] as const + +export type IncreasePopularityMutationKey = ReturnType + +/** + * @summary Увеличение популярности аниме по id на 1 + * {@link /api/v1/anime/increasePopularity} + */ +export function useIncreasePopularity( + options: { + mutation?: UseMutationOptions, { data?: IncreasePopularityMutationRequest }, TContext> & { + client?: QueryClient + } + client?: Partial> & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? increasePopularityMutationKey() + + return useMutation, { data?: IncreasePopularityMutationRequest }, TContext>( + { + mutationFn: async ({ data }) => { + return increasePopularity(data, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/animeControllerHooks/useUpdateById.ts b/app/api/generated/hooks/animeControllerHooks/useUpdateById.ts new file mode 100644 index 0000000..de92032 --- /dev/null +++ b/app/api/generated/hooks/animeControllerHooks/useUpdateById.ts @@ -0,0 +1,48 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { UpdateByIdMutationRequest, UpdateByIdMutationResponse, UpdateById404 } from '../../types/animeControllerController/UpdateById.ts' +import { useMutation } from '@tanstack/react-query' +import { updateById } from '../../clients/axios/animeControllerService/updateById.ts' + +export const updateByIdMutationKey = () => [{ url: '/api/v1/anime' }] as const + +export type UpdateByIdMutationKey = ReturnType + +/** + * @summary Обновление аниме + * {@link /api/v1/anime} + */ +export function useUpdateById( + options: { + mutation?: UseMutationOptions, { data: UpdateByIdMutationRequest }, TContext> & { + client?: QueryClient + } + client?: Partial> & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? updateByIdMutationKey() + + return useMutation, { data: UpdateByIdMutationRequest }, TContext>( + { + mutationFn: async ({ data }) => { + return updateById(data, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/commentsControllerHooks/useCreateComment.ts b/app/api/generated/hooks/commentsControllerHooks/useCreateComment.ts new file mode 100644 index 0000000..5c00cb6 --- /dev/null +++ b/app/api/generated/hooks/commentsControllerHooks/useCreateComment.ts @@ -0,0 +1,56 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { + CreateCommentMutationRequest, + CreateCommentMutationResponse, + CreateComment400, + CreateComment404, +} from '../../types/commentsControllerController/CreateComment.ts' +import { useMutation } from '@tanstack/react-query' +import { createComment } from '../../clients/axios/commentsControllerService/createComment.ts' + +export const createCommentMutationKey = () => [{ url: '/api/v1/anime/comments' }] as const + +export type CreateCommentMutationKey = ReturnType + +/** + * @summary Создание комментария + * {@link /api/v1/anime/comments} + */ +export function useCreateComment( + options: { + mutation?: UseMutationOptions< + CreateCommentMutationResponse, + ResponseErrorConfig, + { data: CreateCommentMutationRequest }, + TContext + > & { client?: QueryClient } + client?: Partial> & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? createCommentMutationKey() + + return useMutation, { data: CreateCommentMutationRequest }, TContext>( + { + mutationFn: async ({ data }) => { + return createComment(data, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/commentsControllerHooks/useDeleteComment.ts b/app/api/generated/hooks/commentsControllerHooks/useDeleteComment.ts new file mode 100644 index 0000000..efdc1ff --- /dev/null +++ b/app/api/generated/hooks/commentsControllerHooks/useDeleteComment.ts @@ -0,0 +1,56 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { + DeleteCommentMutationResponse, + DeleteCommentPathParams, + DeleteComment400, + DeleteComment404, +} from '../../types/commentsControllerController/DeleteComment.ts' +import { useMutation } from '@tanstack/react-query' +import { deleteComment } from '../../clients/axios/commentsControllerService/deleteComment.ts' + +export const deleteCommentMutationKey = () => [{ url: '/api/v1/anime/comments/{id}' }] as const + +export type DeleteCommentMutationKey = ReturnType + +/** + * @summary Удаление комментария по id + * {@link /api/v1/anime/comments/:id} + */ +export function useDeleteComment( + options: { + mutation?: UseMutationOptions< + DeleteCommentMutationResponse, + ResponseErrorConfig, + { id: DeleteCommentPathParams['id'] }, + TContext + > & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? deleteCommentMutationKey() + + return useMutation, { id: DeleteCommentPathParams['id'] }, TContext>( + { + mutationFn: async ({ id }) => { + return deleteComment(id, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/commentsControllerHooks/useGetCommentsById.ts b/app/api/generated/hooks/commentsControllerHooks/useGetCommentsById.ts new file mode 100644 index 0000000..7130960 --- /dev/null +++ b/app/api/generated/hooks/commentsControllerHooks/useGetCommentsById.ts @@ -0,0 +1,76 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, QueryObserverOptions, UseQueryResult } from '@tanstack/react-query' +import type { + GetCommentsByIdQueryResponse, + GetCommentsByIdPathParams, + GetCommentsByIdQueryParams, +} from '../../types/commentsControllerController/GetCommentsById.ts' +import { queryOptions, useQuery } from '@tanstack/react-query' +import { getCommentsById } from '../../clients/axios/commentsControllerService/getCommentsById.ts' + +export const getCommentsByIdQueryKey = (type: GetCommentsByIdPathParams['type'], id: GetCommentsByIdPathParams['id'], params: GetCommentsByIdQueryParams) => + [{ url: '/api/v1/anime/comments/by-type-and-id/:type/:id', params: { type: type, id: id } }, ...(params ? [params] : [])] as const + +export type GetCommentsByIdQueryKey = ReturnType + +export function getCommentsByIdQueryOptions( + type: GetCommentsByIdPathParams['type'], + id: GetCommentsByIdPathParams['id'], + params: GetCommentsByIdQueryParams, + config: Partial & { client?: typeof fetch } = {}, +) { + const queryKey = getCommentsByIdQueryKey(type, id, params) + return queryOptions, GetCommentsByIdQueryResponse, typeof queryKey>({ + enabled: !!(type && id && params), + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getCommentsById(type, id, params, config) + }, + }) +} + +/** + * @summary Постраничное получение всех комментариев пользователя по id пользователя с фильтрацией по типу комментария + * {@link /api/v1/anime/comments/by-type-and-id/:type/:id} + */ +export function useGetCommentsById< + TData = GetCommentsByIdQueryResponse, + TQueryData = GetCommentsByIdQueryResponse, + TQueryKey extends QueryKey = GetCommentsByIdQueryKey, +>( + type: GetCommentsByIdPathParams['type'], + id: GetCommentsByIdPathParams['id'], + params: GetCommentsByIdQueryParams, + options: { + query?: Partial, TData, TQueryData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getCommentsByIdQueryKey(type, id, params) + + const query = useQuery( + { + ...getCommentsByIdQueryOptions(type, id, params, config), + queryKey, + ...queryOptions, + } as unknown as QueryObserverOptions, + queryClient, + ) as UseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/commentsControllerHooks/useGetCommentsByIdInfinite.ts b/app/api/generated/hooks/commentsControllerHooks/useGetCommentsByIdInfinite.ts new file mode 100644 index 0000000..106192f --- /dev/null +++ b/app/api/generated/hooks/commentsControllerHooks/useGetCommentsByIdInfinite.ts @@ -0,0 +1,86 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { InfiniteData, QueryKey, QueryClient, InfiniteQueryObserverOptions, UseInfiniteQueryResult } from '@tanstack/react-query' +import type { + GetCommentsByIdQueryResponse, + GetCommentsByIdPathParams, + GetCommentsByIdQueryParams, +} from '../../types/commentsControllerController/GetCommentsById.ts' +import { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/react-query' +import { getCommentsById } from '../../clients/axios/commentsControllerService/getCommentsById.ts' + +export const getCommentsByIdInfiniteQueryKey = ( + type: GetCommentsByIdPathParams['type'], + id: GetCommentsByIdPathParams['id'], + params: GetCommentsByIdQueryParams, +) => [{ url: '/api/v1/anime/comments/by-type-and-id/:type/:id', params: { type: type, id: id } }, ...(params ? [params] : [])] as const + +export type GetCommentsByIdInfiniteQueryKey = ReturnType + +export function getCommentsByIdInfiniteQueryOptions( + type: GetCommentsByIdPathParams['type'], + id: GetCommentsByIdPathParams['id'], + params: GetCommentsByIdQueryParams, + config: Partial & { client?: typeof fetch } = {}, +) { + const queryKey = getCommentsByIdInfiniteQueryKey(type, id, params) + return infiniteQueryOptions, GetCommentsByIdQueryResponse, typeof queryKey, number>({ + enabled: !!(type && id && params), + queryKey, + queryFn: async ({ signal, pageParam }) => { + config.signal = signal + + if (params) { + params['page'] = pageParam as unknown as GetCommentsByIdQueryParams['page'] + } + return getCommentsById(type, id, params, config) + }, + initialPageParam: 1, + getNextPageParam: (lastPage) => lastPage['nextCursor'], + getPreviousPageParam: (firstPage) => firstPage['nextCursor'], + }) +} + +/** + * @summary Постраничное получение всех комментариев пользователя по id пользователя с фильтрацией по типу комментария + * {@link /api/v1/anime/comments/by-type-and-id/:type/:id} + */ +export function useGetCommentsByIdInfinite< + TData = InfiniteData, + TQueryData = GetCommentsByIdQueryResponse, + TQueryKey extends QueryKey = GetCommentsByIdInfiniteQueryKey, +>( + type: GetCommentsByIdPathParams['type'], + id: GetCommentsByIdPathParams['id'], + params: GetCommentsByIdQueryParams, + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getCommentsByIdInfiniteQueryKey(type, id, params) + + const query = useInfiniteQuery( + { + ...getCommentsByIdInfiniteQueryOptions(type, id, params, config), + queryKey, + ...queryOptions, + } as unknown as InfiniteQueryObserverOptions, + queryClient, + ) as UseInfiniteQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/commentsControllerHooks/useGetCommentsByIdSuspense.ts b/app/api/generated/hooks/commentsControllerHooks/useGetCommentsByIdSuspense.ts new file mode 100644 index 0000000..474060e --- /dev/null +++ b/app/api/generated/hooks/commentsControllerHooks/useGetCommentsByIdSuspense.ts @@ -0,0 +1,75 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, UseSuspenseQueryOptions, UseSuspenseQueryResult } from '@tanstack/react-query' +import type { + GetCommentsByIdQueryResponse, + GetCommentsByIdPathParams, + GetCommentsByIdQueryParams, +} from '../../types/commentsControllerController/GetCommentsById.ts' +import { queryOptions, useSuspenseQuery } from '@tanstack/react-query' +import { getCommentsById } from '../../clients/axios/commentsControllerService/getCommentsById.ts' + +export const getCommentsByIdSuspenseQueryKey = ( + type: GetCommentsByIdPathParams['type'], + id: GetCommentsByIdPathParams['id'], + params: GetCommentsByIdQueryParams, +) => [{ url: '/api/v1/anime/comments/by-type-and-id/:type/:id', params: { type: type, id: id } }, ...(params ? [params] : [])] as const + +export type GetCommentsByIdSuspenseQueryKey = ReturnType + +export function getCommentsByIdSuspenseQueryOptions( + type: GetCommentsByIdPathParams['type'], + id: GetCommentsByIdPathParams['id'], + params: GetCommentsByIdQueryParams, + config: Partial & { client?: typeof fetch } = {}, +) { + const queryKey = getCommentsByIdSuspenseQueryKey(type, id, params) + return queryOptions, GetCommentsByIdQueryResponse, typeof queryKey>({ + enabled: !!(type && id && params), + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getCommentsById(type, id, params, config) + }, + }) +} + +/** + * @summary Постраничное получение всех комментариев пользователя по id пользователя с фильтрацией по типу комментария + * {@link /api/v1/anime/comments/by-type-and-id/:type/:id} + */ +export function useGetCommentsByIdSuspense( + type: GetCommentsByIdPathParams['type'], + id: GetCommentsByIdPathParams['id'], + params: GetCommentsByIdQueryParams, + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getCommentsByIdSuspenseQueryKey(type, id, params) + + const query = useSuspenseQuery( + { + ...getCommentsByIdSuspenseQueryOptions(type, id, params, config), + queryKey, + ...queryOptions, + } as unknown as UseSuspenseQueryOptions, + queryClient, + ) as UseSuspenseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/commentsControllerHooks/useGetCommentsByUser.ts b/app/api/generated/hooks/commentsControllerHooks/useGetCommentsByUser.ts new file mode 100644 index 0000000..2d717cb --- /dev/null +++ b/app/api/generated/hooks/commentsControllerHooks/useGetCommentsByUser.ts @@ -0,0 +1,74 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, QueryObserverOptions, UseQueryResult } from '@tanstack/react-query' +import type { + GetCommentsByUserQueryResponse, + GetCommentsByUserPathParams, + GetCommentsByUserQueryParams, +} from '../../types/commentsControllerController/GetCommentsByUser.ts' +import { queryOptions, useQuery } from '@tanstack/react-query' +import { getCommentsByUser } from '../../clients/axios/commentsControllerService/getCommentsByUser.ts' + +export const getCommentsByUserQueryKey = (id: GetCommentsByUserPathParams['id'], params: GetCommentsByUserQueryParams) => + [{ url: '/api/v1/anime/comments/by-user/:id', params: { id: id } }, ...(params ? [params] : [])] as const + +export type GetCommentsByUserQueryKey = ReturnType + +export function getCommentsByUserQueryOptions( + id: GetCommentsByUserPathParams['id'], + params: GetCommentsByUserQueryParams, + config: Partial & { client?: typeof fetch } = {}, +) { + const queryKey = getCommentsByUserQueryKey(id, params) + return queryOptions, GetCommentsByUserQueryResponse, typeof queryKey>({ + enabled: !!(id && params), + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getCommentsByUser(id, params, config) + }, + }) +} + +/** + * @summary Постраничное получение всех комментариев пользователя по id пользователя + * {@link /api/v1/anime/comments/by-user/:id} + */ +export function useGetCommentsByUser< + TData = GetCommentsByUserQueryResponse, + TQueryData = GetCommentsByUserQueryResponse, + TQueryKey extends QueryKey = GetCommentsByUserQueryKey, +>( + id: GetCommentsByUserPathParams['id'], + params: GetCommentsByUserQueryParams, + options: { + query?: Partial, TData, TQueryData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getCommentsByUserQueryKey(id, params) + + const query = useQuery( + { + ...getCommentsByUserQueryOptions(id, params, config), + queryKey, + ...queryOptions, + } as unknown as QueryObserverOptions, + queryClient, + ) as UseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/commentsControllerHooks/useGetCommentsByUserInfinite.ts b/app/api/generated/hooks/commentsControllerHooks/useGetCommentsByUserInfinite.ts new file mode 100644 index 0000000..a53cd8b --- /dev/null +++ b/app/api/generated/hooks/commentsControllerHooks/useGetCommentsByUserInfinite.ts @@ -0,0 +1,81 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { InfiniteData, QueryKey, QueryClient, InfiniteQueryObserverOptions, UseInfiniteQueryResult } from '@tanstack/react-query' +import type { + GetCommentsByUserQueryResponse, + GetCommentsByUserPathParams, + GetCommentsByUserQueryParams, +} from '../../types/commentsControllerController/GetCommentsByUser.ts' +import { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/react-query' +import { getCommentsByUser } from '../../clients/axios/commentsControllerService/getCommentsByUser.ts' + +export const getCommentsByUserInfiniteQueryKey = (id: GetCommentsByUserPathParams['id'], params: GetCommentsByUserQueryParams) => + [{ url: '/api/v1/anime/comments/by-user/:id', params: { id: id } }, ...(params ? [params] : [])] as const + +export type GetCommentsByUserInfiniteQueryKey = ReturnType + +export function getCommentsByUserInfiniteQueryOptions( + id: GetCommentsByUserPathParams['id'], + params: GetCommentsByUserQueryParams, + config: Partial & { client?: typeof fetch } = {}, +) { + const queryKey = getCommentsByUserInfiniteQueryKey(id, params) + return infiniteQueryOptions, GetCommentsByUserQueryResponse, typeof queryKey, number>({ + enabled: !!(id && params), + queryKey, + queryFn: async ({ signal, pageParam }) => { + config.signal = signal + + if (params) { + params['page'] = pageParam as unknown as GetCommentsByUserQueryParams['page'] + } + return getCommentsByUser(id, params, config) + }, + initialPageParam: 1, + getNextPageParam: (lastPage) => lastPage['nextCursor'], + getPreviousPageParam: (firstPage) => firstPage['nextCursor'], + }) +} + +/** + * @summary Постраничное получение всех комментариев пользователя по id пользователя + * {@link /api/v1/anime/comments/by-user/:id} + */ +export function useGetCommentsByUserInfinite< + TData = InfiniteData, + TQueryData = GetCommentsByUserQueryResponse, + TQueryKey extends QueryKey = GetCommentsByUserInfiniteQueryKey, +>( + id: GetCommentsByUserPathParams['id'], + params: GetCommentsByUserQueryParams, + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getCommentsByUserInfiniteQueryKey(id, params) + + const query = useInfiniteQuery( + { + ...getCommentsByUserInfiniteQueryOptions(id, params, config), + queryKey, + ...queryOptions, + } as unknown as InfiniteQueryObserverOptions, + queryClient, + ) as UseInfiniteQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/commentsControllerHooks/useGetCommentsByUserSuspense.ts b/app/api/generated/hooks/commentsControllerHooks/useGetCommentsByUserSuspense.ts new file mode 100644 index 0000000..5dc6613 --- /dev/null +++ b/app/api/generated/hooks/commentsControllerHooks/useGetCommentsByUserSuspense.ts @@ -0,0 +1,70 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, UseSuspenseQueryOptions, UseSuspenseQueryResult } from '@tanstack/react-query' +import type { + GetCommentsByUserQueryResponse, + GetCommentsByUserPathParams, + GetCommentsByUserQueryParams, +} from '../../types/commentsControllerController/GetCommentsByUser.ts' +import { queryOptions, useSuspenseQuery } from '@tanstack/react-query' +import { getCommentsByUser } from '../../clients/axios/commentsControllerService/getCommentsByUser.ts' + +export const getCommentsByUserSuspenseQueryKey = (id: GetCommentsByUserPathParams['id'], params: GetCommentsByUserQueryParams) => + [{ url: '/api/v1/anime/comments/by-user/:id', params: { id: id } }, ...(params ? [params] : [])] as const + +export type GetCommentsByUserSuspenseQueryKey = ReturnType + +export function getCommentsByUserSuspenseQueryOptions( + id: GetCommentsByUserPathParams['id'], + params: GetCommentsByUserQueryParams, + config: Partial & { client?: typeof fetch } = {}, +) { + const queryKey = getCommentsByUserSuspenseQueryKey(id, params) + return queryOptions, GetCommentsByUserQueryResponse, typeof queryKey>({ + enabled: !!(id && params), + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getCommentsByUser(id, params, config) + }, + }) +} + +/** + * @summary Постраничное получение всех комментариев пользователя по id пользователя + * {@link /api/v1/anime/comments/by-user/:id} + */ +export function useGetCommentsByUserSuspense( + id: GetCommentsByUserPathParams['id'], + params: GetCommentsByUserQueryParams, + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getCommentsByUserSuspenseQueryKey(id, params) + + const query = useSuspenseQuery( + { + ...getCommentsByUserSuspenseQueryOptions(id, params, config), + queryKey, + ...queryOptions, + } as unknown as UseSuspenseQueryOptions, + queryClient, + ) as UseSuspenseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/commentsControllerHooks/useUpdateComment.ts b/app/api/generated/hooks/commentsControllerHooks/useUpdateComment.ts new file mode 100644 index 0000000..51c5102 --- /dev/null +++ b/app/api/generated/hooks/commentsControllerHooks/useUpdateComment.ts @@ -0,0 +1,56 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { + UpdateCommentMutationRequest, + UpdateCommentMutationResponse, + UpdateComment400, + UpdateComment404, +} from '../../types/commentsControllerController/UpdateComment.ts' +import { useMutation } from '@tanstack/react-query' +import { updateComment } from '../../clients/axios/commentsControllerService/updateComment.ts' + +export const updateCommentMutationKey = () => [{ url: '/api/v1/anime/comments' }] as const + +export type UpdateCommentMutationKey = ReturnType + +/** + * @summary Удаление комментария по id + * {@link /api/v1/anime/comments} + */ +export function useUpdateComment( + options: { + mutation?: UseMutationOptions< + UpdateCommentMutationResponse, + ResponseErrorConfig, + { data: UpdateCommentMutationRequest }, + TContext + > & { client?: QueryClient } + client?: Partial> & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? updateCommentMutationKey() + + return useMutation, { data: UpdateCommentMutationRequest }, TContext>( + { + mutationFn: async ({ data }) => { + return updateComment(data, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/complaintControllerHooks/useCreateComplaint.ts b/app/api/generated/hooks/complaintControllerHooks/useCreateComplaint.ts new file mode 100644 index 0000000..fc8e9ba --- /dev/null +++ b/app/api/generated/hooks/complaintControllerHooks/useCreateComplaint.ts @@ -0,0 +1,55 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { + CreateComplaintMutationRequest, + CreateComplaintMutationResponse, + CreateComplaint400, +} from '../../types/complaintControllerController/CreateComplaint.ts' +import { useMutation } from '@tanstack/react-query' +import { createComplaint } from '../../clients/axios/complaintControllerService/createComplaint.ts' + +export const createComplaintMutationKey = () => [{ url: '/api/v1/complaint' }] as const + +export type CreateComplaintMutationKey = ReturnType + +/** + * @summary Создание жалобы + * {@link /api/v1/complaint} + */ +export function useCreateComplaint( + options: { + mutation?: UseMutationOptions< + CreateComplaintMutationResponse, + ResponseErrorConfig, + { data: CreateComplaintMutationRequest }, + TContext + > & { client?: QueryClient } + client?: Partial> & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? createComplaintMutationKey() + + return useMutation, { data: CreateComplaintMutationRequest }, TContext>( + { + mutationFn: async ({ data }) => { + return createComplaint(data, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/complaintControllerHooks/useGetComplaintById.ts b/app/api/generated/hooks/complaintControllerHooks/useGetComplaintById.ts new file mode 100644 index 0000000..e59a8e6 --- /dev/null +++ b/app/api/generated/hooks/complaintControllerHooks/useGetComplaintById.ts @@ -0,0 +1,74 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, QueryObserverOptions, UseQueryResult } from '@tanstack/react-query' +import type { + GetComplaintByIdQueryResponse, + GetComplaintByIdPathParams, + GetComplaintById404, +} from '../../types/complaintControllerController/GetComplaintById.ts' +import { queryOptions, useQuery } from '@tanstack/react-query' +import { getComplaintById } from '../../clients/axios/complaintControllerService/getComplaintById.ts' + +export const getComplaintByIdQueryKey = (complaintId: GetComplaintByIdPathParams['complaintId']) => + [{ url: '/api/v1/complaint/:complaintId', params: { complaintId: complaintId } }] as const + +export type GetComplaintByIdQueryKey = ReturnType + +export function getComplaintByIdQueryOptions( + complaintId: GetComplaintByIdPathParams['complaintId'], + config: Partial & { client?: typeof fetch } = {}, +) { + const queryKey = getComplaintByIdQueryKey(complaintId) + return queryOptions, GetComplaintByIdQueryResponse, typeof queryKey>({ + enabled: !!complaintId, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getComplaintById(complaintId, config) + }, + }) +} + +/** + * @summary Получение жалобы по id + * {@link /api/v1/complaint/:complaintId} + */ +export function useGetComplaintById< + TData = GetComplaintByIdQueryResponse, + TQueryData = GetComplaintByIdQueryResponse, + TQueryKey extends QueryKey = GetComplaintByIdQueryKey, +>( + complaintId: GetComplaintByIdPathParams['complaintId'], + options: { + query?: Partial, TData, TQueryData, TQueryKey>> & { + client?: QueryClient + } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getComplaintByIdQueryKey(complaintId) + + const query = useQuery( + { + ...getComplaintByIdQueryOptions(complaintId, config), + queryKey, + ...queryOptions, + } as unknown as QueryObserverOptions, + queryClient, + ) as UseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/complaintControllerHooks/useGetComplaintByIdInfinite.ts b/app/api/generated/hooks/complaintControllerHooks/useGetComplaintByIdInfinite.ts new file mode 100644 index 0000000..c47fd25 --- /dev/null +++ b/app/api/generated/hooks/complaintControllerHooks/useGetComplaintByIdInfinite.ts @@ -0,0 +1,77 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { InfiniteData, QueryKey, QueryClient, InfiniteQueryObserverOptions, UseInfiniteQueryResult } from '@tanstack/react-query' +import type { + GetComplaintByIdQueryResponse, + GetComplaintByIdPathParams, + GetComplaintById404, +} from '../../types/complaintControllerController/GetComplaintById.ts' +import { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/react-query' +import { getComplaintById } from '../../clients/axios/complaintControllerService/getComplaintById.ts' + +export const getComplaintByIdInfiniteQueryKey = (complaintId: GetComplaintByIdPathParams['complaintId']) => + [{ url: '/api/v1/complaint/:complaintId', params: { complaintId: complaintId } }] as const + +export type GetComplaintByIdInfiniteQueryKey = ReturnType + +export function getComplaintByIdInfiniteQueryOptions( + complaintId: GetComplaintByIdPathParams['complaintId'], + config: Partial & { client?: typeof fetch } = {}, +) { + const queryKey = getComplaintByIdInfiniteQueryKey(complaintId) + return infiniteQueryOptions, GetComplaintByIdQueryResponse, typeof queryKey>({ + enabled: !!complaintId, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getComplaintById(complaintId, config) + }, + initialPageParam: 1, + getNextPageParam: (lastPage) => lastPage['nextCursor'], + getPreviousPageParam: (firstPage) => firstPage['nextCursor'], + }) +} + +/** + * @summary Получение жалобы по id + * {@link /api/v1/complaint/:complaintId} + */ +export function useGetComplaintByIdInfinite< + TData = InfiniteData, + TQueryData = GetComplaintByIdQueryResponse, + TQueryKey extends QueryKey = GetComplaintByIdInfiniteQueryKey, +>( + complaintId: GetComplaintByIdPathParams['complaintId'], + options: { + query?: Partial, TData, TQueryKey>> & { + client?: QueryClient + } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getComplaintByIdInfiniteQueryKey(complaintId) + + const query = useInfiniteQuery( + { + ...getComplaintByIdInfiniteQueryOptions(complaintId, config), + queryKey, + ...queryOptions, + } as unknown as InfiniteQueryObserverOptions, + queryClient, + ) as UseInfiniteQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/complaintControllerHooks/useGetComplaintByIdSuspense.ts b/app/api/generated/hooks/complaintControllerHooks/useGetComplaintByIdSuspense.ts new file mode 100644 index 0000000..2cae0f7 --- /dev/null +++ b/app/api/generated/hooks/complaintControllerHooks/useGetComplaintByIdSuspense.ts @@ -0,0 +1,70 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, UseSuspenseQueryOptions, UseSuspenseQueryResult } from '@tanstack/react-query' +import type { + GetComplaintByIdQueryResponse, + GetComplaintByIdPathParams, + GetComplaintById404, +} from '../../types/complaintControllerController/GetComplaintById.ts' +import { queryOptions, useSuspenseQuery } from '@tanstack/react-query' +import { getComplaintById } from '../../clients/axios/complaintControllerService/getComplaintById.ts' + +export const getComplaintByIdSuspenseQueryKey = (complaintId: GetComplaintByIdPathParams['complaintId']) => + [{ url: '/api/v1/complaint/:complaintId', params: { complaintId: complaintId } }] as const + +export type GetComplaintByIdSuspenseQueryKey = ReturnType + +export function getComplaintByIdSuspenseQueryOptions( + complaintId: GetComplaintByIdPathParams['complaintId'], + config: Partial & { client?: typeof fetch } = {}, +) { + const queryKey = getComplaintByIdSuspenseQueryKey(complaintId) + return queryOptions, GetComplaintByIdQueryResponse, typeof queryKey>({ + enabled: !!complaintId, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getComplaintById(complaintId, config) + }, + }) +} + +/** + * @summary Получение жалобы по id + * {@link /api/v1/complaint/:complaintId} + */ +export function useGetComplaintByIdSuspense( + complaintId: GetComplaintByIdPathParams['complaintId'], + options: { + query?: Partial, TData, TQueryKey>> & { + client?: QueryClient + } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getComplaintByIdSuspenseQueryKey(complaintId) + + const query = useSuspenseQuery( + { + ...getComplaintByIdSuspenseQueryOptions(complaintId, config), + queryKey, + ...queryOptions, + } as unknown as UseSuspenseQueryOptions, + queryClient, + ) as UseSuspenseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/complaintControllerHooks/useGetComplaints.ts b/app/api/generated/hooks/complaintControllerHooks/useGetComplaints.ts new file mode 100644 index 0000000..260cf31 --- /dev/null +++ b/app/api/generated/hooks/complaintControllerHooks/useGetComplaints.ts @@ -0,0 +1,48 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { GetComplaintsMutationRequest, GetComplaintsMutationResponse } from '../../types/complaintControllerController/GetComplaints.ts' +import { useMutation } from '@tanstack/react-query' +import { getComplaints } from '../../clients/axios/complaintControllerService/getComplaints.ts' + +export const getComplaintsMutationKey = () => [{ url: '/api/v1/complaint/search' }] as const + +export type GetComplaintsMutationKey = ReturnType + +/** + * @summary Поиск жалоб по фильтрам + * {@link /api/v1/complaint/search} + */ +export function useGetComplaints( + options: { + mutation?: UseMutationOptions, { data?: GetComplaintsMutationRequest }, TContext> & { + client?: QueryClient + } + client?: Partial> & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? getComplaintsMutationKey() + + return useMutation, { data?: GetComplaintsMutationRequest }, TContext>( + { + mutationFn: async ({ data }) => { + return getComplaints(data, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/complaintControllerHooks/useUpdateComplaintStatus.ts b/app/api/generated/hooks/complaintControllerHooks/useUpdateComplaintStatus.ts new file mode 100644 index 0000000..16f399a --- /dev/null +++ b/app/api/generated/hooks/complaintControllerHooks/useUpdateComplaintStatus.ts @@ -0,0 +1,61 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { + UpdateComplaintStatusMutationResponse, + UpdateComplaintStatusPathParams, + UpdateComplaintStatusQueryParams, + UpdateComplaintStatus404, +} from '../../types/complaintControllerController/UpdateComplaintStatus.ts' +import { useMutation } from '@tanstack/react-query' +import { updateComplaintStatus } from '../../clients/axios/complaintControllerService/updateComplaintStatus.ts' + +export const updateComplaintStatusMutationKey = () => [{ url: '/api/v1/complaint/{complaintId}' }] as const + +export type UpdateComplaintStatusMutationKey = ReturnType + +/** + * @summary Измененение статуса жалобы + * {@link /api/v1/complaint/:complaintId} + */ +export function useUpdateComplaintStatus( + options: { + mutation?: UseMutationOptions< + UpdateComplaintStatusMutationResponse, + ResponseErrorConfig, + { complaintId: UpdateComplaintStatusPathParams['complaintId']; params: UpdateComplaintStatusQueryParams }, + TContext + > & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? updateComplaintStatusMutationKey() + + return useMutation< + UpdateComplaintStatusMutationResponse, + ResponseErrorConfig, + { complaintId: UpdateComplaintStatusPathParams['complaintId']; params: UpdateComplaintStatusQueryParams }, + TContext + >( + { + mutationFn: async ({ complaintId, params }) => { + return updateComplaintStatus(complaintId, params, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/dubControllerHooks/useAddDubToEpisode.ts b/app/api/generated/hooks/dubControllerHooks/useAddDubToEpisode.ts new file mode 100644 index 0000000..1629f15 --- /dev/null +++ b/app/api/generated/hooks/dubControllerHooks/useAddDubToEpisode.ts @@ -0,0 +1,56 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { AddDubToEpisodeMutationResponse, AddDubToEpisodePathParams, AddDubToEpisode404 } from '../../types/dubControllerController/AddDubToEpisode.ts' +import { useMutation } from '@tanstack/react-query' +import { addDubToEpisode } from '../../clients/axios/dubControllerService/addDubToEpisode.ts' + +export const addDubToEpisodeMutationKey = () => [{ url: '/api/v1/anime/dubs/{dubId}/episodes/{episodeId}' }] as const + +export type AddDubToEpisodeMutationKey = ReturnType + +/** + * @summary Добавление дубляжа к эпизоду + * {@link /api/v1/anime/dubs/:dubId/episodes/:episodeId} + */ +export function useAddDubToEpisode( + options: { + mutation?: UseMutationOptions< + AddDubToEpisodeMutationResponse, + ResponseErrorConfig, + { dubId: AddDubToEpisodePathParams['dubId']; episodeId: AddDubToEpisodePathParams['episodeId'] }, + TContext + > & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? addDubToEpisodeMutationKey() + + return useMutation< + AddDubToEpisodeMutationResponse, + ResponseErrorConfig, + { dubId: AddDubToEpisodePathParams['dubId']; episodeId: AddDubToEpisodePathParams['episodeId'] }, + TContext + >( + { + mutationFn: async ({ dubId, episodeId }) => { + return addDubToEpisode(dubId, episodeId, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/dubControllerHooks/useCreateDub.ts b/app/api/generated/hooks/dubControllerHooks/useCreateDub.ts new file mode 100644 index 0000000..fdb3fb8 --- /dev/null +++ b/app/api/generated/hooks/dubControllerHooks/useCreateDub.ts @@ -0,0 +1,48 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { CreateDubMutationRequest, CreateDubMutationResponse } from '../../types/dubControllerController/CreateDub.ts' +import { useMutation } from '@tanstack/react-query' +import { createDub } from '../../clients/axios/dubControllerService/createDub.ts' + +export const createDubMutationKey = () => [{ url: '/api/v1/anime/dubs' }] as const + +export type CreateDubMutationKey = ReturnType + +/** + * @summary Создание дубляжа + * {@link /api/v1/anime/dubs} + */ +export function useCreateDub( + options: { + mutation?: UseMutationOptions, { data: CreateDubMutationRequest }, TContext> & { + client?: QueryClient + } + client?: Partial> & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? createDubMutationKey() + + return useMutation, { data: CreateDubMutationRequest }, TContext>( + { + mutationFn: async ({ data }) => { + return createDub(data, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/dubControllerHooks/useDeleteDub.ts b/app/api/generated/hooks/dubControllerHooks/useDeleteDub.ts new file mode 100644 index 0000000..cbef773 --- /dev/null +++ b/app/api/generated/hooks/dubControllerHooks/useDeleteDub.ts @@ -0,0 +1,46 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { DeleteDubMutationResponse, DeleteDubPathParams } from '../../types/dubControllerController/DeleteDub.ts' +import { useMutation } from '@tanstack/react-query' +import { deleteDub } from '../../clients/axios/dubControllerService/deleteDub.ts' + +export const deleteDubMutationKey = () => [{ url: '/api/v1/anime/dubs/{id}' }] as const + +export type DeleteDubMutationKey = ReturnType + +/** + * @summary Удаление дубляжа + * {@link /api/v1/anime/dubs/:id} + */ +export function useDeleteDub( + options: { + mutation?: UseMutationOptions, { id: DeleteDubPathParams['id'] }, TContext> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? deleteDubMutationKey() + + return useMutation, { id: DeleteDubPathParams['id'] }, TContext>( + { + mutationFn: async ({ id }) => { + return deleteDub(id, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/dubControllerHooks/useGetDubById.ts b/app/api/generated/hooks/dubControllerHooks/useGetDubById.ts new file mode 100644 index 0000000..8b9455d --- /dev/null +++ b/app/api/generated/hooks/dubControllerHooks/useGetDubById.ts @@ -0,0 +1,60 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, QueryObserverOptions, UseQueryResult } from '@tanstack/react-query' +import type { GetDubByIdQueryResponse, GetDubByIdPathParams, GetDubById404 } from '../../types/dubControllerController/GetDubById.ts' +import { queryOptions, useQuery } from '@tanstack/react-query' +import { getDubById } from '../../clients/axios/dubControllerService/getDubById.ts' + +export const getDubByIdQueryKey = (id: GetDubByIdPathParams['id']) => [{ url: '/api/v1/anime/dubs/:id', params: { id: id } }] as const + +export type GetDubByIdQueryKey = ReturnType + +export function getDubByIdQueryOptions(id: GetDubByIdPathParams['id'], config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getDubByIdQueryKey(id) + return queryOptions, GetDubByIdQueryResponse, typeof queryKey>({ + enabled: !!id, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getDubById(id, config) + }, + }) +} + +/** + * @summary Получение дубляжа по id + * {@link /api/v1/anime/dubs/:id} + */ +export function useGetDubById( + id: GetDubByIdPathParams['id'], + options: { + query?: Partial, TData, TQueryData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getDubByIdQueryKey(id) + + const query = useQuery( + { + ...getDubByIdQueryOptions(id, config), + queryKey, + ...queryOptions, + } as unknown as QueryObserverOptions, + queryClient, + ) as UseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/dubControllerHooks/useGetDubByIdInfinite.ts b/app/api/generated/hooks/dubControllerHooks/useGetDubByIdInfinite.ts new file mode 100644 index 0000000..459df67 --- /dev/null +++ b/app/api/generated/hooks/dubControllerHooks/useGetDubByIdInfinite.ts @@ -0,0 +1,67 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { InfiniteData, QueryKey, QueryClient, InfiniteQueryObserverOptions, UseInfiniteQueryResult } from '@tanstack/react-query' +import type { GetDubByIdQueryResponse, GetDubByIdPathParams, GetDubById404 } from '../../types/dubControllerController/GetDubById.ts' +import { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/react-query' +import { getDubById } from '../../clients/axios/dubControllerService/getDubById.ts' + +export const getDubByIdInfiniteQueryKey = (id: GetDubByIdPathParams['id']) => [{ url: '/api/v1/anime/dubs/:id', params: { id: id } }] as const + +export type GetDubByIdInfiniteQueryKey = ReturnType + +export function getDubByIdInfiniteQueryOptions(id: GetDubByIdPathParams['id'], config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getDubByIdInfiniteQueryKey(id) + return infiniteQueryOptions, GetDubByIdQueryResponse, typeof queryKey>({ + enabled: !!id, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getDubById(id, config) + }, + initialPageParam: 1, + getNextPageParam: (lastPage) => lastPage['nextCursor'], + getPreviousPageParam: (firstPage) => firstPage['nextCursor'], + }) +} + +/** + * @summary Получение дубляжа по id + * {@link /api/v1/anime/dubs/:id} + */ +export function useGetDubByIdInfinite< + TData = InfiniteData, + TQueryData = GetDubByIdQueryResponse, + TQueryKey extends QueryKey = GetDubByIdInfiniteQueryKey, +>( + id: GetDubByIdPathParams['id'], + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getDubByIdInfiniteQueryKey(id) + + const query = useInfiniteQuery( + { + ...getDubByIdInfiniteQueryOptions(id, config), + queryKey, + ...queryOptions, + } as unknown as InfiniteQueryObserverOptions, + queryClient, + ) as UseInfiniteQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/dubControllerHooks/useGetDubByIdSuspense.ts b/app/api/generated/hooks/dubControllerHooks/useGetDubByIdSuspense.ts new file mode 100644 index 0000000..38eef6f --- /dev/null +++ b/app/api/generated/hooks/dubControllerHooks/useGetDubByIdSuspense.ts @@ -0,0 +1,60 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, UseSuspenseQueryOptions, UseSuspenseQueryResult } from '@tanstack/react-query' +import type { GetDubByIdQueryResponse, GetDubByIdPathParams, GetDubById404 } from '../../types/dubControllerController/GetDubById.ts' +import { queryOptions, useSuspenseQuery } from '@tanstack/react-query' +import { getDubById } from '../../clients/axios/dubControllerService/getDubById.ts' + +export const getDubByIdSuspenseQueryKey = (id: GetDubByIdPathParams['id']) => [{ url: '/api/v1/anime/dubs/:id', params: { id: id } }] as const + +export type GetDubByIdSuspenseQueryKey = ReturnType + +export function getDubByIdSuspenseQueryOptions(id: GetDubByIdPathParams['id'], config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getDubByIdSuspenseQueryKey(id) + return queryOptions, GetDubByIdQueryResponse, typeof queryKey>({ + enabled: !!id, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getDubById(id, config) + }, + }) +} + +/** + * @summary Получение дубляжа по id + * {@link /api/v1/anime/dubs/:id} + */ +export function useGetDubByIdSuspense( + id: GetDubByIdPathParams['id'], + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getDubByIdSuspenseQueryKey(id) + + const query = useSuspenseQuery( + { + ...getDubByIdSuspenseQueryOptions(id, config), + queryKey, + ...queryOptions, + } as unknown as UseSuspenseQueryOptions, + queryClient, + ) as UseSuspenseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/dubControllerHooks/useGetDubsByEpisode.ts b/app/api/generated/hooks/dubControllerHooks/useGetDubsByEpisode.ts new file mode 100644 index 0000000..c728c9d --- /dev/null +++ b/app/api/generated/hooks/dubControllerHooks/useGetDubsByEpisode.ts @@ -0,0 +1,69 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, QueryObserverOptions, UseQueryResult } from '@tanstack/react-query' +import type { GetDubsByEpisodeQueryResponse, GetDubsByEpisodePathParams } from '../../types/dubControllerController/GetDubsByEpisode.ts' +import { queryOptions, useQuery } from '@tanstack/react-query' +import { getDubsByEpisode } from '../../clients/axios/dubControllerService/getDubsByEpisode.ts' + +export const getDubsByEpisodeQueryKey = (episodeID: GetDubsByEpisodePathParams['episodeID']) => + [{ url: '/api/v1/anime/dubs/by-episode/:episodeID/all', params: { episodeID: episodeID } }] as const + +export type GetDubsByEpisodeQueryKey = ReturnType + +export function getDubsByEpisodeQueryOptions( + episodeID: GetDubsByEpisodePathParams['episodeID'], + config: Partial & { client?: typeof fetch } = {}, +) { + const queryKey = getDubsByEpisodeQueryKey(episodeID) + return queryOptions, GetDubsByEpisodeQueryResponse, typeof queryKey>({ + enabled: !!episodeID, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getDubsByEpisode(episodeID, config) + }, + }) +} + +/** + * @description В случае отсутствия эпизода или дубляжей вернет пустой список + * @summary Получение списка дубляжей по id эпизода + * {@link /api/v1/anime/dubs/by-episode/:episodeID/all} + */ +export function useGetDubsByEpisode< + TData = GetDubsByEpisodeQueryResponse, + TQueryData = GetDubsByEpisodeQueryResponse, + TQueryKey extends QueryKey = GetDubsByEpisodeQueryKey, +>( + episodeID: GetDubsByEpisodePathParams['episodeID'], + options: { + query?: Partial, TData, TQueryData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getDubsByEpisodeQueryKey(episodeID) + + const query = useQuery( + { + ...getDubsByEpisodeQueryOptions(episodeID, config), + queryKey, + ...queryOptions, + } as unknown as QueryObserverOptions, + queryClient, + ) as UseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/dubControllerHooks/useGetDubsByEpisodeInfinite.ts b/app/api/generated/hooks/dubControllerHooks/useGetDubsByEpisodeInfinite.ts new file mode 100644 index 0000000..eae439c --- /dev/null +++ b/app/api/generated/hooks/dubControllerHooks/useGetDubsByEpisodeInfinite.ts @@ -0,0 +1,72 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { InfiniteData, QueryKey, QueryClient, InfiniteQueryObserverOptions, UseInfiniteQueryResult } from '@tanstack/react-query' +import type { GetDubsByEpisodeQueryResponse, GetDubsByEpisodePathParams } from '../../types/dubControllerController/GetDubsByEpisode.ts' +import { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/react-query' +import { getDubsByEpisode } from '../../clients/axios/dubControllerService/getDubsByEpisode.ts' + +export const getDubsByEpisodeInfiniteQueryKey = (episodeID: GetDubsByEpisodePathParams['episodeID']) => + [{ url: '/api/v1/anime/dubs/by-episode/:episodeID/all', params: { episodeID: episodeID } }] as const + +export type GetDubsByEpisodeInfiniteQueryKey = ReturnType + +export function getDubsByEpisodeInfiniteQueryOptions( + episodeID: GetDubsByEpisodePathParams['episodeID'], + config: Partial & { client?: typeof fetch } = {}, +) { + const queryKey = getDubsByEpisodeInfiniteQueryKey(episodeID) + return infiniteQueryOptions, GetDubsByEpisodeQueryResponse, typeof queryKey>({ + enabled: !!episodeID, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getDubsByEpisode(episodeID, config) + }, + initialPageParam: 1, + getNextPageParam: (lastPage) => lastPage['nextCursor'], + getPreviousPageParam: (firstPage) => firstPage['nextCursor'], + }) +} + +/** + * @description В случае отсутствия эпизода или дубляжей вернет пустой список + * @summary Получение списка дубляжей по id эпизода + * {@link /api/v1/anime/dubs/by-episode/:episodeID/all} + */ +export function useGetDubsByEpisodeInfinite< + TData = InfiniteData, + TQueryData = GetDubsByEpisodeQueryResponse, + TQueryKey extends QueryKey = GetDubsByEpisodeInfiniteQueryKey, +>( + episodeID: GetDubsByEpisodePathParams['episodeID'], + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getDubsByEpisodeInfiniteQueryKey(episodeID) + + const query = useInfiniteQuery( + { + ...getDubsByEpisodeInfiniteQueryOptions(episodeID, config), + queryKey, + ...queryOptions, + } as unknown as InfiniteQueryObserverOptions, + queryClient, + ) as UseInfiniteQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/dubControllerHooks/useGetDubsByEpisodeSuspense.ts b/app/api/generated/hooks/dubControllerHooks/useGetDubsByEpisodeSuspense.ts new file mode 100644 index 0000000..7b0041b --- /dev/null +++ b/app/api/generated/hooks/dubControllerHooks/useGetDubsByEpisodeSuspense.ts @@ -0,0 +1,65 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, UseSuspenseQueryOptions, UseSuspenseQueryResult } from '@tanstack/react-query' +import type { GetDubsByEpisodeQueryResponse, GetDubsByEpisodePathParams } from '../../types/dubControllerController/GetDubsByEpisode.ts' +import { queryOptions, useSuspenseQuery } from '@tanstack/react-query' +import { getDubsByEpisode } from '../../clients/axios/dubControllerService/getDubsByEpisode.ts' + +export const getDubsByEpisodeSuspenseQueryKey = (episodeID: GetDubsByEpisodePathParams['episodeID']) => + [{ url: '/api/v1/anime/dubs/by-episode/:episodeID/all', params: { episodeID: episodeID } }] as const + +export type GetDubsByEpisodeSuspenseQueryKey = ReturnType + +export function getDubsByEpisodeSuspenseQueryOptions( + episodeID: GetDubsByEpisodePathParams['episodeID'], + config: Partial & { client?: typeof fetch } = {}, +) { + const queryKey = getDubsByEpisodeSuspenseQueryKey(episodeID) + return queryOptions, GetDubsByEpisodeQueryResponse, typeof queryKey>({ + enabled: !!episodeID, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getDubsByEpisode(episodeID, config) + }, + }) +} + +/** + * @description В случае отсутствия эпизода или дубляжей вернет пустой список + * @summary Получение списка дубляжей по id эпизода + * {@link /api/v1/anime/dubs/by-episode/:episodeID/all} + */ +export function useGetDubsByEpisodeSuspense( + episodeID: GetDubsByEpisodePathParams['episodeID'], + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getDubsByEpisodeSuspenseQueryKey(episodeID) + + const query = useSuspenseQuery( + { + ...getDubsByEpisodeSuspenseQueryOptions(episodeID, config), + queryKey, + ...queryOptions, + } as unknown as UseSuspenseQueryOptions, + queryClient, + ) as UseSuspenseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/dubControllerHooks/useRemoveDubFromEpisode.ts b/app/api/generated/hooks/dubControllerHooks/useRemoveDubFromEpisode.ts new file mode 100644 index 0000000..e3e2d01 --- /dev/null +++ b/app/api/generated/hooks/dubControllerHooks/useRemoveDubFromEpisode.ts @@ -0,0 +1,60 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { + RemoveDubFromEpisodeMutationResponse, + RemoveDubFromEpisodePathParams, + RemoveDubFromEpisode404, +} from '../../types/dubControllerController/RemoveDubFromEpisode.ts' +import { useMutation } from '@tanstack/react-query' +import { removeDubFromEpisode } from '../../clients/axios/dubControllerService/removeDubFromEpisode.ts' + +export const removeDubFromEpisodeMutationKey = () => [{ url: '/api/v1/anime/dubs/{dubId}/episodes/{episodeId}' }] as const + +export type RemoveDubFromEpisodeMutationKey = ReturnType + +/** + * @summary Удаление дубляжа к эпизоду + * {@link /api/v1/anime/dubs/:dubId/episodes/:episodeId} + */ +export function useRemoveDubFromEpisode( + options: { + mutation?: UseMutationOptions< + RemoveDubFromEpisodeMutationResponse, + ResponseErrorConfig, + { dubId: RemoveDubFromEpisodePathParams['dubId']; episodeId: RemoveDubFromEpisodePathParams['episodeId'] }, + TContext + > & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? removeDubFromEpisodeMutationKey() + + return useMutation< + RemoveDubFromEpisodeMutationResponse, + ResponseErrorConfig, + { dubId: RemoveDubFromEpisodePathParams['dubId']; episodeId: RemoveDubFromEpisodePathParams['episodeId'] }, + TContext + >( + { + mutationFn: async ({ dubId, episodeId }) => { + return removeDubFromEpisode(dubId, episodeId, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/dubControllerHooks/useUpdateDubName.ts b/app/api/generated/hooks/dubControllerHooks/useUpdateDubName.ts new file mode 100644 index 0000000..3a3b082 --- /dev/null +++ b/app/api/generated/hooks/dubControllerHooks/useUpdateDubName.ts @@ -0,0 +1,61 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { + UpdateDubNameMutationResponse, + UpdateDubNamePathParams, + UpdateDubNameQueryParams, + UpdateDubName404, +} from '../../types/dubControllerController/UpdateDubName.ts' +import { useMutation } from '@tanstack/react-query' +import { updateDubName } from '../../clients/axios/dubControllerService/updateDubName.ts' + +export const updateDubNameMutationKey = () => [{ url: '/api/v1/anime/dubs/{id}' }] as const + +export type UpdateDubNameMutationKey = ReturnType + +/** + * @summary Обновление дубляжа по id + * {@link /api/v1/anime/dubs/:id} + */ +export function useUpdateDubName( + options: { + mutation?: UseMutationOptions< + UpdateDubNameMutationResponse, + ResponseErrorConfig, + { id: UpdateDubNamePathParams['id']; params: UpdateDubNameQueryParams }, + TContext + > & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? updateDubNameMutationKey() + + return useMutation< + UpdateDubNameMutationResponse, + ResponseErrorConfig, + { id: UpdateDubNamePathParams['id']; params: UpdateDubNameQueryParams }, + TContext + >( + { + mutationFn: async ({ id, params }) => { + return updateDubName(id, params, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/episodesControllerHooks/useAddView.ts b/app/api/generated/hooks/episodesControllerHooks/useAddView.ts new file mode 100644 index 0000000..2b1e2be --- /dev/null +++ b/app/api/generated/hooks/episodesControllerHooks/useAddView.ts @@ -0,0 +1,46 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { AddViewMutationResponse, AddViewPathParams } from '../../types/episodesControllerController/AddView.ts' +import { useMutation } from '@tanstack/react-query' +import { addView } from '../../clients/axios/episodesControllerService/addView.ts' + +export const addViewMutationKey = () => [{ url: '/api/v1/anime/episodes/{id}/view' }] as const + +export type AddViewMutationKey = ReturnType + +/** + * @summary Добавление просмотра эпизода + * {@link /api/v1/anime/episodes/:id/view} + */ +export function useAddView( + options: { + mutation?: UseMutationOptions, { id: AddViewPathParams['id'] }, TContext> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? addViewMutationKey() + + return useMutation, { id: AddViewPathParams['id'] }, TContext>( + { + mutationFn: async ({ id }) => { + return addView(id, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/episodesControllerHooks/useCreateEpisode.ts b/app/api/generated/hooks/episodesControllerHooks/useCreateEpisode.ts new file mode 100644 index 0000000..1aa8ab7 --- /dev/null +++ b/app/api/generated/hooks/episodesControllerHooks/useCreateEpisode.ts @@ -0,0 +1,48 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { CreateEpisodeMutationRequest, CreateEpisodeMutationResponse } from '../../types/episodesControllerController/CreateEpisode.ts' +import { useMutation } from '@tanstack/react-query' +import { createEpisode } from '../../clients/axios/episodesControllerService/createEpisode.ts' + +export const createEpisodeMutationKey = () => [{ url: '/api/v1/anime/episodes' }] as const + +export type CreateEpisodeMutationKey = ReturnType + +/** + * @summary Создание эпизода + * {@link /api/v1/anime/episodes} + */ +export function useCreateEpisode( + options: { + mutation?: UseMutationOptions, { data: CreateEpisodeMutationRequest }, TContext> & { + client?: QueryClient + } + client?: Partial> & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? createEpisodeMutationKey() + + return useMutation, { data: CreateEpisodeMutationRequest }, TContext>( + { + mutationFn: async ({ data }) => { + return createEpisode(data, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/episodesControllerHooks/useDeleteEpisode.ts b/app/api/generated/hooks/episodesControllerHooks/useDeleteEpisode.ts new file mode 100644 index 0000000..d18766d --- /dev/null +++ b/app/api/generated/hooks/episodesControllerHooks/useDeleteEpisode.ts @@ -0,0 +1,48 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { DeleteEpisodeMutationResponse, DeleteEpisodePathParams } from '../../types/episodesControllerController/DeleteEpisode.ts' +import { useMutation } from '@tanstack/react-query' +import { deleteEpisode } from '../../clients/axios/episodesControllerService/deleteEpisode.ts' + +export const deleteEpisodeMutationKey = () => [{ url: '/api/v1/anime/episodes/{id}' }] as const + +export type DeleteEpisodeMutationKey = ReturnType + +/** + * @summary Удаление эпизода + * {@link /api/v1/anime/episodes/:id} + */ +export function useDeleteEpisode( + options: { + mutation?: UseMutationOptions, { id: DeleteEpisodePathParams['id'] }, TContext> & { + client?: QueryClient + } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? deleteEpisodeMutationKey() + + return useMutation, { id: DeleteEpisodePathParams['id'] }, TContext>( + { + mutationFn: async ({ id }) => { + return deleteEpisode(id, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/episodesControllerHooks/useGetAdminEpisodeById.ts b/app/api/generated/hooks/episodesControllerHooks/useGetAdminEpisodeById.ts new file mode 100644 index 0000000..afe30cc --- /dev/null +++ b/app/api/generated/hooks/episodesControllerHooks/useGetAdminEpisodeById.ts @@ -0,0 +1,66 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, QueryObserverOptions, UseQueryResult } from '@tanstack/react-query' +import type { GetAdminEpisodeByIdQueryResponse, GetAdminEpisodeByIdPathParams } from '../../types/episodesControllerController/GetAdminEpisodeById.ts' +import { queryOptions, useQuery } from '@tanstack/react-query' +import { getAdminEpisodeById } from '../../clients/axios/episodesControllerService/getAdminEpisodeById.ts' + +export const getAdminEpisodeByIdQueryKey = (id: GetAdminEpisodeByIdPathParams['id']) => + [{ url: '/api/v1/anime/episodes/:id/admin', params: { id: id } }] as const + +export type GetAdminEpisodeByIdQueryKey = ReturnType + +export function getAdminEpisodeByIdQueryOptions(id: GetAdminEpisodeByIdPathParams['id'], config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getAdminEpisodeByIdQueryKey(id) + return queryOptions, GetAdminEpisodeByIdQueryResponse, typeof queryKey>({ + enabled: !!id, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getAdminEpisodeById(id, config) + }, + }) +} + +/** + * @description (дополнительные данные о том, кто смодерировал, опубликовал) + * @summary Получение эпизода по ID для админки + * {@link /api/v1/anime/episodes/:id/admin} + */ +export function useGetAdminEpisodeById< + TData = GetAdminEpisodeByIdQueryResponse, + TQueryData = GetAdminEpisodeByIdQueryResponse, + TQueryKey extends QueryKey = GetAdminEpisodeByIdQueryKey, +>( + id: GetAdminEpisodeByIdPathParams['id'], + options: { + query?: Partial, TData, TQueryData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getAdminEpisodeByIdQueryKey(id) + + const query = useQuery( + { + ...getAdminEpisodeByIdQueryOptions(id, config), + queryKey, + ...queryOptions, + } as unknown as QueryObserverOptions, + queryClient, + ) as UseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/episodesControllerHooks/useGetAdminEpisodeByIdInfinite.ts b/app/api/generated/hooks/episodesControllerHooks/useGetAdminEpisodeByIdInfinite.ts new file mode 100644 index 0000000..f2baba6 --- /dev/null +++ b/app/api/generated/hooks/episodesControllerHooks/useGetAdminEpisodeByIdInfinite.ts @@ -0,0 +1,72 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { InfiniteData, QueryKey, QueryClient, InfiniteQueryObserverOptions, UseInfiniteQueryResult } from '@tanstack/react-query' +import type { GetAdminEpisodeByIdQueryResponse, GetAdminEpisodeByIdPathParams } from '../../types/episodesControllerController/GetAdminEpisodeById.ts' +import { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/react-query' +import { getAdminEpisodeById } from '../../clients/axios/episodesControllerService/getAdminEpisodeById.ts' + +export const getAdminEpisodeByIdInfiniteQueryKey = (id: GetAdminEpisodeByIdPathParams['id']) => + [{ url: '/api/v1/anime/episodes/:id/admin', params: { id: id } }] as const + +export type GetAdminEpisodeByIdInfiniteQueryKey = ReturnType + +export function getAdminEpisodeByIdInfiniteQueryOptions( + id: GetAdminEpisodeByIdPathParams['id'], + config: Partial & { client?: typeof fetch } = {}, +) { + const queryKey = getAdminEpisodeByIdInfiniteQueryKey(id) + return infiniteQueryOptions, GetAdminEpisodeByIdQueryResponse, typeof queryKey>({ + enabled: !!id, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getAdminEpisodeById(id, config) + }, + initialPageParam: 1, + getNextPageParam: (lastPage) => lastPage['nextCursor'], + getPreviousPageParam: (firstPage) => firstPage['nextCursor'], + }) +} + +/** + * @description (дополнительные данные о том, кто смодерировал, опубликовал) + * @summary Получение эпизода по ID для админки + * {@link /api/v1/anime/episodes/:id/admin} + */ +export function useGetAdminEpisodeByIdInfinite< + TData = InfiniteData, + TQueryData = GetAdminEpisodeByIdQueryResponse, + TQueryKey extends QueryKey = GetAdminEpisodeByIdInfiniteQueryKey, +>( + id: GetAdminEpisodeByIdPathParams['id'], + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getAdminEpisodeByIdInfiniteQueryKey(id) + + const query = useInfiniteQuery( + { + ...getAdminEpisodeByIdInfiniteQueryOptions(id, config), + queryKey, + ...queryOptions, + } as unknown as InfiniteQueryObserverOptions, + queryClient, + ) as UseInfiniteQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/episodesControllerHooks/useGetAdminEpisodeByIdSuspense.ts b/app/api/generated/hooks/episodesControllerHooks/useGetAdminEpisodeByIdSuspense.ts new file mode 100644 index 0000000..b22dca9 --- /dev/null +++ b/app/api/generated/hooks/episodesControllerHooks/useGetAdminEpisodeByIdSuspense.ts @@ -0,0 +1,65 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, UseSuspenseQueryOptions, UseSuspenseQueryResult } from '@tanstack/react-query' +import type { GetAdminEpisodeByIdQueryResponse, GetAdminEpisodeByIdPathParams } from '../../types/episodesControllerController/GetAdminEpisodeById.ts' +import { queryOptions, useSuspenseQuery } from '@tanstack/react-query' +import { getAdminEpisodeById } from '../../clients/axios/episodesControllerService/getAdminEpisodeById.ts' + +export const getAdminEpisodeByIdSuspenseQueryKey = (id: GetAdminEpisodeByIdPathParams['id']) => + [{ url: '/api/v1/anime/episodes/:id/admin', params: { id: id } }] as const + +export type GetAdminEpisodeByIdSuspenseQueryKey = ReturnType + +export function getAdminEpisodeByIdSuspenseQueryOptions( + id: GetAdminEpisodeByIdPathParams['id'], + config: Partial & { client?: typeof fetch } = {}, +) { + const queryKey = getAdminEpisodeByIdSuspenseQueryKey(id) + return queryOptions, GetAdminEpisodeByIdQueryResponse, typeof queryKey>({ + enabled: !!id, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getAdminEpisodeById(id, config) + }, + }) +} + +/** + * @description (дополнительные данные о том, кто смодерировал, опубликовал) + * @summary Получение эпизода по ID для админки + * {@link /api/v1/anime/episodes/:id/admin} + */ +export function useGetAdminEpisodeByIdSuspense( + id: GetAdminEpisodeByIdPathParams['id'], + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getAdminEpisodeByIdSuspenseQueryKey(id) + + const query = useSuspenseQuery( + { + ...getAdminEpisodeByIdSuspenseQueryOptions(id, config), + queryKey, + ...queryOptions, + } as unknown as UseSuspenseQueryOptions, + queryClient, + ) as UseSuspenseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/episodesControllerHooks/useGetEpisodeById.ts b/app/api/generated/hooks/episodesControllerHooks/useGetEpisodeById.ts new file mode 100644 index 0000000..9f4e37b --- /dev/null +++ b/app/api/generated/hooks/episodesControllerHooks/useGetEpisodeById.ts @@ -0,0 +1,74 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, QueryObserverOptions, UseQueryResult } from '@tanstack/react-query' +import type { + GetEpisodeByIdQueryResponse, + GetEpisodeByIdPathParams, + GetEpisodeByIdQueryParams, +} from '../../types/episodesControllerController/GetEpisodeById.ts' +import { queryOptions, useQuery } from '@tanstack/react-query' +import { getEpisodeById } from '../../clients/axios/episodesControllerService/getEpisodeById.ts' + +export const getEpisodeByIdQueryKey = (id: GetEpisodeByIdPathParams['id'], params?: GetEpisodeByIdQueryParams) => + [{ url: '/api/v1/anime/episodes/:id', params: { id: id } }, ...(params ? [params] : [])] as const + +export type GetEpisodeByIdQueryKey = ReturnType + +export function getEpisodeByIdQueryOptions( + id: GetEpisodeByIdPathParams['id'], + params?: GetEpisodeByIdQueryParams, + config: Partial & { client?: typeof fetch } = {}, +) { + const queryKey = getEpisodeByIdQueryKey(id, params) + return queryOptions, GetEpisodeByIdQueryResponse, typeof queryKey>({ + enabled: !!id, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getEpisodeById(id, params, config) + }, + }) +} + +/** + * @summary Получение эпизода по ID, с возможностью указания DtoType (DEFAULT/CARD), если тип не указан, будет выведен DEFAULT + * {@link /api/v1/anime/episodes/:id} + */ +export function useGetEpisodeById< + TData = GetEpisodeByIdQueryResponse, + TQueryData = GetEpisodeByIdQueryResponse, + TQueryKey extends QueryKey = GetEpisodeByIdQueryKey, +>( + id: GetEpisodeByIdPathParams['id'], + params?: GetEpisodeByIdQueryParams, + options: { + query?: Partial, TData, TQueryData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getEpisodeByIdQueryKey(id, params) + + const query = useQuery( + { + ...getEpisodeByIdQueryOptions(id, params, config), + queryKey, + ...queryOptions, + } as unknown as QueryObserverOptions, + queryClient, + ) as UseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/episodesControllerHooks/useGetEpisodeByIdInfinite.ts b/app/api/generated/hooks/episodesControllerHooks/useGetEpisodeByIdInfinite.ts new file mode 100644 index 0000000..3f506bb --- /dev/null +++ b/app/api/generated/hooks/episodesControllerHooks/useGetEpisodeByIdInfinite.ts @@ -0,0 +1,81 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { InfiniteData, QueryKey, QueryClient, InfiniteQueryObserverOptions, UseInfiniteQueryResult } from '@tanstack/react-query' +import type { + GetEpisodeByIdQueryResponse, + GetEpisodeByIdPathParams, + GetEpisodeByIdQueryParams, +} from '../../types/episodesControllerController/GetEpisodeById.ts' +import { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/react-query' +import { getEpisodeById } from '../../clients/axios/episodesControllerService/getEpisodeById.ts' + +export const getEpisodeByIdInfiniteQueryKey = (id: GetEpisodeByIdPathParams['id'], params?: GetEpisodeByIdQueryParams) => + [{ url: '/api/v1/anime/episodes/:id', params: { id: id } }, ...(params ? [params] : [])] as const + +export type GetEpisodeByIdInfiniteQueryKey = ReturnType + +export function getEpisodeByIdInfiniteQueryOptions( + id: GetEpisodeByIdPathParams['id'], + params?: GetEpisodeByIdQueryParams, + config: Partial & { client?: typeof fetch } = {}, +) { + const queryKey = getEpisodeByIdInfiniteQueryKey(id, params) + return infiniteQueryOptions, GetEpisodeByIdQueryResponse, typeof queryKey, number>({ + enabled: !!id, + queryKey, + queryFn: async ({ signal, pageParam }) => { + config.signal = signal + + if (params) { + params['page'] = pageParam as unknown as GetEpisodeByIdQueryParams['page'] + } + return getEpisodeById(id, params, config) + }, + initialPageParam: 1, + getNextPageParam: (lastPage) => lastPage['nextCursor'], + getPreviousPageParam: (firstPage) => firstPage['nextCursor'], + }) +} + +/** + * @summary Получение эпизода по ID, с возможностью указания DtoType (DEFAULT/CARD), если тип не указан, будет выведен DEFAULT + * {@link /api/v1/anime/episodes/:id} + */ +export function useGetEpisodeByIdInfinite< + TData = InfiniteData, + TQueryData = GetEpisodeByIdQueryResponse, + TQueryKey extends QueryKey = GetEpisodeByIdInfiniteQueryKey, +>( + id: GetEpisodeByIdPathParams['id'], + params?: GetEpisodeByIdQueryParams, + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getEpisodeByIdInfiniteQueryKey(id, params) + + const query = useInfiniteQuery( + { + ...getEpisodeByIdInfiniteQueryOptions(id, params, config), + queryKey, + ...queryOptions, + } as unknown as InfiniteQueryObserverOptions, + queryClient, + ) as UseInfiniteQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/episodesControllerHooks/useGetEpisodeByIdSuspense.ts b/app/api/generated/hooks/episodesControllerHooks/useGetEpisodeByIdSuspense.ts new file mode 100644 index 0000000..879c61e --- /dev/null +++ b/app/api/generated/hooks/episodesControllerHooks/useGetEpisodeByIdSuspense.ts @@ -0,0 +1,70 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, UseSuspenseQueryOptions, UseSuspenseQueryResult } from '@tanstack/react-query' +import type { + GetEpisodeByIdQueryResponse, + GetEpisodeByIdPathParams, + GetEpisodeByIdQueryParams, +} from '../../types/episodesControllerController/GetEpisodeById.ts' +import { queryOptions, useSuspenseQuery } from '@tanstack/react-query' +import { getEpisodeById } from '../../clients/axios/episodesControllerService/getEpisodeById.ts' + +export const getEpisodeByIdSuspenseQueryKey = (id: GetEpisodeByIdPathParams['id'], params?: GetEpisodeByIdQueryParams) => + [{ url: '/api/v1/anime/episodes/:id', params: { id: id } }, ...(params ? [params] : [])] as const + +export type GetEpisodeByIdSuspenseQueryKey = ReturnType + +export function getEpisodeByIdSuspenseQueryOptions( + id: GetEpisodeByIdPathParams['id'], + params?: GetEpisodeByIdQueryParams, + config: Partial & { client?: typeof fetch } = {}, +) { + const queryKey = getEpisodeByIdSuspenseQueryKey(id, params) + return queryOptions, GetEpisodeByIdQueryResponse, typeof queryKey>({ + enabled: !!id, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getEpisodeById(id, params, config) + }, + }) +} + +/** + * @summary Получение эпизода по ID, с возможностью указания DtoType (DEFAULT/CARD), если тип не указан, будет выведен DEFAULT + * {@link /api/v1/anime/episodes/:id} + */ +export function useGetEpisodeByIdSuspense( + id: GetEpisodeByIdPathParams['id'], + params?: GetEpisodeByIdQueryParams, + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getEpisodeByIdSuspenseQueryKey(id, params) + + const query = useSuspenseQuery( + { + ...getEpisodeByIdSuspenseQueryOptions(id, params, config), + queryKey, + ...queryOptions, + } as unknown as UseSuspenseQueryOptions, + queryClient, + ) as UseSuspenseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/episodesControllerHooks/useGetEpisodesByAnimeId.ts b/app/api/generated/hooks/episodesControllerHooks/useGetEpisodesByAnimeId.ts new file mode 100644 index 0000000..b1781c8 --- /dev/null +++ b/app/api/generated/hooks/episodesControllerHooks/useGetEpisodesByAnimeId.ts @@ -0,0 +1,76 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, QueryObserverOptions, UseQueryResult } from '@tanstack/react-query' +import type { + GetEpisodesByAnimeIdQueryResponse, + GetEpisodesByAnimeIdPathParams, + GetEpisodesByAnimeIdQueryParams, +} from '../../types/episodesControllerController/GetEpisodesByAnimeId.ts' +import { queryOptions, useQuery } from '@tanstack/react-query' +import { getEpisodesByAnimeId } from '../../clients/axios/episodesControllerService/getEpisodesByAnimeId.ts' + +export const getEpisodesByAnimeIdQueryKey = (animeId: GetEpisodesByAnimeIdPathParams['animeId'], params: GetEpisodesByAnimeIdQueryParams) => + [{ url: '/api/v1/anime/episodes/by-anime/:animeId', params: { animeId: animeId } }, ...(params ? [params] : [])] as const + +export type GetEpisodesByAnimeIdQueryKey = ReturnType + +export function getEpisodesByAnimeIdQueryOptions( + animeId: GetEpisodesByAnimeIdPathParams['animeId'], + params: GetEpisodesByAnimeIdQueryParams, + config: Partial & { client?: typeof fetch } = {}, +) { + const queryKey = getEpisodesByAnimeIdQueryKey(animeId, params) + return queryOptions, GetEpisodesByAnimeIdQueryResponse, typeof queryKey>({ + enabled: !!(animeId && params), + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getEpisodesByAnimeId(animeId, params, config) + }, + }) +} + +/** + * @summary Получение списка эпизодов по ID аниме + * {@link /api/v1/anime/episodes/by-anime/:animeId} + */ +export function useGetEpisodesByAnimeId< + TData = GetEpisodesByAnimeIdQueryResponse, + TQueryData = GetEpisodesByAnimeIdQueryResponse, + TQueryKey extends QueryKey = GetEpisodesByAnimeIdQueryKey, +>( + animeId: GetEpisodesByAnimeIdPathParams['animeId'], + params: GetEpisodesByAnimeIdQueryParams, + options: { + query?: Partial, TData, TQueryData, TQueryKey>> & { + client?: QueryClient + } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getEpisodesByAnimeIdQueryKey(animeId, params) + + const query = useQuery( + { + ...getEpisodesByAnimeIdQueryOptions(animeId, params, config), + queryKey, + ...queryOptions, + } as unknown as QueryObserverOptions, + queryClient, + ) as UseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/episodesControllerHooks/useGetEpisodesByAnimeIdInfinite.ts b/app/api/generated/hooks/episodesControllerHooks/useGetEpisodesByAnimeIdInfinite.ts new file mode 100644 index 0000000..74a5c67 --- /dev/null +++ b/app/api/generated/hooks/episodesControllerHooks/useGetEpisodesByAnimeIdInfinite.ts @@ -0,0 +1,81 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { InfiniteData, QueryKey, QueryClient, InfiniteQueryObserverOptions, UseInfiniteQueryResult } from '@tanstack/react-query' +import type { + GetEpisodesByAnimeIdQueryResponse, + GetEpisodesByAnimeIdPathParams, + GetEpisodesByAnimeIdQueryParams, +} from '../../types/episodesControllerController/GetEpisodesByAnimeId.ts' +import { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/react-query' +import { getEpisodesByAnimeId } from '../../clients/axios/episodesControllerService/getEpisodesByAnimeId.ts' + +export const getEpisodesByAnimeIdInfiniteQueryKey = (animeId: GetEpisodesByAnimeIdPathParams['animeId'], params: GetEpisodesByAnimeIdQueryParams) => + [{ url: '/api/v1/anime/episodes/by-anime/:animeId', params: { animeId: animeId } }, ...(params ? [params] : [])] as const + +export type GetEpisodesByAnimeIdInfiniteQueryKey = ReturnType + +export function getEpisodesByAnimeIdInfiniteQueryOptions( + animeId: GetEpisodesByAnimeIdPathParams['animeId'], + params: GetEpisodesByAnimeIdQueryParams, + config: Partial & { client?: typeof fetch } = {}, +) { + const queryKey = getEpisodesByAnimeIdInfiniteQueryKey(animeId, params) + return infiniteQueryOptions, GetEpisodesByAnimeIdQueryResponse, typeof queryKey, number>({ + enabled: !!(animeId && params), + queryKey, + queryFn: async ({ signal, pageParam }) => { + config.signal = signal + + if (params) { + params['page'] = pageParam as unknown as GetEpisodesByAnimeIdQueryParams['page'] + } + return getEpisodesByAnimeId(animeId, params, config) + }, + initialPageParam: 1, + getNextPageParam: (lastPage) => lastPage['nextCursor'], + getPreviousPageParam: (firstPage) => firstPage['nextCursor'], + }) +} + +/** + * @summary Получение списка эпизодов по ID аниме + * {@link /api/v1/anime/episodes/by-anime/:animeId} + */ +export function useGetEpisodesByAnimeIdInfinite< + TData = InfiniteData, + TQueryData = GetEpisodesByAnimeIdQueryResponse, + TQueryKey extends QueryKey = GetEpisodesByAnimeIdInfiniteQueryKey, +>( + animeId: GetEpisodesByAnimeIdPathParams['animeId'], + params: GetEpisodesByAnimeIdQueryParams, + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getEpisodesByAnimeIdInfiniteQueryKey(animeId, params) + + const query = useInfiniteQuery( + { + ...getEpisodesByAnimeIdInfiniteQueryOptions(animeId, params, config), + queryKey, + ...queryOptions, + } as unknown as InfiniteQueryObserverOptions, + queryClient, + ) as UseInfiniteQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/episodesControllerHooks/useGetEpisodesByAnimeIdSuspense.ts b/app/api/generated/hooks/episodesControllerHooks/useGetEpisodesByAnimeIdSuspense.ts new file mode 100644 index 0000000..8f454c2 --- /dev/null +++ b/app/api/generated/hooks/episodesControllerHooks/useGetEpisodesByAnimeIdSuspense.ts @@ -0,0 +1,70 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, UseSuspenseQueryOptions, UseSuspenseQueryResult } from '@tanstack/react-query' +import type { + GetEpisodesByAnimeIdQueryResponse, + GetEpisodesByAnimeIdPathParams, + GetEpisodesByAnimeIdQueryParams, +} from '../../types/episodesControllerController/GetEpisodesByAnimeId.ts' +import { queryOptions, useSuspenseQuery } from '@tanstack/react-query' +import { getEpisodesByAnimeId } from '../../clients/axios/episodesControllerService/getEpisodesByAnimeId.ts' + +export const getEpisodesByAnimeIdSuspenseQueryKey = (animeId: GetEpisodesByAnimeIdPathParams['animeId'], params: GetEpisodesByAnimeIdQueryParams) => + [{ url: '/api/v1/anime/episodes/by-anime/:animeId', params: { animeId: animeId } }, ...(params ? [params] : [])] as const + +export type GetEpisodesByAnimeIdSuspenseQueryKey = ReturnType + +export function getEpisodesByAnimeIdSuspenseQueryOptions( + animeId: GetEpisodesByAnimeIdPathParams['animeId'], + params: GetEpisodesByAnimeIdQueryParams, + config: Partial & { client?: typeof fetch } = {}, +) { + const queryKey = getEpisodesByAnimeIdSuspenseQueryKey(animeId, params) + return queryOptions, GetEpisodesByAnimeIdQueryResponse, typeof queryKey>({ + enabled: !!(animeId && params), + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getEpisodesByAnimeId(animeId, params, config) + }, + }) +} + +/** + * @summary Получение списка эпизодов по ID аниме + * {@link /api/v1/anime/episodes/by-anime/:animeId} + */ +export function useGetEpisodesByAnimeIdSuspense( + animeId: GetEpisodesByAnimeIdPathParams['animeId'], + params: GetEpisodesByAnimeIdQueryParams, + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getEpisodesByAnimeIdSuspenseQueryKey(animeId, params) + + const query = useSuspenseQuery( + { + ...getEpisodesByAnimeIdSuspenseQueryOptions(animeId, params, config), + queryKey, + ...queryOptions, + } as unknown as UseSuspenseQueryOptions, + queryClient, + ) as UseSuspenseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/episodesControllerHooks/useUpdateEpisode.ts b/app/api/generated/hooks/episodesControllerHooks/useUpdateEpisode.ts new file mode 100644 index 0000000..8069815 --- /dev/null +++ b/app/api/generated/hooks/episodesControllerHooks/useUpdateEpisode.ts @@ -0,0 +1,60 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { + UpdateEpisodeMutationRequest, + UpdateEpisodeMutationResponse, + UpdateEpisodePathParams, +} from '../../types/episodesControllerController/UpdateEpisode.ts' +import { useMutation } from '@tanstack/react-query' +import { updateEpisode } from '../../clients/axios/episodesControllerService/updateEpisode.ts' + +export const updateEpisodeMutationKey = () => [{ url: '/api/v1/anime/episodes/{id}' }] as const + +export type UpdateEpisodeMutationKey = ReturnType + +/** + * @summary Редактирование эпизода + * {@link /api/v1/anime/episodes/:id} + */ +export function useUpdateEpisode( + options: { + mutation?: UseMutationOptions< + UpdateEpisodeMutationResponse, + ResponseErrorConfig, + { id: UpdateEpisodePathParams['id']; data: UpdateEpisodeMutationRequest }, + TContext + > & { client?: QueryClient } + client?: Partial> & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? updateEpisodeMutationKey() + + return useMutation< + UpdateEpisodeMutationResponse, + ResponseErrorConfig, + { id: UpdateEpisodePathParams['id']; data: UpdateEpisodeMutationRequest }, + TContext + >( + { + mutationFn: async ({ id, data }) => { + return updateEpisode(id, data, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/episodesControllerHooks/useUpdateEpisodeOrder.ts b/app/api/generated/hooks/episodesControllerHooks/useUpdateEpisodeOrder.ts new file mode 100644 index 0000000..1e1914d --- /dev/null +++ b/app/api/generated/hooks/episodesControllerHooks/useUpdateEpisodeOrder.ts @@ -0,0 +1,56 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { UpdateEpisodeOrderMutationResponse, UpdateEpisodeOrderPathParams } from '../../types/episodesControllerController/UpdateEpisodeOrder.ts' +import { useMutation } from '@tanstack/react-query' +import { updateEpisodeOrder } from '../../clients/axios/episodesControllerService/updateEpisodeOrder.ts' + +export const updateEpisodeOrderMutationKey = () => [{ url: '/api/v1/anime/episodes/{id}/order/{newOrderId}' }] as const + +export type UpdateEpisodeOrderMutationKey = ReturnType + +/** + * @summary Изменение порядка эпизода в списке + * {@link /api/v1/anime/episodes/:id/order/:newOrderId} + */ +export function useUpdateEpisodeOrder( + options: { + mutation?: UseMutationOptions< + UpdateEpisodeOrderMutationResponse, + ResponseErrorConfig, + { id: UpdateEpisodeOrderPathParams['id']; newOrderId: UpdateEpisodeOrderPathParams['newOrderId'] }, + TContext + > & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? updateEpisodeOrderMutationKey() + + return useMutation< + UpdateEpisodeOrderMutationResponse, + ResponseErrorConfig, + { id: UpdateEpisodeOrderPathParams['id']; newOrderId: UpdateEpisodeOrderPathParams['newOrderId'] }, + TContext + >( + { + mutationFn: async ({ id, newOrderId }) => { + return updateEpisodeOrder(id, newOrderId, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/groupControllerHooks/useAddAnimeIdsToGroup.ts b/app/api/generated/hooks/groupControllerHooks/useAddAnimeIdsToGroup.ts new file mode 100644 index 0000000..d0fabba --- /dev/null +++ b/app/api/generated/hooks/groupControllerHooks/useAddAnimeIdsToGroup.ts @@ -0,0 +1,55 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { + AddAnimeIdsToGroupMutationRequest, + AddAnimeIdsToGroupMutationResponse, + AddAnimeIdsToGroup404, +} from '../../types/groupControllerController/AddAnimeIdsToGroup.ts' +import { useMutation } from '@tanstack/react-query' +import { addAnimeIdsToGroup } from '../../clients/axios/groupControllerService/addAnimeIdsToGroup.ts' + +export const addAnimeIdsToGroupMutationKey = () => [{ url: '/api/v1/anime/group/add-to-group' }] as const + +export type AddAnimeIdsToGroupMutationKey = ReturnType + +/** + * @summary Добавление списка аниме в группу по id группы и списку id amine + * {@link /api/v1/anime/group/add-to-group} + */ +export function useAddAnimeIdsToGroup( + options: { + mutation?: UseMutationOptions< + AddAnimeIdsToGroupMutationResponse, + ResponseErrorConfig, + { data?: AddAnimeIdsToGroupMutationRequest }, + TContext + > & { client?: QueryClient } + client?: Partial> & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? addAnimeIdsToGroupMutationKey() + + return useMutation, { data?: AddAnimeIdsToGroupMutationRequest }, TContext>( + { + mutationFn: async ({ data }) => { + return addAnimeIdsToGroup(data, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/groupControllerHooks/useCreate1.ts b/app/api/generated/hooks/groupControllerHooks/useCreate1.ts new file mode 100644 index 0000000..495e53b --- /dev/null +++ b/app/api/generated/hooks/groupControllerHooks/useCreate1.ts @@ -0,0 +1,46 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { Create1MutationRequest, Create1MutationResponse } from '../../types/groupControllerController/Create1.ts' +import { useMutation } from '@tanstack/react-query' +import { create1 } from '../../clients/axios/groupControllerService/create1.ts' + +export const create1MutationKey = () => [{ url: '/api/v1/anime/group' }] as const + +export type Create1MutationKey = ReturnType + +/** + * @summary Создание группы + * {@link /api/v1/anime/group} + */ +export function useCreate1( + options: { + mutation?: UseMutationOptions, { data?: Create1MutationRequest }, TContext> & { client?: QueryClient } + client?: Partial> & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? create1MutationKey() + + return useMutation, { data?: Create1MutationRequest }, TContext>( + { + mutationFn: async ({ data }) => { + return create1(data, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/groupControllerHooks/useDeleteAnimeIdsFromGroup.ts b/app/api/generated/hooks/groupControllerHooks/useDeleteAnimeIdsFromGroup.ts new file mode 100644 index 0000000..5a0c002 --- /dev/null +++ b/app/api/generated/hooks/groupControllerHooks/useDeleteAnimeIdsFromGroup.ts @@ -0,0 +1,60 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { + DeleteAnimeIdsFromGroupMutationRequest, + DeleteAnimeIdsFromGroupMutationResponse, + DeleteAnimeIdsFromGroup404, +} from '../../types/groupControllerController/DeleteAnimeIdsFromGroup.ts' +import { useMutation } from '@tanstack/react-query' +import { deleteAnimeIdsFromGroup } from '../../clients/axios/groupControllerService/deleteAnimeIdsFromGroup.ts' + +export const deleteAnimeIdsFromGroupMutationKey = () => [{ url: '/api/v1/anime/group/delete-from-group' }] as const + +export type DeleteAnimeIdsFromGroupMutationKey = ReturnType + +/** + * @summary Удаление списка аниме из группы по id группы и списку id amine + * {@link /api/v1/anime/group/delete-from-group} + */ +export function useDeleteAnimeIdsFromGroup( + options: { + mutation?: UseMutationOptions< + DeleteAnimeIdsFromGroupMutationResponse, + ResponseErrorConfig, + { data?: DeleteAnimeIdsFromGroupMutationRequest }, + TContext + > & { client?: QueryClient } + client?: Partial> & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? deleteAnimeIdsFromGroupMutationKey() + + return useMutation< + DeleteAnimeIdsFromGroupMutationResponse, + ResponseErrorConfig, + { data?: DeleteAnimeIdsFromGroupMutationRequest }, + TContext + >( + { + mutationFn: async ({ data }) => { + return deleteAnimeIdsFromGroup(data, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/groupControllerHooks/useDeleteById2.ts b/app/api/generated/hooks/groupControllerHooks/useDeleteById2.ts new file mode 100644 index 0000000..839bd0b --- /dev/null +++ b/app/api/generated/hooks/groupControllerHooks/useDeleteById2.ts @@ -0,0 +1,48 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { DeleteById2MutationResponse, DeleteById2PathParams, DeleteById2404 } from '../../types/groupControllerController/DeleteById2.ts' +import { useMutation } from '@tanstack/react-query' +import { deleteById2 } from '../../clients/axios/groupControllerService/deleteById2.ts' + +export const deleteById2MutationKey = () => [{ url: '/api/v1/anime/group/{id}' }] as const + +export type DeleteById2MutationKey = ReturnType + +/** + * @summary Удаление группы + * {@link /api/v1/anime/group/:id} + */ +export function useDeleteById2( + options: { + mutation?: UseMutationOptions, { id: DeleteById2PathParams['id'] }, TContext> & { + client?: QueryClient + } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? deleteById2MutationKey() + + return useMutation, { id: DeleteById2PathParams['id'] }, TContext>( + { + mutationFn: async ({ id }) => { + return deleteById2(id, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/groupControllerHooks/useGetByAnimeId.ts b/app/api/generated/hooks/groupControllerHooks/useGetByAnimeId.ts new file mode 100644 index 0000000..b946fae --- /dev/null +++ b/app/api/generated/hooks/groupControllerHooks/useGetByAnimeId.ts @@ -0,0 +1,63 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, QueryObserverOptions, UseQueryResult } from '@tanstack/react-query' +import type { GetByAnimeIdQueryResponse, GetByAnimeIdPathParams, GetByAnimeId404 } from '../../types/groupControllerController/GetByAnimeId.ts' +import { queryOptions, useQuery } from '@tanstack/react-query' +import { getByAnimeId } from '../../clients/axios/groupControllerService/getByAnimeId.ts' + +export const getByAnimeIdQueryKey = (animeId: GetByAnimeIdPathParams['animeId']) => + [{ url: '/api/v1/anime/group/by-anime/:animeId', params: { animeId: animeId } }] as const + +export type GetByAnimeIdQueryKey = ReturnType + +export function getByAnimeIdQueryOptions(animeId: GetByAnimeIdPathParams['animeId'], config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getByAnimeIdQueryKey(animeId) + return queryOptions, GetByAnimeIdQueryResponse, typeof queryKey>({ + enabled: !!animeId, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getByAnimeId(animeId, config) + }, + }) +} + +/** + * @summary Получение группы по аниме id + * {@link /api/v1/anime/group/by-anime/:animeId} + */ +export function useGetByAnimeId( + animeId: GetByAnimeIdPathParams['animeId'], + options: { + query?: Partial, TData, TQueryData, TQueryKey>> & { + client?: QueryClient + } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getByAnimeIdQueryKey(animeId) + + const query = useQuery( + { + ...getByAnimeIdQueryOptions(animeId, config), + queryKey, + ...queryOptions, + } as unknown as QueryObserverOptions, + queryClient, + ) as UseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/groupControllerHooks/useGetByAnimeIdInfinite.ts b/app/api/generated/hooks/groupControllerHooks/useGetByAnimeIdInfinite.ts new file mode 100644 index 0000000..35d8875 --- /dev/null +++ b/app/api/generated/hooks/groupControllerHooks/useGetByAnimeIdInfinite.ts @@ -0,0 +1,68 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { InfiniteData, QueryKey, QueryClient, InfiniteQueryObserverOptions, UseInfiniteQueryResult } from '@tanstack/react-query' +import type { GetByAnimeIdQueryResponse, GetByAnimeIdPathParams, GetByAnimeId404 } from '../../types/groupControllerController/GetByAnimeId.ts' +import { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/react-query' +import { getByAnimeId } from '../../clients/axios/groupControllerService/getByAnimeId.ts' + +export const getByAnimeIdInfiniteQueryKey = (animeId: GetByAnimeIdPathParams['animeId']) => + [{ url: '/api/v1/anime/group/by-anime/:animeId', params: { animeId: animeId } }] as const + +export type GetByAnimeIdInfiniteQueryKey = ReturnType + +export function getByAnimeIdInfiniteQueryOptions(animeId: GetByAnimeIdPathParams['animeId'], config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getByAnimeIdInfiniteQueryKey(animeId) + return infiniteQueryOptions, GetByAnimeIdQueryResponse, typeof queryKey>({ + enabled: !!animeId, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getByAnimeId(animeId, config) + }, + initialPageParam: 1, + getNextPageParam: (lastPage) => lastPage['nextCursor'], + getPreviousPageParam: (firstPage) => firstPage['nextCursor'], + }) +} + +/** + * @summary Получение группы по аниме id + * {@link /api/v1/anime/group/by-anime/:animeId} + */ +export function useGetByAnimeIdInfinite< + TData = InfiniteData, + TQueryData = GetByAnimeIdQueryResponse, + TQueryKey extends QueryKey = GetByAnimeIdInfiniteQueryKey, +>( + animeId: GetByAnimeIdPathParams['animeId'], + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getByAnimeIdInfiniteQueryKey(animeId) + + const query = useInfiniteQuery( + { + ...getByAnimeIdInfiniteQueryOptions(animeId, config), + queryKey, + ...queryOptions, + } as unknown as InfiniteQueryObserverOptions, + queryClient, + ) as UseInfiniteQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/groupControllerHooks/useGetByAnimeIdSuspense.ts b/app/api/generated/hooks/groupControllerHooks/useGetByAnimeIdSuspense.ts new file mode 100644 index 0000000..80d2833 --- /dev/null +++ b/app/api/generated/hooks/groupControllerHooks/useGetByAnimeIdSuspense.ts @@ -0,0 +1,61 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, UseSuspenseQueryOptions, UseSuspenseQueryResult } from '@tanstack/react-query' +import type { GetByAnimeIdQueryResponse, GetByAnimeIdPathParams, GetByAnimeId404 } from '../../types/groupControllerController/GetByAnimeId.ts' +import { queryOptions, useSuspenseQuery } from '@tanstack/react-query' +import { getByAnimeId } from '../../clients/axios/groupControllerService/getByAnimeId.ts' + +export const getByAnimeIdSuspenseQueryKey = (animeId: GetByAnimeIdPathParams['animeId']) => + [{ url: '/api/v1/anime/group/by-anime/:animeId', params: { animeId: animeId } }] as const + +export type GetByAnimeIdSuspenseQueryKey = ReturnType + +export function getByAnimeIdSuspenseQueryOptions(animeId: GetByAnimeIdPathParams['animeId'], config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getByAnimeIdSuspenseQueryKey(animeId) + return queryOptions, GetByAnimeIdQueryResponse, typeof queryKey>({ + enabled: !!animeId, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getByAnimeId(animeId, config) + }, + }) +} + +/** + * @summary Получение группы по аниме id + * {@link /api/v1/anime/group/by-anime/:animeId} + */ +export function useGetByAnimeIdSuspense( + animeId: GetByAnimeIdPathParams['animeId'], + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getByAnimeIdSuspenseQueryKey(animeId) + + const query = useSuspenseQuery( + { + ...getByAnimeIdSuspenseQueryOptions(animeId, config), + queryKey, + ...queryOptions, + } as unknown as UseSuspenseQueryOptions, + queryClient, + ) as UseSuspenseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/groupControllerHooks/useGetById1.ts b/app/api/generated/hooks/groupControllerHooks/useGetById1.ts new file mode 100644 index 0000000..97b86a1 --- /dev/null +++ b/app/api/generated/hooks/groupControllerHooks/useGetById1.ts @@ -0,0 +1,60 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, QueryObserverOptions, UseQueryResult } from '@tanstack/react-query' +import type { GetById1QueryResponse, GetById1PathParams, GetById1404 } from '../../types/groupControllerController/GetById1.ts' +import { queryOptions, useQuery } from '@tanstack/react-query' +import { getById1 } from '../../clients/axios/groupControllerService/getById1.ts' + +export const getById1QueryKey = (id: GetById1PathParams['id']) => [{ url: '/api/v1/anime/group/:id', params: { id: id } }] as const + +export type GetById1QueryKey = ReturnType + +export function getById1QueryOptions(id: GetById1PathParams['id'], config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getById1QueryKey(id) + return queryOptions, GetById1QueryResponse, typeof queryKey>({ + enabled: !!id, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getById1(id, config) + }, + }) +} + +/** + * @summary Получение группы по id + * {@link /api/v1/anime/group/:id} + */ +export function useGetById1( + id: GetById1PathParams['id'], + options: { + query?: Partial, TData, TQueryData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getById1QueryKey(id) + + const query = useQuery( + { + ...getById1QueryOptions(id, config), + queryKey, + ...queryOptions, + } as unknown as QueryObserverOptions, + queryClient, + ) as UseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/groupControllerHooks/useGetById1Infinite.ts b/app/api/generated/hooks/groupControllerHooks/useGetById1Infinite.ts new file mode 100644 index 0000000..830dac3 --- /dev/null +++ b/app/api/generated/hooks/groupControllerHooks/useGetById1Infinite.ts @@ -0,0 +1,67 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { InfiniteData, QueryKey, QueryClient, InfiniteQueryObserverOptions, UseInfiniteQueryResult } from '@tanstack/react-query' +import type { GetById1QueryResponse, GetById1PathParams, GetById1404 } from '../../types/groupControllerController/GetById1.ts' +import { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/react-query' +import { getById1 } from '../../clients/axios/groupControllerService/getById1.ts' + +export const getById1InfiniteQueryKey = (id: GetById1PathParams['id']) => [{ url: '/api/v1/anime/group/:id', params: { id: id } }] as const + +export type GetById1InfiniteQueryKey = ReturnType + +export function getById1InfiniteQueryOptions(id: GetById1PathParams['id'], config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getById1InfiniteQueryKey(id) + return infiniteQueryOptions, GetById1QueryResponse, typeof queryKey>({ + enabled: !!id, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getById1(id, config) + }, + initialPageParam: 1, + getNextPageParam: (lastPage) => lastPage['nextCursor'], + getPreviousPageParam: (firstPage) => firstPage['nextCursor'], + }) +} + +/** + * @summary Получение группы по id + * {@link /api/v1/anime/group/:id} + */ +export function useGetById1Infinite< + TData = InfiniteData, + TQueryData = GetById1QueryResponse, + TQueryKey extends QueryKey = GetById1InfiniteQueryKey, +>( + id: GetById1PathParams['id'], + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getById1InfiniteQueryKey(id) + + const query = useInfiniteQuery( + { + ...getById1InfiniteQueryOptions(id, config), + queryKey, + ...queryOptions, + } as unknown as InfiniteQueryObserverOptions, + queryClient, + ) as UseInfiniteQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/groupControllerHooks/useGetById1Suspense.ts b/app/api/generated/hooks/groupControllerHooks/useGetById1Suspense.ts new file mode 100644 index 0000000..955b3a0 --- /dev/null +++ b/app/api/generated/hooks/groupControllerHooks/useGetById1Suspense.ts @@ -0,0 +1,60 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, UseSuspenseQueryOptions, UseSuspenseQueryResult } from '@tanstack/react-query' +import type { GetById1QueryResponse, GetById1PathParams, GetById1404 } from '../../types/groupControllerController/GetById1.ts' +import { queryOptions, useSuspenseQuery } from '@tanstack/react-query' +import { getById1 } from '../../clients/axios/groupControllerService/getById1.ts' + +export const getById1SuspenseQueryKey = (id: GetById1PathParams['id']) => [{ url: '/api/v1/anime/group/:id', params: { id: id } }] as const + +export type GetById1SuspenseQueryKey = ReturnType + +export function getById1SuspenseQueryOptions(id: GetById1PathParams['id'], config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getById1SuspenseQueryKey(id) + return queryOptions, GetById1QueryResponse, typeof queryKey>({ + enabled: !!id, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getById1(id, config) + }, + }) +} + +/** + * @summary Получение группы по id + * {@link /api/v1/anime/group/:id} + */ +export function useGetById1Suspense( + id: GetById1PathParams['id'], + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getById1SuspenseQueryKey(id) + + const query = useSuspenseQuery( + { + ...getById1SuspenseQueryOptions(id, config), + queryKey, + ...queryOptions, + } as unknown as UseSuspenseQueryOptions, + queryClient, + ) as UseSuspenseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/groupControllerHooks/useUpdateById1.ts b/app/api/generated/hooks/groupControllerHooks/useUpdateById1.ts new file mode 100644 index 0000000..b4fc994 --- /dev/null +++ b/app/api/generated/hooks/groupControllerHooks/useUpdateById1.ts @@ -0,0 +1,48 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { UpdateById1MutationRequest, UpdateById1MutationResponse, UpdateById1404 } from '../../types/groupControllerController/UpdateById1.ts' +import { useMutation } from '@tanstack/react-query' +import { updateById1 } from '../../clients/axios/groupControllerService/updateById1.ts' + +export const updateById1MutationKey = () => [{ url: '/api/v1/anime/group' }] as const + +export type UpdateById1MutationKey = ReturnType + +/** + * @summary Обновление группы + * {@link /api/v1/anime/group} + */ +export function useUpdateById1( + options: { + mutation?: UseMutationOptions, { data?: UpdateById1MutationRequest }, TContext> & { + client?: QueryClient + } + client?: Partial> & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? updateById1MutationKey() + + return useMutation, { data?: UpdateById1MutationRequest }, TContext>( + { + mutationFn: async ({ data }) => { + return updateById1(data, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/index.ts b/app/api/generated/hooks/index.ts new file mode 100644 index 0000000..9514c30 --- /dev/null +++ b/app/api/generated/hooks/index.ts @@ -0,0 +1,264 @@ +export type { CreateAnimeMutationKey } from './animeControllerHooks/useCreateAnime.ts' +export type { DeleteByIdMutationKey } from './animeControllerHooks/useDeleteById.ts' +export type { FindByIdQueryKey } from './animeControllerHooks/useFindById.ts' +export type { FindByIdInfiniteQueryKey } from './animeControllerHooks/useFindByIdInfinite.ts' +export type { FindByIdSuspenseQueryKey } from './animeControllerHooks/useFindByIdSuspense.ts' +export type { FindSimilarQueryKey } from './animeControllerHooks/useFindSimilar.ts' +export type { FindSimilarInfiniteQueryKey } from './animeControllerHooks/useFindSimilarInfinite.ts' +export type { FindSimilarSuspenseQueryKey } from './animeControllerHooks/useFindSimilarSuspense.ts' +export type { GetAllGenresQueryKey } from './animeControllerHooks/useGetAllGenres.ts' +export type { GetAllGenresInfiniteQueryKey } from './animeControllerHooks/useGetAllGenresInfinite.ts' +export type { GetAllGenresSuspenseQueryKey } from './animeControllerHooks/useGetAllGenresSuspense.ts' +export type { GetAllMpaaRatingsQueryKey } from './animeControllerHooks/useGetAllMpaaRatings.ts' +export type { GetAllMpaaRatingsInfiniteQueryKey } from './animeControllerHooks/useGetAllMpaaRatingsInfinite.ts' +export type { GetAllMpaaRatingsSuspenseQueryKey } from './animeControllerHooks/useGetAllMpaaRatingsSuspense.ts' +export type { GetAllStatusesQueryKey } from './animeControllerHooks/useGetAllStatuses.ts' +export type { GetAllStatusesInfiniteQueryKey } from './animeControllerHooks/useGetAllStatusesInfinite.ts' +export type { GetAllStatusesSuspenseQueryKey } from './animeControllerHooks/useGetAllStatusesSuspense.ts' +export type { GetAllTypesQueryKey } from './animeControllerHooks/useGetAllTypes.ts' +export type { GetAllTypesInfiniteQueryKey } from './animeControllerHooks/useGetAllTypesInfinite.ts' +export type { GetAllTypesSuspenseQueryKey } from './animeControllerHooks/useGetAllTypesSuspense.ts' +export type { GetPageQueryKey } from './animeControllerHooks/useGetPage.ts' +export type { GetPageInfiniteQueryKey } from './animeControllerHooks/useGetPageInfinite.ts' +export type { GetPageSuspenseQueryKey } from './animeControllerHooks/useGetPageSuspense.ts' +export type { IncreasePopularityMutationKey } from './animeControllerHooks/useIncreasePopularity.ts' +export type { UpdateByIdMutationKey } from './animeControllerHooks/useUpdateById.ts' +export type { CreateCommentMutationKey } from './commentsControllerHooks/useCreateComment.ts' +export type { DeleteCommentMutationKey } from './commentsControllerHooks/useDeleteComment.ts' +export type { GetCommentsByIdQueryKey } from './commentsControllerHooks/useGetCommentsById.ts' +export type { GetCommentsByIdInfiniteQueryKey } from './commentsControllerHooks/useGetCommentsByIdInfinite.ts' +export type { GetCommentsByIdSuspenseQueryKey } from './commentsControllerHooks/useGetCommentsByIdSuspense.ts' +export type { GetCommentsByUserQueryKey } from './commentsControllerHooks/useGetCommentsByUser.ts' +export type { GetCommentsByUserInfiniteQueryKey } from './commentsControllerHooks/useGetCommentsByUserInfinite.ts' +export type { GetCommentsByUserSuspenseQueryKey } from './commentsControllerHooks/useGetCommentsByUserSuspense.ts' +export type { UpdateCommentMutationKey } from './commentsControllerHooks/useUpdateComment.ts' +export type { CreateComplaintMutationKey } from './complaintControllerHooks/useCreateComplaint.ts' +export type { GetComplaintByIdQueryKey } from './complaintControllerHooks/useGetComplaintById.ts' +export type { GetComplaintByIdInfiniteQueryKey } from './complaintControllerHooks/useGetComplaintByIdInfinite.ts' +export type { GetComplaintByIdSuspenseQueryKey } from './complaintControllerHooks/useGetComplaintByIdSuspense.ts' +export type { GetComplaintsMutationKey } from './complaintControllerHooks/useGetComplaints.ts' +export type { UpdateComplaintStatusMutationKey } from './complaintControllerHooks/useUpdateComplaintStatus.ts' +export type { AddDubToEpisodeMutationKey } from './dubControllerHooks/useAddDubToEpisode.ts' +export type { CreateDubMutationKey } from './dubControllerHooks/useCreateDub.ts' +export type { DeleteDubMutationKey } from './dubControllerHooks/useDeleteDub.ts' +export type { GetDubByIdQueryKey } from './dubControllerHooks/useGetDubById.ts' +export type { GetDubByIdInfiniteQueryKey } from './dubControllerHooks/useGetDubByIdInfinite.ts' +export type { GetDubByIdSuspenseQueryKey } from './dubControllerHooks/useGetDubByIdSuspense.ts' +export type { GetDubsByEpisodeQueryKey } from './dubControllerHooks/useGetDubsByEpisode.ts' +export type { GetDubsByEpisodeInfiniteQueryKey } from './dubControllerHooks/useGetDubsByEpisodeInfinite.ts' +export type { GetDubsByEpisodeSuspenseQueryKey } from './dubControllerHooks/useGetDubsByEpisodeSuspense.ts' +export type { RemoveDubFromEpisodeMutationKey } from './dubControllerHooks/useRemoveDubFromEpisode.ts' +export type { UpdateDubNameMutationKey } from './dubControllerHooks/useUpdateDubName.ts' +export type { AddViewMutationKey } from './episodesControllerHooks/useAddView.ts' +export type { CreateEpisodeMutationKey } from './episodesControllerHooks/useCreateEpisode.ts' +export type { DeleteEpisodeMutationKey } from './episodesControllerHooks/useDeleteEpisode.ts' +export type { GetAdminEpisodeByIdQueryKey } from './episodesControllerHooks/useGetAdminEpisodeById.ts' +export type { GetAdminEpisodeByIdInfiniteQueryKey } from './episodesControllerHooks/useGetAdminEpisodeByIdInfinite.ts' +export type { GetAdminEpisodeByIdSuspenseQueryKey } from './episodesControllerHooks/useGetAdminEpisodeByIdSuspense.ts' +export type { GetEpisodeByIdQueryKey } from './episodesControllerHooks/useGetEpisodeById.ts' +export type { GetEpisodeByIdInfiniteQueryKey } from './episodesControllerHooks/useGetEpisodeByIdInfinite.ts' +export type { GetEpisodeByIdSuspenseQueryKey } from './episodesControllerHooks/useGetEpisodeByIdSuspense.ts' +export type { GetEpisodesByAnimeIdQueryKey } from './episodesControllerHooks/useGetEpisodesByAnimeId.ts' +export type { GetEpisodesByAnimeIdInfiniteQueryKey } from './episodesControllerHooks/useGetEpisodesByAnimeIdInfinite.ts' +export type { GetEpisodesByAnimeIdSuspenseQueryKey } from './episodesControllerHooks/useGetEpisodesByAnimeIdSuspense.ts' +export type { UpdateEpisodeMutationKey } from './episodesControllerHooks/useUpdateEpisode.ts' +export type { UpdateEpisodeOrderMutationKey } from './episodesControllerHooks/useUpdateEpisodeOrder.ts' +export type { AddAnimeIdsToGroupMutationKey } from './groupControllerHooks/useAddAnimeIdsToGroup.ts' +export type { Create1MutationKey } from './groupControllerHooks/useCreate1.ts' +export type { DeleteAnimeIdsFromGroupMutationKey } from './groupControllerHooks/useDeleteAnimeIdsFromGroup.ts' +export type { DeleteById2MutationKey } from './groupControllerHooks/useDeleteById2.ts' +export type { GetByAnimeIdQueryKey } from './groupControllerHooks/useGetByAnimeId.ts' +export type { GetByAnimeIdInfiniteQueryKey } from './groupControllerHooks/useGetByAnimeIdInfinite.ts' +export type { GetByAnimeIdSuspenseQueryKey } from './groupControllerHooks/useGetByAnimeIdSuspense.ts' +export type { GetById1QueryKey } from './groupControllerHooks/useGetById1.ts' +export type { GetById1InfiniteQueryKey } from './groupControllerHooks/useGetById1Infinite.ts' +export type { GetById1SuspenseQueryKey } from './groupControllerHooks/useGetById1Suspense.ts' +export type { UpdateById1MutationKey } from './groupControllerHooks/useUpdateById1.ts' +export type { CreateMutationKey } from './titleControllerHooks/useCreate.ts' +export type { CreateAllMutationKey } from './titleControllerHooks/useCreateAll.ts' +export type { DeleteAllByAnimeIdMutationKey } from './titleControllerHooks/useDeleteAllByAnimeId.ts' +export type { DeleteAllByIdMutationKey } from './titleControllerHooks/useDeleteAllById.ts' +export type { DeleteById1MutationKey } from './titleControllerHooks/useDeleteById1.ts' +export type { GetAllByAnimeIdQueryKey } from './titleControllerHooks/useGetAllByAnimeId.ts' +export type { GetAllByAnimeIdInfiniteQueryKey } from './titleControllerHooks/useGetAllByAnimeIdInfinite.ts' +export type { GetAllByAnimeIdSuspenseQueryKey } from './titleControllerHooks/useGetAllByAnimeIdSuspense.ts' +export type { GetByIdQueryKey } from './titleControllerHooks/useGetById.ts' +export type { GetByIdInfiniteQueryKey } from './titleControllerHooks/useGetByIdInfinite.ts' +export type { GetByIdSuspenseQueryKey } from './titleControllerHooks/useGetByIdSuspense.ts' +export type { GetPage1QueryKey } from './titleControllerHooks/useGetPage1.ts' +export type { GetPage1InfiniteQueryKey } from './titleControllerHooks/useGetPage1Infinite.ts' +export type { GetPage1SuspenseQueryKey } from './titleControllerHooks/useGetPage1Suspense.ts' +export type { UpdateAllByIdMutationKey } from './titleControllerHooks/useUpdateAllById.ts' +export type { UpdateById2MutationKey } from './titleControllerHooks/useUpdateById2.ts' +export { createAnimeMutationKey, useCreateAnime } from './animeControllerHooks/useCreateAnime.ts' +export { deleteByIdMutationKey, useDeleteById } from './animeControllerHooks/useDeleteById.ts' +export { findByIdQueryKey, findByIdQueryOptions, useFindById } from './animeControllerHooks/useFindById.ts' +export { findByIdInfiniteQueryKey, findByIdInfiniteQueryOptions, useFindByIdInfinite } from './animeControllerHooks/useFindByIdInfinite.ts' +export { findByIdSuspenseQueryKey, findByIdSuspenseQueryOptions, useFindByIdSuspense } from './animeControllerHooks/useFindByIdSuspense.ts' +export { findSimilarQueryKey, findSimilarQueryOptions, useFindSimilar } from './animeControllerHooks/useFindSimilar.ts' +export { findSimilarInfiniteQueryKey, findSimilarInfiniteQueryOptions, useFindSimilarInfinite } from './animeControllerHooks/useFindSimilarInfinite.ts' +export { findSimilarSuspenseQueryKey, findSimilarSuspenseQueryOptions, useFindSimilarSuspense } from './animeControllerHooks/useFindSimilarSuspense.ts' +export { getAllGenresQueryKey, getAllGenresQueryOptions, useGetAllGenres } from './animeControllerHooks/useGetAllGenres.ts' +export { getAllGenresInfiniteQueryKey, getAllGenresInfiniteQueryOptions, useGetAllGenresInfinite } from './animeControllerHooks/useGetAllGenresInfinite.ts' +export { getAllGenresSuspenseQueryKey, getAllGenresSuspenseQueryOptions, useGetAllGenresSuspense } from './animeControllerHooks/useGetAllGenresSuspense.ts' +export { getAllMpaaRatingsQueryKey, getAllMpaaRatingsQueryOptions, useGetAllMpaaRatings } from './animeControllerHooks/useGetAllMpaaRatings.ts' +export { + getAllMpaaRatingsInfiniteQueryKey, + getAllMpaaRatingsInfiniteQueryOptions, + useGetAllMpaaRatingsInfinite, +} from './animeControllerHooks/useGetAllMpaaRatingsInfinite.ts' +export { + getAllMpaaRatingsSuspenseQueryKey, + getAllMpaaRatingsSuspenseQueryOptions, + useGetAllMpaaRatingsSuspense, +} from './animeControllerHooks/useGetAllMpaaRatingsSuspense.ts' +export { getAllStatusesQueryKey, getAllStatusesQueryOptions, useGetAllStatuses } from './animeControllerHooks/useGetAllStatuses.ts' +export { + getAllStatusesInfiniteQueryKey, + getAllStatusesInfiniteQueryOptions, + useGetAllStatusesInfinite, +} from './animeControllerHooks/useGetAllStatusesInfinite.ts' +export { + getAllStatusesSuspenseQueryKey, + getAllStatusesSuspenseQueryOptions, + useGetAllStatusesSuspense, +} from './animeControllerHooks/useGetAllStatusesSuspense.ts' +export { getAllTypesQueryKey, getAllTypesQueryOptions, useGetAllTypes } from './animeControllerHooks/useGetAllTypes.ts' +export { getAllTypesInfiniteQueryKey, getAllTypesInfiniteQueryOptions, useGetAllTypesInfinite } from './animeControllerHooks/useGetAllTypesInfinite.ts' +export { getAllTypesSuspenseQueryKey, getAllTypesSuspenseQueryOptions, useGetAllTypesSuspense } from './animeControllerHooks/useGetAllTypesSuspense.ts' +export { getPageQueryKey, getPageQueryOptions, useGetPage } from './animeControllerHooks/useGetPage.ts' +export { getPageInfiniteQueryKey, getPageInfiniteQueryOptions, useGetPageInfinite } from './animeControllerHooks/useGetPageInfinite.ts' +export { getPageSuspenseQueryKey, getPageSuspenseQueryOptions, useGetPageSuspense } from './animeControllerHooks/useGetPageSuspense.ts' +export { increasePopularityMutationKey, useIncreasePopularity } from './animeControllerHooks/useIncreasePopularity.ts' +export { updateByIdMutationKey, useUpdateById } from './animeControllerHooks/useUpdateById.ts' +export { createCommentMutationKey, useCreateComment } from './commentsControllerHooks/useCreateComment.ts' +export { deleteCommentMutationKey, useDeleteComment } from './commentsControllerHooks/useDeleteComment.ts' +export { getCommentsByIdQueryKey, getCommentsByIdQueryOptions, useGetCommentsById } from './commentsControllerHooks/useGetCommentsById.ts' +export { + getCommentsByIdInfiniteQueryKey, + getCommentsByIdInfiniteQueryOptions, + useGetCommentsByIdInfinite, +} from './commentsControllerHooks/useGetCommentsByIdInfinite.ts' +export { + getCommentsByIdSuspenseQueryKey, + getCommentsByIdSuspenseQueryOptions, + useGetCommentsByIdSuspense, +} from './commentsControllerHooks/useGetCommentsByIdSuspense.ts' +export { getCommentsByUserQueryKey, getCommentsByUserQueryOptions, useGetCommentsByUser } from './commentsControllerHooks/useGetCommentsByUser.ts' +export { + getCommentsByUserInfiniteQueryKey, + getCommentsByUserInfiniteQueryOptions, + useGetCommentsByUserInfinite, +} from './commentsControllerHooks/useGetCommentsByUserInfinite.ts' +export { + getCommentsByUserSuspenseQueryKey, + getCommentsByUserSuspenseQueryOptions, + useGetCommentsByUserSuspense, +} from './commentsControllerHooks/useGetCommentsByUserSuspense.ts' +export { updateCommentMutationKey, useUpdateComment } from './commentsControllerHooks/useUpdateComment.ts' +export { createComplaintMutationKey, useCreateComplaint } from './complaintControllerHooks/useCreateComplaint.ts' +export { getComplaintByIdQueryKey, getComplaintByIdQueryOptions, useGetComplaintById } from './complaintControllerHooks/useGetComplaintById.ts' +export { + getComplaintByIdInfiniteQueryKey, + getComplaintByIdInfiniteQueryOptions, + useGetComplaintByIdInfinite, +} from './complaintControllerHooks/useGetComplaintByIdInfinite.ts' +export { + getComplaintByIdSuspenseQueryKey, + getComplaintByIdSuspenseQueryOptions, + useGetComplaintByIdSuspense, +} from './complaintControllerHooks/useGetComplaintByIdSuspense.ts' +export { getComplaintsMutationKey, useGetComplaints } from './complaintControllerHooks/useGetComplaints.ts' +export { updateComplaintStatusMutationKey, useUpdateComplaintStatus } from './complaintControllerHooks/useUpdateComplaintStatus.ts' +export { addDubToEpisodeMutationKey, useAddDubToEpisode } from './dubControllerHooks/useAddDubToEpisode.ts' +export { createDubMutationKey, useCreateDub } from './dubControllerHooks/useCreateDub.ts' +export { deleteDubMutationKey, useDeleteDub } from './dubControllerHooks/useDeleteDub.ts' +export { getDubByIdQueryKey, getDubByIdQueryOptions, useGetDubById } from './dubControllerHooks/useGetDubById.ts' +export { getDubByIdInfiniteQueryKey, getDubByIdInfiniteQueryOptions, useGetDubByIdInfinite } from './dubControllerHooks/useGetDubByIdInfinite.ts' +export { getDubByIdSuspenseQueryKey, getDubByIdSuspenseQueryOptions, useGetDubByIdSuspense } from './dubControllerHooks/useGetDubByIdSuspense.ts' +export { getDubsByEpisodeQueryKey, getDubsByEpisodeQueryOptions, useGetDubsByEpisode } from './dubControllerHooks/useGetDubsByEpisode.ts' +export { + getDubsByEpisodeInfiniteQueryKey, + getDubsByEpisodeInfiniteQueryOptions, + useGetDubsByEpisodeInfinite, +} from './dubControllerHooks/useGetDubsByEpisodeInfinite.ts' +export { + getDubsByEpisodeSuspenseQueryKey, + getDubsByEpisodeSuspenseQueryOptions, + useGetDubsByEpisodeSuspense, +} from './dubControllerHooks/useGetDubsByEpisodeSuspense.ts' +export { removeDubFromEpisodeMutationKey, useRemoveDubFromEpisode } from './dubControllerHooks/useRemoveDubFromEpisode.ts' +export { updateDubNameMutationKey, useUpdateDubName } from './dubControllerHooks/useUpdateDubName.ts' +export { addViewMutationKey, useAddView } from './episodesControllerHooks/useAddView.ts' +export { createEpisodeMutationKey, useCreateEpisode } from './episodesControllerHooks/useCreateEpisode.ts' +export { deleteEpisodeMutationKey, useDeleteEpisode } from './episodesControllerHooks/useDeleteEpisode.ts' +export { getAdminEpisodeByIdQueryKey, getAdminEpisodeByIdQueryOptions, useGetAdminEpisodeById } from './episodesControllerHooks/useGetAdminEpisodeById.ts' +export { + getAdminEpisodeByIdInfiniteQueryKey, + getAdminEpisodeByIdInfiniteQueryOptions, + useGetAdminEpisodeByIdInfinite, +} from './episodesControllerHooks/useGetAdminEpisodeByIdInfinite.ts' +export { + getAdminEpisodeByIdSuspenseQueryKey, + getAdminEpisodeByIdSuspenseQueryOptions, + useGetAdminEpisodeByIdSuspense, +} from './episodesControllerHooks/useGetAdminEpisodeByIdSuspense.ts' +export { getEpisodeByIdQueryKey, getEpisodeByIdQueryOptions, useGetEpisodeById } from './episodesControllerHooks/useGetEpisodeById.ts' +export { + getEpisodeByIdInfiniteQueryKey, + getEpisodeByIdInfiniteQueryOptions, + useGetEpisodeByIdInfinite, +} from './episodesControllerHooks/useGetEpisodeByIdInfinite.ts' +export { + getEpisodeByIdSuspenseQueryKey, + getEpisodeByIdSuspenseQueryOptions, + useGetEpisodeByIdSuspense, +} from './episodesControllerHooks/useGetEpisodeByIdSuspense.ts' +export { getEpisodesByAnimeIdQueryKey, getEpisodesByAnimeIdQueryOptions, useGetEpisodesByAnimeId } from './episodesControllerHooks/useGetEpisodesByAnimeId.ts' +export { + getEpisodesByAnimeIdInfiniteQueryKey, + getEpisodesByAnimeIdInfiniteQueryOptions, + useGetEpisodesByAnimeIdInfinite, +} from './episodesControllerHooks/useGetEpisodesByAnimeIdInfinite.ts' +export { + getEpisodesByAnimeIdSuspenseQueryKey, + getEpisodesByAnimeIdSuspenseQueryOptions, + useGetEpisodesByAnimeIdSuspense, +} from './episodesControllerHooks/useGetEpisodesByAnimeIdSuspense.ts' +export { updateEpisodeMutationKey, useUpdateEpisode } from './episodesControllerHooks/useUpdateEpisode.ts' +export { updateEpisodeOrderMutationKey, useUpdateEpisodeOrder } from './episodesControllerHooks/useUpdateEpisodeOrder.ts' +export { addAnimeIdsToGroupMutationKey, useAddAnimeIdsToGroup } from './groupControllerHooks/useAddAnimeIdsToGroup.ts' +export { create1MutationKey, useCreate1 } from './groupControllerHooks/useCreate1.ts' +export { deleteAnimeIdsFromGroupMutationKey, useDeleteAnimeIdsFromGroup } from './groupControllerHooks/useDeleteAnimeIdsFromGroup.ts' +export { deleteById2MutationKey, useDeleteById2 } from './groupControllerHooks/useDeleteById2.ts' +export { getByAnimeIdQueryKey, getByAnimeIdQueryOptions, useGetByAnimeId } from './groupControllerHooks/useGetByAnimeId.ts' +export { getByAnimeIdInfiniteQueryKey, getByAnimeIdInfiniteQueryOptions, useGetByAnimeIdInfinite } from './groupControllerHooks/useGetByAnimeIdInfinite.ts' +export { getByAnimeIdSuspenseQueryKey, getByAnimeIdSuspenseQueryOptions, useGetByAnimeIdSuspense } from './groupControllerHooks/useGetByAnimeIdSuspense.ts' +export { getById1QueryKey, getById1QueryOptions, useGetById1 } from './groupControllerHooks/useGetById1.ts' +export { getById1InfiniteQueryKey, getById1InfiniteQueryOptions, useGetById1Infinite } from './groupControllerHooks/useGetById1Infinite.ts' +export { getById1SuspenseQueryKey, getById1SuspenseQueryOptions, useGetById1Suspense } from './groupControllerHooks/useGetById1Suspense.ts' +export { updateById1MutationKey, useUpdateById1 } from './groupControllerHooks/useUpdateById1.ts' +export { createMutationKey, useCreate } from './titleControllerHooks/useCreate.ts' +export { createAllMutationKey, useCreateAll } from './titleControllerHooks/useCreateAll.ts' +export { deleteAllByAnimeIdMutationKey, useDeleteAllByAnimeId } from './titleControllerHooks/useDeleteAllByAnimeId.ts' +export { deleteAllByIdMutationKey, useDeleteAllById } from './titleControllerHooks/useDeleteAllById.ts' +export { deleteById1MutationKey, useDeleteById1 } from './titleControllerHooks/useDeleteById1.ts' +export { getAllByAnimeIdQueryKey, getAllByAnimeIdQueryOptions, useGetAllByAnimeId } from './titleControllerHooks/useGetAllByAnimeId.ts' +export { + getAllByAnimeIdInfiniteQueryKey, + getAllByAnimeIdInfiniteQueryOptions, + useGetAllByAnimeIdInfinite, +} from './titleControllerHooks/useGetAllByAnimeIdInfinite.ts' +export { + getAllByAnimeIdSuspenseQueryKey, + getAllByAnimeIdSuspenseQueryOptions, + useGetAllByAnimeIdSuspense, +} from './titleControllerHooks/useGetAllByAnimeIdSuspense.ts' +export { getByIdQueryKey, getByIdQueryOptions, useGetById } from './titleControllerHooks/useGetById.ts' +export { getByIdInfiniteQueryKey, getByIdInfiniteQueryOptions, useGetByIdInfinite } from './titleControllerHooks/useGetByIdInfinite.ts' +export { getByIdSuspenseQueryKey, getByIdSuspenseQueryOptions, useGetByIdSuspense } from './titleControllerHooks/useGetByIdSuspense.ts' +export { getPage1QueryKey, getPage1QueryOptions, useGetPage1 } from './titleControllerHooks/useGetPage1.ts' +export { getPage1InfiniteQueryKey, getPage1InfiniteQueryOptions, useGetPage1Infinite } from './titleControllerHooks/useGetPage1Infinite.ts' +export { getPage1SuspenseQueryKey, getPage1SuspenseQueryOptions, useGetPage1Suspense } from './titleControllerHooks/useGetPage1Suspense.ts' +export { updateAllByIdMutationKey, useUpdateAllById } from './titleControllerHooks/useUpdateAllById.ts' +export { updateById2MutationKey, useUpdateById2 } from './titleControllerHooks/useUpdateById2.ts' \ No newline at end of file diff --git a/app/api/generated/hooks/titleControllerHooks/useCreate.ts b/app/api/generated/hooks/titleControllerHooks/useCreate.ts new file mode 100644 index 0000000..d7cda1a --- /dev/null +++ b/app/api/generated/hooks/titleControllerHooks/useCreate.ts @@ -0,0 +1,46 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { CreateMutationResponse, CreateQueryParams } from '../../types/titleControllerController/Create.ts' +import { useMutation } from '@tanstack/react-query' +import { create } from '../../clients/axios/titleControllerService/create.ts' + +export const createMutationKey = () => [{ url: '/api/v1/anime/title' }] as const + +export type CreateMutationKey = ReturnType + +/** + * @summary Создание тайтла + * {@link /api/v1/anime/title} + */ +export function useCreate( + options: { + mutation?: UseMutationOptions, { params: CreateQueryParams }, TContext> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? createMutationKey() + + return useMutation, { params: CreateQueryParams }, TContext>( + { + mutationFn: async ({ params }) => { + return create(params, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/titleControllerHooks/useCreateAll.ts b/app/api/generated/hooks/titleControllerHooks/useCreateAll.ts new file mode 100644 index 0000000..9a1c00b --- /dev/null +++ b/app/api/generated/hooks/titleControllerHooks/useCreateAll.ts @@ -0,0 +1,46 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { CreateAllMutationResponse, CreateAllQueryParams } from '../../types/titleControllerController/CreateAll.ts' +import { useMutation } from '@tanstack/react-query' +import { createAll } from '../../clients/axios/titleControllerService/createAll.ts' + +export const createAllMutationKey = () => [{ url: '/api/v1/anime/title/batch' }] as const + +export type CreateAllMutationKey = ReturnType + +/** + * @summary Создание списка тайтлов + * {@link /api/v1/anime/title/batch} + */ +export function useCreateAll( + options: { + mutation?: UseMutationOptions, { params: CreateAllQueryParams }, TContext> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? createAllMutationKey() + + return useMutation, { params: CreateAllQueryParams }, TContext>( + { + mutationFn: async ({ params }) => { + return createAll(params, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/titleControllerHooks/useDeleteAllByAnimeId.ts b/app/api/generated/hooks/titleControllerHooks/useDeleteAllByAnimeId.ts new file mode 100644 index 0000000..9f475de --- /dev/null +++ b/app/api/generated/hooks/titleControllerHooks/useDeleteAllByAnimeId.ts @@ -0,0 +1,55 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { + DeleteAllByAnimeIdMutationResponse, + DeleteAllByAnimeIdQueryParams, + DeleteAllByAnimeId404, +} from '../../types/titleControllerController/DeleteAllByAnimeId.ts' +import { useMutation } from '@tanstack/react-query' +import { deleteAllByAnimeId } from '../../clients/axios/titleControllerService/deleteAllByAnimeId.ts' + +export const deleteAllByAnimeIdMutationKey = () => [{ url: '/api/v1/anime/title/by-anime' }] as const + +export type DeleteAllByAnimeIdMutationKey = ReturnType + +/** + * @summary Удаление тайтлов по аниме id + * {@link /api/v1/anime/title/by-anime} + */ +export function useDeleteAllByAnimeId( + options: { + mutation?: UseMutationOptions< + DeleteAllByAnimeIdMutationResponse, + ResponseErrorConfig, + { params: DeleteAllByAnimeIdQueryParams }, + TContext + > & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? deleteAllByAnimeIdMutationKey() + + return useMutation, { params: DeleteAllByAnimeIdQueryParams }, TContext>( + { + mutationFn: async ({ params }) => { + return deleteAllByAnimeId(params, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/titleControllerHooks/useDeleteAllById.ts b/app/api/generated/hooks/titleControllerHooks/useDeleteAllById.ts new file mode 100644 index 0000000..0975ca8 --- /dev/null +++ b/app/api/generated/hooks/titleControllerHooks/useDeleteAllById.ts @@ -0,0 +1,48 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { DeleteAllByIdMutationResponse, DeleteAllByIdQueryParams } from '../../types/titleControllerController/DeleteAllById.ts' +import { useMutation } from '@tanstack/react-query' +import { deleteAllById } from '../../clients/axios/titleControllerService/deleteAllById.ts' + +export const deleteAllByIdMutationKey = () => [{ url: '/api/v1/anime/title/batch' }] as const + +export type DeleteAllByIdMutationKey = ReturnType + +/** + * @summary Удаление тайтлов по списку id + * {@link /api/v1/anime/title/batch} + */ +export function useDeleteAllById( + options: { + mutation?: UseMutationOptions, { params: DeleteAllByIdQueryParams }, TContext> & { + client?: QueryClient + } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? deleteAllByIdMutationKey() + + return useMutation, { params: DeleteAllByIdQueryParams }, TContext>( + { + mutationFn: async ({ params }) => { + return deleteAllById(params, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/titleControllerHooks/useDeleteById1.ts b/app/api/generated/hooks/titleControllerHooks/useDeleteById1.ts new file mode 100644 index 0000000..42a7590 --- /dev/null +++ b/app/api/generated/hooks/titleControllerHooks/useDeleteById1.ts @@ -0,0 +1,48 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { DeleteById1MutationResponse, DeleteById1PathParams } from '../../types/titleControllerController/DeleteById1.ts' +import { useMutation } from '@tanstack/react-query' +import { deleteById1 } from '../../clients/axios/titleControllerService/deleteById1.ts' + +export const deleteById1MutationKey = () => [{ url: '/api/v1/anime/title/{id}' }] as const + +export type DeleteById1MutationKey = ReturnType + +/** + * @summary Удаление тайтла + * {@link /api/v1/anime/title/:id} + */ +export function useDeleteById1( + options: { + mutation?: UseMutationOptions, { id: DeleteById1PathParams['id'] }, TContext> & { + client?: QueryClient + } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? deleteById1MutationKey() + + return useMutation, { id: DeleteById1PathParams['id'] }, TContext>( + { + mutationFn: async ({ id }) => { + return deleteById1(id, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/titleControllerHooks/useGetAllByAnimeId.ts b/app/api/generated/hooks/titleControllerHooks/useGetAllByAnimeId.ts new file mode 100644 index 0000000..89b2de1 --- /dev/null +++ b/app/api/generated/hooks/titleControllerHooks/useGetAllByAnimeId.ts @@ -0,0 +1,67 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, QueryObserverOptions, UseQueryResult } from '@tanstack/react-query' +import type { GetAllByAnimeIdQueryResponse, GetAllByAnimeIdPathParams, GetAllByAnimeId404 } from '../../types/titleControllerController/GetAllByAnimeId.ts' +import { queryOptions, useQuery } from '@tanstack/react-query' +import { getAllByAnimeId } from '../../clients/axios/titleControllerService/getAllByAnimeId.ts' + +export const getAllByAnimeIdQueryKey = (animeId: GetAllByAnimeIdPathParams['animeId']) => + [{ url: '/api/v1/anime/title/by-anime/:animeId', params: { animeId: animeId } }] as const + +export type GetAllByAnimeIdQueryKey = ReturnType + +export function getAllByAnimeIdQueryOptions(animeId: GetAllByAnimeIdPathParams['animeId'], config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getAllByAnimeIdQueryKey(animeId) + return queryOptions, GetAllByAnimeIdQueryResponse, typeof queryKey>({ + enabled: !!animeId, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getAllByAnimeId(animeId, config) + }, + }) +} + +/** + * @summary Получение списка тайтлов по аниме id + * {@link /api/v1/anime/title/by-anime/:animeId} + */ +export function useGetAllByAnimeId< + TData = GetAllByAnimeIdQueryResponse, + TQueryData = GetAllByAnimeIdQueryResponse, + TQueryKey extends QueryKey = GetAllByAnimeIdQueryKey, +>( + animeId: GetAllByAnimeIdPathParams['animeId'], + options: { + query?: Partial, TData, TQueryData, TQueryKey>> & { + client?: QueryClient + } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getAllByAnimeIdQueryKey(animeId) + + const query = useQuery( + { + ...getAllByAnimeIdQueryOptions(animeId, config), + queryKey, + ...queryOptions, + } as unknown as QueryObserverOptions, + queryClient, + ) as UseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/titleControllerHooks/useGetAllByAnimeIdInfinite.ts b/app/api/generated/hooks/titleControllerHooks/useGetAllByAnimeIdInfinite.ts new file mode 100644 index 0000000..f0fdde6 --- /dev/null +++ b/app/api/generated/hooks/titleControllerHooks/useGetAllByAnimeIdInfinite.ts @@ -0,0 +1,73 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { InfiniteData, QueryKey, QueryClient, InfiniteQueryObserverOptions, UseInfiniteQueryResult } from '@tanstack/react-query' +import type { GetAllByAnimeIdQueryResponse, GetAllByAnimeIdPathParams, GetAllByAnimeId404 } from '../../types/titleControllerController/GetAllByAnimeId.ts' +import { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/react-query' +import { getAllByAnimeId } from '../../clients/axios/titleControllerService/getAllByAnimeId.ts' + +export const getAllByAnimeIdInfiniteQueryKey = (animeId: GetAllByAnimeIdPathParams['animeId']) => + [{ url: '/api/v1/anime/title/by-anime/:animeId', params: { animeId: animeId } }] as const + +export type GetAllByAnimeIdInfiniteQueryKey = ReturnType + +export function getAllByAnimeIdInfiniteQueryOptions( + animeId: GetAllByAnimeIdPathParams['animeId'], + config: Partial & { client?: typeof fetch } = {}, +) { + const queryKey = getAllByAnimeIdInfiniteQueryKey(animeId) + return infiniteQueryOptions, GetAllByAnimeIdQueryResponse, typeof queryKey>({ + enabled: !!animeId, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getAllByAnimeId(animeId, config) + }, + initialPageParam: 1, + getNextPageParam: (lastPage) => lastPage['nextCursor'], + getPreviousPageParam: (firstPage) => firstPage['nextCursor'], + }) +} + +/** + * @summary Получение списка тайтлов по аниме id + * {@link /api/v1/anime/title/by-anime/:animeId} + */ +export function useGetAllByAnimeIdInfinite< + TData = InfiniteData, + TQueryData = GetAllByAnimeIdQueryResponse, + TQueryKey extends QueryKey = GetAllByAnimeIdInfiniteQueryKey, +>( + animeId: GetAllByAnimeIdPathParams['animeId'], + options: { + query?: Partial, TData, TQueryKey>> & { + client?: QueryClient + } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getAllByAnimeIdInfiniteQueryKey(animeId) + + const query = useInfiniteQuery( + { + ...getAllByAnimeIdInfiniteQueryOptions(animeId, config), + queryKey, + ...queryOptions, + } as unknown as InfiniteQueryObserverOptions, + queryClient, + ) as UseInfiniteQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/titleControllerHooks/useGetAllByAnimeIdSuspense.ts b/app/api/generated/hooks/titleControllerHooks/useGetAllByAnimeIdSuspense.ts new file mode 100644 index 0000000..f86331f --- /dev/null +++ b/app/api/generated/hooks/titleControllerHooks/useGetAllByAnimeIdSuspense.ts @@ -0,0 +1,64 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, UseSuspenseQueryOptions, UseSuspenseQueryResult } from '@tanstack/react-query' +import type { GetAllByAnimeIdQueryResponse, GetAllByAnimeIdPathParams, GetAllByAnimeId404 } from '../../types/titleControllerController/GetAllByAnimeId.ts' +import { queryOptions, useSuspenseQuery } from '@tanstack/react-query' +import { getAllByAnimeId } from '../../clients/axios/titleControllerService/getAllByAnimeId.ts' + +export const getAllByAnimeIdSuspenseQueryKey = (animeId: GetAllByAnimeIdPathParams['animeId']) => + [{ url: '/api/v1/anime/title/by-anime/:animeId', params: { animeId: animeId } }] as const + +export type GetAllByAnimeIdSuspenseQueryKey = ReturnType + +export function getAllByAnimeIdSuspenseQueryOptions( + animeId: GetAllByAnimeIdPathParams['animeId'], + config: Partial & { client?: typeof fetch } = {}, +) { + const queryKey = getAllByAnimeIdSuspenseQueryKey(animeId) + return queryOptions, GetAllByAnimeIdQueryResponse, typeof queryKey>({ + enabled: !!animeId, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getAllByAnimeId(animeId, config) + }, + }) +} + +/** + * @summary Получение списка тайтлов по аниме id + * {@link /api/v1/anime/title/by-anime/:animeId} + */ +export function useGetAllByAnimeIdSuspense( + animeId: GetAllByAnimeIdPathParams['animeId'], + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getAllByAnimeIdSuspenseQueryKey(animeId) + + const query = useSuspenseQuery( + { + ...getAllByAnimeIdSuspenseQueryOptions(animeId, config), + queryKey, + ...queryOptions, + } as unknown as UseSuspenseQueryOptions, + queryClient, + ) as UseSuspenseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/titleControllerHooks/useGetById.ts b/app/api/generated/hooks/titleControllerHooks/useGetById.ts new file mode 100644 index 0000000..d4c687e --- /dev/null +++ b/app/api/generated/hooks/titleControllerHooks/useGetById.ts @@ -0,0 +1,60 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, QueryObserverOptions, UseQueryResult } from '@tanstack/react-query' +import type { GetByIdQueryResponse, GetByIdPathParams, GetById404 } from '../../types/titleControllerController/GetById.ts' +import { queryOptions, useQuery } from '@tanstack/react-query' +import { getById } from '../../clients/axios/titleControllerService/getById.ts' + +export const getByIdQueryKey = (id: GetByIdPathParams['id']) => [{ url: '/api/v1/anime/title/:id', params: { id: id } }] as const + +export type GetByIdQueryKey = ReturnType + +export function getByIdQueryOptions(id: GetByIdPathParams['id'], config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getByIdQueryKey(id) + return queryOptions, GetByIdQueryResponse, typeof queryKey>({ + enabled: !!id, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getById(id, config) + }, + }) +} + +/** + * @summary Получение тайтла по id + * {@link /api/v1/anime/title/:id} + */ +export function useGetById( + id: GetByIdPathParams['id'], + options: { + query?: Partial, TData, TQueryData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getByIdQueryKey(id) + + const query = useQuery( + { + ...getByIdQueryOptions(id, config), + queryKey, + ...queryOptions, + } as unknown as QueryObserverOptions, + queryClient, + ) as UseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/titleControllerHooks/useGetByIdInfinite.ts b/app/api/generated/hooks/titleControllerHooks/useGetByIdInfinite.ts new file mode 100644 index 0000000..130c63a --- /dev/null +++ b/app/api/generated/hooks/titleControllerHooks/useGetByIdInfinite.ts @@ -0,0 +1,67 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { InfiniteData, QueryKey, QueryClient, InfiniteQueryObserverOptions, UseInfiniteQueryResult } from '@tanstack/react-query' +import type { GetByIdQueryResponse, GetByIdPathParams, GetById404 } from '../../types/titleControllerController/GetById.ts' +import { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/react-query' +import { getById } from '../../clients/axios/titleControllerService/getById.ts' + +export const getByIdInfiniteQueryKey = (id: GetByIdPathParams['id']) => [{ url: '/api/v1/anime/title/:id', params: { id: id } }] as const + +export type GetByIdInfiniteQueryKey = ReturnType + +export function getByIdInfiniteQueryOptions(id: GetByIdPathParams['id'], config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getByIdInfiniteQueryKey(id) + return infiniteQueryOptions, GetByIdQueryResponse, typeof queryKey>({ + enabled: !!id, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getById(id, config) + }, + initialPageParam: 1, + getNextPageParam: (lastPage) => lastPage['nextCursor'], + getPreviousPageParam: (firstPage) => firstPage['nextCursor'], + }) +} + +/** + * @summary Получение тайтла по id + * {@link /api/v1/anime/title/:id} + */ +export function useGetByIdInfinite< + TData = InfiniteData, + TQueryData = GetByIdQueryResponse, + TQueryKey extends QueryKey = GetByIdInfiniteQueryKey, +>( + id: GetByIdPathParams['id'], + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getByIdInfiniteQueryKey(id) + + const query = useInfiniteQuery( + { + ...getByIdInfiniteQueryOptions(id, config), + queryKey, + ...queryOptions, + } as unknown as InfiniteQueryObserverOptions, + queryClient, + ) as UseInfiniteQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/titleControllerHooks/useGetByIdSuspense.ts b/app/api/generated/hooks/titleControllerHooks/useGetByIdSuspense.ts new file mode 100644 index 0000000..bdf11f3 --- /dev/null +++ b/app/api/generated/hooks/titleControllerHooks/useGetByIdSuspense.ts @@ -0,0 +1,60 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, UseSuspenseQueryOptions, UseSuspenseQueryResult } from '@tanstack/react-query' +import type { GetByIdQueryResponse, GetByIdPathParams, GetById404 } from '../../types/titleControllerController/GetById.ts' +import { queryOptions, useSuspenseQuery } from '@tanstack/react-query' +import { getById } from '../../clients/axios/titleControllerService/getById.ts' + +export const getByIdSuspenseQueryKey = (id: GetByIdPathParams['id']) => [{ url: '/api/v1/anime/title/:id', params: { id: id } }] as const + +export type GetByIdSuspenseQueryKey = ReturnType + +export function getByIdSuspenseQueryOptions(id: GetByIdPathParams['id'], config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getByIdSuspenseQueryKey(id) + return queryOptions, GetByIdQueryResponse, typeof queryKey>({ + enabled: !!id, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getById(id, config) + }, + }) +} + +/** + * @summary Получение тайтла по id + * {@link /api/v1/anime/title/:id} + */ +export function useGetByIdSuspense( + id: GetByIdPathParams['id'], + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getByIdSuspenseQueryKey(id) + + const query = useSuspenseQuery( + { + ...getByIdSuspenseQueryOptions(id, config), + queryKey, + ...queryOptions, + } as unknown as UseSuspenseQueryOptions, + queryClient, + ) as UseSuspenseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/titleControllerHooks/useGetPage1.ts b/app/api/generated/hooks/titleControllerHooks/useGetPage1.ts new file mode 100644 index 0000000..c5f88b0 --- /dev/null +++ b/app/api/generated/hooks/titleControllerHooks/useGetPage1.ts @@ -0,0 +1,60 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, QueryObserverOptions, UseQueryResult } from '@tanstack/react-query' +import type { GetPage1QueryResponse, GetPage1QueryParams } from '../../types/titleControllerController/GetPage1.ts' +import { queryOptions, useQuery } from '@tanstack/react-query' +import { getPage1 } from '../../clients/axios/titleControllerService/getPage1.ts' + +export const getPage1QueryKey = (params: GetPage1QueryParams) => [{ url: '/api/v1/anime/title/page' }, ...(params ? [params] : [])] as const + +export type GetPage1QueryKey = ReturnType + +export function getPage1QueryOptions(params: GetPage1QueryParams, config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getPage1QueryKey(params) + return queryOptions, GetPage1QueryResponse, typeof queryKey>({ + enabled: !!params, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getPage1(params, config) + }, + }) +} + +/** + * @summary Постраничное получение всех тайтлов + * {@link /api/v1/anime/title/page} + */ +export function useGetPage1( + params: GetPage1QueryParams, + options: { + query?: Partial, TData, TQueryData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getPage1QueryKey(params) + + const query = useQuery( + { + ...getPage1QueryOptions(params, config), + queryKey, + ...queryOptions, + } as unknown as QueryObserverOptions, + queryClient, + ) as UseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/titleControllerHooks/useGetPage1Infinite.ts b/app/api/generated/hooks/titleControllerHooks/useGetPage1Infinite.ts new file mode 100644 index 0000000..6984e5a --- /dev/null +++ b/app/api/generated/hooks/titleControllerHooks/useGetPage1Infinite.ts @@ -0,0 +1,71 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { InfiniteData, QueryKey, QueryClient, InfiniteQueryObserverOptions, UseInfiniteQueryResult } from '@tanstack/react-query' +import type { GetPage1QueryResponse, GetPage1QueryParams } from '../../types/titleControllerController/GetPage1.ts' +import { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/react-query' +import { getPage1 } from '../../clients/axios/titleControllerService/getPage1.ts' + +export const getPage1InfiniteQueryKey = (params: GetPage1QueryParams) => [{ url: '/api/v1/anime/title/page' }, ...(params ? [params] : [])] as const + +export type GetPage1InfiniteQueryKey = ReturnType + +export function getPage1InfiniteQueryOptions(params: GetPage1QueryParams, config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getPage1InfiniteQueryKey(params) + return infiniteQueryOptions, GetPage1QueryResponse, typeof queryKey, number>({ + enabled: !!params, + queryKey, + queryFn: async ({ signal, pageParam }) => { + config.signal = signal + + if (params) { + params['page'] = pageParam as unknown as GetPage1QueryParams['page'] + } + return getPage1(params, config) + }, + initialPageParam: 1, + getNextPageParam: (lastPage) => lastPage['nextCursor'], + getPreviousPageParam: (firstPage) => firstPage['nextCursor'], + }) +} + +/** + * @summary Постраничное получение всех тайтлов + * {@link /api/v1/anime/title/page} + */ +export function useGetPage1Infinite< + TData = InfiniteData, + TQueryData = GetPage1QueryResponse, + TQueryKey extends QueryKey = GetPage1InfiniteQueryKey, +>( + params: GetPage1QueryParams, + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getPage1InfiniteQueryKey(params) + + const query = useInfiniteQuery( + { + ...getPage1InfiniteQueryOptions(params, config), + queryKey, + ...queryOptions, + } as unknown as InfiniteQueryObserverOptions, + queryClient, + ) as UseInfiniteQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/titleControllerHooks/useGetPage1Suspense.ts b/app/api/generated/hooks/titleControllerHooks/useGetPage1Suspense.ts new file mode 100644 index 0000000..9b3787b --- /dev/null +++ b/app/api/generated/hooks/titleControllerHooks/useGetPage1Suspense.ts @@ -0,0 +1,60 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { QueryKey, QueryClient, UseSuspenseQueryOptions, UseSuspenseQueryResult } from '@tanstack/react-query' +import type { GetPage1QueryResponse, GetPage1QueryParams } from '../../types/titleControllerController/GetPage1.ts' +import { queryOptions, useSuspenseQuery } from '@tanstack/react-query' +import { getPage1 } from '../../clients/axios/titleControllerService/getPage1.ts' + +export const getPage1SuspenseQueryKey = (params: GetPage1QueryParams) => [{ url: '/api/v1/anime/title/page' }, ...(params ? [params] : [])] as const + +export type GetPage1SuspenseQueryKey = ReturnType + +export function getPage1SuspenseQueryOptions(params: GetPage1QueryParams, config: Partial & { client?: typeof fetch } = {}) { + const queryKey = getPage1SuspenseQueryKey(params) + return queryOptions, GetPage1QueryResponse, typeof queryKey>({ + enabled: !!params, + queryKey, + queryFn: async ({ signal }) => { + config.signal = signal + return getPage1(params, config) + }, + }) +} + +/** + * @summary Постраничное получение всех тайтлов + * {@link /api/v1/anime/title/page} + */ +export function useGetPage1Suspense( + params: GetPage1QueryParams, + options: { + query?: Partial, TData, TQueryKey>> & { client?: QueryClient } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {} + const queryKey = queryOptions?.queryKey ?? getPage1SuspenseQueryKey(params) + + const query = useSuspenseQuery( + { + ...getPage1SuspenseQueryOptions(params, config), + queryKey, + ...queryOptions, + } as unknown as UseSuspenseQueryOptions, + queryClient, + ) as UseSuspenseQueryResult> & { queryKey: TQueryKey } + + query.queryKey = queryKey as TQueryKey + + return query +} \ No newline at end of file diff --git a/app/api/generated/hooks/titleControllerHooks/useUpdateAllById.ts b/app/api/generated/hooks/titleControllerHooks/useUpdateAllById.ts new file mode 100644 index 0000000..9d858bd --- /dev/null +++ b/app/api/generated/hooks/titleControllerHooks/useUpdateAllById.ts @@ -0,0 +1,48 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { UpdateAllByIdMutationResponse, UpdateAllByIdQueryParams, UpdateAllById404 } from '../../types/titleControllerController/UpdateAllById.ts' +import { useMutation } from '@tanstack/react-query' +import { updateAllById } from '../../clients/axios/titleControllerService/updateAllById.ts' + +export const updateAllByIdMutationKey = () => [{ url: '/api/v1/anime/title/batch' }] as const + +export type UpdateAllByIdMutationKey = ReturnType + +/** + * @summary Обновление тайтла списком + * {@link /api/v1/anime/title/batch} + */ +export function useUpdateAllById( + options: { + mutation?: UseMutationOptions, { params: UpdateAllByIdQueryParams }, TContext> & { + client?: QueryClient + } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? updateAllByIdMutationKey() + + return useMutation, { params: UpdateAllByIdQueryParams }, TContext>( + { + mutationFn: async ({ params }) => { + return updateAllById(params, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/hooks/titleControllerHooks/useUpdateById2.ts b/app/api/generated/hooks/titleControllerHooks/useUpdateById2.ts new file mode 100644 index 0000000..f70e0a4 --- /dev/null +++ b/app/api/generated/hooks/titleControllerHooks/useUpdateById2.ts @@ -0,0 +1,48 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import fetch from '@/app/api/client' +import type { RequestConfig, ResponseErrorConfig } from '@/app/api/client' +import type { UseMutationOptions, QueryClient } from '@tanstack/react-query' +import type { UpdateById2MutationResponse, UpdateById2QueryParams, UpdateById2404 } from '../../types/titleControllerController/UpdateById2.ts' +import { useMutation } from '@tanstack/react-query' +import { updateById2 } from '../../clients/axios/titleControllerService/updateById2.ts' + +export const updateById2MutationKey = () => [{ url: '/api/v1/anime/title' }] as const + +export type UpdateById2MutationKey = ReturnType + +/** + * @summary Обновление тайтла + * {@link /api/v1/anime/title} + */ +export function useUpdateById2( + options: { + mutation?: UseMutationOptions, { params: UpdateById2QueryParams }, TContext> & { + client?: QueryClient + } + client?: Partial & { client?: typeof fetch } + } = {}, +) { + const { mutation = {}, client: config = {} } = options ?? {} + const { client: queryClient, ...mutationOptions } = mutation + const mutationKey = mutationOptions.mutationKey ?? updateById2MutationKey() + + return useMutation, { params: UpdateById2QueryParams }, TContext>( + { + mutationFn: async ({ params }) => { + return updateById2(params, config) + }, + mutationKey, + ...mutationOptions, + }, + queryClient, + ) +} \ No newline at end of file diff --git a/app/api/generated/index.ts b/app/api/generated/index.ts new file mode 100644 index 0000000..d1ee58a --- /dev/null +++ b/app/api/generated/index.ts @@ -0,0 +1,731 @@ +export type { CreateAnimeMutationKey } from './hooks/animeControllerHooks/useCreateAnime.ts' +export type { DeleteByIdMutationKey } from './hooks/animeControllerHooks/useDeleteById.ts' +export type { FindByIdQueryKey } from './hooks/animeControllerHooks/useFindById.ts' +export type { FindByIdInfiniteQueryKey } from './hooks/animeControllerHooks/useFindByIdInfinite.ts' +export type { FindByIdSuspenseQueryKey } from './hooks/animeControllerHooks/useFindByIdSuspense.ts' +export type { FindSimilarQueryKey } from './hooks/animeControllerHooks/useFindSimilar.ts' +export type { FindSimilarInfiniteQueryKey } from './hooks/animeControllerHooks/useFindSimilarInfinite.ts' +export type { FindSimilarSuspenseQueryKey } from './hooks/animeControllerHooks/useFindSimilarSuspense.ts' +export type { GetAllGenresQueryKey } from './hooks/animeControllerHooks/useGetAllGenres.ts' +export type { GetAllGenresInfiniteQueryKey } from './hooks/animeControllerHooks/useGetAllGenresInfinite.ts' +export type { GetAllGenresSuspenseQueryKey } from './hooks/animeControllerHooks/useGetAllGenresSuspense.ts' +export type { GetAllMpaaRatingsQueryKey } from './hooks/animeControllerHooks/useGetAllMpaaRatings.ts' +export type { GetAllMpaaRatingsInfiniteQueryKey } from './hooks/animeControllerHooks/useGetAllMpaaRatingsInfinite.ts' +export type { GetAllMpaaRatingsSuspenseQueryKey } from './hooks/animeControllerHooks/useGetAllMpaaRatingsSuspense.ts' +export type { GetAllStatusesQueryKey } from './hooks/animeControllerHooks/useGetAllStatuses.ts' +export type { GetAllStatusesInfiniteQueryKey } from './hooks/animeControllerHooks/useGetAllStatusesInfinite.ts' +export type { GetAllStatusesSuspenseQueryKey } from './hooks/animeControllerHooks/useGetAllStatusesSuspense.ts' +export type { GetAllTypesQueryKey } from './hooks/animeControllerHooks/useGetAllTypes.ts' +export type { GetAllTypesInfiniteQueryKey } from './hooks/animeControllerHooks/useGetAllTypesInfinite.ts' +export type { GetAllTypesSuspenseQueryKey } from './hooks/animeControllerHooks/useGetAllTypesSuspense.ts' +export type { GetPageQueryKey } from './hooks/animeControllerHooks/useGetPage.ts' +export type { GetPageInfiniteQueryKey } from './hooks/animeControllerHooks/useGetPageInfinite.ts' +export type { GetPageSuspenseQueryKey } from './hooks/animeControllerHooks/useGetPageSuspense.ts' +export type { IncreasePopularityMutationKey } from './hooks/animeControllerHooks/useIncreasePopularity.ts' +export type { UpdateByIdMutationKey } from './hooks/animeControllerHooks/useUpdateById.ts' +export type { CreateCommentMutationKey } from './hooks/commentsControllerHooks/useCreateComment.ts' +export type { DeleteCommentMutationKey } from './hooks/commentsControllerHooks/useDeleteComment.ts' +export type { GetCommentsByIdQueryKey } from './hooks/commentsControllerHooks/useGetCommentsById.ts' +export type { GetCommentsByIdInfiniteQueryKey } from './hooks/commentsControllerHooks/useGetCommentsByIdInfinite.ts' +export type { GetCommentsByIdSuspenseQueryKey } from './hooks/commentsControllerHooks/useGetCommentsByIdSuspense.ts' +export type { GetCommentsByUserQueryKey } from './hooks/commentsControllerHooks/useGetCommentsByUser.ts' +export type { GetCommentsByUserInfiniteQueryKey } from './hooks/commentsControllerHooks/useGetCommentsByUserInfinite.ts' +export type { GetCommentsByUserSuspenseQueryKey } from './hooks/commentsControllerHooks/useGetCommentsByUserSuspense.ts' +export type { UpdateCommentMutationKey } from './hooks/commentsControllerHooks/useUpdateComment.ts' +export type { CreateComplaintMutationKey } from './hooks/complaintControllerHooks/useCreateComplaint.ts' +export type { GetComplaintByIdQueryKey } from './hooks/complaintControllerHooks/useGetComplaintById.ts' +export type { GetComplaintByIdInfiniteQueryKey } from './hooks/complaintControllerHooks/useGetComplaintByIdInfinite.ts' +export type { GetComplaintByIdSuspenseQueryKey } from './hooks/complaintControllerHooks/useGetComplaintByIdSuspense.ts' +export type { GetComplaintsMutationKey } from './hooks/complaintControllerHooks/useGetComplaints.ts' +export type { UpdateComplaintStatusMutationKey } from './hooks/complaintControllerHooks/useUpdateComplaintStatus.ts' +export type { AddDubToEpisodeMutationKey } from './hooks/dubControllerHooks/useAddDubToEpisode.ts' +export type { CreateDubMutationKey } from './hooks/dubControllerHooks/useCreateDub.ts' +export type { DeleteDubMutationKey } from './hooks/dubControllerHooks/useDeleteDub.ts' +export type { GetDubByIdQueryKey } from './hooks/dubControllerHooks/useGetDubById.ts' +export type { GetDubByIdInfiniteQueryKey } from './hooks/dubControllerHooks/useGetDubByIdInfinite.ts' +export type { GetDubByIdSuspenseQueryKey } from './hooks/dubControllerHooks/useGetDubByIdSuspense.ts' +export type { GetDubsByEpisodeQueryKey } from './hooks/dubControllerHooks/useGetDubsByEpisode.ts' +export type { GetDubsByEpisodeInfiniteQueryKey } from './hooks/dubControllerHooks/useGetDubsByEpisodeInfinite.ts' +export type { GetDubsByEpisodeSuspenseQueryKey } from './hooks/dubControllerHooks/useGetDubsByEpisodeSuspense.ts' +export type { RemoveDubFromEpisodeMutationKey } from './hooks/dubControllerHooks/useRemoveDubFromEpisode.ts' +export type { UpdateDubNameMutationKey } from './hooks/dubControllerHooks/useUpdateDubName.ts' +export type { AddViewMutationKey } from './hooks/episodesControllerHooks/useAddView.ts' +export type { CreateEpisodeMutationKey } from './hooks/episodesControllerHooks/useCreateEpisode.ts' +export type { DeleteEpisodeMutationKey } from './hooks/episodesControllerHooks/useDeleteEpisode.ts' +export type { GetAdminEpisodeByIdQueryKey } from './hooks/episodesControllerHooks/useGetAdminEpisodeById.ts' +export type { GetAdminEpisodeByIdInfiniteQueryKey } from './hooks/episodesControllerHooks/useGetAdminEpisodeByIdInfinite.ts' +export type { GetAdminEpisodeByIdSuspenseQueryKey } from './hooks/episodesControllerHooks/useGetAdminEpisodeByIdSuspense.ts' +export type { GetEpisodeByIdQueryKey } from './hooks/episodesControllerHooks/useGetEpisodeById.ts' +export type { GetEpisodeByIdInfiniteQueryKey } from './hooks/episodesControllerHooks/useGetEpisodeByIdInfinite.ts' +export type { GetEpisodeByIdSuspenseQueryKey } from './hooks/episodesControllerHooks/useGetEpisodeByIdSuspense.ts' +export type { GetEpisodesByAnimeIdQueryKey } from './hooks/episodesControllerHooks/useGetEpisodesByAnimeId.ts' +export type { GetEpisodesByAnimeIdInfiniteQueryKey } from './hooks/episodesControllerHooks/useGetEpisodesByAnimeIdInfinite.ts' +export type { GetEpisodesByAnimeIdSuspenseQueryKey } from './hooks/episodesControllerHooks/useGetEpisodesByAnimeIdSuspense.ts' +export type { UpdateEpisodeMutationKey } from './hooks/episodesControllerHooks/useUpdateEpisode.ts' +export type { UpdateEpisodeOrderMutationKey } from './hooks/episodesControllerHooks/useUpdateEpisodeOrder.ts' +export type { AddAnimeIdsToGroupMutationKey } from './hooks/groupControllerHooks/useAddAnimeIdsToGroup.ts' +export type { Create1MutationKey } from './hooks/groupControllerHooks/useCreate1.ts' +export type { DeleteAnimeIdsFromGroupMutationKey } from './hooks/groupControllerHooks/useDeleteAnimeIdsFromGroup.ts' +export type { DeleteById2MutationKey } from './hooks/groupControllerHooks/useDeleteById2.ts' +export type { GetByAnimeIdQueryKey } from './hooks/groupControllerHooks/useGetByAnimeId.ts' +export type { GetByAnimeIdInfiniteQueryKey } from './hooks/groupControllerHooks/useGetByAnimeIdInfinite.ts' +export type { GetByAnimeIdSuspenseQueryKey } from './hooks/groupControllerHooks/useGetByAnimeIdSuspense.ts' +export type { GetById1QueryKey } from './hooks/groupControllerHooks/useGetById1.ts' +export type { GetById1InfiniteQueryKey } from './hooks/groupControllerHooks/useGetById1Infinite.ts' +export type { GetById1SuspenseQueryKey } from './hooks/groupControllerHooks/useGetById1Suspense.ts' +export type { UpdateById1MutationKey } from './hooks/groupControllerHooks/useUpdateById1.ts' +export type { CreateMutationKey } from './hooks/titleControllerHooks/useCreate.ts' +export type { CreateAllMutationKey } from './hooks/titleControllerHooks/useCreateAll.ts' +export type { DeleteAllByAnimeIdMutationKey } from './hooks/titleControllerHooks/useDeleteAllByAnimeId.ts' +export type { DeleteAllByIdMutationKey } from './hooks/titleControllerHooks/useDeleteAllById.ts' +export type { DeleteById1MutationKey } from './hooks/titleControllerHooks/useDeleteById1.ts' +export type { GetAllByAnimeIdQueryKey } from './hooks/titleControllerHooks/useGetAllByAnimeId.ts' +export type { GetAllByAnimeIdInfiniteQueryKey } from './hooks/titleControllerHooks/useGetAllByAnimeIdInfinite.ts' +export type { GetAllByAnimeIdSuspenseQueryKey } from './hooks/titleControllerHooks/useGetAllByAnimeIdSuspense.ts' +export type { GetByIdQueryKey } from './hooks/titleControllerHooks/useGetById.ts' +export type { GetByIdInfiniteQueryKey } from './hooks/titleControllerHooks/useGetByIdInfinite.ts' +export type { GetByIdSuspenseQueryKey } from './hooks/titleControllerHooks/useGetByIdSuspense.ts' +export type { GetPage1QueryKey } from './hooks/titleControllerHooks/useGetPage1.ts' +export type { GetPage1InfiniteQueryKey } from './hooks/titleControllerHooks/useGetPage1Infinite.ts' +export type { GetPage1SuspenseQueryKey } from './hooks/titleControllerHooks/useGetPage1Suspense.ts' +export type { UpdateAllByIdMutationKey } from './hooks/titleControllerHooks/useUpdateAllById.ts' +export type { UpdateById2MutationKey } from './hooks/titleControllerHooks/useUpdateById2.ts' +export type { AddAnimeToGroupRequest } from './types/AddAnimeToGroupRequest.ts' +export type { AdminEpisodeDTO } from './types/AdminEpisodeDTO.ts' +export type { AnimeCardDTOMainGenreEnum, AnimeCardDTO } from './types/AnimeCardDTO.ts' +export type { + CreateAnime200, + CreateAnime400, + CreateAnimeMutationRequest, + CreateAnimeMutationResponse, + CreateAnimeMutation, +} from './types/animeControllerController/CreateAnime.ts' +export type { DeleteByIdPathParams, DeleteById204, DeleteByIdMutationResponse, DeleteByIdMutation } from './types/animeControllerController/DeleteById.ts' +export type { FindByIdPathParams, FindById200, FindById404, FindByIdQueryResponse, FindByIdQuery } from './types/animeControllerController/FindById.ts' +export type { + FindSimilarPathParams, + FindSimilarQueryParams, + FindSimilar200, + FindSimilarQueryResponse, + FindSimilarQuery, +} from './types/animeControllerController/FindSimilar.ts' +export type { GetAllGenres200Enum, GetAllGenres200, GetAllGenresQueryResponse, GetAllGenresQuery } from './types/animeControllerController/GetAllGenres.ts' +export type { + GetAllMpaaRatings200Enum, + GetAllMpaaRatings200, + GetAllMpaaRatingsQueryResponse, + GetAllMpaaRatingsQuery, +} from './types/animeControllerController/GetAllMpaaRatings.ts' +export type { + GetAllStatuses200Enum, + GetAllStatuses200, + GetAllStatusesQueryResponse, + GetAllStatusesQuery, +} from './types/animeControllerController/GetAllStatuses.ts' +export type { GetAllTypes200Enum, GetAllTypes200, GetAllTypesQueryResponse, GetAllTypesQuery } from './types/animeControllerController/GetAllTypes.ts' +export type { + GetPageQueryParamsDtoTypeEnum, + GetPageQueryParams, + GetPage200, + GetPage400, + GetPageQueryResponse, + GetPageQuery, +} from './types/animeControllerController/GetPage.ts' +export type { + IncreasePopularity200, + IncreasePopularityMutationRequest, + IncreasePopularityMutationResponse, + IncreasePopularityMutation, +} from './types/animeControllerController/IncreasePopularity.ts' +export type { + UpdateById200, + UpdateById404, + UpdateByIdMutationRequest, + UpdateByIdMutationResponse, + UpdateByIdMutation, +} from './types/animeControllerController/UpdateById.ts' +export type { AnimeDTOStatusEnum, AnimeDTOTypeEnum, AnimeDTOGenresEnum, AnimeDTOMpaaRatingEnum, AnimeDTO } from './types/AnimeDTO.ts' +export type { AnimeGroupDTO } from './types/AnimeGroupDTO.ts' +export type { + AnimeSearchCriteriaIncludeGenresEnum, + AnimeSearchCriteriaExcludeGenresEnum, + AnimeSearchCriteriaStatusEnum, + AnimeSearchCriteriaTypeEnum, + AnimeSearchCriteria, +} from './types/AnimeSearchCriteria.ts' +export type { AnimeTitleDTOTitleTypeEnum, AnimeTitleDTO } from './types/AnimeTitleDTO.ts' +export type { CharacterDTO } from './types/CharacterDTO.ts' +export type { CommentAnswerDTO } from './types/CommentAnswerDTO.ts' +export type { CommentDTO } from './types/CommentDTO.ts' +export type { + CreateComment201, + CreateComment400, + CreateComment404, + CreateCommentMutationRequest, + CreateCommentMutationResponse, + CreateCommentMutation, +} from './types/commentsControllerController/CreateComment.ts' +export type { + DeleteCommentPathParams, + DeleteComment204, + DeleteComment400, + DeleteComment404, + DeleteCommentMutationResponse, + DeleteCommentMutation, +} from './types/commentsControllerController/DeleteComment.ts' +export type { + GetCommentsByIdPathParams, + GetCommentsByIdQueryParams, + GetCommentsById200, + GetCommentsByIdQueryResponse, + GetCommentsByIdQuery, +} from './types/commentsControllerController/GetCommentsById.ts' +export type { + GetCommentsByUserPathParams, + GetCommentsByUserQueryParams, + GetCommentsByUser200, + GetCommentsByUserQueryResponse, + GetCommentsByUserQuery, +} from './types/commentsControllerController/GetCommentsByUser.ts' +export type { + UpdateComment200, + UpdateComment400, + UpdateComment404, + UpdateCommentMutationRequest, + UpdateCommentMutationResponse, + UpdateCommentMutation, +} from './types/commentsControllerController/UpdateComment.ts' +export type { + CreateComplaint201, + CreateComplaint400, + CreateComplaintMutationRequest, + CreateComplaintMutationResponse, + CreateComplaintMutation, +} from './types/complaintControllerController/CreateComplaint.ts' +export type { + GetComplaintByIdPathParams, + GetComplaintById200, + GetComplaintById404, + GetComplaintByIdQueryResponse, + GetComplaintByIdQuery, +} from './types/complaintControllerController/GetComplaintById.ts' +export type { + GetComplaints200, + GetComplaintsMutationRequest, + GetComplaintsMutationResponse, + GetComplaintsMutation, +} from './types/complaintControllerController/GetComplaints.ts' +export type { + UpdateComplaintStatusPathParams, + UpdateComplaintStatusQueryParamsStatusEnum, + UpdateComplaintStatusQueryParams, + UpdateComplaintStatus200, + UpdateComplaintStatus404, + UpdateComplaintStatusMutationResponse, + UpdateComplaintStatusMutation, +} from './types/complaintControllerController/UpdateComplaintStatus.ts' +export type { ComplaintDtoObjectTypeEnum, ComplaintDtoComplaintStatusEnum, ComplaintDto } from './types/ComplaintDto.ts' +export type { + ComplaintSearchParamsTypesEnum, + ComplaintSearchParamsStatusesEnum, + ComplaintSearchParamsDirectionEnum, + ComplaintSearchParams, +} from './types/ComplaintSearchParams.ts' +export type { CreateAnimeGroupRequest } from './types/CreateAnimeGroupRequest.ts' +export type { + CreateAnimeRequestOriginalSourceEnum, + CreateAnimeRequestStatusEnum, + CreateAnimeRequestTypeEnum, + CreateAnimeRequestMainGenreEnum, + CreateAnimeRequestGenresEnum, + CreateAnimeRequestMpaaRatingEnum, + CreateAnimeRequest, +} from './types/CreateAnimeRequest.ts' +export type { CreateAnimeTitleRequestTitleTypeEnum, CreateAnimeTitleRequest } from './types/CreateAnimeTitleRequest.ts' +export type { CreateCommentRequestObjectTypeEnum, CreateCommentRequest } from './types/CreateCommentRequest.ts' +export type { CreateComplaintRequestObjectTypeEnum, CreateComplaintRequest } from './types/CreateComplaintRequest.ts' +export type { + CreatedAnimeDTOStatusEnum, + CreatedAnimeDTOTypeEnum, + CreatedAnimeDTOGenresEnum, + CreatedAnimeDTOMpaaRatingEnum, + CreatedAnimeDTO, +} from './types/CreatedAnimeDTO.ts' +export type { CreateDubRequest } from './types/CreateDubRequest.ts' +export type { CreateEpisodeRequest } from './types/CreateEpisodeRequest.ts' +export type { DeleteAnimeFromGroupRequest } from './types/DeleteAnimeFromGroupRequest.ts' +export type { + AddDubToEpisodePathParams, + AddDubToEpisode200, + AddDubToEpisode404, + AddDubToEpisodeMutationResponse, + AddDubToEpisodeMutation, +} from './types/dubControllerController/AddDubToEpisode.ts' +export type { CreateDub200, CreateDubMutationRequest, CreateDubMutationResponse, CreateDubMutation } from './types/dubControllerController/CreateDub.ts' +export type { DeleteDubPathParams, DeleteDub204, DeleteDubMutationResponse, DeleteDubMutation } from './types/dubControllerController/DeleteDub.ts' +export type { + GetDubByIdPathParams, + GetDubById200, + GetDubById404, + GetDubByIdQueryResponse, + GetDubByIdQuery, +} from './types/dubControllerController/GetDubById.ts' +export type { + GetDubsByEpisodePathParams, + GetDubsByEpisode200, + GetDubsByEpisodeQueryResponse, + GetDubsByEpisodeQuery, +} from './types/dubControllerController/GetDubsByEpisode.ts' +export type { + RemoveDubFromEpisodePathParams, + RemoveDubFromEpisode200, + RemoveDubFromEpisode404, + RemoveDubFromEpisodeMutationResponse, + RemoveDubFromEpisodeMutation, +} from './types/dubControllerController/RemoveDubFromEpisode.ts' +export type { + UpdateDubNamePathParams, + UpdateDubNameQueryParams, + UpdateDubName200, + UpdateDubName404, + UpdateDubNameMutationResponse, + UpdateDubNameMutation, +} from './types/dubControllerController/UpdateDubName.ts' +export type { DubDTO } from './types/DubDTO.ts' +export type { EpisodeDTO } from './types/EpisodeDTO.ts' +export type { AddViewPathParams, AddView200, AddViewMutationResponse, AddViewMutation } from './types/episodesControllerController/AddView.ts' +export type { + CreateEpisode200, + CreateEpisodeMutationRequest, + CreateEpisodeMutationResponse, + CreateEpisodeMutation, +} from './types/episodesControllerController/CreateEpisode.ts' +export type { + DeleteEpisodePathParams, + DeleteEpisode200, + DeleteEpisodeMutationResponse, + DeleteEpisodeMutation, +} from './types/episodesControllerController/DeleteEpisode.ts' +export type { + GetAdminEpisodeByIdPathParams, + GetAdminEpisodeById200, + GetAdminEpisodeByIdQueryResponse, + GetAdminEpisodeByIdQuery, +} from './types/episodesControllerController/GetAdminEpisodeById.ts' +export type { + GetEpisodeByIdPathParams, + GetEpisodeByIdQueryParamsDtoTypeEnum, + GetEpisodeByIdQueryParams, + GetEpisodeById200, + GetEpisodeByIdQueryResponse, + GetEpisodeByIdQuery, +} from './types/episodesControllerController/GetEpisodeById.ts' +export type { + GetEpisodesByAnimeIdPathParams, + GetEpisodesByAnimeIdQueryParamsDtoTypeEnum, + GetEpisodesByAnimeIdQueryParams, + GetEpisodesByAnimeId200, + GetEpisodesByAnimeIdQueryResponse, + GetEpisodesByAnimeIdQuery, +} from './types/episodesControllerController/GetEpisodesByAnimeId.ts' +export type { + UpdateEpisodePathParams, + UpdateEpisode200, + UpdateEpisodeMutationRequest, + UpdateEpisodeMutationResponse, + UpdateEpisodeMutation, +} from './types/episodesControllerController/UpdateEpisode.ts' +export type { + UpdateEpisodeOrderPathParams, + UpdateEpisodeOrder200, + UpdateEpisodeOrderMutationResponse, + UpdateEpisodeOrderMutation, +} from './types/episodesControllerController/UpdateEpisodeOrder.ts' +export type { ErrorDTOStatusEnum, ErrorDTO } from './types/ErrorDTO.ts' +export type { + AddAnimeIdsToGroup200, + AddAnimeIdsToGroup404, + AddAnimeIdsToGroupMutationRequest, + AddAnimeIdsToGroupMutationResponse, + AddAnimeIdsToGroupMutation, +} from './types/groupControllerController/AddAnimeIdsToGroup.ts' +export type { Create1201, Create1MutationRequest, Create1MutationResponse, Create1Mutation } from './types/groupControllerController/Create1.ts' +export type { + DeleteAnimeIdsFromGroup200, + DeleteAnimeIdsFromGroup404, + DeleteAnimeIdsFromGroupMutationRequest, + DeleteAnimeIdsFromGroupMutationResponse, + DeleteAnimeIdsFromGroupMutation, +} from './types/groupControllerController/DeleteAnimeIdsFromGroup.ts' +export type { + DeleteById2PathParams, + DeleteById2204, + DeleteById2404, + DeleteById2MutationResponse, + DeleteById2Mutation, +} from './types/groupControllerController/DeleteById2.ts' +export type { + GetByAnimeIdPathParams, + GetByAnimeId200, + GetByAnimeId404, + GetByAnimeIdQueryResponse, + GetByAnimeIdQuery, +} from './types/groupControllerController/GetByAnimeId.ts' +export type { GetById1PathParams, GetById1200, GetById1404, GetById1QueryResponse, GetById1Query } from './types/groupControllerController/GetById1.ts' +export type { + UpdateById1200, + UpdateById1404, + UpdateById1MutationRequest, + UpdateById1MutationResponse, + UpdateById1Mutation, +} from './types/groupControllerController/UpdateById1.ts' +export type { IncreasePopularityRequest } from './types/IncreasePopularityRequest.ts' +export type { Page } from './types/Page.ts' +export type { Pageable } from './types/Pageable.ts' +export type { PageableObject } from './types/PageableObject.ts' +export type { PageAnimeCardDTO } from './types/PageAnimeCardDTO.ts' +export type { PageAnimeTitleDTO } from './types/PageAnimeTitleDTO.ts' +export type { PageComplaintDto } from './types/PageComplaintDto.ts' +export type { SortObject } from './types/SortObject.ts' +export type { StudioDTO } from './types/StudioDTO.ts' +export type { CreateQueryParams, Create200, CreateMutationResponse, CreateMutation } from './types/titleControllerController/Create.ts' +export type { CreateAllQueryParams, CreateAll200, CreateAllMutationResponse, CreateAllMutation } from './types/titleControllerController/CreateAll.ts' +export type { + DeleteAllByAnimeIdQueryParams, + DeleteAllByAnimeId204, + DeleteAllByAnimeId404, + DeleteAllByAnimeIdMutationResponse, + DeleteAllByAnimeIdMutation, +} from './types/titleControllerController/DeleteAllByAnimeId.ts' +export type { + DeleteAllByIdQueryParams, + DeleteAllById204, + DeleteAllByIdMutationResponse, + DeleteAllByIdMutation, +} from './types/titleControllerController/DeleteAllById.ts' +export type { DeleteById1PathParams, DeleteById1204, DeleteById1MutationResponse, DeleteById1Mutation } from './types/titleControllerController/DeleteById1.ts' +export type { + GetAllByAnimeIdPathParams, + GetAllByAnimeId200, + GetAllByAnimeId404, + GetAllByAnimeIdQueryResponse, + GetAllByAnimeIdQuery, +} from './types/titleControllerController/GetAllByAnimeId.ts' +export type { GetByIdPathParams, GetById200, GetById404, GetByIdQueryResponse, GetByIdQuery } from './types/titleControllerController/GetById.ts' +export type { GetPage1QueryParams, GetPage1200, GetPage1QueryResponse, GetPage1Query } from './types/titleControllerController/GetPage1.ts' +export type { + UpdateAllByIdQueryParams, + UpdateAllById200, + UpdateAllById404, + UpdateAllByIdMutationResponse, + UpdateAllByIdMutation, +} from './types/titleControllerController/UpdateAllById.ts' +export type { + UpdateById2QueryParams, + UpdateById2200, + UpdateById2404, + UpdateById2MutationResponse, + UpdateById2Mutation, +} from './types/titleControllerController/UpdateById2.ts' +export type { UpdateAnimeGroupRequest } from './types/UpdateAnimeGroupRequest.ts' +export type { + UpdateAnimeRequestStatusEnum, + UpdateAnimeRequestTypeEnum, + UpdateAnimeRequestGenresEnum, + UpdateAnimeRequestMpaaRatingEnum, + UpdateAnimeRequest, +} from './types/UpdateAnimeRequest.ts' +export type { UpdateAnimeTitleRequestTitleTypeEnum, UpdateAnimeTitleRequest } from './types/UpdateAnimeTitleRequest.ts' +export type { UpdateCommentRequest } from './types/UpdateCommentRequest.ts' +export type { UpdateEpisodeRequest } from './types/UpdateEpisodeRequest.ts' +export { animeControllerService } from './clients/axios/animeControllerService/animeControllerService.ts' +export { createAnime } from './clients/axios/animeControllerService/createAnime.ts' +export { deleteById } from './clients/axios/animeControllerService/deleteById.ts' +export { findById } from './clients/axios/animeControllerService/findById.ts' +export { findSimilar } from './clients/axios/animeControllerService/findSimilar.ts' +export { getAllGenres } from './clients/axios/animeControllerService/getAllGenres.ts' +export { getAllMpaaRatings } from './clients/axios/animeControllerService/getAllMpaaRatings.ts' +export { getAllStatuses } from './clients/axios/animeControllerService/getAllStatuses.ts' +export { getAllTypes } from './clients/axios/animeControllerService/getAllTypes.ts' +export { getPage } from './clients/axios/animeControllerService/getPage.ts' +export { increasePopularity } from './clients/axios/animeControllerService/increasePopularity.ts' +export { updateById } from './clients/axios/animeControllerService/updateById.ts' +export { commentsControllerService } from './clients/axios/commentsControllerService/commentsControllerService.ts' +export { createComment } from './clients/axios/commentsControllerService/createComment.ts' +export { deleteComment } from './clients/axios/commentsControllerService/deleteComment.ts' +export { getCommentsById } from './clients/axios/commentsControllerService/getCommentsById.ts' +export { getCommentsByUser } from './clients/axios/commentsControllerService/getCommentsByUser.ts' +export { updateComment } from './clients/axios/commentsControllerService/updateComment.ts' +export { complaintControllerService } from './clients/axios/complaintControllerService/complaintControllerService.ts' +export { createComplaint } from './clients/axios/complaintControllerService/createComplaint.ts' +export { getComplaintById } from './clients/axios/complaintControllerService/getComplaintById.ts' +export { getComplaints } from './clients/axios/complaintControllerService/getComplaints.ts' +export { updateComplaintStatus } from './clients/axios/complaintControllerService/updateComplaintStatus.ts' +export { addDubToEpisode } from './clients/axios/dubControllerService/addDubToEpisode.ts' +export { createDub } from './clients/axios/dubControllerService/createDub.ts' +export { deleteDub } from './clients/axios/dubControllerService/deleteDub.ts' +export { dubControllerService } from './clients/axios/dubControllerService/dubControllerService.ts' +export { getDubById } from './clients/axios/dubControllerService/getDubById.ts' +export { getDubsByEpisode } from './clients/axios/dubControllerService/getDubsByEpisode.ts' +export { removeDubFromEpisode } from './clients/axios/dubControllerService/removeDubFromEpisode.ts' +export { updateDubName } from './clients/axios/dubControllerService/updateDubName.ts' +export { addView } from './clients/axios/episodesControllerService/addView.ts' +export { createEpisode } from './clients/axios/episodesControllerService/createEpisode.ts' +export { deleteEpisode } from './clients/axios/episodesControllerService/deleteEpisode.ts' +export { episodesControllerService } from './clients/axios/episodesControllerService/episodesControllerService.ts' +export { getAdminEpisodeById } from './clients/axios/episodesControllerService/getAdminEpisodeById.ts' +export { getEpisodeById } from './clients/axios/episodesControllerService/getEpisodeById.ts' +export { getEpisodesByAnimeId } from './clients/axios/episodesControllerService/getEpisodesByAnimeId.ts' +export { updateEpisode } from './clients/axios/episodesControllerService/updateEpisode.ts' +export { updateEpisodeOrder } from './clients/axios/episodesControllerService/updateEpisodeOrder.ts' +export { addAnimeIdsToGroup } from './clients/axios/groupControllerService/addAnimeIdsToGroup.ts' +export { create1 } from './clients/axios/groupControllerService/create1.ts' +export { deleteAnimeIdsFromGroup } from './clients/axios/groupControllerService/deleteAnimeIdsFromGroup.ts' +export { deleteById2 } from './clients/axios/groupControllerService/deleteById2.ts' +export { getByAnimeId } from './clients/axios/groupControllerService/getByAnimeId.ts' +export { getById1 } from './clients/axios/groupControllerService/getById1.ts' +export { groupControllerService } from './clients/axios/groupControllerService/groupControllerService.ts' +export { updateById1 } from './clients/axios/groupControllerService/updateById1.ts' +export { operations } from './clients/axios/operations.ts' +export { create } from './clients/axios/titleControllerService/create.ts' +export { createAll } from './clients/axios/titleControllerService/createAll.ts' +export { deleteAllByAnimeId } from './clients/axios/titleControllerService/deleteAllByAnimeId.ts' +export { deleteAllById } from './clients/axios/titleControllerService/deleteAllById.ts' +export { deleteById1 } from './clients/axios/titleControllerService/deleteById1.ts' +export { getAllByAnimeId } from './clients/axios/titleControllerService/getAllByAnimeId.ts' +export { getById } from './clients/axios/titleControllerService/getById.ts' +export { getPage1 } from './clients/axios/titleControllerService/getPage1.ts' +export { titleControllerService } from './clients/axios/titleControllerService/titleControllerService.ts' +export { updateAllById } from './clients/axios/titleControllerService/updateAllById.ts' +export { updateById2 } from './clients/axios/titleControllerService/updateById2.ts' +export { createAnimeMutationKey, useCreateAnime } from './hooks/animeControllerHooks/useCreateAnime.ts' +export { deleteByIdMutationKey, useDeleteById } from './hooks/animeControllerHooks/useDeleteById.ts' +export { findByIdQueryKey, findByIdQueryOptions, useFindById } from './hooks/animeControllerHooks/useFindById.ts' +export { findByIdInfiniteQueryKey, findByIdInfiniteQueryOptions, useFindByIdInfinite } from './hooks/animeControllerHooks/useFindByIdInfinite.ts' +export { findByIdSuspenseQueryKey, findByIdSuspenseQueryOptions, useFindByIdSuspense } from './hooks/animeControllerHooks/useFindByIdSuspense.ts' +export { findSimilarQueryKey, findSimilarQueryOptions, useFindSimilar } from './hooks/animeControllerHooks/useFindSimilar.ts' +export { findSimilarInfiniteQueryKey, findSimilarInfiniteQueryOptions, useFindSimilarInfinite } from './hooks/animeControllerHooks/useFindSimilarInfinite.ts' +export { findSimilarSuspenseQueryKey, findSimilarSuspenseQueryOptions, useFindSimilarSuspense } from './hooks/animeControllerHooks/useFindSimilarSuspense.ts' +export { getAllGenresQueryKey, getAllGenresQueryOptions, useGetAllGenres } from './hooks/animeControllerHooks/useGetAllGenres.ts' +export { + getAllGenresInfiniteQueryKey, + getAllGenresInfiniteQueryOptions, + useGetAllGenresInfinite, +} from './hooks/animeControllerHooks/useGetAllGenresInfinite.ts' +export { + getAllGenresSuspenseQueryKey, + getAllGenresSuspenseQueryOptions, + useGetAllGenresSuspense, +} from './hooks/animeControllerHooks/useGetAllGenresSuspense.ts' +export { getAllMpaaRatingsQueryKey, getAllMpaaRatingsQueryOptions, useGetAllMpaaRatings } from './hooks/animeControllerHooks/useGetAllMpaaRatings.ts' +export { + getAllMpaaRatingsInfiniteQueryKey, + getAllMpaaRatingsInfiniteQueryOptions, + useGetAllMpaaRatingsInfinite, +} from './hooks/animeControllerHooks/useGetAllMpaaRatingsInfinite.ts' +export { + getAllMpaaRatingsSuspenseQueryKey, + getAllMpaaRatingsSuspenseQueryOptions, + useGetAllMpaaRatingsSuspense, +} from './hooks/animeControllerHooks/useGetAllMpaaRatingsSuspense.ts' +export { getAllStatusesQueryKey, getAllStatusesQueryOptions, useGetAllStatuses } from './hooks/animeControllerHooks/useGetAllStatuses.ts' +export { + getAllStatusesInfiniteQueryKey, + getAllStatusesInfiniteQueryOptions, + useGetAllStatusesInfinite, +} from './hooks/animeControllerHooks/useGetAllStatusesInfinite.ts' +export { + getAllStatusesSuspenseQueryKey, + getAllStatusesSuspenseQueryOptions, + useGetAllStatusesSuspense, +} from './hooks/animeControllerHooks/useGetAllStatusesSuspense.ts' +export { getAllTypesQueryKey, getAllTypesQueryOptions, useGetAllTypes } from './hooks/animeControllerHooks/useGetAllTypes.ts' +export { getAllTypesInfiniteQueryKey, getAllTypesInfiniteQueryOptions, useGetAllTypesInfinite } from './hooks/animeControllerHooks/useGetAllTypesInfinite.ts' +export { getAllTypesSuspenseQueryKey, getAllTypesSuspenseQueryOptions, useGetAllTypesSuspense } from './hooks/animeControllerHooks/useGetAllTypesSuspense.ts' +export { getPageQueryKey, getPageQueryOptions, useGetPage } from './hooks/animeControllerHooks/useGetPage.ts' +export { getPageInfiniteQueryKey, getPageInfiniteQueryOptions, useGetPageInfinite } from './hooks/animeControllerHooks/useGetPageInfinite.ts' +export { getPageSuspenseQueryKey, getPageSuspenseQueryOptions, useGetPageSuspense } from './hooks/animeControllerHooks/useGetPageSuspense.ts' +export { increasePopularityMutationKey, useIncreasePopularity } from './hooks/animeControllerHooks/useIncreasePopularity.ts' +export { updateByIdMutationKey, useUpdateById } from './hooks/animeControllerHooks/useUpdateById.ts' +export { createCommentMutationKey, useCreateComment } from './hooks/commentsControllerHooks/useCreateComment.ts' +export { deleteCommentMutationKey, useDeleteComment } from './hooks/commentsControllerHooks/useDeleteComment.ts' +export { getCommentsByIdQueryKey, getCommentsByIdQueryOptions, useGetCommentsById } from './hooks/commentsControllerHooks/useGetCommentsById.ts' +export { + getCommentsByIdInfiniteQueryKey, + getCommentsByIdInfiniteQueryOptions, + useGetCommentsByIdInfinite, +} from './hooks/commentsControllerHooks/useGetCommentsByIdInfinite.ts' +export { + getCommentsByIdSuspenseQueryKey, + getCommentsByIdSuspenseQueryOptions, + useGetCommentsByIdSuspense, +} from './hooks/commentsControllerHooks/useGetCommentsByIdSuspense.ts' +export { getCommentsByUserQueryKey, getCommentsByUserQueryOptions, useGetCommentsByUser } from './hooks/commentsControllerHooks/useGetCommentsByUser.ts' +export { + getCommentsByUserInfiniteQueryKey, + getCommentsByUserInfiniteQueryOptions, + useGetCommentsByUserInfinite, +} from './hooks/commentsControllerHooks/useGetCommentsByUserInfinite.ts' +export { + getCommentsByUserSuspenseQueryKey, + getCommentsByUserSuspenseQueryOptions, + useGetCommentsByUserSuspense, +} from './hooks/commentsControllerHooks/useGetCommentsByUserSuspense.ts' +export { updateCommentMutationKey, useUpdateComment } from './hooks/commentsControllerHooks/useUpdateComment.ts' +export { createComplaintMutationKey, useCreateComplaint } from './hooks/complaintControllerHooks/useCreateComplaint.ts' +export { getComplaintByIdQueryKey, getComplaintByIdQueryOptions, useGetComplaintById } from './hooks/complaintControllerHooks/useGetComplaintById.ts' +export { + getComplaintByIdInfiniteQueryKey, + getComplaintByIdInfiniteQueryOptions, + useGetComplaintByIdInfinite, +} from './hooks/complaintControllerHooks/useGetComplaintByIdInfinite.ts' +export { + getComplaintByIdSuspenseQueryKey, + getComplaintByIdSuspenseQueryOptions, + useGetComplaintByIdSuspense, +} from './hooks/complaintControllerHooks/useGetComplaintByIdSuspense.ts' +export { getComplaintsMutationKey, useGetComplaints } from './hooks/complaintControllerHooks/useGetComplaints.ts' +export { updateComplaintStatusMutationKey, useUpdateComplaintStatus } from './hooks/complaintControllerHooks/useUpdateComplaintStatus.ts' +export { addDubToEpisodeMutationKey, useAddDubToEpisode } from './hooks/dubControllerHooks/useAddDubToEpisode.ts' +export { createDubMutationKey, useCreateDub } from './hooks/dubControllerHooks/useCreateDub.ts' +export { deleteDubMutationKey, useDeleteDub } from './hooks/dubControllerHooks/useDeleteDub.ts' +export { getDubByIdQueryKey, getDubByIdQueryOptions, useGetDubById } from './hooks/dubControllerHooks/useGetDubById.ts' +export { getDubByIdInfiniteQueryKey, getDubByIdInfiniteQueryOptions, useGetDubByIdInfinite } from './hooks/dubControllerHooks/useGetDubByIdInfinite.ts' +export { getDubByIdSuspenseQueryKey, getDubByIdSuspenseQueryOptions, useGetDubByIdSuspense } from './hooks/dubControllerHooks/useGetDubByIdSuspense.ts' +export { getDubsByEpisodeQueryKey, getDubsByEpisodeQueryOptions, useGetDubsByEpisode } from './hooks/dubControllerHooks/useGetDubsByEpisode.ts' +export { + getDubsByEpisodeInfiniteQueryKey, + getDubsByEpisodeInfiniteQueryOptions, + useGetDubsByEpisodeInfinite, +} from './hooks/dubControllerHooks/useGetDubsByEpisodeInfinite.ts' +export { + getDubsByEpisodeSuspenseQueryKey, + getDubsByEpisodeSuspenseQueryOptions, + useGetDubsByEpisodeSuspense, +} from './hooks/dubControllerHooks/useGetDubsByEpisodeSuspense.ts' +export { removeDubFromEpisodeMutationKey, useRemoveDubFromEpisode } from './hooks/dubControllerHooks/useRemoveDubFromEpisode.ts' +export { updateDubNameMutationKey, useUpdateDubName } from './hooks/dubControllerHooks/useUpdateDubName.ts' +export { addViewMutationKey, useAddView } from './hooks/episodesControllerHooks/useAddView.ts' +export { createEpisodeMutationKey, useCreateEpisode } from './hooks/episodesControllerHooks/useCreateEpisode.ts' +export { deleteEpisodeMutationKey, useDeleteEpisode } from './hooks/episodesControllerHooks/useDeleteEpisode.ts' +export { getAdminEpisodeByIdQueryKey, getAdminEpisodeByIdQueryOptions, useGetAdminEpisodeById } from './hooks/episodesControllerHooks/useGetAdminEpisodeById.ts' +export { + getAdminEpisodeByIdInfiniteQueryKey, + getAdminEpisodeByIdInfiniteQueryOptions, + useGetAdminEpisodeByIdInfinite, +} from './hooks/episodesControllerHooks/useGetAdminEpisodeByIdInfinite.ts' +export { + getAdminEpisodeByIdSuspenseQueryKey, + getAdminEpisodeByIdSuspenseQueryOptions, + useGetAdminEpisodeByIdSuspense, +} from './hooks/episodesControllerHooks/useGetAdminEpisodeByIdSuspense.ts' +export { getEpisodeByIdQueryKey, getEpisodeByIdQueryOptions, useGetEpisodeById } from './hooks/episodesControllerHooks/useGetEpisodeById.ts' +export { + getEpisodeByIdInfiniteQueryKey, + getEpisodeByIdInfiniteQueryOptions, + useGetEpisodeByIdInfinite, +} from './hooks/episodesControllerHooks/useGetEpisodeByIdInfinite.ts' +export { + getEpisodeByIdSuspenseQueryKey, + getEpisodeByIdSuspenseQueryOptions, + useGetEpisodeByIdSuspense, +} from './hooks/episodesControllerHooks/useGetEpisodeByIdSuspense.ts' +export { + getEpisodesByAnimeIdQueryKey, + getEpisodesByAnimeIdQueryOptions, + useGetEpisodesByAnimeId, +} from './hooks/episodesControllerHooks/useGetEpisodesByAnimeId.ts' +export { + getEpisodesByAnimeIdInfiniteQueryKey, + getEpisodesByAnimeIdInfiniteQueryOptions, + useGetEpisodesByAnimeIdInfinite, +} from './hooks/episodesControllerHooks/useGetEpisodesByAnimeIdInfinite.ts' +export { + getEpisodesByAnimeIdSuspenseQueryKey, + getEpisodesByAnimeIdSuspenseQueryOptions, + useGetEpisodesByAnimeIdSuspense, +} from './hooks/episodesControllerHooks/useGetEpisodesByAnimeIdSuspense.ts' +export { updateEpisodeMutationKey, useUpdateEpisode } from './hooks/episodesControllerHooks/useUpdateEpisode.ts' +export { updateEpisodeOrderMutationKey, useUpdateEpisodeOrder } from './hooks/episodesControllerHooks/useUpdateEpisodeOrder.ts' +export { addAnimeIdsToGroupMutationKey, useAddAnimeIdsToGroup } from './hooks/groupControllerHooks/useAddAnimeIdsToGroup.ts' +export { create1MutationKey, useCreate1 } from './hooks/groupControllerHooks/useCreate1.ts' +export { deleteAnimeIdsFromGroupMutationKey, useDeleteAnimeIdsFromGroup } from './hooks/groupControllerHooks/useDeleteAnimeIdsFromGroup.ts' +export { deleteById2MutationKey, useDeleteById2 } from './hooks/groupControllerHooks/useDeleteById2.ts' +export { getByAnimeIdQueryKey, getByAnimeIdQueryOptions, useGetByAnimeId } from './hooks/groupControllerHooks/useGetByAnimeId.ts' +export { + getByAnimeIdInfiniteQueryKey, + getByAnimeIdInfiniteQueryOptions, + useGetByAnimeIdInfinite, +} from './hooks/groupControllerHooks/useGetByAnimeIdInfinite.ts' +export { + getByAnimeIdSuspenseQueryKey, + getByAnimeIdSuspenseQueryOptions, + useGetByAnimeIdSuspense, +} from './hooks/groupControllerHooks/useGetByAnimeIdSuspense.ts' +export { getById1QueryKey, getById1QueryOptions, useGetById1 } from './hooks/groupControllerHooks/useGetById1.ts' +export { getById1InfiniteQueryKey, getById1InfiniteQueryOptions, useGetById1Infinite } from './hooks/groupControllerHooks/useGetById1Infinite.ts' +export { getById1SuspenseQueryKey, getById1SuspenseQueryOptions, useGetById1Suspense } from './hooks/groupControllerHooks/useGetById1Suspense.ts' +export { updateById1MutationKey, useUpdateById1 } from './hooks/groupControllerHooks/useUpdateById1.ts' +export { createMutationKey, useCreate } from './hooks/titleControllerHooks/useCreate.ts' +export { createAllMutationKey, useCreateAll } from './hooks/titleControllerHooks/useCreateAll.ts' +export { deleteAllByAnimeIdMutationKey, useDeleteAllByAnimeId } from './hooks/titleControllerHooks/useDeleteAllByAnimeId.ts' +export { deleteAllByIdMutationKey, useDeleteAllById } from './hooks/titleControllerHooks/useDeleteAllById.ts' +export { deleteById1MutationKey, useDeleteById1 } from './hooks/titleControllerHooks/useDeleteById1.ts' +export { getAllByAnimeIdQueryKey, getAllByAnimeIdQueryOptions, useGetAllByAnimeId } from './hooks/titleControllerHooks/useGetAllByAnimeId.ts' +export { + getAllByAnimeIdInfiniteQueryKey, + getAllByAnimeIdInfiniteQueryOptions, + useGetAllByAnimeIdInfinite, +} from './hooks/titleControllerHooks/useGetAllByAnimeIdInfinite.ts' +export { + getAllByAnimeIdSuspenseQueryKey, + getAllByAnimeIdSuspenseQueryOptions, + useGetAllByAnimeIdSuspense, +} from './hooks/titleControllerHooks/useGetAllByAnimeIdSuspense.ts' +export { getByIdQueryKey, getByIdQueryOptions, useGetById } from './hooks/titleControllerHooks/useGetById.ts' +export { getByIdInfiniteQueryKey, getByIdInfiniteQueryOptions, useGetByIdInfinite } from './hooks/titleControllerHooks/useGetByIdInfinite.ts' +export { getByIdSuspenseQueryKey, getByIdSuspenseQueryOptions, useGetByIdSuspense } from './hooks/titleControllerHooks/useGetByIdSuspense.ts' +export { getPage1QueryKey, getPage1QueryOptions, useGetPage1 } from './hooks/titleControllerHooks/useGetPage1.ts' +export { getPage1InfiniteQueryKey, getPage1InfiniteQueryOptions, useGetPage1Infinite } from './hooks/titleControllerHooks/useGetPage1Infinite.ts' +export { getPage1SuspenseQueryKey, getPage1SuspenseQueryOptions, useGetPage1Suspense } from './hooks/titleControllerHooks/useGetPage1Suspense.ts' +export { updateAllByIdMutationKey, useUpdateAllById } from './hooks/titleControllerHooks/useUpdateAllById.ts' +export { updateById2MutationKey, useUpdateById2 } from './hooks/titleControllerHooks/useUpdateById2.ts' +export { animeCardDTOMainGenreEnum } from './types/AnimeCardDTO.ts' +export { getAllGenres200Enum } from './types/animeControllerController/GetAllGenres.ts' +export { getAllMpaaRatings200Enum } from './types/animeControllerController/GetAllMpaaRatings.ts' +export { getAllStatuses200Enum } from './types/animeControllerController/GetAllStatuses.ts' +export { getAllTypes200Enum } from './types/animeControllerController/GetAllTypes.ts' +export { getPageQueryParamsDtoTypeEnum } from './types/animeControllerController/GetPage.ts' +export { animeDTOStatusEnum, animeDTOTypeEnum, animeDTOGenresEnum, animeDTOMpaaRatingEnum } from './types/AnimeDTO.ts' +export { + animeSearchCriteriaIncludeGenresEnum, + animeSearchCriteriaExcludeGenresEnum, + animeSearchCriteriaStatusEnum, + animeSearchCriteriaTypeEnum, +} from './types/AnimeSearchCriteria.ts' +export { animeTitleDTOTitleTypeEnum } from './types/AnimeTitleDTO.ts' +export { updateComplaintStatusQueryParamsStatusEnum } from './types/complaintControllerController/UpdateComplaintStatus.ts' +export { complaintDtoObjectTypeEnum, complaintDtoComplaintStatusEnum } from './types/ComplaintDto.ts' +export { complaintSearchParamsTypesEnum, complaintSearchParamsStatusesEnum, complaintSearchParamsDirectionEnum } from './types/ComplaintSearchParams.ts' +export { + createAnimeRequestOriginalSourceEnum, + createAnimeRequestStatusEnum, + createAnimeRequestTypeEnum, + createAnimeRequestMainGenreEnum, + createAnimeRequestGenresEnum, + createAnimeRequestMpaaRatingEnum, +} from './types/CreateAnimeRequest.ts' +export { createAnimeTitleRequestTitleTypeEnum } from './types/CreateAnimeTitleRequest.ts' +export { createCommentRequestObjectTypeEnum } from './types/CreateCommentRequest.ts' +export { createComplaintRequestObjectTypeEnum } from './types/CreateComplaintRequest.ts' +export { createdAnimeDTOStatusEnum, createdAnimeDTOTypeEnum, createdAnimeDTOGenresEnum, createdAnimeDTOMpaaRatingEnum } from './types/CreatedAnimeDTO.ts' +export { getEpisodeByIdQueryParamsDtoTypeEnum } from './types/episodesControllerController/GetEpisodeById.ts' +export { getEpisodesByAnimeIdQueryParamsDtoTypeEnum } from './types/episodesControllerController/GetEpisodesByAnimeId.ts' +export { errorDTOStatusEnum } from './types/ErrorDTO.ts' +export { + updateAnimeRequestStatusEnum, + updateAnimeRequestTypeEnum, + updateAnimeRequestGenresEnum, + updateAnimeRequestMpaaRatingEnum, +} from './types/UpdateAnimeRequest.ts' +export { updateAnimeTitleRequestTitleTypeEnum } from './types/UpdateAnimeTitleRequest.ts' \ No newline at end of file diff --git a/app/api/generated/schemas/addAnimeToGroupRequest.json b/app/api/generated/schemas/addAnimeToGroupRequest.json new file mode 100644 index 0000000..e39a9e2 --- /dev/null +++ b/app/api/generated/schemas/addAnimeToGroupRequest.json @@ -0,0 +1 @@ +{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"animeIds":{"uniqueItems":true,"type":"array","items":{"type":"string","format":"uuid"}}},"x-readme-ref-name":"AddAnimeToGroupRequest"} \ No newline at end of file diff --git a/app/api/generated/schemas/adminEpisodeDTO.json b/app/api/generated/schemas/adminEpisodeDTO.json new file mode 100644 index 0000000..9de7bf1 --- /dev/null +++ b/app/api/generated/schemas/adminEpisodeDTO.json @@ -0,0 +1 @@ +{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"ordinalId":{"type":"integer","format":"int32"},"title":{"type":"string"},"views":{"type":"integer","format":"int32"},"likes":{"type":"integer","format":"int32"},"dislikes":{"type":"integer","format":"int32"},"anime":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"primaryTitle":{"type":"string"},"releasedOn":{"type":"string","format":"date"},"mainGenre":{"type":"string","enum":["DRAMA","GAME","PSYCHOLOGICAL","MUSIC","ACTION","COMEDY","DEMONS","POLICE","ECCHI","FANTASY","HENTAI","HISTORICAL","MAGIC","MECHA","PARODY","SAMURAI","ROMANCE","SCHOOL","SHOUNEN","VAMPIRE","YAOI","YURI","HAREM","SLICE_OF_LIFE","SHOUJO_AI","JOSEI","SUPERNATURAL","THRILLER","SCI_FI","SHOUJO","SUPER_POWER","MILITARY","MYSTERY","KIDS","CARS","MARTIAL_ARTS","DEMENTIA","SPORTS","SEINEN","SHOUNEN_AI","GOURMET","SPACE","WORK_LIFE","HORROR","ADVENTURE","EROTICA"]}},"x-readme-ref-name":"AnimeCardDTO"},"releasedOn":{"type":"string","format":"date"},"isModerated":{"type":"boolean"},"lastModeratedBy":{"type":"string","format":"uuid"}},"x-readme-ref-name":"AdminEpisodeDTO"} \ No newline at end of file diff --git a/app/api/generated/schemas/animeCardDTO.json b/app/api/generated/schemas/animeCardDTO.json new file mode 100644 index 0000000..06c5ecd --- /dev/null +++ b/app/api/generated/schemas/animeCardDTO.json @@ -0,0 +1 @@ +{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"primaryTitle":{"type":"string"},"releasedOn":{"type":"string","format":"date"},"mainGenre":{"type":"string","enum":["DRAMA","GAME","PSYCHOLOGICAL","MUSIC","ACTION","COMEDY","DEMONS","POLICE","ECCHI","FANTASY","HENTAI","HISTORICAL","MAGIC","MECHA","PARODY","SAMURAI","ROMANCE","SCHOOL","SHOUNEN","VAMPIRE","YAOI","YURI","HAREM","SLICE_OF_LIFE","SHOUJO_AI","JOSEI","SUPERNATURAL","THRILLER","SCI_FI","SHOUJO","SUPER_POWER","MILITARY","MYSTERY","KIDS","CARS","MARTIAL_ARTS","DEMENTIA","SPORTS","SEINEN","SHOUNEN_AI","GOURMET","SPACE","WORK_LIFE","HORROR","ADVENTURE","EROTICA"]}},"x-readme-ref-name":"AnimeCardDTO"} \ No newline at end of file diff --git a/app/api/generated/schemas/animeDTO.json b/app/api/generated/schemas/animeDTO.json new file mode 100644 index 0000000..ee511fc --- /dev/null +++ b/app/api/generated/schemas/animeDTO.json @@ -0,0 +1 @@ +{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"primaryTitle":{"type":"string"},"titles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"animeId":{"type":"string","format":"uuid"},"title":{"type":"string"},"languageCode":{"type":"string"},"titleType":{"type":"string","enum":["ORIGINAL","OFFICIAL","SYNONYM","SHORT","ROMAJI","TRANSLITERATION"]},"isPrimary":{"type":"boolean"},"sortOrder":{"type":"integer","format":"int32"}},"x-readme-ref-name":"AnimeTitleDTO"}},"description":{"type":"string"},"releasedOn":{"type":"string","format":"date"},"finishedOn":{"type":"string","format":"date"},"episodesCount":{"type":"integer","format":"int32"},"episodes":{"type":"array","items":{"type":"string","format":"uuid"}},"status":{"type":"string","enum":["ANNOUNCE","ONGOING","RELEASED"]},"type":{"type":"string","enum":["TV","MOVIE","OVA","ONA","SPECIAL","TV_SPECIAL","MUSIC","PV","CM"]},"genres":{"type":"array","items":{"type":"string","enum":["DRAMA","GAME","PSYCHOLOGICAL","MUSIC","ACTION","COMEDY","DEMONS","POLICE","ECCHI","FANTASY","HENTAI","HISTORICAL","MAGIC","MECHA","PARODY","SAMURAI","ROMANCE","SCHOOL","SHOUNEN","VAMPIRE","YAOI","YURI","HAREM","SLICE_OF_LIFE","SHOUJO_AI","JOSEI","SUPERNATURAL","THRILLER","SCI_FI","SHOUJO","SUPER_POWER","MILITARY","MYSTERY","KIDS","CARS","MARTIAL_ARTS","DEMENTIA","SPORTS","SEINEN","SHOUNEN_AI","GOURMET","SPACE","WORK_LIFE","HORROR","ADVENTURE","EROTICA"]}},"studios":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"}},"x-readme-ref-name":"StudioDTO"}},"mpaaRating":{"type":"string","enum":["G","PG","PG_13","R","NC_17"]},"duration":{"type":"integer","format":"int32"},"shikimoriId":{"type":"string"}},"x-readme-ref-name":"AnimeDTO"} \ No newline at end of file diff --git a/app/api/generated/schemas/animeGroupDTO.json b/app/api/generated/schemas/animeGroupDTO.json new file mode 100644 index 0000000..ad5ca0e --- /dev/null +++ b/app/api/generated/schemas/animeGroupDTO.json @@ -0,0 +1 @@ +{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"animeIds":{"type":"array","items":{"type":"string","format":"uuid"}}},"x-readme-ref-name":"AnimeGroupDTO"} \ No newline at end of file diff --git a/app/api/generated/schemas/animeSearchCriteria.json b/app/api/generated/schemas/animeSearchCriteria.json new file mode 100644 index 0000000..c525853 --- /dev/null +++ b/app/api/generated/schemas/animeSearchCriteria.json @@ -0,0 +1 @@ +{"type":"object","properties":{"includeGenres":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["DRAMA","GAME","PSYCHOLOGICAL","MUSIC","ACTION","COMEDY","DEMONS","POLICE","ECCHI","FANTASY","HENTAI","HISTORICAL","MAGIC","MECHA","PARODY","SAMURAI","ROMANCE","SCHOOL","SHOUNEN","VAMPIRE","YAOI","YURI","HAREM","SLICE_OF_LIFE","SHOUJO_AI","JOSEI","SUPERNATURAL","THRILLER","SCI_FI","SHOUJO","SUPER_POWER","MILITARY","MYSTERY","KIDS","CARS","MARTIAL_ARTS","DEMENTIA","SPORTS","SEINEN","SHOUNEN_AI","GOURMET","SPACE","WORK_LIFE","HORROR","ADVENTURE","EROTICA"]}},"excludeGenres":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["DRAMA","GAME","PSYCHOLOGICAL","MUSIC","ACTION","COMEDY","DEMONS","POLICE","ECCHI","FANTASY","HENTAI","HISTORICAL","MAGIC","MECHA","PARODY","SAMURAI","ROMANCE","SCHOOL","SHOUNEN","VAMPIRE","YAOI","YURI","HAREM","SLICE_OF_LIFE","SHOUJO_AI","JOSEI","SUPERNATURAL","THRILLER","SCI_FI","SHOUJO","SUPER_POWER","MILITARY","MYSTERY","KIDS","CARS","MARTIAL_ARTS","DEMENTIA","SPORTS","SEINEN","SHOUNEN_AI","GOURMET","SPACE","WORK_LIFE","HORROR","ADVENTURE","EROTICA"]}},"status":{"type":"string","enum":["ANNOUNCE","ONGOING","RELEASED"]},"studioId":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["TV","MOVIE","OVA","ONA","SPECIAL","TV_SPECIAL","MUSIC","PV","CM"]}},"x-readme-ref-name":"AnimeSearchCriteria"} \ No newline at end of file diff --git a/app/api/generated/schemas/animeTitleDTO.json b/app/api/generated/schemas/animeTitleDTO.json new file mode 100644 index 0000000..8e85e2f --- /dev/null +++ b/app/api/generated/schemas/animeTitleDTO.json @@ -0,0 +1 @@ +{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"animeId":{"type":"string","format":"uuid"},"title":{"type":"string"},"languageCode":{"type":"string"},"titleType":{"type":"string","enum":["ORIGINAL","OFFICIAL","SYNONYM","SHORT","ROMAJI","TRANSLITERATION"]},"isPrimary":{"type":"boolean"},"sortOrder":{"type":"integer","format":"int32"}},"x-readme-ref-name":"AnimeTitleDTO"} \ No newline at end of file diff --git a/app/api/generated/schemas/characterDTO.json b/app/api/generated/schemas/characterDTO.json new file mode 100644 index 0000000..85a00ab --- /dev/null +++ b/app/api/generated/schemas/characterDTO.json @@ -0,0 +1 @@ +{"required":["name"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"maxLength":63,"minLength":0,"type":"string"},"surname":{"maxLength":63,"minLength":0,"type":"string"},"imageUrl":{"maxLength":255,"minLength":0,"type":"string"},"anime":{"uniqueItems":true,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"primaryTitle":{"type":"string"},"titles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"animeId":{"type":"string","format":"uuid"},"title":{"type":"string"},"languageCode":{"type":"string"},"titleType":{"type":"string","enum":["ORIGINAL","OFFICIAL","SYNONYM","SHORT","ROMAJI","TRANSLITERATION"]},"isPrimary":{"type":"boolean"},"sortOrder":{"type":"integer","format":"int32"}},"x-readme-ref-name":"AnimeTitleDTO"}},"description":{"type":"string"},"releasedOn":{"type":"string","format":"date"},"finishedOn":{"type":"string","format":"date"},"episodesCount":{"type":"integer","format":"int32"},"episodes":{"type":"array","items":{"type":"string","format":"uuid"}},"status":{"type":"string","enum":["ANNOUNCE","ONGOING","RELEASED"]},"type":{"type":"string","enum":["TV","MOVIE","OVA","ONA","SPECIAL","TV_SPECIAL","MUSIC","PV","CM"]},"genres":{"type":"array","items":{"type":"string","enum":["DRAMA","GAME","PSYCHOLOGICAL","MUSIC","ACTION","COMEDY","DEMONS","POLICE","ECCHI","FANTASY","HENTAI","HISTORICAL","MAGIC","MECHA","PARODY","SAMURAI","ROMANCE","SCHOOL","SHOUNEN","VAMPIRE","YAOI","YURI","HAREM","SLICE_OF_LIFE","SHOUJO_AI","JOSEI","SUPERNATURAL","THRILLER","SCI_FI","SHOUJO","SUPER_POWER","MILITARY","MYSTERY","KIDS","CARS","MARTIAL_ARTS","DEMENTIA","SPORTS","SEINEN","SHOUNEN_AI","GOURMET","SPACE","WORK_LIFE","HORROR","ADVENTURE","EROTICA"]}},"studios":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"}},"x-readme-ref-name":"StudioDTO"}},"mpaaRating":{"type":"string","enum":["G","PG","PG_13","R","NC_17"]},"duration":{"type":"integer","format":"int32"},"shikimoriId":{"type":"string"}},"x-readme-ref-name":"AnimeDTO"}}},"x-readme-ref-name":"CharacterDTO"} \ No newline at end of file diff --git a/app/api/generated/schemas/commentAnswerDTO.json b/app/api/generated/schemas/commentAnswerDTO.json new file mode 100644 index 0000000..bc6ed9b --- /dev/null +++ b/app/api/generated/schemas/commentAnswerDTO.json @@ -0,0 +1 @@ +{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"text":{"type":"string"}},"x-readme-ref-name":"CommentAnswerDTO"} \ No newline at end of file diff --git a/app/api/generated/schemas/commentDTO.json b/app/api/generated/schemas/commentDTO.json new file mode 100644 index 0000000..8d4be4d --- /dev/null +++ b/app/api/generated/schemas/commentDTO.json @@ -0,0 +1 @@ +{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"text":{"type":"string"},"replies":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"text":{"type":"string"}},"x-readme-ref-name":"CommentAnswerDTO"}}},"x-readme-ref-name":"CommentDTO"} \ No newline at end of file diff --git a/app/api/generated/schemas/complaintDto.json b/app/api/generated/schemas/complaintDto.json new file mode 100644 index 0000000..130b516 --- /dev/null +++ b/app/api/generated/schemas/complaintDto.json @@ -0,0 +1 @@ +{"required":["content","pageUrl","userAgent","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"objectType":{"type":"string","enum":["PAGE","PLAYER","USER","COMMENT","ANIME","EPISODE"]},"objectId":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"pageUrl":{"maxLength":255,"minLength":0,"type":"string"},"userAgent":{"maxLength":255,"minLength":0,"type":"string"},"content":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"complaintStatus":{"type":"string","enum":["OPEN","IN_PROGRESS","RESOLVED","REJECTED"]}},"x-readme-ref-name":"ComplaintDto"} \ No newline at end of file diff --git a/app/api/generated/schemas/complaintSearchParams.json b/app/api/generated/schemas/complaintSearchParams.json new file mode 100644 index 0000000..76654ad --- /dev/null +++ b/app/api/generated/schemas/complaintSearchParams.json @@ -0,0 +1 @@ +{"type":"object","properties":{"text":{"type":"string"},"types":{"type":"array","items":{"type":"string","enum":["PAGE","PLAYER","USER","COMMENT","ANIME","EPISODE"]}},"statuses":{"type":"array","items":{"type":"string","enum":["OPEN","IN_PROGRESS","RESOLVED","REJECTED"]}},"userIds":{"type":"array","items":{"type":"string","format":"uuid"}},"objectIds":{"type":"array","items":{"type":"string","format":"uuid"}},"pageUrls":{"type":"array","items":{"type":"string"}},"before":{"type":"string","format":"date-time"},"after":{"type":"string","format":"date-time"},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"sortField":{"type":"string"},"direction":{"type":"string","enum":["ASC","DESC"]},"pageable":{"type":"object","properties":{"unpaged":{"type":"boolean"},"paged":{"type":"boolean"},"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"sort":{"type":"array","items":{"type":"object","properties":{"direction":{"type":"string"},"nullHandling":{"type":"string"},"ascending":{"type":"boolean"},"property":{"type":"string"},"ignoreCase":{"type":"boolean"}},"x-readme-ref-name":"SortObject"}},"offset":{"type":"integer","format":"int64"}},"x-readme-ref-name":"PageableObject"}},"x-readme-ref-name":"ComplaintSearchParams"} \ No newline at end of file diff --git a/app/api/generated/schemas/createAnimeGroupRequest.json b/app/api/generated/schemas/createAnimeGroupRequest.json new file mode 100644 index 0000000..d2b9cae --- /dev/null +++ b/app/api/generated/schemas/createAnimeGroupRequest.json @@ -0,0 +1 @@ +{"type":"object","properties":{"name":{"type":"string"}},"x-readme-ref-name":"CreateAnimeGroupRequest"} \ No newline at end of file diff --git a/app/api/generated/schemas/createAnimeRequest.json b/app/api/generated/schemas/createAnimeRequest.json new file mode 100644 index 0000000..328e80b --- /dev/null +++ b/app/api/generated/schemas/createAnimeRequest.json @@ -0,0 +1 @@ +{"required":["description","duration","genres","mainGenre","mpaaRating","myanimelistId","originalSource","primaryTitle","releasedOn","shikimoriId","status","type"],"type":"object","properties":{"primaryTitle":{"type":"string"},"description":{"type":"string"},"releasedOn":{"type":"string","format":"date"},"finishedOn":{"type":"string","format":"date"},"originalSource":{"type":"string","enum":["MANGA","GAME","LIGHT_NOVEL","FILM","RANOBE","MANHWA","MANHUA"]},"status":{"type":"string","enum":["ANNOUNCE","ONGOING","RELEASED"]},"type":{"type":"string","enum":["TV","MOVIE","OVA","ONA","SPECIAL","TV_SPECIAL","MUSIC","PV","CM"]},"mainGenre":{"type":"string","enum":["DRAMA","GAME","PSYCHOLOGICAL","MUSIC","ACTION","COMEDY","DEMONS","POLICE","ECCHI","FANTASY","HENTAI","HISTORICAL","MAGIC","MECHA","PARODY","SAMURAI","ROMANCE","SCHOOL","SHOUNEN","VAMPIRE","YAOI","YURI","HAREM","SLICE_OF_LIFE","SHOUJO_AI","JOSEI","SUPERNATURAL","THRILLER","SCI_FI","SHOUJO","SUPER_POWER","MILITARY","MYSTERY","KIDS","CARS","MARTIAL_ARTS","DEMENTIA","SPORTS","SEINEN","SHOUNEN_AI","GOURMET","SPACE","WORK_LIFE","HORROR","ADVENTURE","EROTICA"]},"genres":{"type":"array","items":{"type":"string","enum":["DRAMA","GAME","PSYCHOLOGICAL","MUSIC","ACTION","COMEDY","DEMONS","POLICE","ECCHI","FANTASY","HENTAI","HISTORICAL","MAGIC","MECHA","PARODY","SAMURAI","ROMANCE","SCHOOL","SHOUNEN","VAMPIRE","YAOI","YURI","HAREM","SLICE_OF_LIFE","SHOUJO_AI","JOSEI","SUPERNATURAL","THRILLER","SCI_FI","SHOUJO","SUPER_POWER","MILITARY","MYSTERY","KIDS","CARS","MARTIAL_ARTS","DEMENTIA","SPORTS","SEINEN","SHOUNEN_AI","GOURMET","SPACE","WORK_LIFE","HORROR","ADVENTURE","EROTICA"]}},"mpaaRating":{"type":"string","enum":["G","PG","PG_13","R","NC_17"]},"duration":{"type":"integer","format":"int32"},"shikimoriId":{"type":"string"},"myanimelistId":{"type":"string"},"characters":{"uniqueItems":true,"type":"array","items":{"required":["name"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"maxLength":63,"minLength":0,"type":"string"},"surname":{"maxLength":63,"minLength":0,"type":"string"},"imageUrl":{"maxLength":255,"minLength":0,"type":"string"},"anime":{"uniqueItems":true,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"primaryTitle":{"type":"string"},"titles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"animeId":{"type":"string","format":"uuid"},"title":{"type":"string"},"languageCode":{"type":"string"},"titleType":{"type":"string","enum":["ORIGINAL","OFFICIAL","SYNONYM","SHORT","ROMAJI","TRANSLITERATION"]},"isPrimary":{"type":"boolean"},"sortOrder":{"type":"integer","format":"int32"}},"x-readme-ref-name":"AnimeTitleDTO"}},"description":{"type":"string"},"releasedOn":{"type":"string","format":"date"},"finishedOn":{"type":"string","format":"date"},"episodesCount":{"type":"integer","format":"int32"},"episodes":{"type":"array","items":{"type":"string","format":"uuid"}},"status":{"type":"string","enum":["ANNOUNCE","ONGOING","RELEASED"]},"type":{"type":"string","enum":["TV","MOVIE","OVA","ONA","SPECIAL","TV_SPECIAL","MUSIC","PV","CM"]},"genres":{"type":"array","items":{"type":"string","enum":["DRAMA","GAME","PSYCHOLOGICAL","MUSIC","ACTION","COMEDY","DEMONS","POLICE","ECCHI","FANTASY","HENTAI","HISTORICAL","MAGIC","MECHA","PARODY","SAMURAI","ROMANCE","SCHOOL","SHOUNEN","VAMPIRE","YAOI","YURI","HAREM","SLICE_OF_LIFE","SHOUJO_AI","JOSEI","SUPERNATURAL","THRILLER","SCI_FI","SHOUJO","SUPER_POWER","MILITARY","MYSTERY","KIDS","CARS","MARTIAL_ARTS","DEMENTIA","SPORTS","SEINEN","SHOUNEN_AI","GOURMET","SPACE","WORK_LIFE","HORROR","ADVENTURE","EROTICA"]}},"studios":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"}},"x-readme-ref-name":"StudioDTO"}},"mpaaRating":{"type":"string","enum":["G","PG","PG_13","R","NC_17"]},"duration":{"type":"integer","format":"int32"},"shikimoriId":{"type":"string"}},"x-readme-ref-name":"AnimeDTO"}}},"x-readme-ref-name":"CharacterDTO"}}},"x-readme-ref-name":"CreateAnimeRequest"} \ No newline at end of file diff --git a/app/api/generated/schemas/createAnimeTitleRequest.json b/app/api/generated/schemas/createAnimeTitleRequest.json new file mode 100644 index 0000000..4477983 --- /dev/null +++ b/app/api/generated/schemas/createAnimeTitleRequest.json @@ -0,0 +1 @@ +{"required":["animeId","isPrimary","languageCode","sortOrder","title","titleType"],"type":"object","properties":{"animeId":{"type":"string","format":"uuid"},"title":{"type":"string"},"languageCode":{"type":"string"},"titleType":{"type":"string","enum":["ORIGINAL","OFFICIAL","SYNONYM","SHORT","ROMAJI","TRANSLITERATION"]},"isPrimary":{"type":"boolean"},"sortOrder":{"type":"integer","format":"int32"}},"x-readme-ref-name":"CreateAnimeTitleRequest"} \ No newline at end of file diff --git a/app/api/generated/schemas/createCommentRequest.json b/app/api/generated/schemas/createCommentRequest.json new file mode 100644 index 0000000..9ce0c63 --- /dev/null +++ b/app/api/generated/schemas/createCommentRequest.json @@ -0,0 +1 @@ +{"required":["text"],"type":"object","properties":{"text":{"maxLength":256,"minLength":0,"type":"string"},"objectId":{"type":"string","format":"uuid"},"objectType":{"type":"string","enum":["EPISODE","ANIME"]},"repliesTo":{"type":"string","format":"uuid"}},"x-readme-ref-name":"CreateCommentRequest"} \ No newline at end of file diff --git a/app/api/generated/schemas/createComplaintRequest.json b/app/api/generated/schemas/createComplaintRequest.json new file mode 100644 index 0000000..cc5799d --- /dev/null +++ b/app/api/generated/schemas/createComplaintRequest.json @@ -0,0 +1 @@ +{"required":["content","pageUrl","userAgent","userId"],"type":"object","properties":{"objectType":{"type":"string","enum":["PAGE","PLAYER","USER","COMMENT","ANIME","EPISODE"]},"objectId":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"pageUrl":{"maxLength":255,"minLength":0,"type":"string"},"userAgent":{"maxLength":255,"minLength":0,"type":"string"},"content":{"type":"string"}},"x-readme-ref-name":"CreateComplaintRequest"} \ No newline at end of file diff --git a/app/api/generated/schemas/createDubRequest.json b/app/api/generated/schemas/createDubRequest.json new file mode 100644 index 0000000..8aa284b --- /dev/null +++ b/app/api/generated/schemas/createDubRequest.json @@ -0,0 +1 @@ +{"required":["name"],"type":"object","properties":{"name":{"type":"string"}},"x-readme-ref-name":"CreateDubRequest"} \ No newline at end of file diff --git a/app/api/generated/schemas/createEpisodeRequest.json b/app/api/generated/schemas/createEpisodeRequest.json new file mode 100644 index 0000000..2db45fc --- /dev/null +++ b/app/api/generated/schemas/createEpisodeRequest.json @@ -0,0 +1 @@ +{"required":["animeId","title"],"type":"object","properties":{"animeId":{"type":"string","format":"uuid"},"title":{"type":"string"},"releasedOn":{"type":"string","format":"date"}},"x-readme-ref-name":"CreateEpisodeRequest"} \ No newline at end of file diff --git a/app/api/generated/schemas/createdAnimeDTO.json b/app/api/generated/schemas/createdAnimeDTO.json new file mode 100644 index 0000000..53483db --- /dev/null +++ b/app/api/generated/schemas/createdAnimeDTO.json @@ -0,0 +1 @@ +{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"primaryTitle":{"type":"string"},"description":{"type":"string"},"releasedOn":{"type":"string","format":"date"},"episodesCount":{"type":"integer","format":"int32"},"status":{"type":"string","enum":["ANNOUNCE","ONGOING","RELEASED"]},"type":{"type":"string","enum":["TV","MOVIE","OVA","ONA","SPECIAL","TV_SPECIAL","MUSIC","PV","CM"]},"genres":{"type":"array","items":{"type":"string","enum":["DRAMA","GAME","PSYCHOLOGICAL","MUSIC","ACTION","COMEDY","DEMONS","POLICE","ECCHI","FANTASY","HENTAI","HISTORICAL","MAGIC","MECHA","PARODY","SAMURAI","ROMANCE","SCHOOL","SHOUNEN","VAMPIRE","YAOI","YURI","HAREM","SLICE_OF_LIFE","SHOUJO_AI","JOSEI","SUPERNATURAL","THRILLER","SCI_FI","SHOUJO","SUPER_POWER","MILITARY","MYSTERY","KIDS","CARS","MARTIAL_ARTS","DEMENTIA","SPORTS","SEINEN","SHOUNEN_AI","GOURMET","SPACE","WORK_LIFE","HORROR","ADVENTURE","EROTICA"]}},"mpaaRating":{"type":"string","enum":["G","PG","PG_13","R","NC_17"]},"duration":{"type":"integer","format":"int32"},"characters":{"uniqueItems":true,"type":"array","items":{"required":["name"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"maxLength":63,"minLength":0,"type":"string"},"surname":{"maxLength":63,"minLength":0,"type":"string"},"imageUrl":{"maxLength":255,"minLength":0,"type":"string"},"anime":{"uniqueItems":true,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"primaryTitle":{"type":"string"},"titles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"animeId":{"type":"string","format":"uuid"},"title":{"type":"string"},"languageCode":{"type":"string"},"titleType":{"type":"string","enum":["ORIGINAL","OFFICIAL","SYNONYM","SHORT","ROMAJI","TRANSLITERATION"]},"isPrimary":{"type":"boolean"},"sortOrder":{"type":"integer","format":"int32"}},"x-readme-ref-name":"AnimeTitleDTO"}},"description":{"type":"string"},"releasedOn":{"type":"string","format":"date"},"finishedOn":{"type":"string","format":"date"},"episodesCount":{"type":"integer","format":"int32"},"episodes":{"type":"array","items":{"type":"string","format":"uuid"}},"status":{"type":"string","enum":["ANNOUNCE","ONGOING","RELEASED"]},"type":{"type":"string","enum":["TV","MOVIE","OVA","ONA","SPECIAL","TV_SPECIAL","MUSIC","PV","CM"]},"genres":{"type":"array","items":{"type":"string","enum":["DRAMA","GAME","PSYCHOLOGICAL","MUSIC","ACTION","COMEDY","DEMONS","POLICE","ECCHI","FANTASY","HENTAI","HISTORICAL","MAGIC","MECHA","PARODY","SAMURAI","ROMANCE","SCHOOL","SHOUNEN","VAMPIRE","YAOI","YURI","HAREM","SLICE_OF_LIFE","SHOUJO_AI","JOSEI","SUPERNATURAL","THRILLER","SCI_FI","SHOUJO","SUPER_POWER","MILITARY","MYSTERY","KIDS","CARS","MARTIAL_ARTS","DEMENTIA","SPORTS","SEINEN","SHOUNEN_AI","GOURMET","SPACE","WORK_LIFE","HORROR","ADVENTURE","EROTICA"]}},"studios":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"}},"x-readme-ref-name":"StudioDTO"}},"mpaaRating":{"type":"string","enum":["G","PG","PG_13","R","NC_17"]},"duration":{"type":"integer","format":"int32"},"shikimoriId":{"type":"string"}},"x-readme-ref-name":"AnimeDTO"}}},"x-readme-ref-name":"CharacterDTO"}}},"x-readme-ref-name":"CreatedAnimeDTO"} \ No newline at end of file diff --git a/app/api/generated/schemas/deleteAnimeFromGroupRequest.json b/app/api/generated/schemas/deleteAnimeFromGroupRequest.json new file mode 100644 index 0000000..db2d6b7 --- /dev/null +++ b/app/api/generated/schemas/deleteAnimeFromGroupRequest.json @@ -0,0 +1 @@ +{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"animeIds":{"type":"array","items":{"type":"string","format":"uuid"}}},"x-readme-ref-name":"DeleteAnimeFromGroupRequest"} \ No newline at end of file diff --git a/app/api/generated/schemas/dubDTO.json b/app/api/generated/schemas/dubDTO.json new file mode 100644 index 0000000..db82540 --- /dev/null +++ b/app/api/generated/schemas/dubDTO.json @@ -0,0 +1 @@ +{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"episodes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"ordinalId":{"type":"integer","format":"int32"},"title":{"type":"string"},"views":{"type":"integer","format":"int32"},"likes":{"type":"integer","format":"int32"},"dislikes":{"type":"integer","format":"int32"},"anime":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"primaryTitle":{"type":"string"},"releasedOn":{"type":"string","format":"date"},"mainGenre":{"type":"string","enum":["DRAMA","GAME","PSYCHOLOGICAL","MUSIC","ACTION","COMEDY","DEMONS","POLICE","ECCHI","FANTASY","HENTAI","HISTORICAL","MAGIC","MECHA","PARODY","SAMURAI","ROMANCE","SCHOOL","SHOUNEN","VAMPIRE","YAOI","YURI","HAREM","SLICE_OF_LIFE","SHOUJO_AI","JOSEI","SUPERNATURAL","THRILLER","SCI_FI","SHOUJO","SUPER_POWER","MILITARY","MYSTERY","KIDS","CARS","MARTIAL_ARTS","DEMENTIA","SPORTS","SEINEN","SHOUNEN_AI","GOURMET","SPACE","WORK_LIFE","HORROR","ADVENTURE","EROTICA"]}},"x-readme-ref-name":"AnimeCardDTO"},"releasedOn":{"type":"string","format":"date"}},"x-readme-ref-name":"EpisodeDTO"}}},"x-readme-ref-name":"DubDTO"} \ No newline at end of file diff --git a/app/api/generated/schemas/episodeDTO.json b/app/api/generated/schemas/episodeDTO.json new file mode 100644 index 0000000..1805246 --- /dev/null +++ b/app/api/generated/schemas/episodeDTO.json @@ -0,0 +1 @@ +{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"ordinalId":{"type":"integer","format":"int32"},"title":{"type":"string"},"views":{"type":"integer","format":"int32"},"likes":{"type":"integer","format":"int32"},"dislikes":{"type":"integer","format":"int32"},"anime":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"primaryTitle":{"type":"string"},"releasedOn":{"type":"string","format":"date"},"mainGenre":{"type":"string","enum":["DRAMA","GAME","PSYCHOLOGICAL","MUSIC","ACTION","COMEDY","DEMONS","POLICE","ECCHI","FANTASY","HENTAI","HISTORICAL","MAGIC","MECHA","PARODY","SAMURAI","ROMANCE","SCHOOL","SHOUNEN","VAMPIRE","YAOI","YURI","HAREM","SLICE_OF_LIFE","SHOUJO_AI","JOSEI","SUPERNATURAL","THRILLER","SCI_FI","SHOUJO","SUPER_POWER","MILITARY","MYSTERY","KIDS","CARS","MARTIAL_ARTS","DEMENTIA","SPORTS","SEINEN","SHOUNEN_AI","GOURMET","SPACE","WORK_LIFE","HORROR","ADVENTURE","EROTICA"]}},"x-readme-ref-name":"AnimeCardDTO"},"releasedOn":{"type":"string","format":"date"}},"x-readme-ref-name":"EpisodeDTO"} \ No newline at end of file diff --git a/app/api/generated/schemas/errorDTO.json b/app/api/generated/schemas/errorDTO.json new file mode 100644 index 0000000..9b46a80 --- /dev/null +++ b/app/api/generated/schemas/errorDTO.json @@ -0,0 +1 @@ +{"type":"object","properties":{"time":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]},"errors":{"type":"object","additionalProperties":{"type":"string"}}},"x-readme-ref-name":"ErrorDTO"} \ No newline at end of file diff --git a/app/api/generated/schemas/increasePopularityRequest.json b/app/api/generated/schemas/increasePopularityRequest.json new file mode 100644 index 0000000..107f211 --- /dev/null +++ b/app/api/generated/schemas/increasePopularityRequest.json @@ -0,0 +1 @@ +{"type":"object","properties":{"animeId":{"type":"string","format":"uuid"}},"x-readme-ref-name":"IncreasePopularityRequest"} \ No newline at end of file diff --git a/app/api/generated/schemas/page.json b/app/api/generated/schemas/page.json new file mode 100644 index 0000000..8d5dda4 --- /dev/null +++ b/app/api/generated/schemas/page.json @@ -0,0 +1 @@ +{"type":"object","properties":{"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"pageable":{"type":"object","properties":{"unpaged":{"type":"boolean"},"paged":{"type":"boolean"},"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"sort":{"type":"array","items":{"type":"object","properties":{"direction":{"type":"string"},"nullHandling":{"type":"string"},"ascending":{"type":"boolean"},"property":{"type":"string"},"ignoreCase":{"type":"boolean"}},"x-readme-ref-name":"SortObject"}},"offset":{"type":"integer","format":"int64"}},"x-readme-ref-name":"PageableObject"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"type":"array","items":{"type":"object","properties":{"direction":{"type":"string"},"nullHandling":{"type":"string"},"ascending":{"type":"boolean"},"property":{"type":"string"},"ignoreCase":{"type":"boolean"}},"x-readme-ref-name":"SortObject"}},"first":{"type":"boolean"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"content":{"type":"array","items":{"type":"object"}},"number":{"type":"integer","format":"int32"},"empty":{"type":"boolean"}},"x-readme-ref-name":"Page"} \ No newline at end of file diff --git a/app/api/generated/schemas/pageAnimeCardDTO.json b/app/api/generated/schemas/pageAnimeCardDTO.json new file mode 100644 index 0000000..8b870e2 --- /dev/null +++ b/app/api/generated/schemas/pageAnimeCardDTO.json @@ -0,0 +1 @@ +{"type":"object","properties":{"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"pageable":{"type":"object","properties":{"unpaged":{"type":"boolean"},"paged":{"type":"boolean"},"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"sort":{"type":"array","items":{"type":"object","properties":{"direction":{"type":"string"},"nullHandling":{"type":"string"},"ascending":{"type":"boolean"},"property":{"type":"string"},"ignoreCase":{"type":"boolean"}},"x-readme-ref-name":"SortObject"}},"offset":{"type":"integer","format":"int64"}},"x-readme-ref-name":"PageableObject"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"type":"array","items":{"type":"object","properties":{"direction":{"type":"string"},"nullHandling":{"type":"string"},"ascending":{"type":"boolean"},"property":{"type":"string"},"ignoreCase":{"type":"boolean"}},"x-readme-ref-name":"SortObject"}},"first":{"type":"boolean"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"content":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"primaryTitle":{"type":"string"},"releasedOn":{"type":"string","format":"date"},"mainGenre":{"type":"string","enum":["DRAMA","GAME","PSYCHOLOGICAL","MUSIC","ACTION","COMEDY","DEMONS","POLICE","ECCHI","FANTASY","HENTAI","HISTORICAL","MAGIC","MECHA","PARODY","SAMURAI","ROMANCE","SCHOOL","SHOUNEN","VAMPIRE","YAOI","YURI","HAREM","SLICE_OF_LIFE","SHOUJO_AI","JOSEI","SUPERNATURAL","THRILLER","SCI_FI","SHOUJO","SUPER_POWER","MILITARY","MYSTERY","KIDS","CARS","MARTIAL_ARTS","DEMENTIA","SPORTS","SEINEN","SHOUNEN_AI","GOURMET","SPACE","WORK_LIFE","HORROR","ADVENTURE","EROTICA"]}},"x-readme-ref-name":"AnimeCardDTO"}},"number":{"type":"integer","format":"int32"},"empty":{"type":"boolean"}},"x-readme-ref-name":"PageAnimeCardDTO"} \ No newline at end of file diff --git a/app/api/generated/schemas/pageAnimeTitleDTO.json b/app/api/generated/schemas/pageAnimeTitleDTO.json new file mode 100644 index 0000000..7c92547 --- /dev/null +++ b/app/api/generated/schemas/pageAnimeTitleDTO.json @@ -0,0 +1 @@ +{"type":"object","properties":{"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"pageable":{"type":"object","properties":{"unpaged":{"type":"boolean"},"paged":{"type":"boolean"},"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"sort":{"type":"array","items":{"type":"object","properties":{"direction":{"type":"string"},"nullHandling":{"type":"string"},"ascending":{"type":"boolean"},"property":{"type":"string"},"ignoreCase":{"type":"boolean"}},"x-readme-ref-name":"SortObject"}},"offset":{"type":"integer","format":"int64"}},"x-readme-ref-name":"PageableObject"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"type":"array","items":{"type":"object","properties":{"direction":{"type":"string"},"nullHandling":{"type":"string"},"ascending":{"type":"boolean"},"property":{"type":"string"},"ignoreCase":{"type":"boolean"}},"x-readme-ref-name":"SortObject"}},"first":{"type":"boolean"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"content":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"animeId":{"type":"string","format":"uuid"},"title":{"type":"string"},"languageCode":{"type":"string"},"titleType":{"type":"string","enum":["ORIGINAL","OFFICIAL","SYNONYM","SHORT","ROMAJI","TRANSLITERATION"]},"isPrimary":{"type":"boolean"},"sortOrder":{"type":"integer","format":"int32"}},"x-readme-ref-name":"AnimeTitleDTO"}},"number":{"type":"integer","format":"int32"},"empty":{"type":"boolean"}},"x-readme-ref-name":"PageAnimeTitleDTO"} \ No newline at end of file diff --git a/app/api/generated/schemas/pageComplaintDto.json b/app/api/generated/schemas/pageComplaintDto.json new file mode 100644 index 0000000..2a67ea0 --- /dev/null +++ b/app/api/generated/schemas/pageComplaintDto.json @@ -0,0 +1 @@ +{"type":"object","properties":{"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"pageable":{"type":"object","properties":{"unpaged":{"type":"boolean"},"paged":{"type":"boolean"},"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"sort":{"type":"array","items":{"type":"object","properties":{"direction":{"type":"string"},"nullHandling":{"type":"string"},"ascending":{"type":"boolean"},"property":{"type":"string"},"ignoreCase":{"type":"boolean"}},"x-readme-ref-name":"SortObject"}},"offset":{"type":"integer","format":"int64"}},"x-readme-ref-name":"PageableObject"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"type":"array","items":{"type":"object","properties":{"direction":{"type":"string"},"nullHandling":{"type":"string"},"ascending":{"type":"boolean"},"property":{"type":"string"},"ignoreCase":{"type":"boolean"}},"x-readme-ref-name":"SortObject"}},"first":{"type":"boolean"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"content":{"type":"array","items":{"required":["content","pageUrl","userAgent","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"objectType":{"type":"string","enum":["PAGE","PLAYER","USER","COMMENT","ANIME","EPISODE"]},"objectId":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"pageUrl":{"maxLength":255,"minLength":0,"type":"string"},"userAgent":{"maxLength":255,"minLength":0,"type":"string"},"content":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"complaintStatus":{"type":"string","enum":["OPEN","IN_PROGRESS","RESOLVED","REJECTED"]}},"x-readme-ref-name":"ComplaintDto"}},"number":{"type":"integer","format":"int32"},"empty":{"type":"boolean"}},"x-readme-ref-name":"PageComplaintDto"} \ No newline at end of file diff --git a/app/api/generated/schemas/pageable.json b/app/api/generated/schemas/pageable.json new file mode 100644 index 0000000..a9664c7 --- /dev/null +++ b/app/api/generated/schemas/pageable.json @@ -0,0 +1 @@ +{"type":"object","properties":{"page":{"minimum":0,"type":"integer","format":"int32"},"size":{"minimum":1,"type":"integer","format":"int32"},"sort":{"type":"array","items":{"type":"string"}}},"x-readme-ref-name":"Pageable"} \ No newline at end of file diff --git a/app/api/generated/schemas/pageableObject.json b/app/api/generated/schemas/pageableObject.json new file mode 100644 index 0000000..38a6be7 --- /dev/null +++ b/app/api/generated/schemas/pageableObject.json @@ -0,0 +1 @@ +{"type":"object","properties":{"unpaged":{"type":"boolean"},"paged":{"type":"boolean"},"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"sort":{"type":"array","items":{"type":"object","properties":{"direction":{"type":"string"},"nullHandling":{"type":"string"},"ascending":{"type":"boolean"},"property":{"type":"string"},"ignoreCase":{"type":"boolean"}},"x-readme-ref-name":"SortObject"}},"offset":{"type":"integer","format":"int64"}},"x-readme-ref-name":"PageableObject"} \ No newline at end of file diff --git a/app/api/generated/schemas/sortObject.json b/app/api/generated/schemas/sortObject.json new file mode 100644 index 0000000..672e8d5 --- /dev/null +++ b/app/api/generated/schemas/sortObject.json @@ -0,0 +1 @@ +{"type":"object","properties":{"direction":{"type":"string"},"nullHandling":{"type":"string"},"ascending":{"type":"boolean"},"property":{"type":"string"},"ignoreCase":{"type":"boolean"}},"x-readme-ref-name":"SortObject"} \ No newline at end of file diff --git a/app/api/generated/schemas/studioDTO.json b/app/api/generated/schemas/studioDTO.json new file mode 100644 index 0000000..cdcc442 --- /dev/null +++ b/app/api/generated/schemas/studioDTO.json @@ -0,0 +1 @@ +{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"}},"x-readme-ref-name":"StudioDTO"} \ No newline at end of file diff --git a/app/api/generated/schemas/updateAnimeGroupRequest.json b/app/api/generated/schemas/updateAnimeGroupRequest.json new file mode 100644 index 0000000..aa1f5f4 --- /dev/null +++ b/app/api/generated/schemas/updateAnimeGroupRequest.json @@ -0,0 +1 @@ +{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"}},"x-readme-ref-name":"UpdateAnimeGroupRequest"} \ No newline at end of file diff --git a/app/api/generated/schemas/updateAnimeRequest.json b/app/api/generated/schemas/updateAnimeRequest.json new file mode 100644 index 0000000..b9af004 --- /dev/null +++ b/app/api/generated/schemas/updateAnimeRequest.json @@ -0,0 +1 @@ +{"required":["description","duration","episodesCount","genres","id","mpaaRating","myanimelistId","primaryTitle","releasedOn","shikimoriId","status","type"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"primaryTitle":{"type":"string"},"description":{"type":"string"},"airedOn":{"type":"string","format":"date"},"releasedOn":{"type":"string","format":"date"},"episodesCount":{"type":"integer","format":"int32"},"status":{"type":"string","enum":["ANNOUNCE","ONGOING","RELEASED"]},"type":{"type":"string","enum":["TV","MOVIE","OVA","ONA","SPECIAL","TV_SPECIAL","MUSIC","PV","CM"]},"genres":{"type":"array","items":{"type":"string","enum":["DRAMA","GAME","PSYCHOLOGICAL","MUSIC","ACTION","COMEDY","DEMONS","POLICE","ECCHI","FANTASY","HENTAI","HISTORICAL","MAGIC","MECHA","PARODY","SAMURAI","ROMANCE","SCHOOL","SHOUNEN","VAMPIRE","YAOI","YURI","HAREM","SLICE_OF_LIFE","SHOUJO_AI","JOSEI","SUPERNATURAL","THRILLER","SCI_FI","SHOUJO","SUPER_POWER","MILITARY","MYSTERY","KIDS","CARS","MARTIAL_ARTS","DEMENTIA","SPORTS","SEINEN","SHOUNEN_AI","GOURMET","SPACE","WORK_LIFE","HORROR","ADVENTURE","EROTICA"]}},"mpaaRating":{"type":"string","enum":["G","PG","PG_13","R","NC_17"]},"duration":{"type":"integer","format":"int32"},"shikimoriId":{"type":"string"},"myanimelistId":{"type":"string"},"characters":{"uniqueItems":true,"type":"array","items":{"required":["name"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"maxLength":63,"minLength":0,"type":"string"},"surname":{"maxLength":63,"minLength":0,"type":"string"},"imageUrl":{"maxLength":255,"minLength":0,"type":"string"},"anime":{"uniqueItems":true,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"primaryTitle":{"type":"string"},"titles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"animeId":{"type":"string","format":"uuid"},"title":{"type":"string"},"languageCode":{"type":"string"},"titleType":{"type":"string","enum":["ORIGINAL","OFFICIAL","SYNONYM","SHORT","ROMAJI","TRANSLITERATION"]},"isPrimary":{"type":"boolean"},"sortOrder":{"type":"integer","format":"int32"}},"x-readme-ref-name":"AnimeTitleDTO"}},"description":{"type":"string"},"releasedOn":{"type":"string","format":"date"},"finishedOn":{"type":"string","format":"date"},"episodesCount":{"type":"integer","format":"int32"},"episodes":{"type":"array","items":{"type":"string","format":"uuid"}},"status":{"type":"string","enum":["ANNOUNCE","ONGOING","RELEASED"]},"type":{"type":"string","enum":["TV","MOVIE","OVA","ONA","SPECIAL","TV_SPECIAL","MUSIC","PV","CM"]},"genres":{"type":"array","items":{"type":"string","enum":["DRAMA","GAME","PSYCHOLOGICAL","MUSIC","ACTION","COMEDY","DEMONS","POLICE","ECCHI","FANTASY","HENTAI","HISTORICAL","MAGIC","MECHA","PARODY","SAMURAI","ROMANCE","SCHOOL","SHOUNEN","VAMPIRE","YAOI","YURI","HAREM","SLICE_OF_LIFE","SHOUJO_AI","JOSEI","SUPERNATURAL","THRILLER","SCI_FI","SHOUJO","SUPER_POWER","MILITARY","MYSTERY","KIDS","CARS","MARTIAL_ARTS","DEMENTIA","SPORTS","SEINEN","SHOUNEN_AI","GOURMET","SPACE","WORK_LIFE","HORROR","ADVENTURE","EROTICA"]}},"studios":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"}},"x-readme-ref-name":"StudioDTO"}},"mpaaRating":{"type":"string","enum":["G","PG","PG_13","R","NC_17"]},"duration":{"type":"integer","format":"int32"},"shikimoriId":{"type":"string"}},"x-readme-ref-name":"AnimeDTO"}}},"x-readme-ref-name":"CharacterDTO"}}},"x-readme-ref-name":"UpdateAnimeRequest"} \ No newline at end of file diff --git a/app/api/generated/schemas/updateAnimeTitleRequest.json b/app/api/generated/schemas/updateAnimeTitleRequest.json new file mode 100644 index 0000000..c779366 --- /dev/null +++ b/app/api/generated/schemas/updateAnimeTitleRequest.json @@ -0,0 +1 @@ +{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"animeId":{"type":"string","format":"uuid"},"title":{"type":"string"},"languageCode":{"type":"string"},"titleType":{"type":"string","enum":["ORIGINAL","OFFICIAL","SYNONYM","SHORT","ROMAJI","TRANSLITERATION"]},"isPrimary":{"type":"boolean"},"sortOrder":{"type":"integer","format":"int32"}},"x-readme-ref-name":"UpdateAnimeTitleRequest"} \ No newline at end of file diff --git a/app/api/generated/schemas/updateCommentRequest.json b/app/api/generated/schemas/updateCommentRequest.json new file mode 100644 index 0000000..fabd4f8 --- /dev/null +++ b/app/api/generated/schemas/updateCommentRequest.json @@ -0,0 +1 @@ +{"required":["id","text"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"text":{"maxLength":256,"minLength":0,"type":"string"}},"x-readme-ref-name":"UpdateCommentRequest"} \ No newline at end of file diff --git a/app/api/generated/schemas/updateEpisodeRequest.json b/app/api/generated/schemas/updateEpisodeRequest.json new file mode 100644 index 0000000..9657add --- /dev/null +++ b/app/api/generated/schemas/updateEpisodeRequest.json @@ -0,0 +1 @@ +{"required":["isModerated","title"],"type":"object","properties":{"title":{"type":"string"},"releasedOn":{"type":"string","format":"date"},"isModerated":{"type":"boolean"}},"x-readme-ref-name":"UpdateEpisodeRequest"} \ No newline at end of file diff --git a/app/api/generated/types/AddAnimeToGroupRequest.ts b/app/api/generated/types/AddAnimeToGroupRequest.ts new file mode 100644 index 0000000..1110973 --- /dev/null +++ b/app/api/generated/types/AddAnimeToGroupRequest.ts @@ -0,0 +1,20 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export type AddAnimeToGroupRequest = { + /** + * @type string | undefined, uuid + */ + id?: string | undefined + /** + * @type array | undefined + */ + animeIds?: string[] | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/AdminEpisodeDTO.ts b/app/api/generated/types/AdminEpisodeDTO.ts new file mode 100644 index 0000000..1f80b58 --- /dev/null +++ b/app/api/generated/types/AdminEpisodeDTO.ts @@ -0,0 +1,54 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { AnimeCardDTO } from './AnimeCardDTO.ts' + +export type AdminEpisodeDTO = { + /** + * @type string | undefined, uuid + */ + id?: string | undefined + /** + * @type integer | undefined, int32 + */ + ordinalId?: number | undefined + /** + * @type string | undefined + */ + title?: string | undefined + /** + * @type integer | undefined, int32 + */ + views?: number | undefined + /** + * @type integer | undefined, int32 + */ + likes?: number | undefined + /** + * @type integer | undefined, int32 + */ + dislikes?: number | undefined + /** + * @type object | undefined + */ + anime?: AnimeCardDTO | undefined + /** + * @type string | undefined, date + */ + releasedOn?: Date | undefined + /** + * @type boolean | undefined + */ + isModerated?: boolean | undefined + /** + * @type string | undefined, uuid + */ + lastModeratedBy?: string | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/AnimeCardDTO.ts b/app/api/generated/types/AnimeCardDTO.ts new file mode 100644 index 0000000..3876842 --- /dev/null +++ b/app/api/generated/types/AnimeCardDTO.ts @@ -0,0 +1,79 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export const animeCardDTOMainGenreEnum = { + DRAMA: 'DRAMA', + GAME: 'GAME', + PSYCHOLOGICAL: 'PSYCHOLOGICAL', + MUSIC: 'MUSIC', + ACTION: 'ACTION', + COMEDY: 'COMEDY', + DEMONS: 'DEMONS', + POLICE: 'POLICE', + ECCHI: 'ECCHI', + FANTASY: 'FANTASY', + HENTAI: 'HENTAI', + HISTORICAL: 'HISTORICAL', + MAGIC: 'MAGIC', + MECHA: 'MECHA', + PARODY: 'PARODY', + SAMURAI: 'SAMURAI', + ROMANCE: 'ROMANCE', + SCHOOL: 'SCHOOL', + SHOUNEN: 'SHOUNEN', + VAMPIRE: 'VAMPIRE', + YAOI: 'YAOI', + YURI: 'YURI', + HAREM: 'HAREM', + SLICE_OF_LIFE: 'SLICE_OF_LIFE', + SHOUJO_AI: 'SHOUJO_AI', + JOSEI: 'JOSEI', + SUPERNATURAL: 'SUPERNATURAL', + THRILLER: 'THRILLER', + SCI_FI: 'SCI_FI', + SHOUJO: 'SHOUJO', + SUPER_POWER: 'SUPER_POWER', + MILITARY: 'MILITARY', + MYSTERY: 'MYSTERY', + KIDS: 'KIDS', + CARS: 'CARS', + MARTIAL_ARTS: 'MARTIAL_ARTS', + DEMENTIA: 'DEMENTIA', + SPORTS: 'SPORTS', + SEINEN: 'SEINEN', + SHOUNEN_AI: 'SHOUNEN_AI', + GOURMET: 'GOURMET', + SPACE: 'SPACE', + WORK_LIFE: 'WORK_LIFE', + HORROR: 'HORROR', + ADVENTURE: 'ADVENTURE', + EROTICA: 'EROTICA', +} as const + +export type AnimeCardDTOMainGenreEnum = (typeof animeCardDTOMainGenreEnum)[keyof typeof animeCardDTOMainGenreEnum] + +export type AnimeCardDTO = { + /** + * @type string | undefined, uuid + */ + id?: string | undefined + /** + * @type string | undefined + */ + primaryTitle?: string | undefined + /** + * @type string | undefined, date + */ + releasedOn?: Date | undefined + /** + * @type string | undefined + */ + mainGenre?: AnimeCardDTOMainGenreEnum | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/AnimeDTO.ts b/app/api/generated/types/AnimeDTO.ts new file mode 100644 index 0000000..8cba0fd --- /dev/null +++ b/app/api/generated/types/AnimeDTO.ts @@ -0,0 +1,158 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { AnimeTitleDTO } from './AnimeTitleDTO.ts' +import type { StudioDTO } from './StudioDTO.ts' + +export const animeDTOStatusEnum = { + ANNOUNCE: 'ANNOUNCE', + ONGOING: 'ONGOING', + RELEASED: 'RELEASED', +} as const + +export type AnimeDTOStatusEnum = (typeof animeDTOStatusEnum)[keyof typeof animeDTOStatusEnum] + +export const animeDTOTypeEnum = { + TV: 'TV', + MOVIE: 'MOVIE', + OVA: 'OVA', + ONA: 'ONA', + SPECIAL: 'SPECIAL', + TV_SPECIAL: 'TV_SPECIAL', + MUSIC: 'MUSIC', + PV: 'PV', + CM: 'CM', +} as const + +export type AnimeDTOTypeEnum = (typeof animeDTOTypeEnum)[keyof typeof animeDTOTypeEnum] + +export const animeDTOGenresEnum = { + DRAMA: 'DRAMA', + GAME: 'GAME', + PSYCHOLOGICAL: 'PSYCHOLOGICAL', + MUSIC: 'MUSIC', + ACTION: 'ACTION', + COMEDY: 'COMEDY', + DEMONS: 'DEMONS', + POLICE: 'POLICE', + ECCHI: 'ECCHI', + FANTASY: 'FANTASY', + HENTAI: 'HENTAI', + HISTORICAL: 'HISTORICAL', + MAGIC: 'MAGIC', + MECHA: 'MECHA', + PARODY: 'PARODY', + SAMURAI: 'SAMURAI', + ROMANCE: 'ROMANCE', + SCHOOL: 'SCHOOL', + SHOUNEN: 'SHOUNEN', + VAMPIRE: 'VAMPIRE', + YAOI: 'YAOI', + YURI: 'YURI', + HAREM: 'HAREM', + SLICE_OF_LIFE: 'SLICE_OF_LIFE', + SHOUJO_AI: 'SHOUJO_AI', + JOSEI: 'JOSEI', + SUPERNATURAL: 'SUPERNATURAL', + THRILLER: 'THRILLER', + SCI_FI: 'SCI_FI', + SHOUJO: 'SHOUJO', + SUPER_POWER: 'SUPER_POWER', + MILITARY: 'MILITARY', + MYSTERY: 'MYSTERY', + KIDS: 'KIDS', + CARS: 'CARS', + MARTIAL_ARTS: 'MARTIAL_ARTS', + DEMENTIA: 'DEMENTIA', + SPORTS: 'SPORTS', + SEINEN: 'SEINEN', + SHOUNEN_AI: 'SHOUNEN_AI', + GOURMET: 'GOURMET', + SPACE: 'SPACE', + WORK_LIFE: 'WORK_LIFE', + HORROR: 'HORROR', + ADVENTURE: 'ADVENTURE', + EROTICA: 'EROTICA', +} as const + +export type AnimeDTOGenresEnum = (typeof animeDTOGenresEnum)[keyof typeof animeDTOGenresEnum] + +export const animeDTOMpaaRatingEnum = { + G: 'G', + PG: 'PG', + PG_13: 'PG_13', + R: 'R', + NC_17: 'NC_17', +} as const + +export type AnimeDTOMpaaRatingEnum = (typeof animeDTOMpaaRatingEnum)[keyof typeof animeDTOMpaaRatingEnum] + +export type AnimeDTO = { + /** + * @type string | undefined, uuid + */ + id?: string | undefined + /** + * @type string | undefined + */ + primaryTitle?: string | undefined + /** + * @type array | undefined + */ + titles?: AnimeTitleDTO[] | undefined + /** + * @type string | undefined + */ + description?: string | undefined + /** + * @type string | undefined, date + */ + releasedOn?: Date | undefined + /** + * @type string | undefined, date + */ + finishedOn?: Date | undefined + /** + * @type integer | undefined, int32 + */ + episodesCount?: number | undefined + /** + * @type array | undefined + */ + episodes?: string[] | undefined + /** + * @type string | undefined + */ + status?: AnimeDTOStatusEnum | undefined + /** + * @type string | undefined + */ + type?: AnimeDTOTypeEnum | undefined + /** + * @type array | undefined + */ + genres?: AnimeDTOGenresEnum[] | undefined + /** + * @type array | undefined + */ + studios?: StudioDTO[] | undefined + /** + * @type string | undefined + */ + mpaaRating?: AnimeDTOMpaaRatingEnum | undefined + /** + * @type integer | undefined, int32 + */ + duration?: number | undefined + /** + * @type string | undefined + */ + shikimoriId?: string | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/AnimeGroupDTO.ts b/app/api/generated/types/AnimeGroupDTO.ts new file mode 100644 index 0000000..e76e119 --- /dev/null +++ b/app/api/generated/types/AnimeGroupDTO.ts @@ -0,0 +1,24 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export type AnimeGroupDTO = { + /** + * @type string | undefined, uuid + */ + id?: string | undefined + /** + * @type string | undefined + */ + name?: string | undefined + /** + * @type array | undefined + */ + animeIds?: string[] | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/AnimeSearchCriteria.ts b/app/api/generated/types/AnimeSearchCriteria.ts new file mode 100644 index 0000000..fa5d384 --- /dev/null +++ b/app/api/generated/types/AnimeSearchCriteria.ts @@ -0,0 +1,156 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export const animeSearchCriteriaIncludeGenresEnum = { + DRAMA: 'DRAMA', + GAME: 'GAME', + PSYCHOLOGICAL: 'PSYCHOLOGICAL', + MUSIC: 'MUSIC', + ACTION: 'ACTION', + COMEDY: 'COMEDY', + DEMONS: 'DEMONS', + POLICE: 'POLICE', + ECCHI: 'ECCHI', + FANTASY: 'FANTASY', + HENTAI: 'HENTAI', + HISTORICAL: 'HISTORICAL', + MAGIC: 'MAGIC', + MECHA: 'MECHA', + PARODY: 'PARODY', + SAMURAI: 'SAMURAI', + ROMANCE: 'ROMANCE', + SCHOOL: 'SCHOOL', + SHOUNEN: 'SHOUNEN', + VAMPIRE: 'VAMPIRE', + YAOI: 'YAOI', + YURI: 'YURI', + HAREM: 'HAREM', + SLICE_OF_LIFE: 'SLICE_OF_LIFE', + SHOUJO_AI: 'SHOUJO_AI', + JOSEI: 'JOSEI', + SUPERNATURAL: 'SUPERNATURAL', + THRILLER: 'THRILLER', + SCI_FI: 'SCI_FI', + SHOUJO: 'SHOUJO', + SUPER_POWER: 'SUPER_POWER', + MILITARY: 'MILITARY', + MYSTERY: 'MYSTERY', + KIDS: 'KIDS', + CARS: 'CARS', + MARTIAL_ARTS: 'MARTIAL_ARTS', + DEMENTIA: 'DEMENTIA', + SPORTS: 'SPORTS', + SEINEN: 'SEINEN', + SHOUNEN_AI: 'SHOUNEN_AI', + GOURMET: 'GOURMET', + SPACE: 'SPACE', + WORK_LIFE: 'WORK_LIFE', + HORROR: 'HORROR', + ADVENTURE: 'ADVENTURE', + EROTICA: 'EROTICA', +} as const + +export type AnimeSearchCriteriaIncludeGenresEnum = (typeof animeSearchCriteriaIncludeGenresEnum)[keyof typeof animeSearchCriteriaIncludeGenresEnum] + +export const animeSearchCriteriaExcludeGenresEnum = { + DRAMA: 'DRAMA', + GAME: 'GAME', + PSYCHOLOGICAL: 'PSYCHOLOGICAL', + MUSIC: 'MUSIC', + ACTION: 'ACTION', + COMEDY: 'COMEDY', + DEMONS: 'DEMONS', + POLICE: 'POLICE', + ECCHI: 'ECCHI', + FANTASY: 'FANTASY', + HENTAI: 'HENTAI', + HISTORICAL: 'HISTORICAL', + MAGIC: 'MAGIC', + MECHA: 'MECHA', + PARODY: 'PARODY', + SAMURAI: 'SAMURAI', + ROMANCE: 'ROMANCE', + SCHOOL: 'SCHOOL', + SHOUNEN: 'SHOUNEN', + VAMPIRE: 'VAMPIRE', + YAOI: 'YAOI', + YURI: 'YURI', + HAREM: 'HAREM', + SLICE_OF_LIFE: 'SLICE_OF_LIFE', + SHOUJO_AI: 'SHOUJO_AI', + JOSEI: 'JOSEI', + SUPERNATURAL: 'SUPERNATURAL', + THRILLER: 'THRILLER', + SCI_FI: 'SCI_FI', + SHOUJO: 'SHOUJO', + SUPER_POWER: 'SUPER_POWER', + MILITARY: 'MILITARY', + MYSTERY: 'MYSTERY', + KIDS: 'KIDS', + CARS: 'CARS', + MARTIAL_ARTS: 'MARTIAL_ARTS', + DEMENTIA: 'DEMENTIA', + SPORTS: 'SPORTS', + SEINEN: 'SEINEN', + SHOUNEN_AI: 'SHOUNEN_AI', + GOURMET: 'GOURMET', + SPACE: 'SPACE', + WORK_LIFE: 'WORK_LIFE', + HORROR: 'HORROR', + ADVENTURE: 'ADVENTURE', + EROTICA: 'EROTICA', +} as const + +export type AnimeSearchCriteriaExcludeGenresEnum = (typeof animeSearchCriteriaExcludeGenresEnum)[keyof typeof animeSearchCriteriaExcludeGenresEnum] + +export const animeSearchCriteriaStatusEnum = { + ANNOUNCE: 'ANNOUNCE', + ONGOING: 'ONGOING', + RELEASED: 'RELEASED', +} as const + +export type AnimeSearchCriteriaStatusEnum = (typeof animeSearchCriteriaStatusEnum)[keyof typeof animeSearchCriteriaStatusEnum] + +export const animeSearchCriteriaTypeEnum = { + TV: 'TV', + MOVIE: 'MOVIE', + OVA: 'OVA', + ONA: 'ONA', + SPECIAL: 'SPECIAL', + TV_SPECIAL: 'TV_SPECIAL', + MUSIC: 'MUSIC', + PV: 'PV', + CM: 'CM', +} as const + +export type AnimeSearchCriteriaTypeEnum = (typeof animeSearchCriteriaTypeEnum)[keyof typeof animeSearchCriteriaTypeEnum] + +export type AnimeSearchCriteria = { + /** + * @type array | undefined + */ + includeGenres?: AnimeSearchCriteriaIncludeGenresEnum[] | undefined + /** + * @type array | undefined + */ + excludeGenres?: AnimeSearchCriteriaExcludeGenresEnum[] | undefined + /** + * @type string | undefined + */ + status?: AnimeSearchCriteriaStatusEnum | undefined + /** + * @type string | undefined, uuid + */ + studioId?: string | undefined + /** + * @type string | undefined + */ + type?: AnimeSearchCriteriaTypeEnum | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/AnimeTitleDTO.ts b/app/api/generated/types/AnimeTitleDTO.ts new file mode 100644 index 0000000..381af4e --- /dev/null +++ b/app/api/generated/types/AnimeTitleDTO.ts @@ -0,0 +1,51 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export const animeTitleDTOTitleTypeEnum = { + ORIGINAL: 'ORIGINAL', + OFFICIAL: 'OFFICIAL', + SYNONYM: 'SYNONYM', + SHORT: 'SHORT', + ROMAJI: 'ROMAJI', + TRANSLITERATION: 'TRANSLITERATION', +} as const + +export type AnimeTitleDTOTitleTypeEnum = (typeof animeTitleDTOTitleTypeEnum)[keyof typeof animeTitleDTOTitleTypeEnum] + +export type AnimeTitleDTO = { + /** + * @type string | undefined, uuid + */ + id?: string | undefined + /** + * @type string | undefined, uuid + */ + animeId?: string | undefined + /** + * @type string | undefined + */ + title?: string | undefined + /** + * @type string | undefined + */ + languageCode?: string | undefined + /** + * @type string | undefined + */ + titleType?: AnimeTitleDTOTitleTypeEnum | undefined + /** + * @type boolean | undefined + */ + isPrimary?: boolean | undefined + /** + * @type integer | undefined, int32 + */ + sortOrder?: number | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/CharacterDTO.ts b/app/api/generated/types/CharacterDTO.ts new file mode 100644 index 0000000..d09362b --- /dev/null +++ b/app/api/generated/types/CharacterDTO.ts @@ -0,0 +1,40 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { AnimeDTO } from './AnimeDTO.ts' + +export type CharacterDTO = { + /** + * @type string | undefined, uuid + */ + id?: string | undefined + /** + * @minLength 0 + * @maxLength 63 + * @type string + */ + name: string + /** + * @minLength 0 + * @maxLength 63 + * @type string | undefined + */ + surname?: string | undefined + /** + * @minLength 0 + * @maxLength 255 + * @type string | undefined + */ + imageUrl?: string | undefined + /** + * @type array | undefined + */ + anime?: AnimeDTO[] | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/CommentAnswerDTO.ts b/app/api/generated/types/CommentAnswerDTO.ts new file mode 100644 index 0000000..8a351ab --- /dev/null +++ b/app/api/generated/types/CommentAnswerDTO.ts @@ -0,0 +1,20 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export type CommentAnswerDTO = { + /** + * @type string | undefined, uuid + */ + id?: string | undefined + /** + * @type string | undefined + */ + text?: string | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/CommentDTO.ts b/app/api/generated/types/CommentDTO.ts new file mode 100644 index 0000000..4f96b77 --- /dev/null +++ b/app/api/generated/types/CommentDTO.ts @@ -0,0 +1,26 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { CommentAnswerDTO } from './CommentAnswerDTO.ts' + +export type CommentDTO = { + /** + * @type string | undefined, uuid + */ + id?: string | undefined + /** + * @type string | undefined + */ + text?: string | undefined + /** + * @type array | undefined + */ + replies?: CommentAnswerDTO[] | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/ComplaintDto.ts b/app/api/generated/types/ComplaintDto.ts new file mode 100644 index 0000000..b5e8c84 --- /dev/null +++ b/app/api/generated/types/ComplaintDto.ts @@ -0,0 +1,72 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export const complaintDtoObjectTypeEnum = { + PAGE: 'PAGE', + PLAYER: 'PLAYER', + USER: 'USER', + COMMENT: 'COMMENT', + ANIME: 'ANIME', + EPISODE: 'EPISODE', +} as const + +export type ComplaintDtoObjectTypeEnum = (typeof complaintDtoObjectTypeEnum)[keyof typeof complaintDtoObjectTypeEnum] + +export const complaintDtoComplaintStatusEnum = { + OPEN: 'OPEN', + IN_PROGRESS: 'IN_PROGRESS', + RESOLVED: 'RESOLVED', + REJECTED: 'REJECTED', +} as const + +export type ComplaintDtoComplaintStatusEnum = (typeof complaintDtoComplaintStatusEnum)[keyof typeof complaintDtoComplaintStatusEnum] + +export type ComplaintDto = { + /** + * @type string | undefined, uuid + */ + id?: string | undefined + /** + * @type string | undefined + */ + objectType?: ComplaintDtoObjectTypeEnum | undefined + /** + * @type string | undefined, uuid + */ + objectId?: string | undefined + /** + * @type string, uuid + */ + userId: string + /** + * @minLength 0 + * @maxLength 255 + * @type string + */ + pageUrl: string + /** + * @minLength 0 + * @maxLength 255 + * @type string + */ + userAgent: string + /** + * @type string + */ + content: string + /** + * @type string | undefined, date-time + */ + createdAt?: Date | undefined + /** + * @type string | undefined + */ + complaintStatus?: ComplaintDtoComplaintStatusEnum | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/ComplaintSearchParams.ts b/app/api/generated/types/ComplaintSearchParams.ts new file mode 100644 index 0000000..ecd7df6 --- /dev/null +++ b/app/api/generated/types/ComplaintSearchParams.ts @@ -0,0 +1,93 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { PageableObject } from './PageableObject.ts' + +export const complaintSearchParamsTypesEnum = { + PAGE: 'PAGE', + PLAYER: 'PLAYER', + USER: 'USER', + COMMENT: 'COMMENT', + ANIME: 'ANIME', + EPISODE: 'EPISODE', +} as const + +export type ComplaintSearchParamsTypesEnum = (typeof complaintSearchParamsTypesEnum)[keyof typeof complaintSearchParamsTypesEnum] + +export const complaintSearchParamsStatusesEnum = { + OPEN: 'OPEN', + IN_PROGRESS: 'IN_PROGRESS', + RESOLVED: 'RESOLVED', + REJECTED: 'REJECTED', +} as const + +export type ComplaintSearchParamsStatusesEnum = (typeof complaintSearchParamsStatusesEnum)[keyof typeof complaintSearchParamsStatusesEnum] + +export const complaintSearchParamsDirectionEnum = { + ASC: 'ASC', + DESC: 'DESC', +} as const + +export type ComplaintSearchParamsDirectionEnum = (typeof complaintSearchParamsDirectionEnum)[keyof typeof complaintSearchParamsDirectionEnum] + +export type ComplaintSearchParams = { + /** + * @type string | undefined + */ + text?: string | undefined + /** + * @type array | undefined + */ + types?: ComplaintSearchParamsTypesEnum[] | undefined + /** + * @type array | undefined + */ + statuses?: ComplaintSearchParamsStatusesEnum[] | undefined + /** + * @type array | undefined + */ + userIds?: string[] | undefined + /** + * @type array | undefined + */ + objectIds?: string[] | undefined + /** + * @type array | undefined + */ + pageUrls?: string[] | undefined + /** + * @type string | undefined, date-time + */ + before?: Date | undefined + /** + * @type string | undefined, date-time + */ + after?: Date | undefined + /** + * @type integer | undefined, int32 + */ + page?: number | undefined + /** + * @type integer | undefined, int32 + */ + size?: number | undefined + /** + * @type string | undefined + */ + sortField?: string | undefined + /** + * @type string | undefined + */ + direction?: ComplaintSearchParamsDirectionEnum | undefined + /** + * @type object | undefined + */ + pageable?: PageableObject | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/CreateAnimeGroupRequest.ts b/app/api/generated/types/CreateAnimeGroupRequest.ts new file mode 100644 index 0000000..0a577fb --- /dev/null +++ b/app/api/generated/types/CreateAnimeGroupRequest.ts @@ -0,0 +1,16 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export type CreateAnimeGroupRequest = { + /** + * @type string | undefined + */ + name?: string | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/CreateAnimeRequest.ts b/app/api/generated/types/CreateAnimeRequest.ts new file mode 100644 index 0000000..407a330 --- /dev/null +++ b/app/api/generated/types/CreateAnimeRequest.ts @@ -0,0 +1,216 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { CharacterDTO } from './CharacterDTO.ts' + +export const createAnimeRequestOriginalSourceEnum = { + MANGA: 'MANGA', + GAME: 'GAME', + LIGHT_NOVEL: 'LIGHT_NOVEL', + FILM: 'FILM', + RANOBE: 'RANOBE', + MANHWA: 'MANHWA', + MANHUA: 'MANHUA', +} as const + +export type CreateAnimeRequestOriginalSourceEnum = (typeof createAnimeRequestOriginalSourceEnum)[keyof typeof createAnimeRequestOriginalSourceEnum] + +export const createAnimeRequestStatusEnum = { + ANNOUNCE: 'ANNOUNCE', + ONGOING: 'ONGOING', + RELEASED: 'RELEASED', +} as const + +export type CreateAnimeRequestStatusEnum = (typeof createAnimeRequestStatusEnum)[keyof typeof createAnimeRequestStatusEnum] + +export const createAnimeRequestTypeEnum = { + TV: 'TV', + MOVIE: 'MOVIE', + OVA: 'OVA', + ONA: 'ONA', + SPECIAL: 'SPECIAL', + TV_SPECIAL: 'TV_SPECIAL', + MUSIC: 'MUSIC', + PV: 'PV', + CM: 'CM', +} as const + +export type CreateAnimeRequestTypeEnum = (typeof createAnimeRequestTypeEnum)[keyof typeof createAnimeRequestTypeEnum] + +export const createAnimeRequestMainGenreEnum = { + DRAMA: 'DRAMA', + GAME: 'GAME', + PSYCHOLOGICAL: 'PSYCHOLOGICAL', + MUSIC: 'MUSIC', + ACTION: 'ACTION', + COMEDY: 'COMEDY', + DEMONS: 'DEMONS', + POLICE: 'POLICE', + ECCHI: 'ECCHI', + FANTASY: 'FANTASY', + HENTAI: 'HENTAI', + HISTORICAL: 'HISTORICAL', + MAGIC: 'MAGIC', + MECHA: 'MECHA', + PARODY: 'PARODY', + SAMURAI: 'SAMURAI', + ROMANCE: 'ROMANCE', + SCHOOL: 'SCHOOL', + SHOUNEN: 'SHOUNEN', + VAMPIRE: 'VAMPIRE', + YAOI: 'YAOI', + YURI: 'YURI', + HAREM: 'HAREM', + SLICE_OF_LIFE: 'SLICE_OF_LIFE', + SHOUJO_AI: 'SHOUJO_AI', + JOSEI: 'JOSEI', + SUPERNATURAL: 'SUPERNATURAL', + THRILLER: 'THRILLER', + SCI_FI: 'SCI_FI', + SHOUJO: 'SHOUJO', + SUPER_POWER: 'SUPER_POWER', + MILITARY: 'MILITARY', + MYSTERY: 'MYSTERY', + KIDS: 'KIDS', + CARS: 'CARS', + MARTIAL_ARTS: 'MARTIAL_ARTS', + DEMENTIA: 'DEMENTIA', + SPORTS: 'SPORTS', + SEINEN: 'SEINEN', + SHOUNEN_AI: 'SHOUNEN_AI', + GOURMET: 'GOURMET', + SPACE: 'SPACE', + WORK_LIFE: 'WORK_LIFE', + HORROR: 'HORROR', + ADVENTURE: 'ADVENTURE', + EROTICA: 'EROTICA', +} as const + +export type CreateAnimeRequestMainGenreEnum = (typeof createAnimeRequestMainGenreEnum)[keyof typeof createAnimeRequestMainGenreEnum] + +export const createAnimeRequestGenresEnum = { + DRAMA: 'DRAMA', + GAME: 'GAME', + PSYCHOLOGICAL: 'PSYCHOLOGICAL', + MUSIC: 'MUSIC', + ACTION: 'ACTION', + COMEDY: 'COMEDY', + DEMONS: 'DEMONS', + POLICE: 'POLICE', + ECCHI: 'ECCHI', + FANTASY: 'FANTASY', + HENTAI: 'HENTAI', + HISTORICAL: 'HISTORICAL', + MAGIC: 'MAGIC', + MECHA: 'MECHA', + PARODY: 'PARODY', + SAMURAI: 'SAMURAI', + ROMANCE: 'ROMANCE', + SCHOOL: 'SCHOOL', + SHOUNEN: 'SHOUNEN', + VAMPIRE: 'VAMPIRE', + YAOI: 'YAOI', + YURI: 'YURI', + HAREM: 'HAREM', + SLICE_OF_LIFE: 'SLICE_OF_LIFE', + SHOUJO_AI: 'SHOUJO_AI', + JOSEI: 'JOSEI', + SUPERNATURAL: 'SUPERNATURAL', + THRILLER: 'THRILLER', + SCI_FI: 'SCI_FI', + SHOUJO: 'SHOUJO', + SUPER_POWER: 'SUPER_POWER', + MILITARY: 'MILITARY', + MYSTERY: 'MYSTERY', + KIDS: 'KIDS', + CARS: 'CARS', + MARTIAL_ARTS: 'MARTIAL_ARTS', + DEMENTIA: 'DEMENTIA', + SPORTS: 'SPORTS', + SEINEN: 'SEINEN', + SHOUNEN_AI: 'SHOUNEN_AI', + GOURMET: 'GOURMET', + SPACE: 'SPACE', + WORK_LIFE: 'WORK_LIFE', + HORROR: 'HORROR', + ADVENTURE: 'ADVENTURE', + EROTICA: 'EROTICA', +} as const + +export type CreateAnimeRequestGenresEnum = (typeof createAnimeRequestGenresEnum)[keyof typeof createAnimeRequestGenresEnum] + +export const createAnimeRequestMpaaRatingEnum = { + G: 'G', + PG: 'PG', + PG_13: 'PG_13', + R: 'R', + NC_17: 'NC_17', +} as const + +export type CreateAnimeRequestMpaaRatingEnum = (typeof createAnimeRequestMpaaRatingEnum)[keyof typeof createAnimeRequestMpaaRatingEnum] + +export type CreateAnimeRequest = { + /** + * @type string + */ + primaryTitle: string + /** + * @type string + */ + description: string + /** + * @type string, date + */ + releasedOn: Date + /** + * @type string | undefined, date + */ + finishedOn?: Date | undefined + /** + * @type string + */ + originalSource: CreateAnimeRequestOriginalSourceEnum + /** + * @type string + */ + status: CreateAnimeRequestStatusEnum + /** + * @type string + */ + type: CreateAnimeRequestTypeEnum + /** + * @type string + */ + mainGenre: CreateAnimeRequestMainGenreEnum + /** + * @type array + */ + genres: CreateAnimeRequestGenresEnum[] + /** + * @type string + */ + mpaaRating: CreateAnimeRequestMpaaRatingEnum + /** + * @type integer, int32 + */ + duration: number + /** + * @type string + */ + shikimoriId: string + /** + * @type string + */ + myanimelistId: string + /** + * @type array | undefined + */ + characters?: CharacterDTO[] | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/CreateAnimeTitleRequest.ts b/app/api/generated/types/CreateAnimeTitleRequest.ts new file mode 100644 index 0000000..1abe376 --- /dev/null +++ b/app/api/generated/types/CreateAnimeTitleRequest.ts @@ -0,0 +1,47 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export const createAnimeTitleRequestTitleTypeEnum = { + ORIGINAL: 'ORIGINAL', + OFFICIAL: 'OFFICIAL', + SYNONYM: 'SYNONYM', + SHORT: 'SHORT', + ROMAJI: 'ROMAJI', + TRANSLITERATION: 'TRANSLITERATION', +} as const + +export type CreateAnimeTitleRequestTitleTypeEnum = (typeof createAnimeTitleRequestTitleTypeEnum)[keyof typeof createAnimeTitleRequestTitleTypeEnum] + +export type CreateAnimeTitleRequest = { + /** + * @type string, uuid + */ + animeId: string + /** + * @type string + */ + title: string + /** + * @type string + */ + languageCode: string + /** + * @type string + */ + titleType: CreateAnimeTitleRequestTitleTypeEnum + /** + * @type boolean + */ + isPrimary: boolean + /** + * @type integer, int32 + */ + sortOrder: number +} \ No newline at end of file diff --git a/app/api/generated/types/CreateCommentRequest.ts b/app/api/generated/types/CreateCommentRequest.ts new file mode 100644 index 0000000..4a47c2a --- /dev/null +++ b/app/api/generated/types/CreateCommentRequest.ts @@ -0,0 +1,37 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export const createCommentRequestObjectTypeEnum = { + EPISODE: 'EPISODE', + ANIME: 'ANIME', +} as const + +export type CreateCommentRequestObjectTypeEnum = (typeof createCommentRequestObjectTypeEnum)[keyof typeof createCommentRequestObjectTypeEnum] + +export type CreateCommentRequest = { + /** + * @minLength 0 + * @maxLength 256 + * @type string + */ + text: string + /** + * @type string | undefined, uuid + */ + objectId?: string | undefined + /** + * @type string | undefined + */ + objectType?: CreateCommentRequestObjectTypeEnum | undefined + /** + * @type string | undefined, uuid + */ + repliesTo?: string | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/CreateComplaintRequest.ts b/app/api/generated/types/CreateComplaintRequest.ts new file mode 100644 index 0000000..77ac072 --- /dev/null +++ b/app/api/generated/types/CreateComplaintRequest.ts @@ -0,0 +1,51 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export const createComplaintRequestObjectTypeEnum = { + PAGE: 'PAGE', + PLAYER: 'PLAYER', + USER: 'USER', + COMMENT: 'COMMENT', + ANIME: 'ANIME', + EPISODE: 'EPISODE', +} as const + +export type CreateComplaintRequestObjectTypeEnum = (typeof createComplaintRequestObjectTypeEnum)[keyof typeof createComplaintRequestObjectTypeEnum] + +export type CreateComplaintRequest = { + /** + * @type string | undefined + */ + objectType?: CreateComplaintRequestObjectTypeEnum | undefined + /** + * @type string | undefined, uuid + */ + objectId?: string | undefined + /** + * @type string, uuid + */ + userId: string + /** + * @minLength 0 + * @maxLength 255 + * @type string + */ + pageUrl: string + /** + * @minLength 0 + * @maxLength 255 + * @type string + */ + userAgent: string + /** + * @type string + */ + content: string +} \ No newline at end of file diff --git a/app/api/generated/types/CreateDubRequest.ts b/app/api/generated/types/CreateDubRequest.ts new file mode 100644 index 0000000..2b2b362 --- /dev/null +++ b/app/api/generated/types/CreateDubRequest.ts @@ -0,0 +1,16 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export type CreateDubRequest = { + /** + * @type string + */ + name: string +} \ No newline at end of file diff --git a/app/api/generated/types/CreateEpisodeRequest.ts b/app/api/generated/types/CreateEpisodeRequest.ts new file mode 100644 index 0000000..c562768 --- /dev/null +++ b/app/api/generated/types/CreateEpisodeRequest.ts @@ -0,0 +1,24 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export type CreateEpisodeRequest = { + /** + * @type string, uuid + */ + animeId: string + /** + * @type string + */ + title: string + /** + * @type string | undefined, date + */ + releasedOn?: Date | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/CreatedAnimeDTO.ts b/app/api/generated/types/CreatedAnimeDTO.ts new file mode 100644 index 0000000..e474c16 --- /dev/null +++ b/app/api/generated/types/CreatedAnimeDTO.ts @@ -0,0 +1,141 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { CharacterDTO } from './CharacterDTO.ts' + +export const createdAnimeDTOStatusEnum = { + ANNOUNCE: 'ANNOUNCE', + ONGOING: 'ONGOING', + RELEASED: 'RELEASED', +} as const + +export type CreatedAnimeDTOStatusEnum = (typeof createdAnimeDTOStatusEnum)[keyof typeof createdAnimeDTOStatusEnum] + +export const createdAnimeDTOTypeEnum = { + TV: 'TV', + MOVIE: 'MOVIE', + OVA: 'OVA', + ONA: 'ONA', + SPECIAL: 'SPECIAL', + TV_SPECIAL: 'TV_SPECIAL', + MUSIC: 'MUSIC', + PV: 'PV', + CM: 'CM', +} as const + +export type CreatedAnimeDTOTypeEnum = (typeof createdAnimeDTOTypeEnum)[keyof typeof createdAnimeDTOTypeEnum] + +export const createdAnimeDTOGenresEnum = { + DRAMA: 'DRAMA', + GAME: 'GAME', + PSYCHOLOGICAL: 'PSYCHOLOGICAL', + MUSIC: 'MUSIC', + ACTION: 'ACTION', + COMEDY: 'COMEDY', + DEMONS: 'DEMONS', + POLICE: 'POLICE', + ECCHI: 'ECCHI', + FANTASY: 'FANTASY', + HENTAI: 'HENTAI', + HISTORICAL: 'HISTORICAL', + MAGIC: 'MAGIC', + MECHA: 'MECHA', + PARODY: 'PARODY', + SAMURAI: 'SAMURAI', + ROMANCE: 'ROMANCE', + SCHOOL: 'SCHOOL', + SHOUNEN: 'SHOUNEN', + VAMPIRE: 'VAMPIRE', + YAOI: 'YAOI', + YURI: 'YURI', + HAREM: 'HAREM', + SLICE_OF_LIFE: 'SLICE_OF_LIFE', + SHOUJO_AI: 'SHOUJO_AI', + JOSEI: 'JOSEI', + SUPERNATURAL: 'SUPERNATURAL', + THRILLER: 'THRILLER', + SCI_FI: 'SCI_FI', + SHOUJO: 'SHOUJO', + SUPER_POWER: 'SUPER_POWER', + MILITARY: 'MILITARY', + MYSTERY: 'MYSTERY', + KIDS: 'KIDS', + CARS: 'CARS', + MARTIAL_ARTS: 'MARTIAL_ARTS', + DEMENTIA: 'DEMENTIA', + SPORTS: 'SPORTS', + SEINEN: 'SEINEN', + SHOUNEN_AI: 'SHOUNEN_AI', + GOURMET: 'GOURMET', + SPACE: 'SPACE', + WORK_LIFE: 'WORK_LIFE', + HORROR: 'HORROR', + ADVENTURE: 'ADVENTURE', + EROTICA: 'EROTICA', +} as const + +export type CreatedAnimeDTOGenresEnum = (typeof createdAnimeDTOGenresEnum)[keyof typeof createdAnimeDTOGenresEnum] + +export const createdAnimeDTOMpaaRatingEnum = { + G: 'G', + PG: 'PG', + PG_13: 'PG_13', + R: 'R', + NC_17: 'NC_17', +} as const + +export type CreatedAnimeDTOMpaaRatingEnum = (typeof createdAnimeDTOMpaaRatingEnum)[keyof typeof createdAnimeDTOMpaaRatingEnum] + +export type CreatedAnimeDTO = { + /** + * @type string | undefined, uuid + */ + id?: string | undefined + /** + * @type string | undefined + */ + primaryTitle?: string | undefined + /** + * @type string | undefined + */ + description?: string | undefined + /** + * @type string | undefined, date + */ + releasedOn?: Date | undefined + /** + * @type integer | undefined, int32 + */ + episodesCount?: number | undefined + /** + * @type string | undefined + */ + status?: CreatedAnimeDTOStatusEnum | undefined + /** + * @type string | undefined + */ + type?: CreatedAnimeDTOTypeEnum | undefined + /** + * @type array | undefined + */ + genres?: CreatedAnimeDTOGenresEnum[] | undefined + /** + * @type string | undefined + */ + mpaaRating?: CreatedAnimeDTOMpaaRatingEnum | undefined + /** + * @type integer | undefined, int32 + */ + duration?: number | undefined + /** + * @type array | undefined + */ + characters?: CharacterDTO[] | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/DeleteAnimeFromGroupRequest.ts b/app/api/generated/types/DeleteAnimeFromGroupRequest.ts new file mode 100644 index 0000000..bf527d2 --- /dev/null +++ b/app/api/generated/types/DeleteAnimeFromGroupRequest.ts @@ -0,0 +1,20 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export type DeleteAnimeFromGroupRequest = { + /** + * @type string | undefined, uuid + */ + id?: string | undefined + /** + * @type array | undefined + */ + animeIds?: string[] | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/DubDTO.ts b/app/api/generated/types/DubDTO.ts new file mode 100644 index 0000000..a9ef732 --- /dev/null +++ b/app/api/generated/types/DubDTO.ts @@ -0,0 +1,26 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { EpisodeDTO } from './EpisodeDTO.ts' + +export type DubDTO = { + /** + * @type string | undefined, uuid + */ + id?: string | undefined + /** + * @type string | undefined + */ + name?: string | undefined + /** + * @type array | undefined + */ + episodes?: EpisodeDTO[] | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/EpisodeDTO.ts b/app/api/generated/types/EpisodeDTO.ts new file mode 100644 index 0000000..35b1142 --- /dev/null +++ b/app/api/generated/types/EpisodeDTO.ts @@ -0,0 +1,46 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { AnimeCardDTO } from './AnimeCardDTO.ts' + +export type EpisodeDTO = { + /** + * @type string | undefined, uuid + */ + id?: string | undefined + /** + * @type integer | undefined, int32 + */ + ordinalId?: number | undefined + /** + * @type string | undefined + */ + title?: string | undefined + /** + * @type integer | undefined, int32 + */ + views?: number | undefined + /** + * @type integer | undefined, int32 + */ + likes?: number | undefined + /** + * @type integer | undefined, int32 + */ + dislikes?: number | undefined + /** + * @type object | undefined + */ + anime?: AnimeCardDTO | undefined + /** + * @type string | undefined, date + */ + releasedOn?: Date | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/ErrorDTO.ts b/app/api/generated/types/ErrorDTO.ts new file mode 100644 index 0000000..9a0dc7b --- /dev/null +++ b/app/api/generated/types/ErrorDTO.ts @@ -0,0 +1,102 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export const errorDTOStatusEnum = { + '100 CONTINUE': '100 CONTINUE', + '101 SWITCHING_PROTOCOLS': '101 SWITCHING_PROTOCOLS', + '102 PROCESSING': '102 PROCESSING', + '103 EARLY_HINTS': '103 EARLY_HINTS', + '103 CHECKPOINT': '103 CHECKPOINT', + '200 OK': '200 OK', + '201 CREATED': '201 CREATED', + '202 ACCEPTED': '202 ACCEPTED', + '203 NON_AUTHORITATIVE_INFORMATION': '203 NON_AUTHORITATIVE_INFORMATION', + '204 NO_CONTENT': '204 NO_CONTENT', + '205 RESET_CONTENT': '205 RESET_CONTENT', + '206 PARTIAL_CONTENT': '206 PARTIAL_CONTENT', + '207 MULTI_STATUS': '207 MULTI_STATUS', + '208 ALREADY_REPORTED': '208 ALREADY_REPORTED', + '226 IM_USED': '226 IM_USED', + '300 MULTIPLE_CHOICES': '300 MULTIPLE_CHOICES', + '301 MOVED_PERMANENTLY': '301 MOVED_PERMANENTLY', + '302 FOUND': '302 FOUND', + '302 MOVED_TEMPORARILY': '302 MOVED_TEMPORARILY', + '303 SEE_OTHER': '303 SEE_OTHER', + '304 NOT_MODIFIED': '304 NOT_MODIFIED', + '305 USE_PROXY': '305 USE_PROXY', + '307 TEMPORARY_REDIRECT': '307 TEMPORARY_REDIRECT', + '308 PERMANENT_REDIRECT': '308 PERMANENT_REDIRECT', + '400 BAD_REQUEST': '400 BAD_REQUEST', + '401 UNAUTHORIZED': '401 UNAUTHORIZED', + '402 PAYMENT_REQUIRED': '402 PAYMENT_REQUIRED', + '403 FORBIDDEN': '403 FORBIDDEN', + '404 NOT_FOUND': '404 NOT_FOUND', + '405 METHOD_NOT_ALLOWED': '405 METHOD_NOT_ALLOWED', + '406 NOT_ACCEPTABLE': '406 NOT_ACCEPTABLE', + '407 PROXY_AUTHENTICATION_REQUIRED': '407 PROXY_AUTHENTICATION_REQUIRED', + '408 REQUEST_TIMEOUT': '408 REQUEST_TIMEOUT', + '409 CONFLICT': '409 CONFLICT', + '410 GONE': '410 GONE', + '411 LENGTH_REQUIRED': '411 LENGTH_REQUIRED', + '412 PRECONDITION_FAILED': '412 PRECONDITION_FAILED', + '413 PAYLOAD_TOO_LARGE': '413 PAYLOAD_TOO_LARGE', + '413 REQUEST_ENTITY_TOO_LARGE': '413 REQUEST_ENTITY_TOO_LARGE', + '414 URI_TOO_LONG': '414 URI_TOO_LONG', + '414 REQUEST_URI_TOO_LONG': '414 REQUEST_URI_TOO_LONG', + '415 UNSUPPORTED_MEDIA_TYPE': '415 UNSUPPORTED_MEDIA_TYPE', + '416 REQUESTED_RANGE_NOT_SATISFIABLE': '416 REQUESTED_RANGE_NOT_SATISFIABLE', + '417 EXPECTATION_FAILED': '417 EXPECTATION_FAILED', + '418 I_AM_A_TEAPOT': '418 I_AM_A_TEAPOT', + '419 INSUFFICIENT_SPACE_ON_RESOURCE': '419 INSUFFICIENT_SPACE_ON_RESOURCE', + '420 METHOD_FAILURE': '420 METHOD_FAILURE', + '421 DESTINATION_LOCKED': '421 DESTINATION_LOCKED', + '422 UNPROCESSABLE_ENTITY': '422 UNPROCESSABLE_ENTITY', + '423 LOCKED': '423 LOCKED', + '424 FAILED_DEPENDENCY': '424 FAILED_DEPENDENCY', + '425 TOO_EARLY': '425 TOO_EARLY', + '426 UPGRADE_REQUIRED': '426 UPGRADE_REQUIRED', + '428 PRECONDITION_REQUIRED': '428 PRECONDITION_REQUIRED', + '429 TOO_MANY_REQUESTS': '429 TOO_MANY_REQUESTS', + '431 REQUEST_HEADER_FIELDS_TOO_LARGE': '431 REQUEST_HEADER_FIELDS_TOO_LARGE', + '451 UNAVAILABLE_FOR_LEGAL_REASONS': '451 UNAVAILABLE_FOR_LEGAL_REASONS', + '500 INTERNAL_SERVER_ERROR': '500 INTERNAL_SERVER_ERROR', + '501 NOT_IMPLEMENTED': '501 NOT_IMPLEMENTED', + '502 BAD_GATEWAY': '502 BAD_GATEWAY', + '503 SERVICE_UNAVAILABLE': '503 SERVICE_UNAVAILABLE', + '504 GATEWAY_TIMEOUT': '504 GATEWAY_TIMEOUT', + '505 HTTP_VERSION_NOT_SUPPORTED': '505 HTTP_VERSION_NOT_SUPPORTED', + '506 VARIANT_ALSO_NEGOTIATES': '506 VARIANT_ALSO_NEGOTIATES', + '507 INSUFFICIENT_STORAGE': '507 INSUFFICIENT_STORAGE', + '508 LOOP_DETECTED': '508 LOOP_DETECTED', + '509 BANDWIDTH_LIMIT_EXCEEDED': '509 BANDWIDTH_LIMIT_EXCEEDED', + '510 NOT_EXTENDED': '510 NOT_EXTENDED', + '511 NETWORK_AUTHENTICATION_REQUIRED': '511 NETWORK_AUTHENTICATION_REQUIRED', +} as const + +export type ErrorDTOStatusEnum = (typeof errorDTOStatusEnum)[keyof typeof errorDTOStatusEnum] + +export type ErrorDTO = { + /** + * @type string | undefined, date-time + */ + time?: Date | undefined + /** + * @type string | undefined + */ + status?: ErrorDTOStatusEnum | undefined + /** + * @type object | undefined + */ + errors?: + | { + [key: string]: string + } + | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/IncreasePopularityRequest.ts b/app/api/generated/types/IncreasePopularityRequest.ts new file mode 100644 index 0000000..ee98075 --- /dev/null +++ b/app/api/generated/types/IncreasePopularityRequest.ts @@ -0,0 +1,16 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export type IncreasePopularityRequest = { + /** + * @type string | undefined, uuid + */ + animeId?: string | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/Page.ts b/app/api/generated/types/Page.ts new file mode 100644 index 0000000..58fdc18 --- /dev/null +++ b/app/api/generated/types/Page.ts @@ -0,0 +1,59 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { PageableObject } from './PageableObject.ts' +import type { SortObject } from './SortObject.ts' + +export type Page = { + /** + * @type integer | undefined, int64 + */ + totalElements?: number | undefined + /** + * @type integer | undefined, int32 + */ + totalPages?: number | undefined + /** + * @type object | undefined + */ + pageable?: PageableObject | undefined + /** + * @type integer | undefined, int32 + */ + numberOfElements?: number | undefined + /** + * @type array | undefined + */ + sort?: SortObject[] | undefined + /** + * @type boolean | undefined + */ + first?: boolean | undefined + /** + * @type boolean | undefined + */ + last?: boolean | undefined + /** + * @type integer | undefined, int32 + */ + size?: number | undefined + /** + * @type array | undefined + */ + content?: object[] | undefined + /** + * @type integer | undefined, int32 + */ + number?: number | undefined + /** + * @type boolean | undefined + */ + empty?: boolean | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/PageAnimeCardDTO.ts b/app/api/generated/types/PageAnimeCardDTO.ts new file mode 100644 index 0000000..eb1c9d7 --- /dev/null +++ b/app/api/generated/types/PageAnimeCardDTO.ts @@ -0,0 +1,60 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { AnimeCardDTO } from './AnimeCardDTO.ts' +import type { PageableObject } from './PageableObject.ts' +import type { SortObject } from './SortObject.ts' + +export type PageAnimeCardDTO = { + /** + * @type integer | undefined, int64 + */ + totalElements?: number | undefined + /** + * @type integer | undefined, int32 + */ + totalPages?: number | undefined + /** + * @type object | undefined + */ + pageable?: PageableObject | undefined + /** + * @type integer | undefined, int32 + */ + numberOfElements?: number | undefined + /** + * @type array | undefined + */ + sort?: SortObject[] | undefined + /** + * @type boolean | undefined + */ + first?: boolean | undefined + /** + * @type boolean | undefined + */ + last?: boolean | undefined + /** + * @type integer | undefined, int32 + */ + size?: number | undefined + /** + * @type array | undefined + */ + content?: AnimeCardDTO[] | undefined + /** + * @type integer | undefined, int32 + */ + number?: number | undefined + /** + * @type boolean | undefined + */ + empty?: boolean | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/PageAnimeTitleDTO.ts b/app/api/generated/types/PageAnimeTitleDTO.ts new file mode 100644 index 0000000..c25a41f --- /dev/null +++ b/app/api/generated/types/PageAnimeTitleDTO.ts @@ -0,0 +1,60 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { AnimeTitleDTO } from './AnimeTitleDTO.ts' +import type { PageableObject } from './PageableObject.ts' +import type { SortObject } from './SortObject.ts' + +export type PageAnimeTitleDTO = { + /** + * @type integer | undefined, int64 + */ + totalElements?: number | undefined + /** + * @type integer | undefined, int32 + */ + totalPages?: number | undefined + /** + * @type object | undefined + */ + pageable?: PageableObject | undefined + /** + * @type integer | undefined, int32 + */ + numberOfElements?: number | undefined + /** + * @type array | undefined + */ + sort?: SortObject[] | undefined + /** + * @type boolean | undefined + */ + first?: boolean | undefined + /** + * @type boolean | undefined + */ + last?: boolean | undefined + /** + * @type integer | undefined, int32 + */ + size?: number | undefined + /** + * @type array | undefined + */ + content?: AnimeTitleDTO[] | undefined + /** + * @type integer | undefined, int32 + */ + number?: number | undefined + /** + * @type boolean | undefined + */ + empty?: boolean | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/PageComplaintDto.ts b/app/api/generated/types/PageComplaintDto.ts new file mode 100644 index 0000000..f4c7510 --- /dev/null +++ b/app/api/generated/types/PageComplaintDto.ts @@ -0,0 +1,60 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { ComplaintDto } from './ComplaintDto.ts' +import type { PageableObject } from './PageableObject.ts' +import type { SortObject } from './SortObject.ts' + +export type PageComplaintDto = { + /** + * @type integer | undefined, int64 + */ + totalElements?: number | undefined + /** + * @type integer | undefined, int32 + */ + totalPages?: number | undefined + /** + * @type object | undefined + */ + pageable?: PageableObject | undefined + /** + * @type integer | undefined, int32 + */ + numberOfElements?: number | undefined + /** + * @type array | undefined + */ + sort?: SortObject[] | undefined + /** + * @type boolean | undefined + */ + first?: boolean | undefined + /** + * @type boolean | undefined + */ + last?: boolean | undefined + /** + * @type integer | undefined, int32 + */ + size?: number | undefined + /** + * @type array | undefined + */ + content?: ComplaintDto[] | undefined + /** + * @type integer | undefined, int32 + */ + number?: number | undefined + /** + * @type boolean | undefined + */ + empty?: boolean | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/Pageable.ts b/app/api/generated/types/Pageable.ts new file mode 100644 index 0000000..616cbde --- /dev/null +++ b/app/api/generated/types/Pageable.ts @@ -0,0 +1,26 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export type Pageable = { + /** + * @minLength 0 + * @type integer | undefined, int32 + */ + page?: number | undefined + /** + * @minLength 1 + * @type integer | undefined, int32 + */ + size?: number | undefined + /** + * @type array | undefined + */ + sort?: string[] | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/PageableObject.ts b/app/api/generated/types/PageableObject.ts new file mode 100644 index 0000000..f8cb51d --- /dev/null +++ b/app/api/generated/types/PageableObject.ts @@ -0,0 +1,38 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { SortObject } from './SortObject.ts' + +export type PageableObject = { + /** + * @type boolean | undefined + */ + unpaged?: boolean | undefined + /** + * @type boolean | undefined + */ + paged?: boolean | undefined + /** + * @type integer | undefined, int32 + */ + pageNumber?: number | undefined + /** + * @type integer | undefined, int32 + */ + pageSize?: number | undefined + /** + * @type array | undefined + */ + sort?: SortObject[] | undefined + /** + * @type integer | undefined, int64 + */ + offset?: number | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/SortObject.ts b/app/api/generated/types/SortObject.ts new file mode 100644 index 0000000..6a22fdd --- /dev/null +++ b/app/api/generated/types/SortObject.ts @@ -0,0 +1,32 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export type SortObject = { + /** + * @type string | undefined + */ + direction?: string | undefined + /** + * @type string | undefined + */ + nullHandling?: string | undefined + /** + * @type boolean | undefined + */ + ascending?: boolean | undefined + /** + * @type string | undefined + */ + property?: string | undefined + /** + * @type boolean | undefined + */ + ignoreCase?: boolean | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/StudioDTO.ts b/app/api/generated/types/StudioDTO.ts new file mode 100644 index 0000000..417b03d --- /dev/null +++ b/app/api/generated/types/StudioDTO.ts @@ -0,0 +1,20 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export type StudioDTO = { + /** + * @type string | undefined, uuid + */ + id?: string | undefined + /** + * @type string | undefined + */ + name?: string | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/UpdateAnimeGroupRequest.ts b/app/api/generated/types/UpdateAnimeGroupRequest.ts new file mode 100644 index 0000000..ac05409 --- /dev/null +++ b/app/api/generated/types/UpdateAnimeGroupRequest.ts @@ -0,0 +1,20 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export type UpdateAnimeGroupRequest = { + /** + * @type string | undefined, uuid + */ + id?: string | undefined + /** + * @type string | undefined + */ + name?: string | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/UpdateAnimeRequest.ts b/app/api/generated/types/UpdateAnimeRequest.ts new file mode 100644 index 0000000..d98c316 --- /dev/null +++ b/app/api/generated/types/UpdateAnimeRequest.ts @@ -0,0 +1,153 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { CharacterDTO } from './CharacterDTO.ts' + +export const updateAnimeRequestStatusEnum = { + ANNOUNCE: 'ANNOUNCE', + ONGOING: 'ONGOING', + RELEASED: 'RELEASED', +} as const + +export type UpdateAnimeRequestStatusEnum = (typeof updateAnimeRequestStatusEnum)[keyof typeof updateAnimeRequestStatusEnum] + +export const updateAnimeRequestTypeEnum = { + TV: 'TV', + MOVIE: 'MOVIE', + OVA: 'OVA', + ONA: 'ONA', + SPECIAL: 'SPECIAL', + TV_SPECIAL: 'TV_SPECIAL', + MUSIC: 'MUSIC', + PV: 'PV', + CM: 'CM', +} as const + +export type UpdateAnimeRequestTypeEnum = (typeof updateAnimeRequestTypeEnum)[keyof typeof updateAnimeRequestTypeEnum] + +export const updateAnimeRequestGenresEnum = { + DRAMA: 'DRAMA', + GAME: 'GAME', + PSYCHOLOGICAL: 'PSYCHOLOGICAL', + MUSIC: 'MUSIC', + ACTION: 'ACTION', + COMEDY: 'COMEDY', + DEMONS: 'DEMONS', + POLICE: 'POLICE', + ECCHI: 'ECCHI', + FANTASY: 'FANTASY', + HENTAI: 'HENTAI', + HISTORICAL: 'HISTORICAL', + MAGIC: 'MAGIC', + MECHA: 'MECHA', + PARODY: 'PARODY', + SAMURAI: 'SAMURAI', + ROMANCE: 'ROMANCE', + SCHOOL: 'SCHOOL', + SHOUNEN: 'SHOUNEN', + VAMPIRE: 'VAMPIRE', + YAOI: 'YAOI', + YURI: 'YURI', + HAREM: 'HAREM', + SLICE_OF_LIFE: 'SLICE_OF_LIFE', + SHOUJO_AI: 'SHOUJO_AI', + JOSEI: 'JOSEI', + SUPERNATURAL: 'SUPERNATURAL', + THRILLER: 'THRILLER', + SCI_FI: 'SCI_FI', + SHOUJO: 'SHOUJO', + SUPER_POWER: 'SUPER_POWER', + MILITARY: 'MILITARY', + MYSTERY: 'MYSTERY', + KIDS: 'KIDS', + CARS: 'CARS', + MARTIAL_ARTS: 'MARTIAL_ARTS', + DEMENTIA: 'DEMENTIA', + SPORTS: 'SPORTS', + SEINEN: 'SEINEN', + SHOUNEN_AI: 'SHOUNEN_AI', + GOURMET: 'GOURMET', + SPACE: 'SPACE', + WORK_LIFE: 'WORK_LIFE', + HORROR: 'HORROR', + ADVENTURE: 'ADVENTURE', + EROTICA: 'EROTICA', +} as const + +export type UpdateAnimeRequestGenresEnum = (typeof updateAnimeRequestGenresEnum)[keyof typeof updateAnimeRequestGenresEnum] + +export const updateAnimeRequestMpaaRatingEnum = { + G: 'G', + PG: 'PG', + PG_13: 'PG_13', + R: 'R', + NC_17: 'NC_17', +} as const + +export type UpdateAnimeRequestMpaaRatingEnum = (typeof updateAnimeRequestMpaaRatingEnum)[keyof typeof updateAnimeRequestMpaaRatingEnum] + +export type UpdateAnimeRequest = { + /** + * @type string, uuid + */ + id: string + /** + * @type string + */ + primaryTitle: string + /** + * @type string + */ + description: string + /** + * @type string | undefined, date + */ + airedOn?: Date | undefined + /** + * @type string, date + */ + releasedOn: Date + /** + * @type integer, int32 + */ + episodesCount: number + /** + * @type string + */ + status: UpdateAnimeRequestStatusEnum + /** + * @type string + */ + type: UpdateAnimeRequestTypeEnum + /** + * @type array + */ + genres: UpdateAnimeRequestGenresEnum[] + /** + * @type string + */ + mpaaRating: UpdateAnimeRequestMpaaRatingEnum + /** + * @type integer, int32 + */ + duration: number + /** + * @type string + */ + shikimoriId: string + /** + * @type string + */ + myanimelistId: string + /** + * @type array | undefined + */ + characters?: CharacterDTO[] | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/UpdateAnimeTitleRequest.ts b/app/api/generated/types/UpdateAnimeTitleRequest.ts new file mode 100644 index 0000000..c0f3722 --- /dev/null +++ b/app/api/generated/types/UpdateAnimeTitleRequest.ts @@ -0,0 +1,51 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export const updateAnimeTitleRequestTitleTypeEnum = { + ORIGINAL: 'ORIGINAL', + OFFICIAL: 'OFFICIAL', + SYNONYM: 'SYNONYM', + SHORT: 'SHORT', + ROMAJI: 'ROMAJI', + TRANSLITERATION: 'TRANSLITERATION', +} as const + +export type UpdateAnimeTitleRequestTitleTypeEnum = (typeof updateAnimeTitleRequestTitleTypeEnum)[keyof typeof updateAnimeTitleRequestTitleTypeEnum] + +export type UpdateAnimeTitleRequest = { + /** + * @type string | undefined, uuid + */ + id?: string | undefined + /** + * @type string | undefined, uuid + */ + animeId?: string | undefined + /** + * @type string | undefined + */ + title?: string | undefined + /** + * @type string | undefined + */ + languageCode?: string | undefined + /** + * @type string | undefined + */ + titleType?: UpdateAnimeTitleRequestTitleTypeEnum | undefined + /** + * @type boolean | undefined + */ + isPrimary?: boolean | undefined + /** + * @type integer | undefined, int32 + */ + sortOrder?: number | undefined +} \ No newline at end of file diff --git a/app/api/generated/types/UpdateCommentRequest.ts b/app/api/generated/types/UpdateCommentRequest.ts new file mode 100644 index 0000000..206bbdf --- /dev/null +++ b/app/api/generated/types/UpdateCommentRequest.ts @@ -0,0 +1,22 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export type UpdateCommentRequest = { + /** + * @type string, uuid + */ + id: string + /** + * @minLength 0 + * @maxLength 256 + * @type string + */ + text: string +} \ No newline at end of file diff --git a/app/api/generated/types/UpdateEpisodeRequest.ts b/app/api/generated/types/UpdateEpisodeRequest.ts new file mode 100644 index 0000000..8f8b8ce --- /dev/null +++ b/app/api/generated/types/UpdateEpisodeRequest.ts @@ -0,0 +1,24 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export type UpdateEpisodeRequest = { + /** + * @type string + */ + title: string + /** + * @type string | undefined, date + */ + releasedOn?: Date | undefined + /** + * @type boolean + */ + isModerated: boolean +} \ No newline at end of file diff --git a/app/api/generated/types/animeControllerController/CreateAnime.ts b/app/api/generated/types/animeControllerController/CreateAnime.ts new file mode 100644 index 0000000..761a575 --- /dev/null +++ b/app/api/generated/types/animeControllerController/CreateAnime.ts @@ -0,0 +1,33 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { CreateAnimeRequest } from '../CreateAnimeRequest.ts' +import type { CreatedAnimeDTO } from '../CreatedAnimeDTO.ts' +import type { ErrorDTO } from '../ErrorDTO.ts' + +/** + * @description Аниме успешно создано + */ +export type CreateAnime200 = CreatedAnimeDTO + +/** + * @description Аниме не прошло валидацию + */ +export type CreateAnime400 = ErrorDTO + +export type CreateAnimeMutationRequest = CreateAnimeRequest + +export type CreateAnimeMutationResponse = CreateAnime200 + +export type CreateAnimeMutation = { + Response: CreateAnime200 + Request: CreateAnimeMutationRequest + Errors: CreateAnime400 +} \ No newline at end of file diff --git a/app/api/generated/types/animeControllerController/DeleteById.ts b/app/api/generated/types/animeControllerController/DeleteById.ts new file mode 100644 index 0000000..7961edf --- /dev/null +++ b/app/api/generated/types/animeControllerController/DeleteById.ts @@ -0,0 +1,29 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export type DeleteByIdPathParams = { + /** + * @type string, uuid + */ + id: string +} + +/** + * @description Оправляет 204 статус вне зависимости, удалено аниме или нет + */ +export type DeleteById204 = unknown + +export type DeleteByIdMutationResponse = DeleteById204 + +export type DeleteByIdMutation = { + Response: DeleteById204 + PathParams: DeleteByIdPathParams + Errors: any +} \ No newline at end of file diff --git a/app/api/generated/types/animeControllerController/FindById.ts b/app/api/generated/types/animeControllerController/FindById.ts new file mode 100644 index 0000000..cee87fb --- /dev/null +++ b/app/api/generated/types/animeControllerController/FindById.ts @@ -0,0 +1,37 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { AnimeDTO } from '../AnimeDTO.ts' +import type { ErrorDTO } from '../ErrorDTO.ts' + +export type FindByIdPathParams = { + /** + * @type string, uuid + */ + id: string +} + +/** + * @description Аниме найдено + */ +export type FindById200 = AnimeDTO + +/** + * @description Аниме не найдено + */ +export type FindById404 = ErrorDTO + +export type FindByIdQueryResponse = FindById200 + +export type FindByIdQuery = { + Response: FindById200 + PathParams: FindByIdPathParams + Errors: FindById404 +} \ No newline at end of file diff --git a/app/api/generated/types/animeControllerController/FindSimilar.ts b/app/api/generated/types/animeControllerController/FindSimilar.ts new file mode 100644 index 0000000..7f7411f --- /dev/null +++ b/app/api/generated/types/animeControllerController/FindSimilar.ts @@ -0,0 +1,40 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { Pageable } from '../Pageable.ts' +import type { PageAnimeCardDTO } from '../PageAnimeCardDTO.ts' + +export type FindSimilarPathParams = { + /** + * @type string, uuid + */ + animeId: string +} + +export type FindSimilarQueryParams = { + /** + * @type object + */ + pageable: Pageable +} + +/** + * @description OK + */ +export type FindSimilar200 = PageAnimeCardDTO + +export type FindSimilarQueryResponse = FindSimilar200 + +export type FindSimilarQuery = { + Response: FindSimilar200 + PathParams: FindSimilarPathParams + QueryParams: FindSimilarQueryParams + Errors: any +} \ No newline at end of file diff --git a/app/api/generated/types/animeControllerController/GetAllGenres.ts b/app/api/generated/types/animeControllerController/GetAllGenres.ts new file mode 100644 index 0000000..36d0487 --- /dev/null +++ b/app/api/generated/types/animeControllerController/GetAllGenres.ts @@ -0,0 +1,72 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export const getAllGenres200Enum = { + DRAMA: 'DRAMA', + GAME: 'GAME', + PSYCHOLOGICAL: 'PSYCHOLOGICAL', + MUSIC: 'MUSIC', + ACTION: 'ACTION', + COMEDY: 'COMEDY', + DEMONS: 'DEMONS', + POLICE: 'POLICE', + ECCHI: 'ECCHI', + FANTASY: 'FANTASY', + HENTAI: 'HENTAI', + HISTORICAL: 'HISTORICAL', + MAGIC: 'MAGIC', + MECHA: 'MECHA', + PARODY: 'PARODY', + SAMURAI: 'SAMURAI', + ROMANCE: 'ROMANCE', + SCHOOL: 'SCHOOL', + SHOUNEN: 'SHOUNEN', + VAMPIRE: 'VAMPIRE', + YAOI: 'YAOI', + YURI: 'YURI', + HAREM: 'HAREM', + SLICE_OF_LIFE: 'SLICE_OF_LIFE', + SHOUJO_AI: 'SHOUJO_AI', + JOSEI: 'JOSEI', + SUPERNATURAL: 'SUPERNATURAL', + THRILLER: 'THRILLER', + SCI_FI: 'SCI_FI', + SHOUJO: 'SHOUJO', + SUPER_POWER: 'SUPER_POWER', + MILITARY: 'MILITARY', + MYSTERY: 'MYSTERY', + KIDS: 'KIDS', + CARS: 'CARS', + MARTIAL_ARTS: 'MARTIAL_ARTS', + DEMENTIA: 'DEMENTIA', + SPORTS: 'SPORTS', + SEINEN: 'SEINEN', + SHOUNEN_AI: 'SHOUNEN_AI', + GOURMET: 'GOURMET', + SPACE: 'SPACE', + WORK_LIFE: 'WORK_LIFE', + HORROR: 'HORROR', + ADVENTURE: 'ADVENTURE', + EROTICA: 'EROTICA', +} as const + +export type GetAllGenres200Enum = (typeof getAllGenres200Enum)[keyof typeof getAllGenres200Enum] + +/** + * @description OK + */ +export type GetAllGenres200 = GetAllGenres200Enum[] + +export type GetAllGenresQueryResponse = GetAllGenres200 + +export type GetAllGenresQuery = { + Response: GetAllGenres200 + Errors: any +} \ No newline at end of file diff --git a/app/api/generated/types/animeControllerController/GetAllMpaaRatings.ts b/app/api/generated/types/animeControllerController/GetAllMpaaRatings.ts new file mode 100644 index 0000000..bc1b041 --- /dev/null +++ b/app/api/generated/types/animeControllerController/GetAllMpaaRatings.ts @@ -0,0 +1,31 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export const getAllMpaaRatings200Enum = { + G: 'G', + PG: 'PG', + PG_13: 'PG_13', + R: 'R', + NC_17: 'NC_17', +} as const + +export type GetAllMpaaRatings200Enum = (typeof getAllMpaaRatings200Enum)[keyof typeof getAllMpaaRatings200Enum] + +/** + * @description OK + */ +export type GetAllMpaaRatings200 = GetAllMpaaRatings200Enum[] + +export type GetAllMpaaRatingsQueryResponse = GetAllMpaaRatings200 + +export type GetAllMpaaRatingsQuery = { + Response: GetAllMpaaRatings200 + Errors: any +} \ No newline at end of file diff --git a/app/api/generated/types/animeControllerController/GetAllStatuses.ts b/app/api/generated/types/animeControllerController/GetAllStatuses.ts new file mode 100644 index 0000000..db432f3 --- /dev/null +++ b/app/api/generated/types/animeControllerController/GetAllStatuses.ts @@ -0,0 +1,29 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export const getAllStatuses200Enum = { + ANNOUNCE: 'ANNOUNCE', + ONGOING: 'ONGOING', + RELEASED: 'RELEASED', +} as const + +export type GetAllStatuses200Enum = (typeof getAllStatuses200Enum)[keyof typeof getAllStatuses200Enum] + +/** + * @description OK + */ +export type GetAllStatuses200 = GetAllStatuses200Enum[] + +export type GetAllStatusesQueryResponse = GetAllStatuses200 + +export type GetAllStatusesQuery = { + Response: GetAllStatuses200 + Errors: any +} \ No newline at end of file diff --git a/app/api/generated/types/animeControllerController/GetAllTypes.ts b/app/api/generated/types/animeControllerController/GetAllTypes.ts new file mode 100644 index 0000000..0f3f3d4 --- /dev/null +++ b/app/api/generated/types/animeControllerController/GetAllTypes.ts @@ -0,0 +1,35 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export const getAllTypes200Enum = { + TV: 'TV', + MOVIE: 'MOVIE', + OVA: 'OVA', + ONA: 'ONA', + SPECIAL: 'SPECIAL', + TV_SPECIAL: 'TV_SPECIAL', + MUSIC: 'MUSIC', + PV: 'PV', + CM: 'CM', +} as const + +export type GetAllTypes200Enum = (typeof getAllTypes200Enum)[keyof typeof getAllTypes200Enum] + +/** + * @description OK + */ +export type GetAllTypes200 = GetAllTypes200Enum[] + +export type GetAllTypesQueryResponse = GetAllTypes200 + +export type GetAllTypesQuery = { + Response: GetAllTypes200 + Errors: any +} \ No newline at end of file diff --git a/app/api/generated/types/animeControllerController/GetPage.ts b/app/api/generated/types/animeControllerController/GetPage.ts new file mode 100644 index 0000000..6c93fe6 --- /dev/null +++ b/app/api/generated/types/animeControllerController/GetPage.ts @@ -0,0 +1,54 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { AnimeSearchCriteria } from '../AnimeSearchCriteria.ts' +import type { ErrorDTO } from '../ErrorDTO.ts' +import type { Page } from '../Page.ts' +import type { Pageable } from '../Pageable.ts' + +export const getPageQueryParamsDtoTypeEnum = { + CARD: 'CARD', + DEFAULT: 'DEFAULT', +} as const + +export type GetPageQueryParamsDtoTypeEnum = (typeof getPageQueryParamsDtoTypeEnum)[keyof typeof getPageQueryParamsDtoTypeEnum] + +export type GetPageQueryParams = { + /** + * @type object + */ + searchCriteria: AnimeSearchCriteria + /** + * @type string + */ + dtoType: GetPageQueryParamsDtoTypeEnum + /** + * @type object + */ + pageable: Pageable +} + +/** + * @description Аниме успешно создано + */ +export type GetPage200 = Page + +/** + * @description Параметры запроса не прошли валидацию + */ +export type GetPage400 = ErrorDTO + +export type GetPageQueryResponse = GetPage200 + +export type GetPageQuery = { + Response: GetPage200 + QueryParams: GetPageQueryParams + Errors: GetPage400 +} \ No newline at end of file diff --git a/app/api/generated/types/animeControllerController/IncreasePopularity.ts b/app/api/generated/types/animeControllerController/IncreasePopularity.ts new file mode 100644 index 0000000..8701249 --- /dev/null +++ b/app/api/generated/types/animeControllerController/IncreasePopularity.ts @@ -0,0 +1,26 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { IncreasePopularityRequest } from '../IncreasePopularityRequest.ts' + +/** + * @description OK + */ +export type IncreasePopularity200 = unknown + +export type IncreasePopularityMutationRequest = IncreasePopularityRequest + +export type IncreasePopularityMutationResponse = IncreasePopularity200 + +export type IncreasePopularityMutation = { + Response: IncreasePopularity200 + Request: IncreasePopularityMutationRequest + Errors: any +} \ No newline at end of file diff --git a/app/api/generated/types/animeControllerController/UpdateById.ts b/app/api/generated/types/animeControllerController/UpdateById.ts new file mode 100644 index 0000000..d0f761c --- /dev/null +++ b/app/api/generated/types/animeControllerController/UpdateById.ts @@ -0,0 +1,33 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { AnimeDTO } from '../AnimeDTO.ts' +import type { ErrorDTO } from '../ErrorDTO.ts' +import type { UpdateAnimeRequest } from '../UpdateAnimeRequest.ts' + +/** + * @description Аниме успешно обновлено + */ +export type UpdateById200 = AnimeDTO + +/** + * @description Аниме не найдено + */ +export type UpdateById404 = ErrorDTO + +export type UpdateByIdMutationRequest = UpdateAnimeRequest + +export type UpdateByIdMutationResponse = UpdateById200 + +export type UpdateByIdMutation = { + Response: UpdateById200 + Request: UpdateByIdMutationRequest + Errors: UpdateById404 +} \ No newline at end of file diff --git a/app/api/generated/types/commentsControllerController/CreateComment.ts b/app/api/generated/types/commentsControllerController/CreateComment.ts new file mode 100644 index 0000000..1903ffb --- /dev/null +++ b/app/api/generated/types/commentsControllerController/CreateComment.ts @@ -0,0 +1,38 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { CommentDTO } from '../CommentDTO.ts' +import type { CreateCommentRequest } from '../CreateCommentRequest.ts' +import type { ErrorDTO } from '../ErrorDTO.ts' + +/** + * @description Комментарий создан + */ +export type CreateComment201 = CommentDTO + +/** + * @description Комментарий не валидный + */ +export type CreateComment400 = ErrorDTO + +/** + * @description Комментарий на который отвечают не найден + */ +export type CreateComment404 = ErrorDTO + +export type CreateCommentMutationRequest = CreateCommentRequest + +export type CreateCommentMutationResponse = CreateComment201 + +export type CreateCommentMutation = { + Response: CreateComment201 + Request: CreateCommentMutationRequest + Errors: CreateComment400 | CreateComment404 +} \ No newline at end of file diff --git a/app/api/generated/types/commentsControllerController/DeleteComment.ts b/app/api/generated/types/commentsControllerController/DeleteComment.ts new file mode 100644 index 0000000..94b3de0 --- /dev/null +++ b/app/api/generated/types/commentsControllerController/DeleteComment.ts @@ -0,0 +1,41 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { ErrorDTO } from '../ErrorDTO.ts' + +export type DeleteCommentPathParams = { + /** + * @type string, uuid + */ + id: string +} + +/** + * @description Комментарий удален + */ +export type DeleteComment204 = unknown + +/** + * @description Комментарий невалидный + */ +export type DeleteComment400 = ErrorDTO + +/** + * @description Комментарий не найден + */ +export type DeleteComment404 = ErrorDTO + +export type DeleteCommentMutationResponse = DeleteComment204 + +export type DeleteCommentMutation = { + Response: DeleteComment204 + PathParams: DeleteCommentPathParams + Errors: DeleteComment400 | DeleteComment404 +} \ No newline at end of file diff --git a/app/api/generated/types/commentsControllerController/GetCommentsById.ts b/app/api/generated/types/commentsControllerController/GetCommentsById.ts new file mode 100644 index 0000000..5db2abb --- /dev/null +++ b/app/api/generated/types/commentsControllerController/GetCommentsById.ts @@ -0,0 +1,44 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { CommentDTO } from '../CommentDTO.ts' +import type { Pageable } from '../Pageable.ts' + +export type GetCommentsByIdPathParams = { + /** + * @type string + */ + type: string + /** + * @type string, uuid + */ + id: string +} + +export type GetCommentsByIdQueryParams = { + /** + * @type object + */ + pageable: Pageable +} + +/** + * @description OK + */ +export type GetCommentsById200 = CommentDTO[] + +export type GetCommentsByIdQueryResponse = GetCommentsById200 + +export type GetCommentsByIdQuery = { + Response: GetCommentsById200 + PathParams: GetCommentsByIdPathParams + QueryParams: GetCommentsByIdQueryParams + Errors: any +} \ No newline at end of file diff --git a/app/api/generated/types/commentsControllerController/GetCommentsByUser.ts b/app/api/generated/types/commentsControllerController/GetCommentsByUser.ts new file mode 100644 index 0000000..efc9913 --- /dev/null +++ b/app/api/generated/types/commentsControllerController/GetCommentsByUser.ts @@ -0,0 +1,40 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { CommentDTO } from '../CommentDTO.ts' +import type { Pageable } from '../Pageable.ts' + +export type GetCommentsByUserPathParams = { + /** + * @type string, uuid + */ + id: string +} + +export type GetCommentsByUserQueryParams = { + /** + * @type object + */ + pageable: Pageable +} + +/** + * @description OK + */ +export type GetCommentsByUser200 = CommentDTO[] + +export type GetCommentsByUserQueryResponse = GetCommentsByUser200 + +export type GetCommentsByUserQuery = { + Response: GetCommentsByUser200 + PathParams: GetCommentsByUserPathParams + QueryParams: GetCommentsByUserQueryParams + Errors: any +} \ No newline at end of file diff --git a/app/api/generated/types/commentsControllerController/UpdateComment.ts b/app/api/generated/types/commentsControllerController/UpdateComment.ts new file mode 100644 index 0000000..887fd27 --- /dev/null +++ b/app/api/generated/types/commentsControllerController/UpdateComment.ts @@ -0,0 +1,38 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { CommentDTO } from '../CommentDTO.ts' +import type { ErrorDTO } from '../ErrorDTO.ts' +import type { UpdateCommentRequest } from '../UpdateCommentRequest.ts' + +/** + * @description Комментарий обнавлен + */ +export type UpdateComment200 = CommentDTO + +/** + * @description Комментарий невалидный + */ +export type UpdateComment400 = ErrorDTO + +/** + * @description Комментарий не найден + */ +export type UpdateComment404 = ErrorDTO + +export type UpdateCommentMutationRequest = UpdateCommentRequest + +export type UpdateCommentMutationResponse = UpdateComment200 + +export type UpdateCommentMutation = { + Response: UpdateComment200 + Request: UpdateCommentMutationRequest + Errors: UpdateComment400 | UpdateComment404 +} \ No newline at end of file diff --git a/app/api/generated/types/complaintControllerController/CreateComplaint.ts b/app/api/generated/types/complaintControllerController/CreateComplaint.ts new file mode 100644 index 0000000..590720a --- /dev/null +++ b/app/api/generated/types/complaintControllerController/CreateComplaint.ts @@ -0,0 +1,33 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { ComplaintDto } from '../ComplaintDto.ts' +import type { CreateComplaintRequest } from '../CreateComplaintRequest.ts' +import type { ErrorDTO } from '../ErrorDTO.ts' + +/** + * @description Жалоба успешно создана + */ +export type CreateComplaint201 = ComplaintDto + +/** + * @description Создаваемая жалоба не прошла валидацию + */ +export type CreateComplaint400 = ErrorDTO + +export type CreateComplaintMutationRequest = CreateComplaintRequest + +export type CreateComplaintMutationResponse = CreateComplaint201 + +export type CreateComplaintMutation = { + Response: CreateComplaint201 + Request: CreateComplaintMutationRequest + Errors: CreateComplaint400 +} \ No newline at end of file diff --git a/app/api/generated/types/complaintControllerController/GetComplaintById.ts b/app/api/generated/types/complaintControllerController/GetComplaintById.ts new file mode 100644 index 0000000..46c5894 --- /dev/null +++ b/app/api/generated/types/complaintControllerController/GetComplaintById.ts @@ -0,0 +1,37 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { ComplaintDto } from '../ComplaintDto.ts' +import type { ErrorDTO } from '../ErrorDTO.ts' + +export type GetComplaintByIdPathParams = { + /** + * @type string, uuid + */ + complaintId: string +} + +/** + * @description Жалоба найдена + */ +export type GetComplaintById200 = ComplaintDto + +/** + * @description Жалоба не найдена + */ +export type GetComplaintById404 = ErrorDTO + +export type GetComplaintByIdQueryResponse = GetComplaintById200 + +export type GetComplaintByIdQuery = { + Response: GetComplaintById200 + PathParams: GetComplaintByIdPathParams + Errors: GetComplaintById404 +} \ No newline at end of file diff --git a/app/api/generated/types/complaintControllerController/GetComplaints.ts b/app/api/generated/types/complaintControllerController/GetComplaints.ts new file mode 100644 index 0000000..53ef6f3 --- /dev/null +++ b/app/api/generated/types/complaintControllerController/GetComplaints.ts @@ -0,0 +1,27 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { ComplaintSearchParams } from '../ComplaintSearchParams.ts' +import type { PageComplaintDto } from '../PageComplaintDto.ts' + +/** + * @description OK + */ +export type GetComplaints200 = PageComplaintDto + +export type GetComplaintsMutationRequest = ComplaintSearchParams + +export type GetComplaintsMutationResponse = GetComplaints200 + +export type GetComplaintsMutation = { + Response: GetComplaints200 + Request: GetComplaintsMutationRequest + Errors: any +} \ No newline at end of file diff --git a/app/api/generated/types/complaintControllerController/UpdateComplaintStatus.ts b/app/api/generated/types/complaintControllerController/UpdateComplaintStatus.ts new file mode 100644 index 0000000..7b585cd --- /dev/null +++ b/app/api/generated/types/complaintControllerController/UpdateComplaintStatus.ts @@ -0,0 +1,55 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { ComplaintDto } from '../ComplaintDto.ts' +import type { ErrorDTO } from '../ErrorDTO.ts' + +export type UpdateComplaintStatusPathParams = { + /** + * @type string, uuid + */ + complaintId: string +} + +export const updateComplaintStatusQueryParamsStatusEnum = { + OPEN: 'OPEN', + IN_PROGRESS: 'IN_PROGRESS', + RESOLVED: 'RESOLVED', + REJECTED: 'REJECTED', +} as const + +export type UpdateComplaintStatusQueryParamsStatusEnum = + (typeof updateComplaintStatusQueryParamsStatusEnum)[keyof typeof updateComplaintStatusQueryParamsStatusEnum] + +export type UpdateComplaintStatusQueryParams = { + /** + * @type string + */ + status: UpdateComplaintStatusQueryParamsStatusEnum +} + +/** + * @description Статус жалобы успешно изменен + */ +export type UpdateComplaintStatus200 = ComplaintDto + +/** + * @description Жалоба не найдена + */ +export type UpdateComplaintStatus404 = ErrorDTO + +export type UpdateComplaintStatusMutationResponse = UpdateComplaintStatus200 + +export type UpdateComplaintStatusMutation = { + Response: UpdateComplaintStatus200 + PathParams: UpdateComplaintStatusPathParams + QueryParams: UpdateComplaintStatusQueryParams + Errors: UpdateComplaintStatus404 +} \ No newline at end of file diff --git a/app/api/generated/types/dubControllerController/AddDubToEpisode.ts b/app/api/generated/types/dubControllerController/AddDubToEpisode.ts new file mode 100644 index 0000000..b7fa76e --- /dev/null +++ b/app/api/generated/types/dubControllerController/AddDubToEpisode.ts @@ -0,0 +1,41 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { DubDTO } from '../DubDTO.ts' +import type { ErrorDTO } from '../ErrorDTO.ts' + +export type AddDubToEpisodePathParams = { + /** + * @type string, uuid + */ + dubId: string + /** + * @type string, uuid + */ + episodeId: string +} + +/** + * @description Дубляж успешно добавлен к эпизоду + */ +export type AddDubToEpisode200 = DubDTO + +/** + * @description Дубляж или эпизод не найден + */ +export type AddDubToEpisode404 = ErrorDTO + +export type AddDubToEpisodeMutationResponse = AddDubToEpisode200 + +export type AddDubToEpisodeMutation = { + Response: AddDubToEpisode200 + PathParams: AddDubToEpisodePathParams + Errors: AddDubToEpisode404 +} \ No newline at end of file diff --git a/app/api/generated/types/dubControllerController/CreateDub.ts b/app/api/generated/types/dubControllerController/CreateDub.ts new file mode 100644 index 0000000..f02f91f --- /dev/null +++ b/app/api/generated/types/dubControllerController/CreateDub.ts @@ -0,0 +1,27 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { CreateDubRequest } from '../CreateDubRequest.ts' +import type { DubDTO } from '../DubDTO.ts' + +/** + * @description OK + */ +export type CreateDub200 = DubDTO + +export type CreateDubMutationRequest = CreateDubRequest + +export type CreateDubMutationResponse = CreateDub200 + +export type CreateDubMutation = { + Response: CreateDub200 + Request: CreateDubMutationRequest + Errors: any +} \ No newline at end of file diff --git a/app/api/generated/types/dubControllerController/DeleteDub.ts b/app/api/generated/types/dubControllerController/DeleteDub.ts new file mode 100644 index 0000000..29e4cdc --- /dev/null +++ b/app/api/generated/types/dubControllerController/DeleteDub.ts @@ -0,0 +1,29 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export type DeleteDubPathParams = { + /** + * @type string, uuid + */ + id: string +} + +/** + * @description Оправляет 204 статус вне зависимости, удален дубляж или нет + */ +export type DeleteDub204 = unknown + +export type DeleteDubMutationResponse = DeleteDub204 + +export type DeleteDubMutation = { + Response: DeleteDub204 + PathParams: DeleteDubPathParams + Errors: any +} \ No newline at end of file diff --git a/app/api/generated/types/dubControllerController/GetDubById.ts b/app/api/generated/types/dubControllerController/GetDubById.ts new file mode 100644 index 0000000..fc097f9 --- /dev/null +++ b/app/api/generated/types/dubControllerController/GetDubById.ts @@ -0,0 +1,37 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { DubDTO } from '../DubDTO.ts' +import type { ErrorDTO } from '../ErrorDTO.ts' + +export type GetDubByIdPathParams = { + /** + * @type string, uuid + */ + id: string +} + +/** + * @description Дубляж найден + */ +export type GetDubById200 = DubDTO + +/** + * @description Дубляж не найден + */ +export type GetDubById404 = ErrorDTO + +export type GetDubByIdQueryResponse = GetDubById200 + +export type GetDubByIdQuery = { + Response: GetDubById200 + PathParams: GetDubByIdPathParams + Errors: GetDubById404 +} \ No newline at end of file diff --git a/app/api/generated/types/dubControllerController/GetDubsByEpisode.ts b/app/api/generated/types/dubControllerController/GetDubsByEpisode.ts new file mode 100644 index 0000000..c0e5367 --- /dev/null +++ b/app/api/generated/types/dubControllerController/GetDubsByEpisode.ts @@ -0,0 +1,31 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { DubDTO } from '../DubDTO.ts' + +export type GetDubsByEpisodePathParams = { + /** + * @type string, uuid + */ + episodeID: string +} + +/** + * @description OK + */ +export type GetDubsByEpisode200 = DubDTO[] + +export type GetDubsByEpisodeQueryResponse = GetDubsByEpisode200 + +export type GetDubsByEpisodeQuery = { + Response: GetDubsByEpisode200 + PathParams: GetDubsByEpisodePathParams + Errors: any +} \ No newline at end of file diff --git a/app/api/generated/types/dubControllerController/RemoveDubFromEpisode.ts b/app/api/generated/types/dubControllerController/RemoveDubFromEpisode.ts new file mode 100644 index 0000000..0ab29b0 --- /dev/null +++ b/app/api/generated/types/dubControllerController/RemoveDubFromEpisode.ts @@ -0,0 +1,40 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { ErrorDTO } from '../ErrorDTO.ts' + +export type RemoveDubFromEpisodePathParams = { + /** + * @type string, uuid + */ + dubId: string + /** + * @type string, uuid + */ + episodeId: string +} + +/** + * @description Дубляж успешно удален из эпизода + */ +export type RemoveDubFromEpisode200 = unknown + +/** + * @description Дубляж или эпизод не найден + */ +export type RemoveDubFromEpisode404 = ErrorDTO + +export type RemoveDubFromEpisodeMutationResponse = RemoveDubFromEpisode200 + +export type RemoveDubFromEpisodeMutation = { + Response: RemoveDubFromEpisode200 + PathParams: RemoveDubFromEpisodePathParams + Errors: RemoveDubFromEpisode404 +} \ No newline at end of file diff --git a/app/api/generated/types/dubControllerController/UpdateDubName.ts b/app/api/generated/types/dubControllerController/UpdateDubName.ts new file mode 100644 index 0000000..c2e6664 --- /dev/null +++ b/app/api/generated/types/dubControllerController/UpdateDubName.ts @@ -0,0 +1,45 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { DubDTO } from '../DubDTO.ts' +import type { ErrorDTO } from '../ErrorDTO.ts' + +export type UpdateDubNamePathParams = { + /** + * @type string, uuid + */ + id: string +} + +export type UpdateDubNameQueryParams = { + /** + * @type string + */ + name: string +} + +/** + * @description Дубляж обновлен + */ +export type UpdateDubName200 = DubDTO + +/** + * @description Дубляж не найден + */ +export type UpdateDubName404 = ErrorDTO + +export type UpdateDubNameMutationResponse = UpdateDubName200 + +export type UpdateDubNameMutation = { + Response: UpdateDubName200 + PathParams: UpdateDubNamePathParams + QueryParams: UpdateDubNameQueryParams + Errors: UpdateDubName404 +} \ No newline at end of file diff --git a/app/api/generated/types/episodesControllerController/AddView.ts b/app/api/generated/types/episodesControllerController/AddView.ts new file mode 100644 index 0000000..3529afb --- /dev/null +++ b/app/api/generated/types/episodesControllerController/AddView.ts @@ -0,0 +1,29 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export type AddViewPathParams = { + /** + * @type string, uuid + */ + id: string +} + +/** + * @description OK + */ +export type AddView200 = unknown + +export type AddViewMutationResponse = AddView200 + +export type AddViewMutation = { + Response: AddView200 + PathParams: AddViewPathParams + Errors: any +} \ No newline at end of file diff --git a/app/api/generated/types/episodesControllerController/CreateEpisode.ts b/app/api/generated/types/episodesControllerController/CreateEpisode.ts new file mode 100644 index 0000000..c5b311d --- /dev/null +++ b/app/api/generated/types/episodesControllerController/CreateEpisode.ts @@ -0,0 +1,27 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { CreateEpisodeRequest } from '../CreateEpisodeRequest.ts' +import type { EpisodeDTO } from '../EpisodeDTO.ts' + +/** + * @description OK + */ +export type CreateEpisode200 = EpisodeDTO + +export type CreateEpisodeMutationRequest = CreateEpisodeRequest + +export type CreateEpisodeMutationResponse = CreateEpisode200 + +export type CreateEpisodeMutation = { + Response: CreateEpisode200 + Request: CreateEpisodeMutationRequest + Errors: any +} \ No newline at end of file diff --git a/app/api/generated/types/episodesControllerController/DeleteEpisode.ts b/app/api/generated/types/episodesControllerController/DeleteEpisode.ts new file mode 100644 index 0000000..27f7320 --- /dev/null +++ b/app/api/generated/types/episodesControllerController/DeleteEpisode.ts @@ -0,0 +1,29 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export type DeleteEpisodePathParams = { + /** + * @type string, uuid + */ + id: string +} + +/** + * @description OK + */ +export type DeleteEpisode200 = unknown + +export type DeleteEpisodeMutationResponse = DeleteEpisode200 + +export type DeleteEpisodeMutation = { + Response: DeleteEpisode200 + PathParams: DeleteEpisodePathParams + Errors: any +} \ No newline at end of file diff --git a/app/api/generated/types/episodesControllerController/GetAdminEpisodeById.ts b/app/api/generated/types/episodesControllerController/GetAdminEpisodeById.ts new file mode 100644 index 0000000..568ef21 --- /dev/null +++ b/app/api/generated/types/episodesControllerController/GetAdminEpisodeById.ts @@ -0,0 +1,31 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { AdminEpisodeDTO } from '../AdminEpisodeDTO.ts' + +export type GetAdminEpisodeByIdPathParams = { + /** + * @type string, uuid + */ + id: string +} + +/** + * @description OK + */ +export type GetAdminEpisodeById200 = AdminEpisodeDTO + +export type GetAdminEpisodeByIdQueryResponse = GetAdminEpisodeById200 + +export type GetAdminEpisodeByIdQuery = { + Response: GetAdminEpisodeById200 + PathParams: GetAdminEpisodeByIdPathParams + Errors: any +} \ No newline at end of file diff --git a/app/api/generated/types/episodesControllerController/GetEpisodeById.ts b/app/api/generated/types/episodesControllerController/GetEpisodeById.ts new file mode 100644 index 0000000..896a540 --- /dev/null +++ b/app/api/generated/types/episodesControllerController/GetEpisodeById.ts @@ -0,0 +1,45 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export type GetEpisodeByIdPathParams = { + /** + * @type string, uuid + */ + id: string +} + +export const getEpisodeByIdQueryParamsDtoTypeEnum = { + CARD: 'CARD', + DEFAULT: 'DEFAULT', +} as const + +export type GetEpisodeByIdQueryParamsDtoTypeEnum = (typeof getEpisodeByIdQueryParamsDtoTypeEnum)[keyof typeof getEpisodeByIdQueryParamsDtoTypeEnum] + +export type GetEpisodeByIdQueryParams = { + /** + * @default "DEFAULT" + * @type string | undefined + */ + dtoType?: GetEpisodeByIdQueryParamsDtoTypeEnum | undefined +} + +/** + * @description OK + */ +export type GetEpisodeById200 = object + +export type GetEpisodeByIdQueryResponse = GetEpisodeById200 + +export type GetEpisodeByIdQuery = { + Response: GetEpisodeById200 + PathParams: GetEpisodeByIdPathParams + QueryParams: GetEpisodeByIdQueryParams + Errors: any +} \ No newline at end of file diff --git a/app/api/generated/types/episodesControllerController/GetEpisodesByAnimeId.ts b/app/api/generated/types/episodesControllerController/GetEpisodesByAnimeId.ts new file mode 100644 index 0000000..0f7b83f --- /dev/null +++ b/app/api/generated/types/episodesControllerController/GetEpisodesByAnimeId.ts @@ -0,0 +1,53 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { Page } from '../Page.ts' +import type { Pageable } from '../Pageable.ts' + +export type GetEpisodesByAnimeIdPathParams = { + /** + * @type string, uuid + */ + animeId: string +} + +export const getEpisodesByAnimeIdQueryParamsDtoTypeEnum = { + CARD: 'CARD', + DEFAULT: 'DEFAULT', +} as const + +export type GetEpisodesByAnimeIdQueryParamsDtoTypeEnum = + (typeof getEpisodesByAnimeIdQueryParamsDtoTypeEnum)[keyof typeof getEpisodesByAnimeIdQueryParamsDtoTypeEnum] + +export type GetEpisodesByAnimeIdQueryParams = { + /** + * @default "DEFAULT" + * @type string | undefined + */ + dtoType?: GetEpisodesByAnimeIdQueryParamsDtoTypeEnum | undefined + /** + * @type object + */ + pageable: Pageable +} + +/** + * @description OK + */ +export type GetEpisodesByAnimeId200 = Page + +export type GetEpisodesByAnimeIdQueryResponse = GetEpisodesByAnimeId200 + +export type GetEpisodesByAnimeIdQuery = { + Response: GetEpisodesByAnimeId200 + PathParams: GetEpisodesByAnimeIdPathParams + QueryParams: GetEpisodesByAnimeIdQueryParams + Errors: any +} \ No newline at end of file diff --git a/app/api/generated/types/episodesControllerController/UpdateEpisode.ts b/app/api/generated/types/episodesControllerController/UpdateEpisode.ts new file mode 100644 index 0000000..173b4b4 --- /dev/null +++ b/app/api/generated/types/episodesControllerController/UpdateEpisode.ts @@ -0,0 +1,35 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { EpisodeDTO } from '../EpisodeDTO.ts' +import type { UpdateEpisodeRequest } from '../UpdateEpisodeRequest.ts' + +export type UpdateEpisodePathParams = { + /** + * @type string, uuid + */ + id: string +} + +/** + * @description OK + */ +export type UpdateEpisode200 = EpisodeDTO + +export type UpdateEpisodeMutationRequest = UpdateEpisodeRequest + +export type UpdateEpisodeMutationResponse = UpdateEpisode200 + +export type UpdateEpisodeMutation = { + Response: UpdateEpisode200 + Request: UpdateEpisodeMutationRequest + PathParams: UpdateEpisodePathParams + Errors: any +} \ No newline at end of file diff --git a/app/api/generated/types/episodesControllerController/UpdateEpisodeOrder.ts b/app/api/generated/types/episodesControllerController/UpdateEpisodeOrder.ts new file mode 100644 index 0000000..c538349 --- /dev/null +++ b/app/api/generated/types/episodesControllerController/UpdateEpisodeOrder.ts @@ -0,0 +1,33 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export type UpdateEpisodeOrderPathParams = { + /** + * @type string, uuid + */ + id: string + /** + * @type integer, int32 + */ + newOrderId: number +} + +/** + * @description OK + */ +export type UpdateEpisodeOrder200 = unknown + +export type UpdateEpisodeOrderMutationResponse = UpdateEpisodeOrder200 + +export type UpdateEpisodeOrderMutation = { + Response: UpdateEpisodeOrder200 + PathParams: UpdateEpisodeOrderPathParams + Errors: any +} \ No newline at end of file diff --git a/app/api/generated/types/groupControllerController/AddAnimeIdsToGroup.ts b/app/api/generated/types/groupControllerController/AddAnimeIdsToGroup.ts new file mode 100644 index 0000000..a894a82 --- /dev/null +++ b/app/api/generated/types/groupControllerController/AddAnimeIdsToGroup.ts @@ -0,0 +1,33 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { AddAnimeToGroupRequest } from '../AddAnimeToGroupRequest.ts' +import type { AnimeGroupDTO } from '../AnimeGroupDTO.ts' +import type { ErrorDTO } from '../ErrorDTO.ts' + +/** + * @description Группа установлена в список аниме + */ +export type AddAnimeIdsToGroup200 = AnimeGroupDTO + +/** + * @description Группа или ни одного аниме из списка не найдено + */ +export type AddAnimeIdsToGroup404 = ErrorDTO + +export type AddAnimeIdsToGroupMutationRequest = AddAnimeToGroupRequest + +export type AddAnimeIdsToGroupMutationResponse = AddAnimeIdsToGroup200 + +export type AddAnimeIdsToGroupMutation = { + Response: AddAnimeIdsToGroup200 + Request: AddAnimeIdsToGroupMutationRequest + Errors: AddAnimeIdsToGroup404 +} \ No newline at end of file diff --git a/app/api/generated/types/groupControllerController/Create1.ts b/app/api/generated/types/groupControllerController/Create1.ts new file mode 100644 index 0000000..1195239 --- /dev/null +++ b/app/api/generated/types/groupControllerController/Create1.ts @@ -0,0 +1,27 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { AnimeGroupDTO } from '../AnimeGroupDTO.ts' +import type { CreateAnimeGroupRequest } from '../CreateAnimeGroupRequest.ts' + +/** + * @description Группа создана + */ +export type Create1201 = AnimeGroupDTO + +export type Create1MutationRequest = CreateAnimeGroupRequest + +export type Create1MutationResponse = Create1201 + +export type Create1Mutation = { + Response: Create1201 + Request: Create1MutationRequest + Errors: any +} \ No newline at end of file diff --git a/app/api/generated/types/groupControllerController/DeleteAnimeIdsFromGroup.ts b/app/api/generated/types/groupControllerController/DeleteAnimeIdsFromGroup.ts new file mode 100644 index 0000000..1c2d77e --- /dev/null +++ b/app/api/generated/types/groupControllerController/DeleteAnimeIdsFromGroup.ts @@ -0,0 +1,33 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { AnimeGroupDTO } from '../AnimeGroupDTO.ts' +import type { DeleteAnimeFromGroupRequest } from '../DeleteAnimeFromGroupRequest.ts' +import type { ErrorDTO } from '../ErrorDTO.ts' + +/** + * @description Группа удалена из списока аниме + */ +export type DeleteAnimeIdsFromGroup200 = AnimeGroupDTO + +/** + * @description Группа или ни одного аниме из списка не найдено + */ +export type DeleteAnimeIdsFromGroup404 = ErrorDTO + +export type DeleteAnimeIdsFromGroupMutationRequest = DeleteAnimeFromGroupRequest + +export type DeleteAnimeIdsFromGroupMutationResponse = DeleteAnimeIdsFromGroup200 + +export type DeleteAnimeIdsFromGroupMutation = { + Response: DeleteAnimeIdsFromGroup200 + Request: DeleteAnimeIdsFromGroupMutationRequest + Errors: DeleteAnimeIdsFromGroup404 +} \ No newline at end of file diff --git a/app/api/generated/types/groupControllerController/DeleteById2.ts b/app/api/generated/types/groupControllerController/DeleteById2.ts new file mode 100644 index 0000000..9dc3e88 --- /dev/null +++ b/app/api/generated/types/groupControllerController/DeleteById2.ts @@ -0,0 +1,36 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { ErrorDTO } from '../ErrorDTO.ts' + +export type DeleteById2PathParams = { + /** + * @type string, uuid + */ + id: string +} + +/** + * @description Группа обновлена + */ +export type DeleteById2204 = unknown + +/** + * @description Группа не найдена + */ +export type DeleteById2404 = ErrorDTO + +export type DeleteById2MutationResponse = DeleteById2204 + +export type DeleteById2Mutation = { + Response: DeleteById2204 + PathParams: DeleteById2PathParams + Errors: DeleteById2404 +} \ No newline at end of file diff --git a/app/api/generated/types/groupControllerController/GetByAnimeId.ts b/app/api/generated/types/groupControllerController/GetByAnimeId.ts new file mode 100644 index 0000000..34109c6 --- /dev/null +++ b/app/api/generated/types/groupControllerController/GetByAnimeId.ts @@ -0,0 +1,37 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { AnimeGroupDTO } from '../AnimeGroupDTO.ts' +import type { ErrorDTO } from '../ErrorDTO.ts' + +export type GetByAnimeIdPathParams = { + /** + * @type string, uuid + */ + animeId: string +} + +/** + * @description Группа найдена + */ +export type GetByAnimeId200 = AnimeGroupDTO + +/** + * @description Группа или аниме не найдены + */ +export type GetByAnimeId404 = ErrorDTO + +export type GetByAnimeIdQueryResponse = GetByAnimeId200 + +export type GetByAnimeIdQuery = { + Response: GetByAnimeId200 + PathParams: GetByAnimeIdPathParams + Errors: GetByAnimeId404 +} \ No newline at end of file diff --git a/app/api/generated/types/groupControllerController/GetById1.ts b/app/api/generated/types/groupControllerController/GetById1.ts new file mode 100644 index 0000000..52915d1 --- /dev/null +++ b/app/api/generated/types/groupControllerController/GetById1.ts @@ -0,0 +1,37 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { AnimeGroupDTO } from '../AnimeGroupDTO.ts' +import type { ErrorDTO } from '../ErrorDTO.ts' + +export type GetById1PathParams = { + /** + * @type string, uuid + */ + id: string +} + +/** + * @description Группа найдена + */ +export type GetById1200 = AnimeGroupDTO + +/** + * @description Группа не найдена + */ +export type GetById1404 = ErrorDTO + +export type GetById1QueryResponse = GetById1200 + +export type GetById1Query = { + Response: GetById1200 + PathParams: GetById1PathParams + Errors: GetById1404 +} \ No newline at end of file diff --git a/app/api/generated/types/groupControllerController/UpdateById1.ts b/app/api/generated/types/groupControllerController/UpdateById1.ts new file mode 100644 index 0000000..1eed246 --- /dev/null +++ b/app/api/generated/types/groupControllerController/UpdateById1.ts @@ -0,0 +1,33 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { AnimeGroupDTO } from '../AnimeGroupDTO.ts' +import type { ErrorDTO } from '../ErrorDTO.ts' +import type { UpdateAnimeGroupRequest } from '../UpdateAnimeGroupRequest.ts' + +/** + * @description Группа обновлена + */ +export type UpdateById1200 = AnimeGroupDTO + +/** + * @description Группа не найдена + */ +export type UpdateById1404 = ErrorDTO + +export type UpdateById1MutationRequest = UpdateAnimeGroupRequest + +export type UpdateById1MutationResponse = UpdateById1200 + +export type UpdateById1Mutation = { + Response: UpdateById1200 + Request: UpdateById1MutationRequest + Errors: UpdateById1404 +} \ No newline at end of file diff --git a/app/api/generated/types/index.ts b/app/api/generated/types/index.ts new file mode 100644 index 0000000..a9db7c2 --- /dev/null +++ b/app/api/generated/types/index.ts @@ -0,0 +1,376 @@ +export type { AddAnimeToGroupRequest } from './AddAnimeToGroupRequest.ts' +export type { AdminEpisodeDTO } from './AdminEpisodeDTO.ts' +export type { AnimeCardDTOMainGenreEnum, AnimeCardDTO } from './AnimeCardDTO.ts' +export type { + CreateAnime200, + CreateAnime400, + CreateAnimeMutationRequest, + CreateAnimeMutationResponse, + CreateAnimeMutation, +} from './animeControllerController/CreateAnime.ts' +export type { DeleteByIdPathParams, DeleteById204, DeleteByIdMutationResponse, DeleteByIdMutation } from './animeControllerController/DeleteById.ts' +export type { FindByIdPathParams, FindById200, FindById404, FindByIdQueryResponse, FindByIdQuery } from './animeControllerController/FindById.ts' +export type { + FindSimilarPathParams, + FindSimilarQueryParams, + FindSimilar200, + FindSimilarQueryResponse, + FindSimilarQuery, +} from './animeControllerController/FindSimilar.ts' +export type { GetAllGenres200Enum, GetAllGenres200, GetAllGenresQueryResponse, GetAllGenresQuery } from './animeControllerController/GetAllGenres.ts' +export type { + GetAllMpaaRatings200Enum, + GetAllMpaaRatings200, + GetAllMpaaRatingsQueryResponse, + GetAllMpaaRatingsQuery, +} from './animeControllerController/GetAllMpaaRatings.ts' +export type { GetAllStatuses200Enum, GetAllStatuses200, GetAllStatusesQueryResponse, GetAllStatusesQuery } from './animeControllerController/GetAllStatuses.ts' +export type { GetAllTypes200Enum, GetAllTypes200, GetAllTypesQueryResponse, GetAllTypesQuery } from './animeControllerController/GetAllTypes.ts' +export type { + GetPageQueryParamsDtoTypeEnum, + GetPageQueryParams, + GetPage200, + GetPage400, + GetPageQueryResponse, + GetPageQuery, +} from './animeControllerController/GetPage.ts' +export type { + IncreasePopularity200, + IncreasePopularityMutationRequest, + IncreasePopularityMutationResponse, + IncreasePopularityMutation, +} from './animeControllerController/IncreasePopularity.ts' +export type { + UpdateById200, + UpdateById404, + UpdateByIdMutationRequest, + UpdateByIdMutationResponse, + UpdateByIdMutation, +} from './animeControllerController/UpdateById.ts' +export type { AnimeDTOStatusEnum, AnimeDTOTypeEnum, AnimeDTOGenresEnum, AnimeDTOMpaaRatingEnum, AnimeDTO } from './AnimeDTO.ts' +export type { AnimeGroupDTO } from './AnimeGroupDTO.ts' +export type { + AnimeSearchCriteriaIncludeGenresEnum, + AnimeSearchCriteriaExcludeGenresEnum, + AnimeSearchCriteriaStatusEnum, + AnimeSearchCriteriaTypeEnum, + AnimeSearchCriteria, +} from './AnimeSearchCriteria.ts' +export type { AnimeTitleDTOTitleTypeEnum, AnimeTitleDTO } from './AnimeTitleDTO.ts' +export type { CharacterDTO } from './CharacterDTO.ts' +export type { CommentAnswerDTO } from './CommentAnswerDTO.ts' +export type { CommentDTO } from './CommentDTO.ts' +export type { + CreateComment201, + CreateComment400, + CreateComment404, + CreateCommentMutationRequest, + CreateCommentMutationResponse, + CreateCommentMutation, +} from './commentsControllerController/CreateComment.ts' +export type { + DeleteCommentPathParams, + DeleteComment204, + DeleteComment400, + DeleteComment404, + DeleteCommentMutationResponse, + DeleteCommentMutation, +} from './commentsControllerController/DeleteComment.ts' +export type { + GetCommentsByIdPathParams, + GetCommentsByIdQueryParams, + GetCommentsById200, + GetCommentsByIdQueryResponse, + GetCommentsByIdQuery, +} from './commentsControllerController/GetCommentsById.ts' +export type { + GetCommentsByUserPathParams, + GetCommentsByUserQueryParams, + GetCommentsByUser200, + GetCommentsByUserQueryResponse, + GetCommentsByUserQuery, +} from './commentsControllerController/GetCommentsByUser.ts' +export type { + UpdateComment200, + UpdateComment400, + UpdateComment404, + UpdateCommentMutationRequest, + UpdateCommentMutationResponse, + UpdateCommentMutation, +} from './commentsControllerController/UpdateComment.ts' +export type { + CreateComplaint201, + CreateComplaint400, + CreateComplaintMutationRequest, + CreateComplaintMutationResponse, + CreateComplaintMutation, +} from './complaintControllerController/CreateComplaint.ts' +export type { + GetComplaintByIdPathParams, + GetComplaintById200, + GetComplaintById404, + GetComplaintByIdQueryResponse, + GetComplaintByIdQuery, +} from './complaintControllerController/GetComplaintById.ts' +export type { + GetComplaints200, + GetComplaintsMutationRequest, + GetComplaintsMutationResponse, + GetComplaintsMutation, +} from './complaintControllerController/GetComplaints.ts' +export type { + UpdateComplaintStatusPathParams, + UpdateComplaintStatusQueryParamsStatusEnum, + UpdateComplaintStatusQueryParams, + UpdateComplaintStatus200, + UpdateComplaintStatus404, + UpdateComplaintStatusMutationResponse, + UpdateComplaintStatusMutation, +} from './complaintControllerController/UpdateComplaintStatus.ts' +export type { ComplaintDtoObjectTypeEnum, ComplaintDtoComplaintStatusEnum, ComplaintDto } from './ComplaintDto.ts' +export type { + ComplaintSearchParamsTypesEnum, + ComplaintSearchParamsStatusesEnum, + ComplaintSearchParamsDirectionEnum, + ComplaintSearchParams, +} from './ComplaintSearchParams.ts' +export type { CreateAnimeGroupRequest } from './CreateAnimeGroupRequest.ts' +export type { + CreateAnimeRequestOriginalSourceEnum, + CreateAnimeRequestStatusEnum, + CreateAnimeRequestTypeEnum, + CreateAnimeRequestMainGenreEnum, + CreateAnimeRequestGenresEnum, + CreateAnimeRequestMpaaRatingEnum, + CreateAnimeRequest, +} from './CreateAnimeRequest.ts' +export type { CreateAnimeTitleRequestTitleTypeEnum, CreateAnimeTitleRequest } from './CreateAnimeTitleRequest.ts' +export type { CreateCommentRequestObjectTypeEnum, CreateCommentRequest } from './CreateCommentRequest.ts' +export type { CreateComplaintRequestObjectTypeEnum, CreateComplaintRequest } from './CreateComplaintRequest.ts' +export type { + CreatedAnimeDTOStatusEnum, + CreatedAnimeDTOTypeEnum, + CreatedAnimeDTOGenresEnum, + CreatedAnimeDTOMpaaRatingEnum, + CreatedAnimeDTO, +} from './CreatedAnimeDTO.ts' +export type { CreateDubRequest } from './CreateDubRequest.ts' +export type { CreateEpisodeRequest } from './CreateEpisodeRequest.ts' +export type { DeleteAnimeFromGroupRequest } from './DeleteAnimeFromGroupRequest.ts' +export type { + AddDubToEpisodePathParams, + AddDubToEpisode200, + AddDubToEpisode404, + AddDubToEpisodeMutationResponse, + AddDubToEpisodeMutation, +} from './dubControllerController/AddDubToEpisode.ts' +export type { CreateDub200, CreateDubMutationRequest, CreateDubMutationResponse, CreateDubMutation } from './dubControllerController/CreateDub.ts' +export type { DeleteDubPathParams, DeleteDub204, DeleteDubMutationResponse, DeleteDubMutation } from './dubControllerController/DeleteDub.ts' +export type { GetDubByIdPathParams, GetDubById200, GetDubById404, GetDubByIdQueryResponse, GetDubByIdQuery } from './dubControllerController/GetDubById.ts' +export type { + GetDubsByEpisodePathParams, + GetDubsByEpisode200, + GetDubsByEpisodeQueryResponse, + GetDubsByEpisodeQuery, +} from './dubControllerController/GetDubsByEpisode.ts' +export type { + RemoveDubFromEpisodePathParams, + RemoveDubFromEpisode200, + RemoveDubFromEpisode404, + RemoveDubFromEpisodeMutationResponse, + RemoveDubFromEpisodeMutation, +} from './dubControllerController/RemoveDubFromEpisode.ts' +export type { + UpdateDubNamePathParams, + UpdateDubNameQueryParams, + UpdateDubName200, + UpdateDubName404, + UpdateDubNameMutationResponse, + UpdateDubNameMutation, +} from './dubControllerController/UpdateDubName.ts' +export type { DubDTO } from './DubDTO.ts' +export type { EpisodeDTO } from './EpisodeDTO.ts' +export type { AddViewPathParams, AddView200, AddViewMutationResponse, AddViewMutation } from './episodesControllerController/AddView.ts' +export type { + CreateEpisode200, + CreateEpisodeMutationRequest, + CreateEpisodeMutationResponse, + CreateEpisodeMutation, +} from './episodesControllerController/CreateEpisode.ts' +export type { + DeleteEpisodePathParams, + DeleteEpisode200, + DeleteEpisodeMutationResponse, + DeleteEpisodeMutation, +} from './episodesControllerController/DeleteEpisode.ts' +export type { + GetAdminEpisodeByIdPathParams, + GetAdminEpisodeById200, + GetAdminEpisodeByIdQueryResponse, + GetAdminEpisodeByIdQuery, +} from './episodesControllerController/GetAdminEpisodeById.ts' +export type { + GetEpisodeByIdPathParams, + GetEpisodeByIdQueryParamsDtoTypeEnum, + GetEpisodeByIdQueryParams, + GetEpisodeById200, + GetEpisodeByIdQueryResponse, + GetEpisodeByIdQuery, +} from './episodesControllerController/GetEpisodeById.ts' +export type { + GetEpisodesByAnimeIdPathParams, + GetEpisodesByAnimeIdQueryParamsDtoTypeEnum, + GetEpisodesByAnimeIdQueryParams, + GetEpisodesByAnimeId200, + GetEpisodesByAnimeIdQueryResponse, + GetEpisodesByAnimeIdQuery, +} from './episodesControllerController/GetEpisodesByAnimeId.ts' +export type { + UpdateEpisodePathParams, + UpdateEpisode200, + UpdateEpisodeMutationRequest, + UpdateEpisodeMutationResponse, + UpdateEpisodeMutation, +} from './episodesControllerController/UpdateEpisode.ts' +export type { + UpdateEpisodeOrderPathParams, + UpdateEpisodeOrder200, + UpdateEpisodeOrderMutationResponse, + UpdateEpisodeOrderMutation, +} from './episodesControllerController/UpdateEpisodeOrder.ts' +export type { ErrorDTOStatusEnum, ErrorDTO } from './ErrorDTO.ts' +export type { + AddAnimeIdsToGroup200, + AddAnimeIdsToGroup404, + AddAnimeIdsToGroupMutationRequest, + AddAnimeIdsToGroupMutationResponse, + AddAnimeIdsToGroupMutation, +} from './groupControllerController/AddAnimeIdsToGroup.ts' +export type { Create1201, Create1MutationRequest, Create1MutationResponse, Create1Mutation } from './groupControllerController/Create1.ts' +export type { + DeleteAnimeIdsFromGroup200, + DeleteAnimeIdsFromGroup404, + DeleteAnimeIdsFromGroupMutationRequest, + DeleteAnimeIdsFromGroupMutationResponse, + DeleteAnimeIdsFromGroupMutation, +} from './groupControllerController/DeleteAnimeIdsFromGroup.ts' +export type { + DeleteById2PathParams, + DeleteById2204, + DeleteById2404, + DeleteById2MutationResponse, + DeleteById2Mutation, +} from './groupControllerController/DeleteById2.ts' +export type { + GetByAnimeIdPathParams, + GetByAnimeId200, + GetByAnimeId404, + GetByAnimeIdQueryResponse, + GetByAnimeIdQuery, +} from './groupControllerController/GetByAnimeId.ts' +export type { GetById1PathParams, GetById1200, GetById1404, GetById1QueryResponse, GetById1Query } from './groupControllerController/GetById1.ts' +export type { + UpdateById1200, + UpdateById1404, + UpdateById1MutationRequest, + UpdateById1MutationResponse, + UpdateById1Mutation, +} from './groupControllerController/UpdateById1.ts' +export type { IncreasePopularityRequest } from './IncreasePopularityRequest.ts' +export type { Page } from './Page.ts' +export type { Pageable } from './Pageable.ts' +export type { PageableObject } from './PageableObject.ts' +export type { PageAnimeCardDTO } from './PageAnimeCardDTO.ts' +export type { PageAnimeTitleDTO } from './PageAnimeTitleDTO.ts' +export type { PageComplaintDto } from './PageComplaintDto.ts' +export type { SortObject } from './SortObject.ts' +export type { StudioDTO } from './StudioDTO.ts' +export type { CreateQueryParams, Create200, CreateMutationResponse, CreateMutation } from './titleControllerController/Create.ts' +export type { CreateAllQueryParams, CreateAll200, CreateAllMutationResponse, CreateAllMutation } from './titleControllerController/CreateAll.ts' +export type { + DeleteAllByAnimeIdQueryParams, + DeleteAllByAnimeId204, + DeleteAllByAnimeId404, + DeleteAllByAnimeIdMutationResponse, + DeleteAllByAnimeIdMutation, +} from './titleControllerController/DeleteAllByAnimeId.ts' +export type { + DeleteAllByIdQueryParams, + DeleteAllById204, + DeleteAllByIdMutationResponse, + DeleteAllByIdMutation, +} from './titleControllerController/DeleteAllById.ts' +export type { DeleteById1PathParams, DeleteById1204, DeleteById1MutationResponse, DeleteById1Mutation } from './titleControllerController/DeleteById1.ts' +export type { + GetAllByAnimeIdPathParams, + GetAllByAnimeId200, + GetAllByAnimeId404, + GetAllByAnimeIdQueryResponse, + GetAllByAnimeIdQuery, +} from './titleControllerController/GetAllByAnimeId.ts' +export type { GetByIdPathParams, GetById200, GetById404, GetByIdQueryResponse, GetByIdQuery } from './titleControllerController/GetById.ts' +export type { GetPage1QueryParams, GetPage1200, GetPage1QueryResponse, GetPage1Query } from './titleControllerController/GetPage1.ts' +export type { + UpdateAllByIdQueryParams, + UpdateAllById200, + UpdateAllById404, + UpdateAllByIdMutationResponse, + UpdateAllByIdMutation, +} from './titleControllerController/UpdateAllById.ts' +export type { + UpdateById2QueryParams, + UpdateById2200, + UpdateById2404, + UpdateById2MutationResponse, + UpdateById2Mutation, +} from './titleControllerController/UpdateById2.ts' +export type { UpdateAnimeGroupRequest } from './UpdateAnimeGroupRequest.ts' +export type { + UpdateAnimeRequestStatusEnum, + UpdateAnimeRequestTypeEnum, + UpdateAnimeRequestGenresEnum, + UpdateAnimeRequestMpaaRatingEnum, + UpdateAnimeRequest, +} from './UpdateAnimeRequest.ts' +export type { UpdateAnimeTitleRequestTitleTypeEnum, UpdateAnimeTitleRequest } from './UpdateAnimeTitleRequest.ts' +export type { UpdateCommentRequest } from './UpdateCommentRequest.ts' +export type { UpdateEpisodeRequest } from './UpdateEpisodeRequest.ts' +export { animeCardDTOMainGenreEnum } from './AnimeCardDTO.ts' +export { getAllGenres200Enum } from './animeControllerController/GetAllGenres.ts' +export { getAllMpaaRatings200Enum } from './animeControllerController/GetAllMpaaRatings.ts' +export { getAllStatuses200Enum } from './animeControllerController/GetAllStatuses.ts' +export { getAllTypes200Enum } from './animeControllerController/GetAllTypes.ts' +export { getPageQueryParamsDtoTypeEnum } from './animeControllerController/GetPage.ts' +export { animeDTOStatusEnum, animeDTOTypeEnum, animeDTOGenresEnum, animeDTOMpaaRatingEnum } from './AnimeDTO.ts' +export { + animeSearchCriteriaIncludeGenresEnum, + animeSearchCriteriaExcludeGenresEnum, + animeSearchCriteriaStatusEnum, + animeSearchCriteriaTypeEnum, +} from './AnimeSearchCriteria.ts' +export { animeTitleDTOTitleTypeEnum } from './AnimeTitleDTO.ts' +export { updateComplaintStatusQueryParamsStatusEnum } from './complaintControllerController/UpdateComplaintStatus.ts' +export { complaintDtoObjectTypeEnum, complaintDtoComplaintStatusEnum } from './ComplaintDto.ts' +export { complaintSearchParamsTypesEnum, complaintSearchParamsStatusesEnum, complaintSearchParamsDirectionEnum } from './ComplaintSearchParams.ts' +export { + createAnimeRequestOriginalSourceEnum, + createAnimeRequestStatusEnum, + createAnimeRequestTypeEnum, + createAnimeRequestMainGenreEnum, + createAnimeRequestGenresEnum, + createAnimeRequestMpaaRatingEnum, +} from './CreateAnimeRequest.ts' +export { createAnimeTitleRequestTitleTypeEnum } from './CreateAnimeTitleRequest.ts' +export { createCommentRequestObjectTypeEnum } from './CreateCommentRequest.ts' +export { createComplaintRequestObjectTypeEnum } from './CreateComplaintRequest.ts' +export { createdAnimeDTOStatusEnum, createdAnimeDTOTypeEnum, createdAnimeDTOGenresEnum, createdAnimeDTOMpaaRatingEnum } from './CreatedAnimeDTO.ts' +export { getEpisodeByIdQueryParamsDtoTypeEnum } from './episodesControllerController/GetEpisodeById.ts' +export { getEpisodesByAnimeIdQueryParamsDtoTypeEnum } from './episodesControllerController/GetEpisodesByAnimeId.ts' +export { errorDTOStatusEnum } from './ErrorDTO.ts' +export { + updateAnimeRequestStatusEnum, + updateAnimeRequestTypeEnum, + updateAnimeRequestGenresEnum, + updateAnimeRequestMpaaRatingEnum, +} from './UpdateAnimeRequest.ts' +export { updateAnimeTitleRequestTitleTypeEnum } from './UpdateAnimeTitleRequest.ts' \ No newline at end of file diff --git a/app/api/generated/types/titleControllerController/Create.ts b/app/api/generated/types/titleControllerController/Create.ts new file mode 100644 index 0000000..d5f5687 --- /dev/null +++ b/app/api/generated/types/titleControllerController/Create.ts @@ -0,0 +1,32 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { AnimeTitleDTO } from '../AnimeTitleDTO.ts' +import type { CreateAnimeTitleRequest } from '../CreateAnimeTitleRequest.ts' + +export type CreateQueryParams = { + /** + * @type object + */ + createAnimeTitleRequest: CreateAnimeTitleRequest +} + +/** + * @description OK + */ +export type Create200 = AnimeTitleDTO + +export type CreateMutationResponse = Create200 + +export type CreateMutation = { + Response: Create200 + QueryParams: CreateQueryParams + Errors: any +} \ No newline at end of file diff --git a/app/api/generated/types/titleControllerController/CreateAll.ts b/app/api/generated/types/titleControllerController/CreateAll.ts new file mode 100644 index 0000000..38507b8 --- /dev/null +++ b/app/api/generated/types/titleControllerController/CreateAll.ts @@ -0,0 +1,32 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { AnimeTitleDTO } from '../AnimeTitleDTO.ts' +import type { CreateAnimeTitleRequest } from '../CreateAnimeTitleRequest.ts' + +export type CreateAllQueryParams = { + /** + * @type array + */ + createAnimeTitleRequests: CreateAnimeTitleRequest[] +} + +/** + * @description OK + */ +export type CreateAll200 = AnimeTitleDTO[] + +export type CreateAllMutationResponse = CreateAll200 + +export type CreateAllMutation = { + Response: CreateAll200 + QueryParams: CreateAllQueryParams + Errors: any +} \ No newline at end of file diff --git a/app/api/generated/types/titleControllerController/DeleteAllByAnimeId.ts b/app/api/generated/types/titleControllerController/DeleteAllByAnimeId.ts new file mode 100644 index 0000000..3288487 --- /dev/null +++ b/app/api/generated/types/titleControllerController/DeleteAllByAnimeId.ts @@ -0,0 +1,36 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { ErrorDTO } from '../ErrorDTO.ts' + +export type DeleteAllByAnimeIdQueryParams = { + /** + * @type string, uuid + */ + animeId: string +} + +/** + * @description Тайтлы успешно удален или не найден + */ +export type DeleteAllByAnimeId204 = unknown + +/** + * @description Аниме не найдено + */ +export type DeleteAllByAnimeId404 = ErrorDTO + +export type DeleteAllByAnimeIdMutationResponse = DeleteAllByAnimeId204 + +export type DeleteAllByAnimeIdMutation = { + Response: DeleteAllByAnimeId204 + QueryParams: DeleteAllByAnimeIdQueryParams + Errors: DeleteAllByAnimeId404 +} \ No newline at end of file diff --git a/app/api/generated/types/titleControllerController/DeleteAllById.ts b/app/api/generated/types/titleControllerController/DeleteAllById.ts new file mode 100644 index 0000000..384d54c --- /dev/null +++ b/app/api/generated/types/titleControllerController/DeleteAllById.ts @@ -0,0 +1,29 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export type DeleteAllByIdQueryParams = { + /** + * @type array + */ + ids: string[] +} + +/** + * @description Тайтлы успешно удален или не найден + */ +export type DeleteAllById204 = unknown + +export type DeleteAllByIdMutationResponse = DeleteAllById204 + +export type DeleteAllByIdMutation = { + Response: DeleteAllById204 + QueryParams: DeleteAllByIdQueryParams + Errors: any +} \ No newline at end of file diff --git a/app/api/generated/types/titleControllerController/DeleteById1.ts b/app/api/generated/types/titleControllerController/DeleteById1.ts new file mode 100644 index 0000000..c686819 --- /dev/null +++ b/app/api/generated/types/titleControllerController/DeleteById1.ts @@ -0,0 +1,29 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +export type DeleteById1PathParams = { + /** + * @type string, uuid + */ + id: string +} + +/** + * @description Тайтлы успешно удален или не найден + */ +export type DeleteById1204 = unknown + +export type DeleteById1MutationResponse = DeleteById1204 + +export type DeleteById1Mutation = { + Response: DeleteById1204 + PathParams: DeleteById1PathParams + Errors: any +} \ No newline at end of file diff --git a/app/api/generated/types/titleControllerController/GetAllByAnimeId.ts b/app/api/generated/types/titleControllerController/GetAllByAnimeId.ts new file mode 100644 index 0000000..271d7e4 --- /dev/null +++ b/app/api/generated/types/titleControllerController/GetAllByAnimeId.ts @@ -0,0 +1,37 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { AnimeTitleDTO } from '../AnimeTitleDTO.ts' +import type { ErrorDTO } from '../ErrorDTO.ts' + +export type GetAllByAnimeIdPathParams = { + /** + * @type string, uuid + */ + animeId: string +} + +/** + * @description Список тайтлов по аниме id успешно найден + */ +export type GetAllByAnimeId200 = AnimeTitleDTO[] + +/** + * @description Аниме не найдео + */ +export type GetAllByAnimeId404 = ErrorDTO + +export type GetAllByAnimeIdQueryResponse = GetAllByAnimeId200 + +export type GetAllByAnimeIdQuery = { + Response: GetAllByAnimeId200 + PathParams: GetAllByAnimeIdPathParams + Errors: GetAllByAnimeId404 +} \ No newline at end of file diff --git a/app/api/generated/types/titleControllerController/GetById.ts b/app/api/generated/types/titleControllerController/GetById.ts new file mode 100644 index 0000000..7bd7f95 --- /dev/null +++ b/app/api/generated/types/titleControllerController/GetById.ts @@ -0,0 +1,37 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { AnimeTitleDTO } from '../AnimeTitleDTO.ts' +import type { ErrorDTO } from '../ErrorDTO.ts' + +export type GetByIdPathParams = { + /** + * @type string, uuid + */ + id: string +} + +/** + * @description Тайтл найден + */ +export type GetById200 = AnimeTitleDTO + +/** + * @description Тайтл не найден + */ +export type GetById404 = ErrorDTO + +export type GetByIdQueryResponse = GetById200 + +export type GetByIdQuery = { + Response: GetById200 + PathParams: GetByIdPathParams + Errors: GetById404 +} \ No newline at end of file diff --git a/app/api/generated/types/titleControllerController/GetPage1.ts b/app/api/generated/types/titleControllerController/GetPage1.ts new file mode 100644 index 0000000..c203f2e --- /dev/null +++ b/app/api/generated/types/titleControllerController/GetPage1.ts @@ -0,0 +1,35 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { PageAnimeTitleDTO } from '../PageAnimeTitleDTO.ts' + +export type GetPage1QueryParams = { + /** + * @type integer, int32 + */ + page: number + /** + * @type integer, int32 + */ + size: number +} + +/** + * @description OK + */ +export type GetPage1200 = PageAnimeTitleDTO + +export type GetPage1QueryResponse = GetPage1200 + +export type GetPage1Query = { + Response: GetPage1200 + QueryParams: GetPage1QueryParams + Errors: any +} \ No newline at end of file diff --git a/app/api/generated/types/titleControllerController/UpdateAllById.ts b/app/api/generated/types/titleControllerController/UpdateAllById.ts new file mode 100644 index 0000000..e1b7d1a --- /dev/null +++ b/app/api/generated/types/titleControllerController/UpdateAllById.ts @@ -0,0 +1,38 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { AnimeTitleDTO } from '../AnimeTitleDTO.ts' +import type { ErrorDTO } from '../ErrorDTO.ts' +import type { UpdateAnimeTitleRequest } from '../UpdateAnimeTitleRequest.ts' + +export type UpdateAllByIdQueryParams = { + /** + * @type array + */ + updateAnimeTitleRequests: UpdateAnimeTitleRequest[] +} + +/** + * @description Тайтлы успешно обновлены + */ +export type UpdateAllById200 = AnimeTitleDTO[] + +/** + * @description Ни один из тайтлов не найден + */ +export type UpdateAllById404 = ErrorDTO + +export type UpdateAllByIdMutationResponse = UpdateAllById200 + +export type UpdateAllByIdMutation = { + Response: UpdateAllById200 + QueryParams: UpdateAllByIdQueryParams + Errors: UpdateAllById404 +} \ No newline at end of file diff --git a/app/api/generated/types/titleControllerController/UpdateById2.ts b/app/api/generated/types/titleControllerController/UpdateById2.ts new file mode 100644 index 0000000..7501ee0 --- /dev/null +++ b/app/api/generated/types/titleControllerController/UpdateById2.ts @@ -0,0 +1,38 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-nocheck + +/** + * Generated by Kubb (https://kubb.dev/). + * Do not edit manually. + */ + +import type { AnimeTitleDTO } from '../AnimeTitleDTO.ts' +import type { ErrorDTO } from '../ErrorDTO.ts' +import type { UpdateAnimeTitleRequest } from '../UpdateAnimeTitleRequest.ts' + +export type UpdateById2QueryParams = { + /** + * @type object + */ + updateAnimeTitleRequest: UpdateAnimeTitleRequest +} + +/** + * @description Тайтл успешно обновлен + */ +export type UpdateById2200 = AnimeTitleDTO + +/** + * @description Тайтл не найден + */ +export type UpdateById2404 = ErrorDTO + +export type UpdateById2MutationResponse = UpdateById2200 + +export type UpdateById2Mutation = { + Response: UpdateById2200 + QueryParams: UpdateById2QueryParams + Errors: UpdateById2404 +} \ No newline at end of file diff --git a/app/api/helpers/createAxiosInstance.ts b/app/api/helpers/createAxiosInstance.ts new file mode 100644 index 0000000..7599a10 --- /dev/null +++ b/app/api/helpers/createAxiosInstance.ts @@ -0,0 +1,12 @@ +import axios, { CreateAxiosDefaults } from 'axios' +// import qs from 'qs' + +export const createAxiosInstance = (config?: CreateAxiosDefaults) => { + return axios.create({ + adapter: 'fetch', + // paramsSerializer: (params) => + // qs.stringify(params, { arrayFormat: 'repeat' }), + // withCredentials: true, + ...config, + }) +} diff --git a/app/api/helpers/index.ts b/app/api/helpers/index.ts new file mode 100644 index 0000000..40a4a61 --- /dev/null +++ b/app/api/helpers/index.ts @@ -0,0 +1,2 @@ +export * from "./createAxiosInstance"; +export * from "./routesMapping"; diff --git a/app/api/helpers/routesMapping.ts b/app/api/helpers/routesMapping.ts new file mode 100644 index 0000000..472c6e4 --- /dev/null +++ b/app/api/helpers/routesMapping.ts @@ -0,0 +1,19 @@ +import { ROUTES } from "../types"; + +const withBaseUrl = + (func: (...args: any[]) => any | Promise) => + (...args: any[]) => + parseToggleFeatureFromEnv(process.env.NEXT_PUBLIC_FEATURE_MOCKDATA ?? "") + ? { + url: `${process.env.NEXT_PUBLIC_API_ENDPOINT}/${func.apply(undefined, args)}`, + } + : {}; + +const parseToggleFeatureFromEnv = (feature: string) => feature === "true"; + +export const routesMapping = withBaseUrl((route: ROUTES) => { + switch (route) { + case ROUTES.ANIME_GENRES: + return ROUTES.ANIME_GENRES; + } +}); diff --git a/app/api/instances/clientInstance.ts b/app/api/instances/clientInstance.ts new file mode 100644 index 0000000..7c7882b --- /dev/null +++ b/app/api/instances/clientInstance.ts @@ -0,0 +1,5 @@ +import { createAxiosInstance } from "../helpers"; + +export const clientInstance = createAxiosInstance({ + baseURL: process.env.NEXT_PUBLIC_API_ENDPOINT, +}); diff --git a/app/api/instances/index.ts b/app/api/instances/index.ts new file mode 100644 index 0000000..158b959 --- /dev/null +++ b/app/api/instances/index.ts @@ -0,0 +1 @@ +export * from './clientInstance' \ No newline at end of file diff --git a/app/api/types/index.ts b/app/api/types/index.ts new file mode 100644 index 0000000..7256eea --- /dev/null +++ b/app/api/types/index.ts @@ -0,0 +1 @@ +export * from './routes' \ No newline at end of file diff --git a/app/api/types/routes.ts b/app/api/types/routes.ts new file mode 100644 index 0000000..2c8f78b --- /dev/null +++ b/app/api/types/routes.ts @@ -0,0 +1,3 @@ +export enum ROUTES { + ANIME_GENRES = "animeGenres", +} diff --git a/app/layout.tsx b/app/layout.tsx index 348b6bc..dbef4cc 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -4,6 +4,7 @@ import React from "react"; import { Inter } from "./ui/fonts"; import { NotifyProvider } from "./ui/notifications/notifications"; import "@vidstack/react/player/styles/base.css"; +import { TanstackProvider } from "./ui/tanstack/tanstack-provider"; export const metadata: Metadata = { title: "Cine Network", @@ -18,7 +19,9 @@ export default function RootLayout({ return ( - {children} + + {children} + ); diff --git a/app/libs/tanstackQuery.ts b/app/libs/tanstackQuery.ts new file mode 100644 index 0000000..568c10c --- /dev/null +++ b/app/libs/tanstackQuery.ts @@ -0,0 +1,37 @@ +import { + defaultShouldDehydrateQuery, + isServer, + QueryClient, +} from '@tanstack/react-query' + +function makeQueryClient() { + return new QueryClient({ + defaultOptions: { + // queries: { + // staleTime: 10 * 1000, + // }, + dehydrate: { + // include pending queries in dehydration + shouldDehydrateQuery: (query) => + defaultShouldDehydrateQuery(query) || + query.state.status === 'pending', + }, + }, + }) +} + +let browserQueryClient: QueryClient | undefined = undefined + +export function getQueryClient() { + if (isServer) { + // Server: always make a new query client + return makeQueryClient() + } else { + // Browser: make a new query client if we don't already have one + // This is very important, so we don't re-make a new client if React + // suspends during the initial render. This may not be needed if we + // have a suspense boundary BELOW the creation of the query client + if (!browserQueryClient) browserQueryClient = makeQueryClient() + return browserQueryClient + } +} diff --git a/app/ui/tanstack/tanstack-provider.tsx b/app/ui/tanstack/tanstack-provider.tsx new file mode 100644 index 0000000..4acc3a8 --- /dev/null +++ b/app/ui/tanstack/tanstack-provider.tsx @@ -0,0 +1,19 @@ +"use client"; + +import { getQueryClient } from "@/app/libs/tanstackQuery"; +import { QueryClientProvider } from "@tanstack/react-query"; +import React from "react"; +import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; + +export const TanstackProvider: React.FC = ({ + children, +}) => { + const queryClient = getQueryClient(); + + return ( + + {children} + + + ); +}; diff --git a/db.json b/db.json index 6450773..18bd974 100644 --- a/db.json +++ b/db.json @@ -534,5 +534,10 @@ "episodeName": "Правда раскрыта", "imageUrl": "/noImage.png" } + ], + "animeGenres": [ + { "id": 0, "value": "DRAMA" }, + { "id": 1, "value": "GAME" }, + { "id": 2, "value": "PSYCHOLOGICAL" } ] } diff --git a/kubb.config.ts b/kubb.config.ts new file mode 100644 index 0000000..580b86e --- /dev/null +++ b/kubb.config.ts @@ -0,0 +1,104 @@ +import { defineConfig } from "@kubb/core"; +import { pluginClient } from "@kubb/plugin-client"; +import { pluginOas } from "@kubb/plugin-oas"; +import { pluginReactQuery } from "@kubb/plugin-react-query"; +import { pluginTs } from "@kubb/plugin-ts"; + +const concatLines = (lines: string[]) => `${lines.join(" \n ")}\n`; + +const banner = concatLines([ + "/* eslint-disable @typescript-eslint/no-explicit-any */", + "/* eslint-disable @typescript-eslint/no-unused-vars */", + "/* eslint-disable @typescript-eslint/ban-ts-comment */", + "// @ts-nocheck", +]); + +const beautifyString = (str: string) => { + const parts = str.split("-"); + return [ + parts[0], + ...parts.slice(1).map((word) => `${word[0].toUpperCase()}${word.slice(1)}`), + ].join(""); +}; + +const getName = ({ group }: { group: string }, subString: string) => + `${beautifyString(group)}${subString}`; + +export default defineConfig(() => { + return { + root: ".", + input: { + path: "./api-docs.json", + }, + output: { + path: "./app/api/generated", + clean: true, + write: true, + }, + plugins: [ + pluginOas({ + validate: true, + group: { + type: "tag", + name: ({ group }) => getName({ group }, "Controller"), + }, + }), + pluginTs({ + output: { + path: "./types", + banner, + }, + group: { + type: "tag", + name: ({ group }) => getName({ group }, "Controller"), + }, + enumType: "asConst", + enumSuffix: "Enum", + dateType: "date", + unknownType: "unknown", + optionalType: "questionTokenAndUndefined", + oasType: false, + }), + pluginClient({ + output: { + path: "./clients/axios", + barrelType: "named", + banner, + }, + group: { + type: "tag", + name: ({ group }) => getName({ group }, "Service"), + }, + operations: true, + importPath: "@/app/api/client", + }), + pluginReactQuery({ + output: { + path: "./hooks", + banner, + }, + group: { + type: "tag", + name: ({ group }) => getName({ group }, "Hooks"), + }, + client: { + dataReturnType: "data", + importPath: "@/app/api/client", + }, + mutation: { + methods: ["post", "patch", "put", "delete"], + }, + infinite: { + queryParam: "page", + initialPageParam: 1, + cursorParam: "nextCursor", + }, + query: { + methods: ["get"], + importPath: "@tanstack/react-query", + }, + suspense: {}, + }), + ], + }; +}); diff --git a/package.json b/package.json index 46d6e8b..d97ce54 100644 --- a/package.json +++ b/package.json @@ -10,11 +10,20 @@ "fix": "next lint . --fix", "db": "json-server --watch db.json", "unit": "jest", - "prepare": "git config core.hooksPath .git-hooks || echo 'Not in a git repo'" + "prepare": "git config core.hooksPath .git-hooks || echo 'Not in a git repo'", + "generate": "kubb generate" }, "dependencies": { "@eslint/eslintrc": "^3", "@headlessui/react": "^2.2.4", + "@kubb/cli": "^3.16.0", + "@kubb/core": "^3.16.0", + "@kubb/plugin-client": "^3.16.0", + "@kubb/plugin-oas": "^3.16.0", + "@kubb/plugin-react-query": "^3.16.0", + "@kubb/plugin-ts": "^3.16.0", + "@tanstack/react-query": "^5.83.0", + "@tanstack/react-query-devtools": "^5.83.0", "@vidstack/react": "^1.12.13", "autoprefixer": "^10.4.21", "axios": "^1.9.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fe1f6dd..6c66aa5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,6 +14,30 @@ importers: '@headlessui/react': specifier: ^2.2.4 version: 2.2.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@kubb/cli': + specifier: ^3.16.0 + version: 3.16.0(typescript@5.8.3) + '@kubb/core': + specifier: ^3.16.0 + version: 3.16.0 + '@kubb/plugin-client': + specifier: ^3.16.0 + version: 3.16.0(@kubb/react@3.16.0)(axios@1.10.0) + '@kubb/plugin-oas': + specifier: ^3.16.0 + version: 3.16.0(@kubb/react@3.16.0) + '@kubb/plugin-react-query': + specifier: ^3.16.0 + version: 3.16.0(@kubb/react@3.16.0)(axios@1.10.0) + '@kubb/plugin-ts': + specifier: ^3.16.0 + version: 3.16.0(@kubb/react@3.16.0) + '@tanstack/react-query': + specifier: ^5.83.0 + version: 5.83.0(react@19.1.0) + '@tanstack/react-query-devtools': + specifier: ^5.83.0 + version: 5.83.0(@tanstack/react-query@5.83.0(react@19.1.0))(react@19.1.0) '@vidstack/react': specifier: ^1.12.13 version: 1.12.13(@types/react@19.1.8)(react@19.1.0) @@ -128,9 +152,18 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} + '@apidevtools/json-schema-ref-parser@13.0.5': + resolution: {integrity: sha512-xfh4xVJD62gG6spIc7lwxoWT+l16nZu1ELyU8FkjaP/oD2yP09EvLAU6KhtudN9aML2Khhs9pY6Slr7KGTES3w==} + engines: {node: '>= 16'} + '@asamuzakjp/css-color@3.2.0': resolution: {integrity: sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==} + '@asteasolutions/zod-to-openapi@7.3.4': + resolution: {integrity: sha512-/2rThQ5zPi9OzVwes6U7lK1+Yvug0iXu25olp7S0XsYmOqnyMfxH7gdSQjn/+DSOHRg7wnotwGJSyL+fBKdnEA==} + peerDependencies: + zod: ^3.20.2 + '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} @@ -379,6 +412,9 @@ packages: resolution: {integrity: sha512-4SaFZCNfJqvk/kenHpI8xvN42DMaoycy4PzKc5otHxRswww1kAt82OlBuwRVLofCACCTZEcla2Ydxv8scMXaTg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@exodus/schemasafe@1.3.0': + resolution: {integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==} + '@floating-ui/core@1.7.1': resolution: {integrity: sha512-azI0DrjMMfIug/ExbBaeDVJXcY0a7EPvPjb2xAJPa4HeimBX+Z18HK8QQR3jb6356SnDDdxx+hinMLcJEDdOjw==} @@ -407,6 +443,25 @@ packages: react: ^18 || ^19 || ^19.0.0-rc react-dom: ^18 || ^19 || ^19.0.0-rc + '@hono/node-server@1.17.1': + resolution: {integrity: sha512-SY79W/C+2b1MyAzmIcV32Q47vO1b5XwLRwj8S9N6Jr5n1QCkIfAIH6umOSgqWZ4/v67hg6qq8Ha5vZonVidGsg==} + engines: {node: '>=18.14.1'} + peerDependencies: + hono: ^4 + + '@hono/zod-openapi@0.19.2': + resolution: {integrity: sha512-lkFa6wdQVgY7d7/m++Ixr3hvKCF5Y+zjTIPM37fex5ylCfX53A/W28gZRDuFZx3aR+noKob7lHfwdk9dURLzxw==} + engines: {node: '>=16.0.0'} + peerDependencies: + hono: '>=4.3.6' + zod: 3.* + + '@hono/zod-validator@0.4.3': + resolution: {integrity: sha512-xIgMYXDyJ4Hj6ekm9T9Y27s080Nl9NXHcJkOvkXPhubOLj8hZkOL8pDnnXfvCf5xEE8Q4oMFenQUZZREUY2gqQ==} + peerDependencies: + hono: '>=3.9.0' + zod: ^3.19.1 + '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} @@ -419,6 +474,10 @@ packages: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} + '@humanwhocodes/momoa@2.0.4': + resolution: {integrity: sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==} + engines: {node: '>=10.10.0'} + '@humanwhocodes/retry@0.3.1': resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} engines: {node: '>=18.18'} @@ -672,6 +731,77 @@ packages: '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + '@jsep-plugin/assignment@1.3.0': + resolution: {integrity: sha512-VVgV+CXrhbMI3aSusQyclHkenWSAm95WaiKrMxRFam3JSUiIaQjoMIw2sEs/OX4XifnqeQUN4DYbJjlA8EfktQ==} + engines: {node: '>= 10.16.0'} + peerDependencies: + jsep: ^0.4.0||^1.0.0 + + '@jsep-plugin/regex@1.0.4': + resolution: {integrity: sha512-q7qL4Mgjs1vByCaTnDFcBnV9HS7GVPJX5vyVoCgZHNSC9rjwIlmbXG5sUuorR5ndfHAIlJ8pVStxvjXHbNvtUg==} + engines: {node: '>= 10.16.0'} + peerDependencies: + jsep: ^0.4.0||^1.0.0 + + '@kubb/cli@3.16.0': + resolution: {integrity: sha512-t7hriwYIgYjk47lnjgCHBTKSfGqH2dlQ8UKVsX5CruhotET9/+5fVgDY0Jt/Op3Xif1XiX477OlFfycNMD6CFA==} + engines: {node: '>=20'} + hasBin: true + + '@kubb/core@3.16.0': + resolution: {integrity: sha512-GOETWCn8RYHDt22UlZiXfryVDBIgoeKx+4NZ3EYfIi7qfJEzjSn0SGfbJPfXiyePMqJxwR1RveGJ2H0uHcjYNg==} + engines: {node: '>=20'} + + '@kubb/oas@3.16.0': + resolution: {integrity: sha512-t4pPPCGB2k0RD4Pgnq2xJtm/LtCTbXzMRH/mJy3ntet6Gh0YZNJgAbxrVgpAwXoxvY3Jn74autHVG7e6ZzwalQ==} + engines: {node: '>=20'} + + '@kubb/parser-ts@3.16.0': + resolution: {integrity: sha512-eTbYedNdkEycZUXdPYPkDyL9WqvnDXE2Cx4yrITZ2qU2fEbN/vXeTuSmX6h58/i+O5D+BQEwNekhZKLQgRKlMQ==} + engines: {node: '>=20'} + + '@kubb/plugin-client@3.16.0': + resolution: {integrity: sha512-FJ0RGU0yxrwBT4zof4rxpwIdiqehSNE+D0uMa0iSas2byYKWIlZ/zU1YF8SgRRAjOb5D5oca8+FEOuDLQm4iRg==} + engines: {node: '>=20'} + peerDependencies: + '@kubb/react': ^3.0.0 + axios: ^1.7.2 + peerDependenciesMeta: + axios: + optional: true + + '@kubb/plugin-oas@3.16.0': + resolution: {integrity: sha512-yHE9t7mkdGxPuw9mosT9ZQIoxHNT8vW+ZMIpb6inKv2IMJAbYCQAUwJMCxNcmLula/N5ACh3sGl0INhOYOkc1w==} + engines: {node: '>=20'} + peerDependencies: + '@kubb/react': ^3.0.0 + + '@kubb/plugin-react-query@3.16.0': + resolution: {integrity: sha512-+wlUJLOC6TnDgyiE/mOKo4zNJs2nUWQEDbtbIB+Y9sv0I1Q7GaF9pNNryGgiOTDBtPsjo3JnL2bympRbS5ru/w==} + engines: {node: '>=20'} + peerDependencies: + '@kubb/react': ^3.0.0 + + '@kubb/plugin-ts@3.16.0': + resolution: {integrity: sha512-2fks7akVfO9X9aiKSjBt7C1MAxWjJhmjc5mztcVzwTIe21GwhFQ65Nj7gpD1TpdkZ7xpKdHIVhqlqCn0MYHfMA==} + engines: {node: '>=20'} + peerDependencies: + '@kubb/react': ^3.0.0 + + '@kubb/plugin-zod@3.16.0': + resolution: {integrity: sha512-NzrPD4s3kgXbEJAVYol5aVEWbnK7/lThZcSKZfmjYULIg70Qk/shgGZgX3plsMtXQvYTxcoQZJ8jswVYunqUMg==} + engines: {node: '>=20'} + peerDependencies: + '@kubb/react': ^3.0.0 + + '@kubb/react@3.16.0': + resolution: {integrity: sha512-Sj9kohFTQM0wDa63LYIoDU7TJAUKmNrqRkO6DEIdHBdfVX8NZHEdOoYjw2iIbp1Rmf2yDXLbv18qrqMKk3DVNg==} + engines: {node: '>=20'} + + '@kubb/ui@3.16.0': + resolution: {integrity: sha512-xsy/tjQ/O01MRneulv4971u76vxvf9MIhEf64ev0PeSe+om0LkEyRBc4bD2Hj6SomLdQfKVntwPVJ4qpiAVimA==} + engines: {node: '>=20'} + '@napi-rs/wasm-runtime@0.2.11': resolution: {integrity: sha512-9DPkXtvHydrcOsopiYpUgPHpmj0HWZKMUnL2dZqpvC42lsratuBG06V5ipyno0fUek5VlFsNQ+AcFATSrJXgMA==} @@ -831,6 +961,18 @@ packages: resolution: {integrity: sha512-YLT9Zo3oNPJoBjBc4q8G2mjU4tqIbf5CEOORbUUr48dCD9q3umJ3IPlVqOqDakPfd2HuwccBaqlGhN4Gmr5OWg==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + '@pnpm/config.env-replace@1.1.0': + resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} + engines: {node: '>=12.22.0'} + + '@pnpm/network.ca-file@1.0.2': + resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} + engines: {node: '>=12.22.0'} + + '@pnpm/npm-conf@2.3.1': + resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==} + engines: {node: '>=12'} + '@polka/url@1.0.0-next.29': resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} @@ -871,18 +1013,58 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@readme/better-ajv-errors@2.3.2': + resolution: {integrity: sha512-T4GGnRAlY3C339NhoUpgJJFsMYko9vIgFAlhgV+/vEGFw66qEY4a4TRJIAZBcX/qT1pq5DvXSme+SQODHOoBrw==} + engines: {node: '>=18'} + peerDependencies: + ajv: 4.11.8 - 8 + + '@readme/http-status-codes@7.2.0': + resolution: {integrity: sha512-/dBh9qw3QhJYqlGwt2I+KUP/lQ6nytdCx3aq+GpMUhibLHF3O7fwoowNcTwlbnwtyJ+TJYTIIrp3oVUlRNx3fA==} + + '@readme/openapi-parser@4.1.2': + resolution: {integrity: sha512-lAFH88r/CHs5VZDUocEda0OSMSQsr6801sziIjOKyVA+0hSFN+BPuelPF5XvkMROHecnPd+XEJN1iNQqCgER/g==} + engines: {node: '>=20'} + peerDependencies: + openapi-types: '>=7' + + '@readme/openapi-schemas@3.1.0': + resolution: {integrity: sha512-9FC/6ho8uFa8fV50+FPy/ngWN53jaUu4GRXlAjcxIRrzhltJnpKkBG2Tp0IDraFJeWrOpk84RJ9EMEEYzaI1Bw==} + engines: {node: '>=18'} + + '@readme/postman-to-openapi@4.1.0': + resolution: {integrity: sha512-VvV2Hzjskz01m8doSn7Ypt6cSZzgjnypVqXy1ipThbyYD6SGiM74VSePXykOODj/43Y2m6zeYedPk/ZLts/HvQ==} + engines: {node: '>=14'} + + '@redocly/ajv@8.11.2': + resolution: {integrity: sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg==} + + '@redocly/config@0.22.2': + resolution: {integrity: sha512-roRDai8/zr2S9YfmzUfNhKjOF0NdcOIqF7bhf4MVC5UxpjIysDjyudvlAiVbpPHp3eDRWbdzUgtkK1a7YiDNyQ==} + + '@redocly/openapi-core@1.34.5': + resolution: {integrity: sha512-0EbE8LRbkogtcCXU7liAyC00n9uNG9hJ+eMyHFdUsy9lB/WGqnEBgwjA9q2cyzAVcdTkQqTBBU1XePNnN3OijA==} + engines: {node: '>=18.17.0', npm: '>=9.5.0'} + '@rtsao/scc@1.1.0': resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} '@rushstack/eslint-patch@1.11.0': resolution: {integrity: sha512-zxnHvoMQVqewTJr/W4pKjF0bMGiKJv1WX7bSrkl46Hg0QjESbzBROWK0Wg4RphzSOS5Jiy7eFimmM3UgMrMZbQ==} + '@sec-ant/readable-stream@0.4.1': + resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} + '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} '@sinclair/typebox@0.34.35': resolution: {integrity: sha512-C6ypdODf2VZkgRT6sFM8E1F8vR+HcffniX0Kp8MsU8PIfrlXbNCBz0jzj17GjdmjTx1OtZzdH8+iALL21UjF5A==} + '@sindresorhus/merge-streams@4.0.0': + resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} + engines: {node: '>=18'} + '@sinonjs/commons@3.0.1': resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} @@ -892,6 +1074,21 @@ packages: '@sinonjs/fake-timers@13.0.5': resolution: {integrity: sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==} + '@stoplight/ordered-object-literal@1.0.5': + resolution: {integrity: sha512-COTiuCU5bgMUtbIFBuyyh2/yVVzlr5Om0v5utQDgBCuQUOPgU1DwoffkTfg4UBQOvByi5foF4w4T+H9CoRe5wg==} + engines: {node: '>=8'} + + '@stoplight/types@14.1.1': + resolution: {integrity: sha512-/kjtr+0t0tjKr+heVfviO9FrU/uGLc+QNX3fHJc19xsCNYqU7lVhaXxDmEID9BZTjG+/r9pK9xP/xU02XGg65g==} + engines: {node: ^12.20 || >=14.13} + + '@stoplight/yaml-ast-parser@0.0.50': + resolution: {integrity: sha512-Pb6M8TDO9DtSVla9yXSTAxmo9GVEouq5P40DWXdOie69bXogZTkgvopCq+yEvTMA0F6PEvdJmbtTV3ccIp11VQ==} + + '@stoplight/yaml@4.3.0': + resolution: {integrity: sha512-JZlVFE6/dYpP9tQmV0/ADfn32L9uFarHWxfcRhReKUnljz1ZiUM5zpX+PH8h5CJs6lao3TuFqnPm9IJJCEkE2w==} + engines: {node: '>=10.8'} + '@swc/helpers@0.5.15': resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} @@ -986,6 +1183,23 @@ packages: '@tailwindcss/postcss@4.1.8': resolution: {integrity: sha512-vB/vlf7rIky+w94aWMw34bWW1ka6g6C3xIOdICKX2GC0VcLtL6fhlLiafF0DVIwa9V6EHz8kbWMkS2s2QvvNlw==} + '@tanstack/query-core@5.83.0': + resolution: {integrity: sha512-0M8dA+amXUkyz5cVUm/B+zSk3xkQAcuXuz5/Q/LveT4ots2rBpPTZOzd7yJa2Utsf8D2Upl5KyjhHRY+9lB/XA==} + + '@tanstack/query-devtools@5.81.2': + resolution: {integrity: sha512-jCeJcDCwKfoyyBXjXe9+Lo8aTkavygHHsUHAlxQKKaDeyT0qyQNLKl7+UyqYH2dDF6UN/14873IPBHchcsU+Zg==} + + '@tanstack/react-query-devtools@5.83.0': + resolution: {integrity: sha512-yfp8Uqd3I1jgx8gl0lxbSSESu5y4MO2ThOPBnGNTYs0P+ZFu+E9g5IdOngyUGuo6Uz6Qa7p9TLdZEX3ntik2fQ==} + peerDependencies: + '@tanstack/react-query': ^5.83.0 + react: ^18 || ^19 + + '@tanstack/react-query@5.83.0': + resolution: {integrity: sha512-/XGYhZ3foc5H0VM2jLSD/NyBRIOK4q9kfeml4+0x2DlL6xVuAcVEW+hTlTapAmejObg0i3eNqhkr2dT+eciwoQ==} + peerDependencies: + react: ^18 || ^19 + '@tanstack/react-virtual@3.13.10': resolution: {integrity: sha512-nvrzk4E9mWB4124YdJ7/yzwou7IfHxlSef6ugCFcBfRmsnsma3heciiiV97sBNxyc3VuwtZvmwXd0aB5BpucVw==} peerDependencies: @@ -1171,6 +1385,9 @@ packages: '@types/stack-utils@2.0.3': resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + '@types/tinycolor2@1.4.6': + resolution: {integrity: sha512-iEN8J0BoMnsWBqjVbWH/c0G0Hh7O21lpR2/+PrvAVgWdzL7eexIFm4JN/Wn10PTcmNdtS6U67r499mlWMXOxNw==} + '@types/tough-cookie@4.0.5': resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} @@ -1359,9 +1576,20 @@ packages: resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} engines: {node: '>= 14'} + ajv-draft-04@1.0.0: + resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} + peerDependencies: + ajv: ^8.5.0 + peerDependenciesMeta: + ajv: + optional: true + ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} @@ -1518,6 +1746,10 @@ packages: buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + bundle-name@4.1.0: + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} + call-bind-apply-helpers@1.0.2: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} @@ -1530,6 +1762,9 @@ packages: resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} engines: {node: '>= 0.4'} + call-me-maybe@1.0.2: + resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} + callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -1542,6 +1777,10 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} + camelcase@8.0.0: + resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} + engines: {node: '>=16'} + caniuse-lite@1.0.30001723: resolution: {integrity: sha512-1R/elMjtehrFejxwmexeXAtae5UO9iSyFn6G/I806CYC/BLyyBk1EPhrKBkWhy6wM6Xnm47dSJQec+tLJ39WHw==} @@ -1577,9 +1816,16 @@ packages: resolution: {integrity: sha512-cYY9mypksY8NRqgDB1XD1RiJL338v/551niynFTGkZOO2LHuB2OmOYxDIe/ttN9AHwrqdum1360G3ald0W9kCg==} engines: {node: '>=8'} + citty@0.1.6: + resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} + cjs-module-lexer@1.4.3: resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} + cli-progress@3.12.0: + resolution: {integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==} + engines: {node: '>=4'} + client-only@0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} @@ -1612,6 +1858,9 @@ packages: resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} engines: {node: '>=12.5.0'} + colorette@1.4.0: + resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} + colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} @@ -1619,15 +1868,37 @@ packages: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} + compute-gcd@1.2.1: + resolution: {integrity: sha512-TwMbxBNz0l71+8Sc4czv13h4kEqnchV9igQZBi6QUaz09dnz13juGnnaWWJTRsP3brxOoxeB4SA2WELLw1hCtg==} + + compute-lcm@1.1.2: + resolution: {integrity: sha512-OFNPdQAXnQhDSKioX8/XYT6sdUlXwpeMjfd6ApxMJfyZ4GxmLR1xvMERctlYhlHwIiz6CSpBc2+qYKjHGZw4TQ==} + concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + config-chain@1.1.13: + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + confusing-browser-globals@1.0.11: resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} + consola@3.4.2: + resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} + engines: {node: ^14.18.0 || >=16.10.0} + convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + cosmiconfig@9.0.0: + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + create-jest@29.7.0: resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1650,6 +1921,10 @@ packages: csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + d@1.0.2: + resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} + engines: {node: '>=0.12'} + damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} @@ -1700,6 +1975,10 @@ packages: babel-plugin-macros: optional: true + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -1707,10 +1986,22 @@ packages: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} + default-browser-id@5.0.0: + resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} + engines: {node: '>=18'} + + default-browser@5.2.1: + resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} + engines: {node: '>=18'} + define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} + define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + define-properties@1.2.1: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} @@ -1788,6 +2079,10 @@ packages: resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} engines: {node: '>=0.12'} + env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} @@ -1827,6 +2122,23 @@ packages: resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} engines: {node: '>= 0.4'} + es5-ext@0.10.64: + resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} + engines: {node: '>=0.10'} + + es6-iterator@2.0.3: + resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} + + es6-promise@3.3.1: + resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} + + es6-symbol@3.1.4: + resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} + engines: {node: '>=0.12'} + + es6-weak-map@2.0.3: + resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -1972,6 +2284,10 @@ packages: jiti: optional: true + esniff@2.0.1: + resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} + engines: {node: '>=0.10'} + espree@10.4.0: resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2001,10 +2317,17 @@ packages: resolution: {integrity: sha512-e3x3FBvGzeCIHhF+zhK8FZA2vC5uFn6b4HJjegUbIWrDb4mJ7JjTGMJY9VGIbRVpmSwHopNiaJibhjIr+HfLug==} engines: {node: '>=6.0.0'} + event-emitter@0.3.5: + resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} + execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} + execa@9.6.0: + resolution: {integrity: sha512-jpWzZ1ZhwUmeWRhS7Qv3mhpOhLfwI+uAX4e5fOcXqwMR7EcJ0pj2kV1CVzHVMX/LphnKWD3LObjZCoJ71lKpHw==} + engines: {node: ^18.19.0 || >=20.5.0} + exit@0.1.2: resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} engines: {node: '>= 0.8.0'} @@ -2013,6 +2336,9 @@ packages: resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + ext@1.7.0: + resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} + fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -2033,6 +2359,12 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + + fast-uri@3.0.6: + resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==} + fastq@1.19.1: resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} @@ -2047,6 +2379,10 @@ packages: picomatch: optional: true + figures@6.1.0: + resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} + engines: {node: '>=18'} + file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} @@ -2066,6 +2402,10 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} + find-up@7.0.0: + resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==} + engines: {node: '>=18'} + flat-cache@4.0.1: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} @@ -2093,6 +2433,10 @@ packages: fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + fs-extra@11.3.0: + resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} + engines: {node: '>=14.14'} + fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -2135,6 +2479,10 @@ packages: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} + get-stream@9.0.1: + resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} + engines: {node: '>=18'} + get-symbol-description@1.1.0: resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} @@ -2170,9 +2518,16 @@ packages: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} + graceful-fs@4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + gradient-string@3.0.0: + resolution: {integrity: sha512-frdKI4Qi8Ihp4C6wZNB565de/THpIaw3DjP5ku87M+N9rNSGmPTjfkq61SdRXB7eCaL8O1hkKDvf6CDMtOzIAg==} + engines: {node: '>=14'} + graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} @@ -2210,6 +2565,13 @@ packages: hls.js@1.6.5: resolution: {integrity: sha512-KMn5n7JBK+olC342740hDPHnGWfE8FiHtGMOdJPfUjRdARTWj9OB+8c13fnsf9sk1VtpuU2fKSgUjHvg4rNbzQ==} + hono@4.8.9: + resolution: {integrity: sha512-ERIxkXMRhUxGV7nS/Af52+j2KL60B1eg+k6cPtgzrGughS+espS9KQ7QO0SMnevtmRlBfAcN0mf1jKtO6j/doA==} + engines: {node: '>=16.9.0'} + + hotscript@1.0.13: + resolution: {integrity: sha512-C++tTF1GqkGYecL+2S1wJTfoH6APGAsbb7PAWQ3iVIwgG/EFseAfEVOKFgAFq4yK3+6j1EjUD4UQ9dRJHX/sSQ==} + html-encoding-sniffer@4.0.0: resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} engines: {node: '>=18'} @@ -2224,6 +2586,9 @@ packages: http-status-emojis@2.2.0: resolution: {integrity: sha512-ompKtgwpx8ff0hsbpIB7oE4ax1LXoHmftsHHStMELX56ivG3GhofTX8ZHWlUaFKfGjcGjw6G3rPk7dJRXMmbbg==} + http2-client@1.3.5: + resolution: {integrity: sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==} + https-proxy-agent@7.0.6: resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} engines: {node: '>= 14'} @@ -2232,6 +2597,10 @@ packages: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} + human-signals@8.0.1: + resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} + engines: {node: '>=18.18.0'} + iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} @@ -2275,6 +2644,9 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + internal-slot@1.1.0: resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} @@ -2324,6 +2696,11 @@ packages: resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} engines: {node: '>= 0.4'} + is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -2348,6 +2725,11 @@ packages: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} + is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + is-map@2.0.3: resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} engines: {node: '>= 0.4'} @@ -2364,9 +2746,16 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + is-promise@2.2.2: + resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} + is-regex@1.2.1: resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} engines: {node: '>= 0.4'} @@ -2383,6 +2772,10 @@ packages: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} + is-stream@4.0.1: + resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} + engines: {node: '>=18'} + is-string@1.1.1: resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} engines: {node: '>= 0.4'} @@ -2395,6 +2788,10 @@ packages: resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} engines: {node: '>= 0.4'} + is-unicode-supported@2.1.0: + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} + engines: {node: '>=18'} + is-weakmap@2.0.2: resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} engines: {node: '>= 0.4'} @@ -2407,6 +2804,10 @@ packages: resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} engines: {node: '>= 0.4'} + is-wsl@3.1.0: + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} + isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} @@ -2604,6 +3005,14 @@ packages: resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} hasBin: true + js-levenshtein@1.1.6: + resolution: {integrity: sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==} + engines: {node: '>=0.10.0'} + + js-runtime@0.0.8: + resolution: {integrity: sha512-/nxfuHRkzajgNgGP/7j2A9y8k54XtTWizq+vEGrWh3eBWlSqFhwgToXHAGZeHX3wRMTC3VFBw1iVeemlX4qxZw==} + engines: {node: '>=18', pnpm: '>=8.3.0'} + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -2624,6 +3033,10 @@ packages: canvas: optional: true + jsep@1.4.0: + resolution: {integrity: sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw==} + engines: {node: '>= 10.16.0'} + jsesc@3.1.0: resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} engines: {node: '>=6'} @@ -2635,9 +3048,23 @@ packages: json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + json-schema-compare@0.2.2: + resolution: {integrity: sha512-c4WYmDKyJXhs7WWvAWm3uIYnfyWFoIp+JEoX34rctVvEkMYCPGhXtvmFFXiffBbxfZsvQ0RNnV5H7GvDF5HCqQ==} + + json-schema-merge-allof@0.8.1: + resolution: {integrity: sha512-CTUKmIlPJbsWfzRRnOXz+0MjIqvnleIXwFTzz+t9T86HnYX/Rozria6ZVGLktAU9e+NygNljveP+yxqtQp/Q4w==} + engines: {node: '>=12.0.0'} + + json-schema-to-ts@3.1.1: + resolution: {integrity: sha512-+DWg8jCJG2TEnpy7kOm/7/AxaYoaRbjVB4LFZLySZlWn8exGs3A4OLJR966cVvU26N7X9TWxl+Jsw7dzAqKT6g==} + engines: {node: '>=16'} + json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + json-server@1.0.0-beta.3: resolution: {integrity: sha512-DwE69Ep5ccwIJZBUIWEENC30Yj8bwr4Ax9W9VoIWAYnB8Sj4ReptscO8/DRHv/nXwVlmb3Bk73Ls86+VZdYkkA==} engines: {node: '>=18.3'} @@ -2655,6 +3082,21 @@ packages: engines: {node: '>=6'} hasBin: true + jsonc-parser@3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + jsonpath-plus@10.3.0: + resolution: {integrity: sha512-8TNmfeTCk2Le33A3vRRwtuworG/L5RrgMvdjhKZxvyShO+mBu2fP50OWUjRLNtvw344DdDarFh9buFAZs5ujeA==} + engines: {node: '>=18.0.0'} + hasBin: true + + jsonpointer@5.0.1: + resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} + engines: {node: '>=0.10.0'} + jsx-ast-utils@3.3.5: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} @@ -2666,6 +3108,10 @@ packages: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} + ky@1.8.2: + resolution: {integrity: sha512-XybQJ3d4Ea1kI27DoelE5ZCT3bSJlibYTtQuMsyzKox3TMyayw1asgQdl54WroAm+fIA3ZCr8zXW2RpR7qWVpA==} + engines: {node: '>=18'} + language-subtag-registry@0.3.23: resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} @@ -2673,6 +3119,10 @@ packages: resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} engines: {node: '>=0.10'} + latest-version@9.0.0: + resolution: {integrity: sha512-7W0vV3rqv5tokqkBAFV1LbR7HPOWzXQDpDgEuib/aJ1jsZZx6x3c2mBI+TJhJzOhkGeaLbCKEHXEXLfirtG2JA==} + engines: {node: '>=18'} + leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} @@ -2756,6 +3206,13 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} + locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} @@ -2779,6 +3236,9 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + lru-queue@0.1.0: + resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} + lz-string@1.5.0: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true @@ -2796,6 +3256,11 @@ packages: makeerror@1.0.12: resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + marked@4.3.0: + resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} + engines: {node: '>= 12'} + hasBin: true + math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} @@ -2804,6 +3269,10 @@ packages: resolution: {integrity: sha512-cyDNmuZvvO4H27rcBq2Eudxo9IZRDCOX/I7VEyqbxsEiD2Ei7UYUhG/Sc5fvMZjmathgz3fEK7iAKqvpY+Ux1w==} engines: {node: '>=16'} + memoizee@0.4.17: + resolution: {integrity: sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==} + engines: {node: '>=0.12'} + merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -2874,6 +3343,10 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + mustache@4.2.0: + resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} + hasBin: true + nanoid@3.3.11: resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -2887,10 +3360,17 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + natural-orderby@5.0.0: + resolution: {integrity: sha512-kKHJhxwpR/Okycz4HhQKKlhWe4ASEfPgkSWNmKFHd7+ezuQlxkA5cM3+XkBPvm1gmHen3w53qsYAv+8GwRrBlg==} + engines: {node: '>=18'} + negotiator@0.6.4: resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} engines: {node: '>= 0.6'} + next-tick@1.1.0: + resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} + next@15.4.0-canary.60: resolution: {integrity: sha512-P5bsXSXVuoEBTh7abB88mNGzVFLdZuxbJLEyUOYaBNzgygpyQsGrLdTvoXQ8521Hp++wLifQp4QPdzWy3pqMGQ==} engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} @@ -2915,9 +3395,25 @@ packages: node-addon-api@7.1.1: resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + node-fetch-h2@2.3.0: + resolution: {integrity: sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==} + engines: {node: 4.x || >=6.0.0} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + node-readfiles@0.2.0: + resolution: {integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==} + node-releases@2.0.19: resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} @@ -2933,13 +3429,45 @@ packages: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} + npm-run-path@6.0.0: + resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} + engines: {node: '>=18'} + nwsapi@2.2.20: resolution: {integrity: sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==} + oas-kit-common@1.0.8: + resolution: {integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==} + + oas-linter@3.2.2: + resolution: {integrity: sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==} + + oas-normalize@14.1.2: + resolution: {integrity: sha512-Ro8PQDA0iDeWakWqI1UIdq/0/zoZbIOPzprHbgCxGh4GcbO2WNvqJqvsuriVctzA0FdXXotuX6XDsJ4xkBxXEg==} + engines: {node: '>=20'} + + oas-resolver@2.5.6: + resolution: {integrity: sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==} + hasBin: true + + oas-schema-walker@1.1.5: + resolution: {integrity: sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==} + + oas-validator@5.0.8: + resolution: {integrity: sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==} + + oas@27.2.1: + resolution: {integrity: sha512-W+j0KxKjIBVSixUA6halqnSRMNW5aydO9TwZinR8bLPejAY0au8JDBK97ZM3XKGL4JRqObu9mOB7Fy/GxAgAMQ==} + engines: {node: '>=20'} + object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + object-inspect@1.13.4: resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} engines: {node: '>= 0.4'} @@ -2975,6 +3503,16 @@ packages: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} + open@10.2.0: + resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} + engines: {node: '>=18'} + + openapi-types@12.1.3: + resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==} + + openapi3-ts@4.5.0: + resolution: {integrity: sha512-jaL+HgTq2Gj5jRcfdutgRGLosCy/hT8sQf6VOy+P+g36cZOjI1iukdPnijC+4CmeRzg/jEllJUboEic2FhxhtQ==} + optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -2991,6 +3529,14 @@ packages: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} + p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-limit@6.2.0: + resolution: {integrity: sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==} + engines: {node: '>=18'} + p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} @@ -2999,10 +3545,18 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} + p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} + package-json@10.0.1: + resolution: {integrity: sha512-ua1L4OgXSBdsu1FPb7F3tYH0F48a6kxvod4pLUlGY9COeJAJQNX/sNH2IiEmsxw7lqYiAwrdHMjz1FctOsyDQg==} + engines: {node: '>=18'} + parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -3011,6 +3565,10 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} + parse-ms@4.0.0: + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} + engines: {node: '>=18'} + parse5@7.3.0: resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} @@ -3018,6 +3576,10 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} + path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} @@ -3026,9 +3588,17 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-to-regexp@8.2.0: + resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==} + engines: {node: '>=16'} + picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -3048,6 +3618,10 @@ packages: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} + pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + possible-typed-array-names@1.1.0: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} @@ -3076,6 +3650,11 @@ packages: engines: {node: '>=14'} hasBin: true + prettier@3.6.2: + resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} + engines: {node: '>=14'} + hasBin: true + pretty-format@27.5.1: resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -3088,6 +3667,10 @@ packages: resolution: {integrity: sha512-MR29N2jVpfzRkuW6XbZsYYIqpoU/CzlsLwNO0h4/D5OZlu3c4WkIxaIiUxyuw25GEB8B6KNqOC6WQrqAzhkA8A==} engines: {node: ^18.14.0 || ^20.0.0 || >=22.0.0} + pretty-ms@9.2.0: + resolution: {integrity: sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==} + engines: {node: '>=18'} + prompts@2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} @@ -3095,6 +3678,9 @@ packages: prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + proto-list@1.2.4: + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} @@ -3108,6 +3694,13 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + + react-devtools-core@5.3.2: + resolution: {integrity: sha512-crr9HkVrDiJ0A4zot89oS0Cgv0Oa4OG1Em4jit3P3ZxZSKPMYyMjfwMqgcJna9o625g8oN87rBm8SWWrSTBZxg==} + react-dom@19.1.0: resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==} peerDependencies: @@ -3128,6 +3721,12 @@ packages: react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + react-reconciler@0.32.0: + resolution: {integrity: sha512-2NPMOzgTlG0ZWdIf3qG+dcbLSoAc/uLfOwckc3ofy5sSK0pLJqnQLpUFxvGcN2rlXSjnVtGeeFLNimCQEj5gOQ==} + engines: {node: '>=0.10.0'} + peerDependencies: + react: ^19.1.0 + react@19.1.0: resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==} engines: {node: '>=0.10.0'} @@ -3144,6 +3743,9 @@ packages: resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} engines: {node: '>= 0.4'} + reftools@1.1.9: + resolution: {integrity: sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==} + regexp.prototype.flags@1.5.4: resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} engines: {node: '>= 0.4'} @@ -3152,10 +3754,29 @@ packages: resolution: {integrity: sha512-A1PeDEYMrkLrfyOwv2jwihXbo9qxdGD3atBYQA9JJgreAx8/7rC6IUkWOw2NQlOxLp2wL0ifQbh1HuidDfYA6w==} engines: {node: '>=8'} + registry-auth-token@5.1.0: + resolution: {integrity: sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==} + engines: {node: '>=14'} + + registry-url@6.0.1: + resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} + engines: {node: '>=12'} + + remeda@2.26.1: + resolution: {integrity: sha512-hpiLfhUwkJhiMS3Z7dRrygcRdkMRZASw5qUdNdi33x1/Y9y/J5q5TyLyf8btDoVLIcsg/4fzPdaGXDTbnl+ixw==} + + remove-undefined-objects@6.0.0: + resolution: {integrity: sha512-8fR4QQFV2xMKTYXazi1944rpr1f+JOzQu58TgUFi3xDu41fDon5qMXtjJ1/nhquOouTtJ621bKDrhE1IlOSP+A==} + engines: {node: '>=18'} + require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + resolve-cwd@3.0.0: resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} engines: {node: '>=8'} @@ -3191,6 +3812,10 @@ packages: rrweb-cssom@0.8.0: resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==} + run-applescript@7.0.0: + resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} + engines: {node: '>=18'} + run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -3221,6 +3846,9 @@ packages: scheduler@0.26.0: resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==} + seedrandom@3.0.5: + resolution: {integrity: sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==} + semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true @@ -3254,6 +3882,28 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + shell-quote@1.8.3: + resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} + engines: {node: '>= 0.4'} + + should-equal@2.0.0: + resolution: {integrity: sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==} + + should-format@3.0.3: + resolution: {integrity: sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==} + + should-type-adaptors@1.1.0: + resolution: {integrity: sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==} + + should-type@1.4.0: + resolution: {integrity: sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==} + + should-util@1.0.1: + resolution: {integrity: sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==} + + should@13.2.3: + resolution: {integrity: sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==} + side-channel-list@1.0.0: resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} engines: {node: '>= 0.4'} @@ -3273,6 +3923,10 @@ packages: signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + simple-swizzle@0.2.2: resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} @@ -3320,6 +3974,10 @@ packages: resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} engines: {node: '>= 0.4'} + string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + string-length@4.0.2: resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} engines: {node: '>=10'} @@ -3367,10 +4025,18 @@ packages: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} + strip-final-newline@4.0.0: + resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} + engines: {node: '>=18'} + strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -3400,6 +4066,10 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + swagger2openapi@7.0.8: + resolution: {integrity: sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==} + hasBin: true + symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} @@ -3425,10 +4095,20 @@ packages: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} + timers-ext@0.1.8: + resolution: {integrity: sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==} + engines: {node: '>=0.12'} + + tinycolor2@1.6.0: + resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} + tinyglobby@0.2.14: resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} engines: {node: '>=12.0.0'} + tinygradient@1.1.5: + resolution: {integrity: sha512-8nIfc2vgQ4TeLnk2lFj4tRLvvJwEfQuabdsmvDdQPT0xlk9TaNtpGd6nNRxXoK6vQhN6RSzj+Cnp5tTQmpxmbw==} + tldts-core@6.1.86: resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==} @@ -3451,10 +4131,16 @@ packages: resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==} engines: {node: '>=16'} + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + tr46@5.1.1: resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==} engines: {node: '>=18'} + ts-algebra@2.0.0: + resolution: {integrity: sha512-FPAhNPFMrkwz76P7cdjdmiShwMynZYN6SgOujD1urY4oNm80Ou9oMdmbR45LotcKOXoy7wSmHkRFE6Mxbrhefw==} + ts-api-utils@2.1.0: resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} engines: {node: '>=18.12'} @@ -3502,6 +4188,9 @@ packages: '@swc/wasm': optional: true + ts-toolbelt@9.6.0: + resolution: {integrity: sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==} + tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} @@ -3524,6 +4213,9 @@ packages: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} + type@2.7.3: + resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} + typed-array-buffer@1.0.3: resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} engines: {node: '>= 0.4'} @@ -3552,6 +4244,18 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} + + unicorn-magic@0.3.0: + resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} + engines: {node: '>=18'} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + unrs-resolver@1.9.0: resolution: {integrity: sha512-wqaRu4UnzBD2ABTC1kLfBjAqIDZ5YUTr/MLGa7By47JV1bJDSW7jq/ZSLigB7enLe7ubNaJhtnBXgrc/50cEhg==} @@ -3561,6 +4265,9 @@ packages: peerDependencies: browserslist: '>= 4.21.0' + uri-js-replace@1.0.1: + resolution: {integrity: sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g==} + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -3575,6 +4282,10 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + utility-types@3.11.0: + resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==} + engines: {node: '>= 4'} + v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} @@ -3582,6 +4293,21 @@ packages: resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} engines: {node: '>=10.12.0'} + validate.io-array@1.0.6: + resolution: {integrity: sha512-DeOy7CnPEziggrOO5CZhVKJw6S3Yi7e9e65R1Nl/RTN1vTQKnzjfvks0/8kQ40FP/dsjRAOd4hxmJ7uLa6vxkg==} + + validate.io-function@1.0.2: + resolution: {integrity: sha512-LlFybRJEriSuBnUhQyG5bwglhh50EpTL2ul23MPIuR1odjO7XaMLFV8vHGwp7AZciFxtYOeiSCT5st+XSPONiQ==} + + validate.io-integer-array@1.0.0: + resolution: {integrity: sha512-mTrMk/1ytQHtCY0oNO3dztafHYyGU88KL+jRxWuzfOmQb+4qqnWmI+gykvGp8usKZOM0H7keJHEbRaFiYA0VrA==} + + validate.io-integer@1.0.5: + resolution: {integrity: sha512-22izsYSLojN/P6bppBqhgUDjCkr5RY2jd+N2a3DCAUey8ydvrZ/OkGvFPR7qfOpwR2LC5p4Ngzxz36g5Vgr/hQ==} + + validate.io-number@1.0.3: + resolution: {integrity: sha512-kRAyotcbNaSYoDnXvb4MHg/0a1egJdLwS6oJ38TJY7aw9n93Fl/3blIXdyYvPOp55CNxywooG/3BcrwNrBpcSg==} + w3c-xmlserializer@5.0.0: resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} engines: {node: '>=18'} @@ -3589,6 +4315,9 @@ packages: walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} @@ -3605,6 +4334,9 @@ packages: resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==} engines: {node: '>=18'} + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + which-boxed-primitive@1.1.1: resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} engines: {node: '>= 0.4'} @@ -3641,6 +4373,18 @@ packages: resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + ws@8.18.2: resolution: {integrity: sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==} engines: {node: '>=10.0.0'} @@ -3653,6 +4397,22 @@ packages: utf-8-validate: optional: true + ws@8.18.3: + resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + wsl-utils@0.1.0: + resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==} + engines: {node: '>=18'} + xml-name-validator@5.0.0: resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} engines: {node: '>=18'} @@ -3671,6 +4431,18 @@ packages: resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} engines: {node: '>=18'} + yaml-ast-parser@0.0.43: + resolution: {integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==} + + yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + + yaml@2.8.0: + resolution: {integrity: sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==} + engines: {node: '>= 14.6'} + hasBin: true + yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} @@ -3687,6 +4459,17 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + yocto-queue@1.2.1: + resolution: {integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==} + engines: {node: '>=12.20'} + + yoctocolors@2.1.1: + resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} + engines: {node: '>=18'} + + zod@3.25.76: + resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} + snapshots: '@adobe/css-tools@4.4.3': {} @@ -3698,6 +4481,11 @@ snapshots: '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 + '@apidevtools/json-schema-ref-parser@13.0.5': + dependencies: + '@types/json-schema': 7.0.15 + js-yaml: 4.1.0 + '@asamuzakjp/css-color@3.2.0': dependencies: '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) @@ -3706,6 +4494,11 @@ snapshots: '@csstools/css-tokenizer': 3.0.4 lru-cache: 10.4.3 + '@asteasolutions/zod-to-openapi@7.3.4(zod@3.25.76)': + dependencies: + openapi3-ts: 4.5.0 + zod: 3.25.76 + '@babel/code-frame@7.27.1': dependencies: '@babel/helper-validator-identifier': 7.27.1 @@ -3983,6 +4776,8 @@ snapshots: '@eslint/core': 0.15.0 levn: 0.4.1 + '@exodus/schemasafe@1.3.0': {} + '@floating-ui/core@1.7.1': dependencies: '@floating-ui/utils': 0.2.9 @@ -4018,6 +4813,22 @@ snapshots: react-dom: 19.1.0(react@19.1.0) use-sync-external-store: 1.5.0(react@19.1.0) + '@hono/node-server@1.17.1(hono@4.8.9)': + dependencies: + hono: 4.8.9 + + '@hono/zod-openapi@0.19.2(hono@4.8.9)(zod@3.25.76)': + dependencies: + '@asteasolutions/zod-to-openapi': 7.3.4(zod@3.25.76) + '@hono/zod-validator': 0.4.3(hono@4.8.9)(zod@3.25.76) + hono: 4.8.9 + zod: 3.25.76 + + '@hono/zod-validator@0.4.3(hono@4.8.9)(zod@3.25.76)': + dependencies: + hono: 4.8.9 + zod: 3.25.76 + '@humanfs/core@0.19.1': {} '@humanfs/node@0.16.6': @@ -4027,6 +4838,8 @@ snapshots: '@humanwhocodes/module-importer@1.0.1': {} + '@humanwhocodes/momoa@2.0.4': {} + '@humanwhocodes/retry@0.3.1': {} '@humanwhocodes/retry@0.4.3': {} @@ -4356,6 +5169,155 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + '@jsep-plugin/assignment@1.3.0(jsep@1.4.0)': + dependencies: + jsep: 1.4.0 + + '@jsep-plugin/regex@1.0.4(jsep@1.4.0)': + dependencies: + jsep: 1.4.0 + + '@kubb/cli@3.16.0(typescript@5.8.3)': + dependencies: + '@kubb/core': 3.16.0 + '@kubb/ui': 3.16.0 + chokidar: 4.0.3 + citty: 0.1.6 + cli-progress: 3.12.0 + consola: 3.4.2 + cosmiconfig: 9.0.0(typescript@5.8.3) + execa: 9.6.0 + gradient-string: 3.0.0 + jiti: 2.4.2 + latest-version: 9.0.0 + open: 10.2.0 + semver: 7.7.2 + string-argv: 0.3.2 + transitivePeerDependencies: + - typescript + + '@kubb/core@3.16.0': + dependencies: + '@kubb/parser-ts': 3.16.0 + camelcase: 8.0.0 + find-up: 7.0.0 + fs-extra: 11.3.0 + js-runtime: 0.0.8 + natural-orderby: 5.0.0 + object-hash: 3.0.0 + p-limit: 6.2.0 + remeda: 2.26.1 + seedrandom: 3.0.5 + semver: 7.7.2 + + '@kubb/oas@3.16.0': + dependencies: + '@redocly/openapi-core': 1.34.5 + hotscript: 1.0.13 + json-schema-to-ts: 3.1.1 + jsonpointer: 5.0.1 + oas: 27.2.1 + oas-normalize: 14.1.2 + openapi-types: 12.1.3 + remeda: 2.26.1 + swagger2openapi: 7.0.8 + ts-toolbelt: 9.6.0 + transitivePeerDependencies: + - encoding + - supports-color + + '@kubb/parser-ts@3.16.0': + dependencies: + prettier: 3.6.2 + remeda: 2.26.1 + typescript: 5.8.3 + + '@kubb/plugin-client@3.16.0(@kubb/react@3.16.0)(axios@1.10.0)': + dependencies: + '@kubb/core': 3.16.0 + '@kubb/oas': 3.16.0 + '@kubb/plugin-oas': 3.16.0(@kubb/react@3.16.0) + '@kubb/plugin-ts': 3.16.0(@kubb/react@3.16.0) + '@kubb/plugin-zod': 3.16.0(@kubb/react@3.16.0) + '@kubb/react': 3.16.0 + optionalDependencies: + axios: 1.10.0 + transitivePeerDependencies: + - encoding + - supports-color + + '@kubb/plugin-oas@3.16.0(@kubb/react@3.16.0)': + dependencies: + '@kubb/core': 3.16.0 + '@kubb/oas': 3.16.0 + '@kubb/react': 3.16.0 + '@stoplight/yaml': 4.3.0 + p-limit: 6.2.0 + remeda: 2.26.1 + transitivePeerDependencies: + - encoding + - supports-color + + '@kubb/plugin-react-query@3.16.0(@kubb/react@3.16.0)(axios@1.10.0)': + dependencies: + '@kubb/core': 3.16.0 + '@kubb/oas': 3.16.0 + '@kubb/plugin-client': 3.16.0(@kubb/react@3.16.0)(axios@1.10.0) + '@kubb/plugin-oas': 3.16.0(@kubb/react@3.16.0) + '@kubb/plugin-ts': 3.16.0(@kubb/react@3.16.0) + '@kubb/plugin-zod': 3.16.0(@kubb/react@3.16.0) + '@kubb/react': 3.16.0 + remeda: 2.26.1 + transitivePeerDependencies: + - axios + - encoding + - supports-color + + '@kubb/plugin-ts@3.16.0(@kubb/react@3.16.0)': + dependencies: + '@kubb/core': 3.16.0 + '@kubb/oas': 3.16.0 + '@kubb/parser-ts': 3.16.0 + '@kubb/plugin-oas': 3.16.0(@kubb/react@3.16.0) + '@kubb/react': 3.16.0 + transitivePeerDependencies: + - encoding + - supports-color + + '@kubb/plugin-zod@3.16.0(@kubb/react@3.16.0)': + dependencies: + '@kubb/core': 3.16.0 + '@kubb/oas': 3.16.0 + '@kubb/parser-ts': 3.16.0 + '@kubb/plugin-oas': 3.16.0(@kubb/react@3.16.0) + '@kubb/plugin-ts': 3.16.0(@kubb/react@3.16.0) + '@kubb/react': 3.16.0 + transitivePeerDependencies: + - encoding + - supports-color + + '@kubb/react@3.16.0': + dependencies: + '@kubb/core': 3.16.0 + '@kubb/parser-ts': 3.16.0 + execa: 9.6.0 + natural-orderby: 5.0.0 + react: 19.1.0 + react-devtools-core: 5.3.2 + react-reconciler: 0.32.0(react@19.1.0) + signal-exit: 4.1.0 + ws: 8.18.3 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@kubb/ui@3.16.0': + dependencies: + '@hono/node-server': 1.17.1(hono@4.8.9) + '@hono/zod-openapi': 0.19.2(hono@4.8.9)(zod@3.25.76) + hono: 4.8.9 + zod: 3.25.76 + '@napi-rs/wasm-runtime@0.2.11': dependencies: '@emnapi/core': 1.4.3 @@ -4470,6 +5432,18 @@ snapshots: '@pkgr/core@0.2.7': {} + '@pnpm/config.env-replace@1.1.0': {} + + '@pnpm/network.ca-file@1.0.2': + dependencies: + graceful-fs: 4.2.10 + + '@pnpm/npm-conf@2.3.1': + dependencies: + '@pnpm/config.env-replace': 1.1.0 + '@pnpm/network.ca-file': 1.0.2 + config-chain: 1.1.13 + '@polka/url@1.0.0-next.29': {} '@react-aria/focus@3.20.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': @@ -4521,14 +5495,74 @@ snapshots: dependencies: react: 19.1.0 + '@readme/better-ajv-errors@2.3.2(ajv@8.17.1)': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/runtime': 7.27.6 + '@humanwhocodes/momoa': 2.0.4 + ajv: 8.17.1 + jsonpointer: 5.0.1 + leven: 3.1.0 + picocolors: 1.1.1 + + '@readme/http-status-codes@7.2.0': {} + + '@readme/openapi-parser@4.1.2(openapi-types@12.1.3)': + dependencies: + '@apidevtools/json-schema-ref-parser': 13.0.5 + '@readme/better-ajv-errors': 2.3.2(ajv@8.17.1) + '@readme/openapi-schemas': 3.1.0 + '@types/json-schema': 7.0.15 + ajv: 8.17.1 + ajv-draft-04: 1.0.0(ajv@8.17.1) + openapi-types: 12.1.3 + + '@readme/openapi-schemas@3.1.0': {} + + '@readme/postman-to-openapi@4.1.0': + dependencies: + '@readme/http-status-codes': 7.2.0 + js-yaml: 4.1.0 + jsonc-parser: 3.2.0 + lodash.camelcase: 4.3.0 + marked: 4.3.0 + mustache: 4.2.0 + + '@redocly/ajv@8.11.2': + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js-replace: 1.0.1 + + '@redocly/config@0.22.2': {} + + '@redocly/openapi-core@1.34.5': + dependencies: + '@redocly/ajv': 8.11.2 + '@redocly/config': 0.22.2 + colorette: 1.4.0 + https-proxy-agent: 7.0.6 + js-levenshtein: 1.1.6 + js-yaml: 4.1.0 + minimatch: 5.1.6 + pluralize: 8.0.0 + yaml-ast-parser: 0.0.43 + transitivePeerDependencies: + - supports-color + '@rtsao/scc@1.1.0': {} '@rushstack/eslint-patch@1.11.0': {} + '@sec-ant/readable-stream@0.4.1': {} + '@sinclair/typebox@0.27.8': {} '@sinclair/typebox@0.34.35': {} + '@sindresorhus/merge-streams@4.0.0': {} + '@sinonjs/commons@3.0.1': dependencies: type-detect: 4.0.8 @@ -4537,9 +5571,25 @@ snapshots: dependencies: '@sinonjs/commons': 3.0.1 - '@sinonjs/fake-timers@13.0.5': + '@sinonjs/fake-timers@13.0.5': + dependencies: + '@sinonjs/commons': 3.0.1 + + '@stoplight/ordered-object-literal@1.0.5': {} + + '@stoplight/types@14.1.1': + dependencies: + '@types/json-schema': 7.0.15 + utility-types: 3.11.0 + + '@stoplight/yaml-ast-parser@0.0.50': {} + + '@stoplight/yaml@4.3.0': dependencies: - '@sinonjs/commons': 3.0.1 + '@stoplight/ordered-object-literal': 1.0.5 + '@stoplight/types': 14.1.1 + '@stoplight/yaml-ast-parser': 0.0.50 + tslib: 2.8.1 '@swc/helpers@0.5.15': dependencies: @@ -4621,6 +5671,21 @@ snapshots: postcss: 8.5.6 tailwindcss: 4.1.8 + '@tanstack/query-core@5.83.0': {} + + '@tanstack/query-devtools@5.81.2': {} + + '@tanstack/react-query-devtools@5.83.0(@tanstack/react-query@5.83.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@tanstack/query-devtools': 5.81.2 + '@tanstack/react-query': 5.83.0(react@19.1.0) + react: 19.1.0 + + '@tanstack/react-query@5.83.0(react@19.1.0)': + dependencies: + '@tanstack/query-core': 5.83.0 + react: 19.1.0 + '@tanstack/react-virtual@3.13.10(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@tanstack/virtual-core': 3.13.10 @@ -4825,6 +5890,8 @@ snapshots: '@types/stack-utils@2.0.3': {} + '@types/tinycolor2@1.4.6': {} + '@types/tough-cookie@4.0.5': {} '@types/yargs-parser@21.0.3': {} @@ -5003,6 +6070,10 @@ snapshots: agent-base@7.1.3: {} + ajv-draft-04@1.0.0(ajv@8.17.1): + optionalDependencies: + ajv: 8.17.1 + ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 @@ -5010,6 +6081,13 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 + ajv@8.17.1: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.0.6 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 @@ -5229,6 +6307,10 @@ snapshots: buffer-from@1.1.2: {} + bundle-name@4.1.0: + dependencies: + run-applescript: 7.0.0 + call-bind-apply-helpers@1.0.2: dependencies: es-errors: 1.3.0 @@ -5246,12 +6328,16 @@ snapshots: call-bind-apply-helpers: 1.0.2 get-intrinsic: 1.3.0 + call-me-maybe@1.0.2: {} + callsites@3.1.0: {} camelcase@5.3.1: {} camelcase@6.3.0: {} + camelcase@8.0.0: {} + caniuse-lite@1.0.30001723: {} chalk@3.0.0: @@ -5278,8 +6364,16 @@ snapshots: ci-info@4.2.0: {} + citty@0.1.6: + dependencies: + consola: 3.4.2 + cjs-module-lexer@1.4.3: {} + cli-progress@3.12.0: + dependencies: + string-width: 4.2.3 + client-only@0.0.1: {} cliui@8.0.1: @@ -5312,18 +6406,49 @@ snapshots: color-string: 1.9.1 optional: true + colorette@1.4.0: {} + colorette@2.0.20: {} combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 + compute-gcd@1.2.1: + dependencies: + validate.io-array: 1.0.6 + validate.io-function: 1.0.2 + validate.io-integer-array: 1.0.0 + + compute-lcm@1.1.2: + dependencies: + compute-gcd: 1.2.1 + validate.io-array: 1.0.6 + validate.io-function: 1.0.2 + validate.io-integer-array: 1.0.0 + concat-map@0.0.1: {} + config-chain@1.1.13: + dependencies: + ini: 1.3.8 + proto-list: 1.2.4 + confusing-browser-globals@1.0.11: {} + consola@3.4.2: {} + convert-source-map@2.0.0: {} + cosmiconfig@9.0.0(typescript@5.8.3): + dependencies: + env-paths: 2.2.1 + import-fresh: 3.3.1 + js-yaml: 4.1.0 + parse-json: 5.2.0 + optionalDependencies: + typescript: 5.8.3 + create-jest@29.7.0(@types/node@20.19.1)(ts-node@10.9.2(@types/node@20.19.1)(typescript@5.8.3)): dependencies: '@jest/types': 29.6.3 @@ -5356,6 +6481,11 @@ snapshots: csstype@3.1.3: {} + d@1.0.2: + dependencies: + es5-ext: 0.10.64 + type: 2.7.3 + damerau-levenshtein@1.0.8: {} data-urls@5.0.0: @@ -5395,16 +6525,27 @@ snapshots: dedent@1.6.0: {} + deep-extend@0.6.0: {} + deep-is@0.1.4: {} deepmerge@4.3.1: {} + default-browser-id@5.0.0: {} + + default-browser@5.2.1: + dependencies: + bundle-name: 4.1.0 + default-browser-id: 5.0.0 + define-data-property@1.1.4: dependencies: es-define-property: 1.0.1 es-errors: 1.3.0 gopd: 1.2.0 + define-lazy-prop@3.0.0: {} + define-properties@1.2.1: dependencies: define-data-property: 1.1.4 @@ -5463,6 +6604,8 @@ snapshots: entities@6.0.1: {} + env-paths@2.2.1: {} + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 @@ -5570,6 +6713,33 @@ snapshots: is-date-object: 1.1.0 is-symbol: 1.1.1 + es5-ext@0.10.64: + dependencies: + es6-iterator: 2.0.3 + es6-symbol: 3.1.4 + esniff: 2.0.1 + next-tick: 1.1.0 + + es6-iterator@2.0.3: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + es6-symbol: 3.1.4 + + es6-promise@3.3.1: {} + + es6-symbol@3.1.4: + dependencies: + d: 1.0.2 + ext: 1.7.0 + + es6-weak-map@2.0.3: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + es6-iterator: 2.0.3 + es6-symbol: 3.1.4 + escalade@3.2.0: {} escape-string-regexp@2.0.0: {} @@ -5788,6 +6958,13 @@ snapshots: transitivePeerDependencies: - supports-color + esniff@2.0.1: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + event-emitter: 0.3.5 + type: 2.7.3 + espree@10.4.0: dependencies: acorn: 8.15.0 @@ -5810,6 +6987,11 @@ snapshots: eta@3.5.0: {} + event-emitter@0.3.5: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + execa@5.1.1: dependencies: cross-spawn: 7.0.6 @@ -5822,6 +7004,21 @@ snapshots: signal-exit: 3.0.7 strip-final-newline: 2.0.0 + execa@9.6.0: + dependencies: + '@sindresorhus/merge-streams': 4.0.0 + cross-spawn: 7.0.6 + figures: 6.1.0 + get-stream: 9.0.1 + human-signals: 8.0.1 + is-plain-obj: 4.1.0 + is-stream: 4.0.1 + npm-run-path: 6.0.0 + pretty-ms: 9.2.0 + signal-exit: 4.1.0 + strip-final-newline: 4.0.0 + yoctocolors: 2.1.1 + exit@0.1.2: {} expect@29.7.0: @@ -5832,6 +7029,10 @@ snapshots: jest-message-util: 29.7.0 jest-util: 29.7.0 + ext@1.7.0: + dependencies: + type: 2.7.3 + fast-deep-equal@3.1.3: {} fast-diff@1.3.0: {} @@ -5856,6 +7057,10 @@ snapshots: fast-levenshtein@2.0.6: {} + fast-safe-stringify@2.1.1: {} + + fast-uri@3.0.6: {} + fastq@1.19.1: dependencies: reusify: 1.1.0 @@ -5868,6 +7073,10 @@ snapshots: optionalDependencies: picomatch: 4.0.2 + figures@6.1.0: + dependencies: + is-unicode-supported: 2.1.0 + file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 @@ -5890,6 +7099,12 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 + find-up@7.0.0: + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + unicorn-magic: 0.1.0 + flat-cache@4.0.1: dependencies: flatted: 3.3.3 @@ -5913,6 +7128,12 @@ snapshots: fraction.js@4.3.7: {} + fs-extra@11.3.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + fs.realpath@1.0.0: {} fsevents@2.3.3: @@ -5957,6 +7178,11 @@ snapshots: get-stream@6.0.1: {} + get-stream@9.0.1: + dependencies: + '@sec-ant/readable-stream': 0.4.1 + is-stream: 4.0.1 + get-symbol-description@1.1.0: dependencies: call-bound: 1.0.4 @@ -5995,8 +7221,15 @@ snapshots: gopd@1.2.0: {} + graceful-fs@4.2.10: {} + graceful-fs@4.2.11: {} + gradient-string@3.0.0: + dependencies: + chalk: 5.4.1 + tinygradient: 1.1.5 + graphemer@1.4.0: {} has-bigints@1.1.0: {} @@ -6025,6 +7258,10 @@ snapshots: hls.js@1.6.5: {} + hono@4.8.9: {} + + hotscript@1.0.13: {} + html-encoding-sniffer@4.0.0: dependencies: whatwg-encoding: 3.1.1 @@ -6040,6 +7277,8 @@ snapshots: http-status-emojis@2.2.0: {} + http2-client@1.3.5: {} + https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.3 @@ -6049,6 +7288,8 @@ snapshots: human-signals@2.1.0: {} + human-signals@8.0.1: {} + iconv-lite@0.6.3: dependencies: safer-buffer: 2.1.2 @@ -6082,6 +7323,8 @@ snapshots: inherits@2.0.4: {} + ini@1.3.8: {} + internal-slot@1.1.0: dependencies: es-errors: 1.3.0 @@ -6139,6 +7382,8 @@ snapshots: call-bound: 1.0.4 has-tostringtag: 1.0.2 + is-docker@3.0.0: {} + is-extglob@2.1.1: {} is-finalizationregistry@1.1.1: @@ -6160,6 +7405,10 @@ snapshots: dependencies: is-extglob: 2.1.1 + is-inside-container@1.0.0: + dependencies: + is-docker: 3.0.0 + is-map@2.0.3: {} is-negative-zero@2.0.3: {} @@ -6171,8 +7420,12 @@ snapshots: is-number@7.0.0: {} + is-plain-obj@4.1.0: {} + is-potential-custom-element-name@1.0.1: {} + is-promise@2.2.2: {} + is-regex@1.2.1: dependencies: call-bound: 1.0.4 @@ -6188,6 +7441,8 @@ snapshots: is-stream@2.0.1: {} + is-stream@4.0.1: {} + is-string@1.1.1: dependencies: call-bound: 1.0.4 @@ -6203,6 +7458,8 @@ snapshots: dependencies: which-typed-array: 1.1.19 + is-unicode-supported@2.1.0: {} + is-weakmap@2.0.2: {} is-weakref@1.1.1: @@ -6214,6 +7471,10 @@ snapshots: call-bound: 1.0.4 get-intrinsic: 1.3.0 + is-wsl@3.1.0: + dependencies: + is-inside-container: 1.0.0 + isarray@2.0.5: {} isexe@2.0.0: {} @@ -6627,6 +7888,10 @@ snapshots: jiti@2.4.2: {} + js-levenshtein@1.1.6: {} + + js-runtime@0.0.8: {} + js-tokens@4.0.0: {} js-yaml@3.14.1: @@ -6665,14 +7930,33 @@ snapshots: - supports-color - utf-8-validate + jsep@1.4.0: {} + jsesc@3.1.0: {} json-buffer@3.0.1: {} json-parse-even-better-errors@2.3.1: {} + json-schema-compare@0.2.2: + dependencies: + lodash: 4.17.21 + + json-schema-merge-allof@0.8.1: + dependencies: + compute-lcm: 1.1.2 + json-schema-compare: 0.2.2 + lodash: 4.17.21 + + json-schema-to-ts@3.1.1: + dependencies: + '@babel/runtime': 7.27.6 + ts-algebra: 2.0.0 + json-schema-traverse@0.4.1: {} + json-schema-traverse@1.0.0: {} + json-server@1.0.0-beta.3: dependencies: '@tinyhttp/app': 2.5.2 @@ -6697,6 +7981,22 @@ snapshots: json5@2.2.3: {} + jsonc-parser@3.2.0: {} + + jsonfile@6.1.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + jsonpath-plus@10.3.0: + dependencies: + '@jsep-plugin/assignment': 1.3.0(jsep@1.4.0) + '@jsep-plugin/regex': 1.0.4(jsep@1.4.0) + jsep: 1.4.0 + + jsonpointer@5.0.1: {} + jsx-ast-utils@3.3.5: dependencies: array-includes: 3.1.9 @@ -6710,12 +8010,18 @@ snapshots: kleur@3.0.3: {} + ky@1.8.2: {} + language-subtag-registry@0.3.23: {} language-tags@1.0.9: dependencies: language-subtag-registry: 0.3.23 + latest-version@9.0.0: + dependencies: + package-json: 10.0.1 + leven@3.1.0: {} levn@0.4.1: @@ -6778,6 +8084,12 @@ snapshots: dependencies: p-locate: 5.0.0 + locate-path@7.2.0: + dependencies: + p-locate: 6.0.0 + + lodash.camelcase@4.3.0: {} + lodash.memoize@4.1.2: {} lodash.merge@4.6.2: {} @@ -6798,6 +8110,10 @@ snapshots: dependencies: yallist: 3.1.1 + lru-queue@0.1.0: + dependencies: + es5-ext: 0.10.64 + lz-string@1.5.0: {} magic-string@0.30.17: @@ -6814,10 +8130,23 @@ snapshots: dependencies: tmpl: 1.0.5 + marked@4.3.0: {} + math-intrinsics@1.1.0: {} media-captions@1.0.4: {} + memoizee@0.4.17: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + es6-weak-map: 2.0.3 + event-emitter: 0.3.5 + is-promise: 2.2.2 + lru-queue: 0.1.0 + next-tick: 1.1.0 + timers-ext: 0.1.8 + merge-stream@2.0.0: {} merge2@1.4.1: {} @@ -6867,14 +8196,20 @@ snapshots: ms@2.1.3: {} + mustache@4.2.0: {} + nanoid@3.3.11: {} napi-postinstall@0.2.4: {} natural-compare@1.4.0: {} + natural-orderby@5.0.0: {} + negotiator@0.6.4: {} + next-tick@1.1.0: {} + next@15.4.0-canary.60(@babel/core@7.27.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2): dependencies: '@next/env': 15.4.0-canary.60 @@ -6902,8 +8237,20 @@ snapshots: node-addon-api@7.1.1: optional: true + node-fetch-h2@2.3.0: + dependencies: + http2-client: 1.3.5 + + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + node-int64@0.4.0: {} + node-readfiles@0.2.0: + dependencies: + es6-promise: 3.3.1 + node-releases@2.0.19: {} normalize-path@3.0.0: {} @@ -6914,10 +8261,70 @@ snapshots: dependencies: path-key: 3.1.1 + npm-run-path@6.0.0: + dependencies: + path-key: 4.0.0 + unicorn-magic: 0.3.0 + nwsapi@2.2.20: {} + oas-kit-common@1.0.8: + dependencies: + fast-safe-stringify: 2.1.1 + + oas-linter@3.2.2: + dependencies: + '@exodus/schemasafe': 1.3.0 + should: 13.2.3 + yaml: 1.10.2 + + oas-normalize@14.1.2: + dependencies: + '@readme/openapi-parser': 4.1.2(openapi-types@12.1.3) + '@readme/postman-to-openapi': 4.1.0 + js-yaml: 4.1.0 + openapi-types: 12.1.3 + swagger2openapi: 7.0.8 + transitivePeerDependencies: + - encoding + + oas-resolver@2.5.6: + dependencies: + node-fetch-h2: 2.3.0 + oas-kit-common: 1.0.8 + reftools: 1.1.9 + yaml: 1.10.2 + yargs: 17.7.2 + + oas-schema-walker@1.1.5: {} + + oas-validator@5.0.8: + dependencies: + call-me-maybe: 1.0.2 + oas-kit-common: 1.0.8 + oas-linter: 3.2.2 + oas-resolver: 2.5.6 + oas-schema-walker: 1.1.5 + reftools: 1.1.9 + should: 13.2.3 + yaml: 1.10.2 + + oas@27.2.1: + dependencies: + '@readme/openapi-parser': 4.1.2(openapi-types@12.1.3) + '@types/json-schema': 7.0.15 + json-schema-merge-allof: 0.8.1 + jsonpath-plus: 10.3.0 + jsonpointer: 5.0.1 + memoizee: 0.4.17 + openapi-types: 12.1.3 + path-to-regexp: 8.2.0 + remove-undefined-objects: 6.0.0 + object-assign@4.1.1: {} + object-hash@3.0.0: {} + object-inspect@1.13.4: {} object-keys@1.1.1: {} @@ -6966,6 +8373,19 @@ snapshots: dependencies: mimic-fn: 2.1.0 + open@10.2.0: + dependencies: + default-browser: 5.2.1 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + wsl-utils: 0.1.0 + + openapi-types@12.1.3: {} + + openapi3-ts@4.5.0: + dependencies: + yaml: 2.8.0 + optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -6989,6 +8409,14 @@ snapshots: dependencies: yocto-queue: 0.1.0 + p-limit@4.0.0: + dependencies: + yocto-queue: 1.2.1 + + p-limit@6.2.0: + dependencies: + yocto-queue: 1.2.1 + p-locate@4.1.0: dependencies: p-limit: 2.3.0 @@ -6997,8 +8425,19 @@ snapshots: dependencies: p-limit: 3.1.0 + p-locate@6.0.0: + dependencies: + p-limit: 4.0.0 + p-try@2.2.0: {} + package-json@10.0.1: + dependencies: + ky: 1.8.2 + registry-auth-token: 5.1.0 + registry-url: 6.0.1 + semver: 7.7.2 + parent-module@1.0.1: dependencies: callsites: 3.1.0 @@ -7010,18 +8449,26 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + parse-ms@4.0.0: {} + parse5@7.3.0: dependencies: entities: 6.0.1 path-exists@4.0.0: {} + path-exists@5.0.0: {} + path-is-absolute@1.0.1: {} path-key@3.1.1: {} + path-key@4.0.0: {} + path-parse@1.0.7: {} + path-to-regexp@8.2.0: {} + picocolors@1.1.1: {} picomatch@2.3.1: {} @@ -7034,6 +8481,8 @@ snapshots: dependencies: find-up: 4.1.0 + pluralize@8.0.0: {} + possible-typed-array-names@1.1.0: {} postcss-value-parser@4.2.0: {} @@ -7058,6 +8507,8 @@ snapshots: prettier@3.5.3: {} + prettier@3.6.2: {} + pretty-format@27.5.1: dependencies: ansi-regex: 5.0.1 @@ -7076,6 +8527,10 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 + pretty-ms@9.2.0: + dependencies: + parse-ms: 4.0.0 + prompts@2.4.2: dependencies: kleur: 3.0.3 @@ -7087,6 +8542,8 @@ snapshots: object-assign: 4.1.1 react-is: 16.13.1 + proto-list@1.2.4: {} + proxy-from-env@1.1.0: {} punycode@2.3.1: {} @@ -7095,6 +8552,21 @@ snapshots: queue-microtask@1.2.3: {} + rc@1.2.8: + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + + react-devtools-core@5.3.2: + dependencies: + shell-quote: 1.8.3 + ws: 7.5.10 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + react-dom@19.1.0(react@19.1.0): dependencies: react: 19.1.0 @@ -7110,6 +8582,11 @@ snapshots: react-is@18.3.1: {} + react-reconciler@0.32.0(react@19.1.0): + dependencies: + react: 19.1.0 + scheduler: 0.26.0 + react@19.1.0: {} readdirp@4.1.2: {} @@ -7130,6 +8607,8 @@ snapshots: get-proto: 1.0.1 which-builtin-type: 1.2.1 + reftools@1.1.9: {} + regexp.prototype.flags@1.5.4: dependencies: call-bind: 1.0.8 @@ -7141,8 +8620,24 @@ snapshots: regexparam@2.0.2: {} + registry-auth-token@5.1.0: + dependencies: + '@pnpm/npm-conf': 2.3.1 + + registry-url@6.0.1: + dependencies: + rc: 1.2.8 + + remeda@2.26.1: + dependencies: + type-fest: 4.41.0 + + remove-undefined-objects@6.0.0: {} + require-directory@2.1.1: {} + require-from-string@2.0.2: {} + resolve-cwd@3.0.0: dependencies: resolve-from: 5.0.0 @@ -7171,6 +8666,8 @@ snapshots: rrweb-cssom@0.8.0: {} + run-applescript@7.0.0: {} + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -7210,6 +8707,8 @@ snapshots: scheduler@0.26.0: {} + seedrandom@3.0.5: {} + semver@6.3.1: {} semver@7.7.2: {} @@ -7271,6 +8770,34 @@ snapshots: shebang-regex@3.0.0: {} + shell-quote@1.8.3: {} + + should-equal@2.0.0: + dependencies: + should-type: 1.4.0 + + should-format@3.0.3: + dependencies: + should-type: 1.4.0 + should-type-adaptors: 1.1.0 + + should-type-adaptors@1.1.0: + dependencies: + should-type: 1.4.0 + should-util: 1.0.1 + + should-type@1.4.0: {} + + should-util@1.0.1: {} + + should@13.2.3: + dependencies: + should-equal: 2.0.0 + should-format: 3.0.3 + should-type: 1.4.0 + should-type-adaptors: 1.1.0 + should-util: 1.0.1 + side-channel-list@1.0.0: dependencies: es-errors: 1.3.0 @@ -7301,6 +8828,8 @@ snapshots: signal-exit@3.0.7: {} + signal-exit@4.1.0: {} + simple-swizzle@0.2.2: dependencies: is-arrayish: 0.3.2 @@ -7344,6 +8873,8 @@ snapshots: es-errors: 1.3.0 internal-slot: 1.1.0 + string-argv@0.3.2: {} + string-length@4.0.2: dependencies: char-regex: 1.0.2 @@ -7415,10 +8946,14 @@ snapshots: strip-final-newline@2.0.0: {} + strip-final-newline@4.0.0: {} + strip-indent@3.0.0: dependencies: min-indent: 1.0.1 + strip-json-comments@2.0.1: {} + strip-json-comments@3.1.1: {} styled-jsx@5.1.6(@babel/core@7.27.4)(react@19.1.0): @@ -7438,6 +8973,22 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} + swagger2openapi@7.0.8: + dependencies: + call-me-maybe: 1.0.2 + node-fetch: 2.7.0 + node-fetch-h2: 2.3.0 + node-readfiles: 0.2.0 + oas-kit-common: 1.0.8 + oas-resolver: 2.5.6 + oas-schema-walker: 1.1.5 + oas-validator: 5.0.8 + reftools: 1.1.9 + yaml: 1.10.2 + yargs: 17.7.2 + transitivePeerDependencies: + - encoding + symbol-tree@3.2.4: {} synckit@0.11.8: @@ -7465,11 +9016,23 @@ snapshots: glob: 7.2.3 minimatch: 3.1.2 + timers-ext@0.1.8: + dependencies: + es5-ext: 0.10.64 + next-tick: 1.1.0 + + tinycolor2@1.6.0: {} + tinyglobby@0.2.14: dependencies: fdir: 6.4.6(picomatch@4.0.2) picomatch: 4.0.2 + tinygradient@1.1.5: + dependencies: + '@types/tinycolor2': 1.4.6 + tinycolor2: 1.6.0 + tldts-core@6.1.86: {} tldts@6.1.86: @@ -7488,10 +9051,14 @@ snapshots: dependencies: tldts: 6.1.86 + tr46@0.0.3: {} + tr46@5.1.1: dependencies: punycode: 2.3.1 + ts-algebra@2.0.0: {} + ts-api-utils@2.1.0(typescript@5.8.3): dependencies: typescript: 5.8.3 @@ -7534,6 +9101,8 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 + ts-toolbelt@9.6.0: {} + tsconfig-paths@3.15.0: dependencies: '@types/json5': 0.0.29 @@ -7553,6 +9122,8 @@ snapshots: type-fest@4.41.0: {} + type@2.7.3: {} + typed-array-buffer@1.0.3: dependencies: call-bound: 1.0.4 @@ -7597,6 +9168,12 @@ snapshots: undici-types@6.21.0: {} + unicorn-magic@0.1.0: {} + + unicorn-magic@0.3.0: {} + + universalify@2.0.1: {} + unrs-resolver@1.9.0: dependencies: napi-postinstall: 0.2.4 @@ -7627,6 +9204,8 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 + uri-js-replace@1.0.1: {} + uri-js@4.4.1: dependencies: punycode: 2.3.1 @@ -7639,6 +9218,8 @@ snapshots: dependencies: react: 19.1.0 + utility-types@3.11.0: {} + v8-compile-cache-lib@3.0.1: {} v8-to-istanbul@9.3.0: @@ -7647,6 +9228,21 @@ snapshots: '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 2.0.0 + validate.io-array@1.0.6: {} + + validate.io-function@1.0.2: {} + + validate.io-integer-array@1.0.0: + dependencies: + validate.io-array: 1.0.6 + validate.io-integer: 1.0.5 + + validate.io-integer@1.0.5: + dependencies: + validate.io-number: 1.0.3 + + validate.io-number@1.0.3: {} + w3c-xmlserializer@5.0.0: dependencies: xml-name-validator: 5.0.0 @@ -7655,6 +9251,8 @@ snapshots: dependencies: makeerror: 1.0.12 + webidl-conversions@3.0.1: {} + webidl-conversions@7.0.0: {} whatwg-encoding@3.1.1: @@ -7668,6 +9266,11 @@ snapshots: tr46: 5.1.1 webidl-conversions: 7.0.0 + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + which-boxed-primitive@1.1.1: dependencies: is-bigint: 1.1.0 @@ -7728,8 +9331,16 @@ snapshots: imurmurhash: 0.1.4 signal-exit: 3.0.7 + ws@7.5.10: {} + ws@8.18.2: {} + ws@8.18.3: {} + + wsl-utils@0.1.0: + dependencies: + is-wsl: 3.1.0 + xml-name-validator@5.0.0: {} xmlchars@2.2.0: {} @@ -7740,6 +9351,12 @@ snapshots: yallist@5.0.0: {} + yaml-ast-parser@0.0.43: {} + + yaml@1.10.2: {} + + yaml@2.8.0: {} + yargs-parser@21.1.1: {} yargs@17.7.2: @@ -7755,3 +9372,9 @@ snapshots: yn@3.1.1: {} yocto-queue@0.1.0: {} + + yocto-queue@1.2.1: {} + + yoctocolors@2.1.1: {} + + zod@3.25.76: {}