routes.go 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  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"
  8. "xps/web/controllers"
  9. "xps/web/middleware"
  10. )
  11. func Configure(b *bootstrap.Bootstrapper) {
  12. crs := cors.New(cors.Options{
  13. AllowedOrigins: []string{"*"},
  14. AllowedMethods: []string{"PUT", "PATCH", "GET", "POST", "OPTIONS", "DELETE"},
  15. AllowedHeaders: []string{"*"},
  16. ExposedHeaders: []string{"Accept", "Content-Type", "Content-Length", "Accept-Encoding", "X-CSRF-Token", "Authorization"},
  17. AllowCredentials: true,
  18. })
  19. // Static Resource
  20. b.HandleDir("/", "./public")
  21. // Login
  22. loginService := service.NewLoginService()
  23. loginApp := mvc.New(b.Party("/", crs).AllowMethods(iris.MethodOptions))
  24. loginApp.Register(loginService)
  25. loginApp.Handle(new(controllers.LoginController))
  26. // role
  27. sysParty := b.Party("/sys", crs).AllowMethods(iris.MethodOptions)
  28. {
  29. sysParty.Use(middleware.AuthToken)
  30. // Role
  31. roleService := service.NewRoleService()
  32. roleApp := mvc.New(sysParty.Party("/role"))
  33. roleApp.Register(roleService)
  34. roleApp.Handle(new(controllers.RoleController))
  35. }
  36. // Company Profile
  37. companyParty := b.Party("/company", crs).AllowMethods(iris.MethodOptions)
  38. {
  39. companyParty.Use(middleware.AuthToken)
  40. companyProfileService := service.NewCompanyProfileService()
  41. companyProfileApp := mvc.New(companyParty.Party("/profile"))
  42. companyProfileApp.Register(companyProfileService)
  43. companyProfileApp.Handle(new(controllers.CompanyProfileController))
  44. }
  45. // Group
  46. groupParty := b.Party("/group", crs).AllowMethods(iris.MethodOptions)
  47. {
  48. groupParty.Use(middleware.AuthToken)
  49. groupService := service.NewGroupService()
  50. groupApp := mvc.New(groupParty.Party(""))
  51. groupApp.Register(groupService)
  52. groupApp.Handle(new(controllers.GroupController))
  53. }
  54. // User
  55. userParty := b.Party("/user", crs).AllowMethods(iris.MethodOptions)
  56. {
  57. userParty.Use(middleware.AuthToken)
  58. // user
  59. userService := service.NewUserService()
  60. userApp := mvc.New(userParty.Party(""))
  61. userApp.Register(userService)
  62. userApp.Handle(new(controllers.UserController))
  63. }
  64. // Position
  65. positionParty := b.Party("/position", crs).AllowMethods(iris.MethodOptions)
  66. {
  67. positionParty.Use(middleware.AuthToken)
  68. positionService := service.NewPositionService()
  69. positionApp := mvc.New(positionParty.Party(""))
  70. positionApp.Register(positionService)
  71. positionApp.Handle(new(controllers.PositionController))
  72. }
  73. // GroupCatParty
  74. GroupCatParty := b.Party("/group", crs).AllowMethods(iris.MethodOptions)
  75. {
  76. GroupCatParty.Use(middleware.AuthToken)
  77. groupCatService := service.NewGroupCatService()
  78. groupCatApp := mvc.New(GroupCatParty.Party("/cat"))
  79. groupCatApp.Register(groupCatService)
  80. groupCatApp.Handle(new(controllers.GroupCatController))
  81. }
  82. // App
  83. appParty := b.Party("/app", crs).AllowMethods(iris.MethodOptions)
  84. {
  85. appParty.Use(middleware.AuthToken)
  86. appService := service.NewAppService()
  87. appApp := mvc.New(appParty.Party(""))
  88. appApp.Register(appService)
  89. appApp.Handle(new(controllers.AppController))
  90. appCatService := service.NewAppCatService()
  91. appCatApp := mvc.New(appParty.Party("/cat"))
  92. appCatApp.Register(appCatService)
  93. appCatApp.Handle(new(controllers.AppCatController))
  94. appPermitService := service.NewAppPermitService()
  95. appPermitApp := mvc.New(appParty.Party("/permit"))
  96. appPermitApp.Register(appPermitService)
  97. appPermitApp.Handle(new(controllers.AppPermitController))
  98. }
  99. // TaskCat
  100. taskCatParty := b.Party("/task", crs).AllowMethods(iris.MethodOptions)
  101. {
  102. taskCatParty.Use(middleware.AuthToken)
  103. taskCatService := service.NewTaskCatService()
  104. taskCatApp := mvc.New(taskCatParty.Party("/cat"))
  105. taskCatApp.Register(taskCatService)
  106. taskCatApp.Handle(new(controllers.TaskCatController))
  107. }
  108. // EntCat
  109. entCatParty := b.Party("/ent", crs).AllowMethods(iris.MethodOptions)
  110. {
  111. entCatParty.Use(middleware.AuthToken)
  112. entCatService := service.NewEntCatService()
  113. entCatApp := mvc.New(entCatParty.Party("/cat"))
  114. entCatApp.Register(entCatService)
  115. entCatApp.Handle(new(controllers.EntCatController))
  116. }
  117. // PartnerCat
  118. partnerCatParty := b.Party("/partner", crs).AllowMethods(iris.MethodOptions)
  119. {
  120. partnerCatParty.Use(middleware.AuthToken)
  121. partnerCatService := service.NewPartnerCatService()
  122. partnerCatApp := mvc.New(partnerCatParty.Party("/cat"))
  123. partnerCatApp.Register(partnerCatService)
  124. partnerCatApp.Handle(new(controllers.PartnerCatController))
  125. }
  126. // Model
  127. modelParty := b.Party("/model", crs).AllowMethods(iris.MethodOptions)
  128. {
  129. modelParty.Use(middleware.AuthToken)
  130. modelService := service.NewModelService()
  131. modelApp := mvc.New(modelParty.Party(""))
  132. modelApp.Register(modelService)
  133. modelApp.Handle(new(controllers.ModelController))
  134. objectService := service.NewObjectService()
  135. objectApp := mvc.New(modelParty.Party("/object"))
  136. objectApp.Register(objectService)
  137. objectApp.Handle(new(controllers.ObjectController))
  138. objectAttrService := service.NewObjectAttrService()
  139. objectAttrApp := mvc.New(modelParty.Party("/object/attribute"))
  140. objectAttrApp.Register(objectAttrService)
  141. objectAttrApp.Handle(new(controllers.ObjectAttrController))
  142. }
  143. // DaaS
  144. daasParty := b.Party("/daas", crs).AllowMethods(iris.MethodOptions)
  145. {
  146. daasParty.Use(middleware.AuthToken)
  147. dbTypeService := service.NewDbTypeService()
  148. dbTypeApp := mvc.New(daasParty.Party("/dbType"))
  149. dbTypeApp.Register(dbTypeService)
  150. dbTypeApp.Handle(new(controllers.DbTypeController))
  151. }
  152. // PaaS
  153. paasParty := b.Party("/paas", crs).AllowMethods(iris.MethodOptions)
  154. {
  155. paasParty.Use(middleware.AuthToken)
  156. moduleService := service.NewModuleService()
  157. moduleApp := mvc.New(paasParty.Party("/module"))
  158. moduleApp.Register(moduleService)
  159. moduleApp.Handle(new(controllers.ModuleController))
  160. apiService := service.NewApiService()
  161. apiApp := mvc.New(paasParty.Party("/api"))
  162. apiApp.Register(apiService)
  163. apiApp.Handle(new(controllers.ApiController))
  164. reqService := service.NewApiReqService()
  165. reqApp := mvc.New(paasParty.Party("/api/request"))
  166. reqApp.Register(reqService)
  167. reqApp.Handle(new(controllers.ApiReqController))
  168. atuService := service.NewApiTransUnitService()
  169. apiAtuApp := mvc.New(paasParty.Party("/api/atu"))
  170. apiAtuApp.Register(atuService)
  171. apiAtuApp.Handle(new(controllers.ApiTransUnitController))
  172. }
  173. // x
  174. xParty := b.Party("/x", crs).AllowMethods(iris.MethodOptions)
  175. {
  176. xParty.Use(middleware.AuthToken)
  177. apiGatewayService := service.NewApiGatewayService()
  178. apiGatewayApp := mvc.New(xParty.Party(""))
  179. apiGatewayApp.Register(apiGatewayService)
  180. apiGatewayApp.Handle(new(controllers.ApiGatewayController))
  181. }
  182. }