Сервис Services #
Данный сервис распределяет запросы с фронтенда к сервисам orders, Notifications, promosapp, inventory. Также данный сервис управляет методами личного кабинета и авторизации покупателей.
Авторизация в сервис Services #
-
Для авторизации через логин и пароль используется метод signin. Детальнее метод описан в Авторизация пользователя
-
Для авторизации по Токену используется метод 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
Services обменявается данными со следующими сервисами:
Права доступа к сервису Orders #
- ADMIN и SALES - Имеют доступ к просмотру списков orders и RMA tickets и их экспорту.
- GOPHER - Имеет доступ к просмотру только к списку RMA tickets и их экспорту.
- ВСЕ - Могут создавать order и RMA ticket.
ocket