user.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package admin_user
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "go-micro.dev/v4/client"
  5. "sghgogs.com/micro/auth-client/api/admin_user"
  6. "sghgogs.com/micro/auth-client/utils"
  7. "sghgogs.com/micro/auth-client/utils/baseservice"
  8. pb "sghgogs.com/micro/auth-service/proto"
  9. )
  10. type AdminUser struct {
  11. *baseservice.BaseService
  12. }
  13. func NewAdminUserRouter(namespace string, client client.Client) *AdminUser {
  14. return &AdminUser{
  15. BaseService: &baseservice.BaseService{
  16. Namespace: namespace,
  17. Client: client,
  18. },
  19. }
  20. }
  21. func (svc *AdminUser) RegisterRoutes(r *gin.Engine) {
  22. api := admin_user.ApiAdminUser{}
  23. service := pb.NewAdminUserService(svc.Namespace, svc.Client)
  24. api.Service = service
  25. svc.registerAdminUserRoutes(r, "/v1/api", &api)
  26. }
  27. func (svc *AdminUser) registerAdminUserRoutes(r *gin.Engine, path string, api *admin_user.ApiAdminUser) {
  28. v1 := r.Group(path)
  29. {
  30. v1.GET("/admin/users", utils.TokenAuthMiddleware(), api.ListAdminUsers)
  31. v1.GET("/admin/user/:id", utils.TokenAuthMiddleware(), api.GetAdminUser)
  32. v1.GET("/admin/user/labels", utils.TokenAuthMiddleware(), api.RetrieveEnabledUsers)
  33. v1.PUT("/admin/user/:userID/toggle", utils.TokenAuthMiddleware(), api.ToggleAdminUser)
  34. v1.DELETE("/admin/user/:userID", utils.TokenAuthMiddleware(), api.DeleteAdminUser)
  35. v1.POST("/admin/user", utils.TokenAuthMiddleware(), api.CreateAdminUser)
  36. v1.PUT("/admin/user/:userID", utils.TokenAuthMiddleware(), api.UpdateAdminUser)
  37. }
  38. }