Services - gro1vy/DeliverServiceAPI GitHub Wiki

UserRepository

Данный сервис используется в контроллере AccountController.

RegisterAsync

Данный метод необходим для создания пользовательского аккаунта.

Входные данные:

Возврат:

  • Вернет модель TokenResponseDTO, если регистрация прошла успешно.
  • Создаст исключение ValidationProblemException, если была допущена ошибка в данных.

LoginAsync

Данный метод необходим для входа в уже существующий аккаунт.

Входные данные:

Возврат:

  • Вернет модель TokenResponseDTO, если регистрация прошла успешно.
  • Создаст исключение ValidationProblemException, если была допущена ошибка в данных.
  • Создаст исключение NotFoundException, если пользователь с таким паролем и почтой не найден.

LogoutAllAsync

Данный метод необходим для того, чтобы выйти из всех текущих сессий, например, на разных устройствах.

Входные данные:

  • Принимает Guid userId.

Возврат:

  • Ничего не вернет.

LogoutCurrentAsync

Данный метод необходим для того, чтобы выйти из текущей сессии, например, только на текущем устройстве.

Входные данные:

  • Принимает Guid userId и Guid JTICurrentAccessToken.

Возврат:

  • Ничего не вернет.

RefreshAsync

Данный метод необходим для обновления access токена с протекшим временем жизни, и только таким. Несвязанные access токены с refresh токенами нельзя обновить.

Входные данные:

Возврат:

  • Вернет модель TokenResponseDTO, если обновление прошло успешно.
  • Создаст исключение UnauthorizedException, если access токен не валиден, либо не связан с refresh токеном, либо refresh токен не найден.

GetProfileAsync

Данный метод необходим для просмотра текущей информации о пользователе.

Входные данные:

  • Принимает Guid userId.

Возврат:

  • Вернет модель UserResponseDTO , если информация получена успешно.
  • Создаст исключение NotFoundException, если пользователь не найден.

EditProfileAsync

Данный метод необходим для изменения информации о пользователе.

Входные данные:

Возврат:

  • Вернет модель UserResponseDTO, если информация обновлена успешно.
  • Создаст исключение ValidationProblemException, если была допущена ошибка в данных.
  • Создаст исключение NotFoundException, если пользователь не найден.

AddressService

Данный сервис используется в контроллере AddressController.

GetChildObjectsAsync

Данный метод необходим для поиска детей родительского элемента в дереве адресных элементов.

Входные данные:

  • Принимает int parentObjectId (id родительского элемента) и string? name (название нужного элемента).

Возврат:

  • Вернет список моделей SearchAddressDTO, если информация получена успешно.

GetPathFromRootToObjectAsync

Данный метод необходим для получения цепочки адресных элементов от корня до указанного элемента.

Входные данные:

  • Принимает Guid ObjectGuid (id последнего элемента цепочки).

Возврат:

  • Вернет список моделей SearchAddressDTO, если информация получена успешно.
  • Создаст исключение NotFoundException, если элемент не найден.

GetRegionTimeZoneAsync

Данный метод необходим для получения разницы времени в данном регионе с Москвой.

Входные данные:

  • Принимает Guid ObjectGuid (id адресного элемента).

Возврат:

  • Вернет список моделей RegionTimeZoneDTO, если информация получена успешно.
  • Создаст исключение NotFoundException, если элемент не найден.

BasketService

Данный сервис используется в контроллере BasketController.

GetDishInBasketAsync

Данный метод необходим для получения блюд в корзине пользователя.

Входные данные:

  • Принимает Guid userId.

Возврат:

  • Вернет список моделей DishBasketDTO, если информация получена успешно.

PutDishInBasketAsync

Данный метод необходим для добавления блюда в корзину пользователя.

Входные данные:

  • Принимает Guid userId и Guid dishId.

Возврат:

  • Ничего не вернет.
  • Создаст исключение NotFoundException, если блюдо или пользователь не найдены.

RemoveDishFromBasketAsync

Данный метод необходим для удаления блюда из корзины пользователя.

Входные данные:

  • Принимает Guid userId, Guid dishId и bool increase (нужно ли удалить все блюда данного типа).

Возврат:

  • Ничего не вернет.
  • Создаст исключение NotFoundException, если блюдо или пользователь не найдены.

DishService

Данный сервис используется в контроллере DishController.

GetDishesAsync

Данный метод необходим для получения блюд, которые доставляет сервис.

Входные данные:

Возврат:

GetDishAsync

Данный метод необходим для получения информации о блюде

Входные данные:

  • Принимает Guid id блюда.

Возврат:

CheckToSetRatingAsync

Данный метод необходим для проверки на то, может ли пользователь поставить оценку.

Входные данные:

  • Принимает Guid dishId и Guid userId.

Возврат:

SetRatingAsync

Данный метод необходим для того, чтобы пользователь мог поставить оценку заказанному блюду.

Входные данные:

  • Принимает Guid dishId и Guid userId.

Возврат:

  • Вернет модель DishPagedListDTO.
  • Создаст исключение BadRequestException, если была допущена ошибка в данных. ​​​​​​​ * Создаст исключение NotFoundException, если блюдо не было найдено.

OrderService

GetOrderInfoAsync

Данный метод необходим получения информации от заказе.

Входные данные:

  • Принимает Guid orderId и Guid userId.

Возврат:

  • Вернет модель OrderDTO. ​​​​​​​ * Создаст исключение NotFoundException, если указанный заказ не найден.

GetOrderInfoListAsync

Данный метод необходим получения информации о всех заказа пользователя.

Входные данные:

  • Принимает Guid userId.

Возврат:

CreateOrderFormBasketAsync

Данный метод необходим создания заказа из текущей корзины пользователя.

Входные данные:

Возврат:

  • Ничего не вернет.

ConfirmOrderDeliveryAsync

Данный метод необходим создания для подтверждения заказа.

Входные данные:

  • Принимает Guid orderId и Guid userId.

Возврат:

  • Ничего не вернет. ​​​​​​​ * Создаст исключение BadRequestException, если указано неправильное время доставки. ​​​​​​​ * Создаст исключение NotFoundException, если указанный заказ не найден.