-
Notifications
You must be signed in to change notification settings - Fork 0
Services
Данный сервис используется в контроллере AccountController.
Данный метод необходим для создания пользовательского аккаунта.
Входные данные:
- Принимает модель RegistrationRequestDTO.
Возврат:
- Вернет модель TokenResponseDTO, если регистрация прошла успешно.
- Создаст исключение ValidationProblemException, если была допущена ошибка в данных.
Данный метод необходим для входа в уже существующий аккаунт.
Входные данные:
- Принимает модель LoginRequestDTO.
Возврат:
- Вернет модель TokenResponseDTO, если регистрация прошла успешно.
- Создаст исключение ValidationProblemException, если была допущена ошибка в данных.
- Создаст исключение NotFoundException, если пользователь с таким паролем и почтой не найден.
Данный метод необходим для того, чтобы выйти из всех текущих сессий, например, на разных устройствах.
Входные данные:
- Принимает Guid userId.
Возврат:
- Ничего не вернет.
Данный метод необходим для того, чтобы выйти из текущей сессии, например, только на текущем устройстве.
Входные данные:
- Принимает Guid userId и Guid JTICurrentAccessToken.
Возврат:
- Ничего не вернет.
Данный метод необходим для обновления access токена с протекшим временем жизни, и только таким. Несвязанные access токены с refresh токенами нельзя обновить.
Входные данные:
- Принимает модель RefreshDTO.
Возврат:
- Вернет модель TokenResponseDTO, если обновление прошло успешно.
- Создаст исключение UnauthorizedException, если access токен не валиден, либо не связан с refresh токеном, либо refresh токен не найден.
Данный метод необходим для просмотра текущей информации о пользователе.
Входные данные:
- Принимает Guid userId.
Возврат:
- Вернет модель UserResponseDTO , если информация получена успешно.
- Создаст исключение NotFoundException, если пользователь не найден.
Данный метод необходим для изменения информации о пользователе.
Входные данные:
- Принимает принимает модель UserEditRequestDTO и Guid userId.
Возврат:
- Вернет модель UserResponseDTO, если информация обновлена успешно.
- Создаст исключение ValidationProblemException, если была допущена ошибка в данных.
- Создаст исключение NotFoundException, если пользователь не найден.
Данный сервис используется в контроллере AddressController.
Данный метод необходим для поиска детей родительского элемента в дереве адресных элементов.
Входные данные:
- Принимает int parentObjectId (id родительского элемента) и string? name (название нужного элемента).
Возврат:
- Вернет список моделей SearchAddressDTO, если информация получена успешно.
Данный метод необходим для получения цепочки адресных элементов от корня до указанного элемента.
Входные данные:
- Принимает Guid ObjectGuid (id последнего элемента цепочки).
Возврат:
- Вернет список моделей SearchAddressDTO, если информация получена успешно.
- Создаст исключение NotFoundException, если элемент не найден.
Данный метод необходим для получения разницы времени в данном регионе с Москвой.
Входные данные:
- Принимает Guid ObjectGuid (id адресного элемента).
Возврат:
- Вернет список моделей RegionTimeZoneDTO, если информация получена успешно.
- Создаст исключение NotFoundException, если элемент не найден.
Данный сервис используется в контроллере BasketController.
Данный метод необходим для получения блюд в корзине пользователя.
Входные данные:
- Принимает Guid userId.
Возврат:
- Вернет список моделей DishBasketDTO, если информация получена успешно.
Данный метод необходим для добавления блюда в корзину пользователя.
Входные данные:
- Принимает Guid userId и Guid dishId.
Возврат:
- Ничего не вернет.
- Создаст исключение NotFoundException, если блюдо или пользователь не найдены.
Данный метод необходим для удаления блюда из корзины пользователя.
Входные данные:
- Принимает Guid userId, Guid dishId и bool increase (нужно ли удалить все блюда данного типа).
Возврат:
- Ничего не вернет.
- Создаст исключение NotFoundException, если блюдо или пользователь не найдены.
Данный сервис используется в контроллере DishController.
Данный метод необходим для получения блюд, которые доставляет сервис.
Входные данные:
- Принимает catrgory, bool isVegetarian, dishSorting, int page.
Возврат:
- Вернет модель DishPagedListDTO.
- Создаст исключение BadRequestException, если была допущена ошибка в данных.
Данный метод необходим для получения информации о блюде
Входные данные:
- Принимает Guid id блюда.
Возврат:
- Вернет модель DishPagedListDTO.
- Создаст исключение NotFoundException, если блюдо не было найдено.
Данный метод необходим для проверки на то, может ли пользователь поставить оценку.
Входные данные:
- Принимает Guid dishId и Guid userId.
Возврат:
- Вернет модель DishPagedListDTO.
- Создаст исключение NotFoundException, если блюдо не было найдено.
Данный метод необходим для того, чтобы пользователь мог поставить оценку заказанному блюду.
Входные данные:
- Принимает Guid dishId и Guid userId.
Возврат:
- Вернет модель DishPagedListDTO.
- Создаст исключение BadRequestException, если была допущена ошибка в данных. * Создаст исключение NotFoundException, если блюдо не было найдено.
Данный метод необходим получения информации от заказе.
Входные данные:
- Принимает Guid orderId и Guid userId.
Возврат:
- Вернет модель OrderDTO. * Создаст исключение NotFoundException, если указанный заказ не найден.
Данный метод необходим получения информации о всех заказа пользователя.
Входные данные:
- Принимает Guid userId.
Возврат:
- Вернет список моделей OrderInfoDTO.
Данный метод необходим создания заказа из текущей корзины пользователя.
Входные данные:
- Принимает модель OrderCreateDTO и Guid userId.
Возврат:
- Ничего не вернет.
Данный метод необходим создания для подтверждения заказа.
Входные данные:
- Принимает Guid orderId и Guid userId.
Возврат:
- Ничего не вернет. * Создаст исключение BadRequestException, если указано неправильное время доставки. * Создаст исключение NotFoundException, если указанный заказ не найден.
- О проекте
- Реализованные части проекта
- Controllers
- Exceptions
- Middlewares
- Models
- Services
- Технологии используемые в проекте
- Требования
- Диаграмма классов предметной области
- Нефункциональные требования
- Функциональные требования