routes.go 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. package router
  2. import (
  3. "github.com/iris-contrib/middleware/cors"
  4. "github.com/kataras/iris/v12"
  5. "github.com/kataras/iris/v12/mvc"
  6. "xps/bootstrap"
  7. "xps/service/model"
  8. "xps/service/system"
  9. "xps/web/controllers"
  10. "xps/web/middleware"
  11. )
  12. func Configure(b *bootstrap.Bootstrapper) {
  13. crs := cors.New(cors.Options{
  14. AllowedOrigins: []string{"*"}, // allows everything, use that to change the hosts.
  15. AllowedMethods: []string{"PUT", "PATCH", "GET", "POST", "OPTIONS", "DELETE"},
  16. AllowedHeaders: []string{"*"},
  17. ExposedHeaders: []string{"Accept", "Content-Type", "Content-Length", "Accept-Encoding", "X-CSRF-Token", "Authorization"},
  18. AllowCredentials: true,
  19. })
  20. // Static Resource
  21. b.HandleDir("/", "./public")
  22. // Login
  23. loginService := system.NewLoginService()
  24. loginApp := mvc.New(b.Party("/", crs).AllowMethods(iris.MethodOptions))
  25. loginApp.Register(loginService)
  26. loginApp.Handle(new(controllers.LoginController))
  27. // role
  28. sys := b.Party("/sys", crs).AllowMethods(iris.MethodOptions)
  29. {
  30. sys.Use(middleware.AuthToken)
  31. // Role
  32. roleService := system.NewRoleService()
  33. roleApp := mvc.New(sys.Party("/role"))
  34. roleApp.Register(roleService)
  35. roleApp.Handle(new(controllers.RoleController))
  36. }
  37. // Company Profile
  38. company := b.Party("/company", crs).AllowMethods(iris.MethodOptions)
  39. {
  40. company.Use(middleware.AuthToken)
  41. companyProfileService := system.NewCompanyProfileService()
  42. companyProfileApp := mvc.New(company.Party("/profile"))
  43. companyProfileApp.Register(companyProfileService)
  44. companyProfileApp.Handle(new(controllers.CompanyProfileController))
  45. }
  46. // Group
  47. group := b.Party("/group", crs).AllowMethods(iris.MethodOptions)
  48. {
  49. group.Use(middleware.AuthToken)
  50. groupService := system.NewGroupService()
  51. groupApp := mvc.New(group.Party(""))
  52. groupApp.Register(groupService)
  53. groupApp.Handle(new(controllers.GroupController))
  54. }
  55. // User
  56. user := b.Party("/user", crs).AllowMethods(iris.MethodOptions)
  57. {
  58. user.Use(middleware.AuthToken)
  59. // user
  60. userService := system.NewUserService()
  61. userApp := mvc.New(user.Party(""))
  62. userApp.Register(userService)
  63. userApp.Handle(new(controllers.UserController))
  64. // Permit
  65. appPermitService := system.NewAppPermitService()
  66. appPermitApp := mvc.New(user.Party("/permit"))
  67. appPermitApp.Register(appPermitService)
  68. appPermitApp.Handle(new(controllers.AppPermitController))
  69. }
  70. // Position
  71. position := b.Party("/position", crs).AllowMethods(iris.MethodOptions)
  72. {
  73. position.Use(middleware.AuthToken)
  74. positionService := system.NewPositionService()
  75. positionApp := mvc.New(position.Party(""))
  76. positionApp.Register(positionService)
  77. positionApp.Handle(new(controllers.PositionController))
  78. }
  79. // GroupCat
  80. groupCat := b.Party("/group", crs).AllowMethods(iris.MethodOptions)
  81. {
  82. groupCat.Use(middleware.AuthToken)
  83. groupCatService := system.NewGroupCatService()
  84. groupCatApp := mvc.New(groupCat.Party("/cat"))
  85. groupCatApp.Register(groupCatService)
  86. groupCatApp.Handle(new(controllers.GroupCatController))
  87. }
  88. // AppCat
  89. app := b.Party("/app", crs).AllowMethods(iris.MethodOptions)
  90. {
  91. app.Use(middleware.AuthToken)
  92. appCatService := system.NewAppCatService()
  93. appCatApp := mvc.New(app.Party("/cat"))
  94. appCatApp.Register(appCatService)
  95. appCatApp.Handle(new(controllers.AppCatController))
  96. }
  97. // TaskCat
  98. taskCat := b.Party("/task", crs).AllowMethods(iris.MethodOptions)
  99. {
  100. taskCat.Use(middleware.AuthToken)
  101. taskCatService := system.NewTaskCatService()
  102. taskCatApp := mvc.New(taskCat.Party("/cat"))
  103. taskCatApp.Register(taskCatService)
  104. taskCatApp.Handle(new(controllers.TaskCatController))
  105. }
  106. // EntCat
  107. entCat := b.Party("/ent", crs).AllowMethods(iris.MethodOptions)
  108. {
  109. entCat.Use(middleware.AuthToken)
  110. entCatService := system.NewEntCatService()
  111. entCatApp := mvc.New(entCat.Party("/cat"))
  112. entCatApp.Register(entCatService)
  113. entCatApp.Handle(new(controllers.EntCatController))
  114. }
  115. // PartnerCat
  116. partnerCat := b.Party("/partner", crs).AllowMethods(iris.MethodOptions)
  117. {
  118. partnerCat.Use(middleware.AuthToken)
  119. partnerCatService := system.NewPartnerCatService()
  120. partnerCatApp := mvc.New(partnerCat.Party("/cat"))
  121. partnerCatApp.Register(partnerCatService)
  122. partnerCatApp.Handle(new(controllers.PartnerCatController))
  123. }
  124. // Model
  125. dsModel := b.Party("/model", crs).AllowMethods(iris.MethodOptions)
  126. {
  127. dsModel.Use(middleware.AuthToken)
  128. modelService := model.NewModelService()
  129. modelApp := mvc.New(dsModel.Party(""))
  130. modelApp.Register(modelService)
  131. modelApp.Handle(new(controllers.ModelController))
  132. objectService := model.NewObjectService()
  133. objectApp := mvc.New(dsModel.Party("/object"))
  134. objectApp.Register(objectService)
  135. objectApp.Handle(new(controllers.ObjectController))
  136. objectAttrService := model.NewObjectAttrService()
  137. objectAttrApp := mvc.New(dsModel.Party("/object/attribute"))
  138. objectAttrApp.Register(objectAttrService)
  139. objectAttrApp.Handle(new(controllers.ObjectAttrController))
  140. }
  141. }