Services

Сервис Services #

Данный сервис распределяет запросы с фронтенда к сервисам orders, Notifications, promosapp, inventory. Также данный сервис управляет методами личного кабинета и авторизации покупателей.

Авторизация в сервис Services #

  1. Для авторизации через логин и пароль используется метод signin. Детальнее метод описан в Авторизация пользователя

  2. Для авторизации по Токену используется метод authenticate, после того как пользователь прошел signin. Детальнее метод описан в Авторизация пользователя

Закрытые методы для сущностей order и ticket #

Методы требуют авторизации по Token.

Методы находится в файлах controllers/orders.go и controllers/tickets.go соответственно

Открытие методы для сущностей order и ticket #

Данные методы находится в файле controllers/orders.go

router.HandleFunc("/shippingmethods", controllers.ActiveShippingMethodsHandler).Methods("GET")

Данные методы находится в файле controllers/shipping.go

router.HandleFunc("/countries", controllers.CountriesListHandler).Methods("GET")
router.HandleFunc("/countriesorderbyalfa", controllers.CountriesListOrderByAlfaHandler).Methods("GET")
router.HandleFunc("/regions/{code}", controllers.RegionsListHandler).Methods("GET")

Данные методы находится в файле controllers/location.go

router.HandleFunc("/ticket/rma", controllers.CreateTicketHandler).Methods("POST")

Данные методы находится в файле controllers/tickets.go

Методы для сущности customer #

Обращение к данным методам и реализация прав доступа к ним происходит через сервис services

router.HandleFunc("/signin", controllers.SigninHandler).Methods("POST")
router.HandleFunc("/signup", controllers.SignupHandler).Methods("POST")
router.HandleFunc("/updateprofile", controllers.UpdateCustomerProfileHandler).Methods("POST")
router.HandleFunc("/password-restore", controllers.PasswordRestoreHandler).Methods("POST")
router.HandleFunc("/userproducts/get/{id}", controllers.GetCustomersHandler).Methods("GET")
router.HandleFunc("/userproducts/add/", controllers.AddCustomerProductHandler).Methods("POST")
router.HandleFunc("/userproducts/delete/", controllers.DeleteCustomerProductHandler).Methods("POST")
router.HandleFunc("/order/get/{id}", controllers.GetCustomersHandler).Methods("GET") //orders for user id = e

Данныe методы находится в файле controllers/customers.go

Права доступа к сервису Orders #

  • ADMIN и SALES - Имеют доступ к просмотру списков orders и RMA tickets и их экспорту.
  • GOPHER - Имеет доступ к просмотру только к списку RMA tickets и их экспорту.
  • ВСЕ - Могут создавать order и RMA ticket. ocket use_ rules_img