routes.go 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257
  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. // System
  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. // GroupCatParty
  54. groupCatService := service.NewGroupCatService()
  55. groupCatApp := mvc.New(groupParty.Party("/cat"))
  56. groupCatApp.Register(groupCatService)
  57. groupCatApp.Handle(new(controllers.GroupCatController))
  58. }
  59. // User
  60. userParty := b.Party("/user", crs).AllowMethods(iris.MethodOptions)
  61. {
  62. userParty.Use(middleware.AuthToken)
  63. // user
  64. userService := service.NewUserService()
  65. userApp := mvc.New(userParty.Party(""))
  66. userApp.Register(userService)
  67. userApp.Handle(new(controllers.UserController))
  68. }
  69. // Position
  70. positionParty := b.Party("/position", crs).AllowMethods(iris.MethodOptions)
  71. {
  72. positionParty.Use(middleware.AuthToken)
  73. positionService := service.NewPositionService()
  74. positionApp := mvc.New(positionParty.Party(""))
  75. positionApp.Register(positionService)
  76. positionApp.Handle(new(controllers.PositionController))
  77. }
  78. // App
  79. appParty := b.Party("/app", crs).AllowMethods(iris.MethodOptions)
  80. {
  81. appParty.Use(middleware.AuthToken)
  82. appService := service.NewAppService()
  83. appApp := mvc.New(appParty.Party(""))
  84. appApp.Register(appService)
  85. appApp.Handle(new(controllers.AppController))
  86. appCatService := service.NewAppCatService()
  87. appCatApp := mvc.New(appParty.Party("/cat"))
  88. appCatApp.Register(appCatService)
  89. appCatApp.Handle(new(controllers.AppCatController))
  90. appPermitService := service.NewAppPermitService()
  91. appPermitApp := mvc.New(appParty.Party("/permit"))
  92. appPermitApp.Register(appPermitService)
  93. appPermitApp.Handle(new(controllers.AppPermitController))
  94. }
  95. // TaskCat
  96. taskCatParty := b.Party("/task", crs).AllowMethods(iris.MethodOptions)
  97. {
  98. taskCatParty.Use(middleware.AuthToken)
  99. taskCatService := service.NewTaskCatService()
  100. taskCatApp := mvc.New(taskCatParty.Party("/cat"))
  101. taskCatApp.Register(taskCatService)
  102. taskCatApp.Handle(new(controllers.TaskCatController))
  103. }
  104. // EntCat
  105. entCatParty := b.Party("/ent", crs).AllowMethods(iris.MethodOptions)
  106. {
  107. entCatParty.Use(middleware.AuthToken)
  108. entCatService := service.NewEntCatService()
  109. entCatApp := mvc.New(entCatParty.Party("/cat"))
  110. entCatApp.Register(entCatService)
  111. entCatApp.Handle(new(controllers.EntCatController))
  112. }
  113. // PartnerCat
  114. partnerCatParty := b.Party("/partner", crs).AllowMethods(iris.MethodOptions)
  115. {
  116. partnerCatParty.Use(middleware.AuthToken)
  117. partnerCatService := service.NewPartnerCatService()
  118. partnerCatApp := mvc.New(partnerCatParty.Party("/cat"))
  119. partnerCatApp.Register(partnerCatService)
  120. partnerCatApp.Handle(new(controllers.PartnerCatController))
  121. }
  122. // Model
  123. modelParty := b.Party("/model", crs).AllowMethods(iris.MethodOptions)
  124. {
  125. modelParty.Use(middleware.AuthToken)
  126. modelService := service.NewModelService()
  127. modelApp := mvc.New(modelParty.Party(""))
  128. modelApp.Register(modelService)
  129. modelApp.Handle(new(controllers.ModelController))
  130. modelObjectService := service.NewModelObjectService()
  131. modelObjectApp := mvc.New(modelParty.Party("/object"))
  132. modelObjectApp.Register(modelObjectService)
  133. modelObjectApp.Handle(new(controllers.ModelObjectController))
  134. modelObjectAttrService := service.NewModelObjectAttrService()
  135. modelObjectAttrApp := mvc.New(modelParty.Party("/object/attr"))
  136. modelObjectAttrApp.Register(modelObjectAttrService)
  137. modelObjectAttrApp.Handle(new(controllers.ModelObjectAttrController))
  138. modelObjectOAMService := service.NewModelObjectOAMService()
  139. modelObjectOAMApp := mvc.New(modelParty.Party("/object/oam"))
  140. modelObjectOAMApp.Register(modelObjectOAMService)
  141. modelObjectOAMApp.Handle(new(controllers.ModelObjectOAMController))
  142. }
  143. // Biz
  144. bizParty := b.Party("/biz", crs).AllowMethods(iris.MethodOptions)
  145. {
  146. bizParty.Use(middleware.AuthToken)
  147. bizService := service.NewBizService()
  148. bizApp := mvc.New(bizParty.Party(""))
  149. bizApp.Register(bizService)
  150. bizApp.Handle(new(controllers.BizController))
  151. bizObjectService := service.NewBizObjectService()
  152. bizObjectApp := mvc.New(bizParty.Party("/object"))
  153. bizObjectApp.Register(bizObjectService)
  154. bizObjectApp.Handle(new(controllers.BizObjectController))
  155. bizObjectMappingService := service.NewBizObjectMappingService()
  156. bizObjectMappingApp := mvc.New(bizParty.Party("/object/mapping"))
  157. bizObjectMappingApp.Register(bizObjectMappingService)
  158. bizObjectMappingApp.Handle(new(controllers.BizObjectMappingController))
  159. bizObjectAttrService := service.NewBizObjectAttrService()
  160. bizObjectAttrApp := mvc.New(bizParty.Party("/object/attr"))
  161. bizObjectAttrApp.Register(bizObjectAttrService)
  162. bizObjectAttrApp.Handle(new(controllers.BizObjectAttrController))
  163. bizObjectOAMService := service.NewBizObjectOAMService()
  164. bizObjectOAMApp := mvc.New(bizParty.Party("/object/oam"))
  165. bizObjectOAMApp.Register(bizObjectOAMService)
  166. bizObjectOAMApp.Handle(new(controllers.BizObjectOAMController))
  167. bizRuleService := service.NewBizRuleService()
  168. bizRuleApp := mvc.New(bizParty.Party("/rule"))
  169. bizRuleApp.Register(bizRuleService)
  170. bizRuleApp.Handle(new(controllers.BizRuleController))
  171. bizObjectOAMRuleService := service.NewBizObjectOAMRuleService()
  172. bizObjectOAMRuleApp := mvc.New(bizParty.Party("/object/oam/rule"))
  173. bizObjectOAMRuleApp.Register(bizObjectOAMRuleService)
  174. bizObjectOAMRuleApp.Handle(new(controllers.BizObjectOAMRuleController))
  175. bizObjectOAMParamsService := service.NewBizObjectOAMParamsService()
  176. bizObjectOAMParamsApp := mvc.New(bizParty.Party("/object/oam/params"))
  177. bizObjectOAMParamsApp.Register(bizObjectOAMParamsService)
  178. bizObjectOAMParamsApp.Handle(new(controllers.BizObjectOAMParamsController))
  179. bizObjectOAMMappingService := service.NewBizObjectOAMMappingService()
  180. bizObjectOAMMappingApp := mvc.New(bizParty.Party("/object/oam/mapping"))
  181. bizObjectOAMMappingApp.Register(bizObjectOAMMappingService)
  182. bizObjectOAMMappingApp.Handle(new(controllers.BizObjectOAMMappingController))
  183. }
  184. // database
  185. dbParty := b.Party("/db", crs).AllowMethods(iris.MethodOptions)
  186. {
  187. dbParty.Use(middleware.AuthToken)
  188. dbTypeService := service.NewDbTypeService()
  189. dbTypeApp := mvc.New(dbParty.Party("/type"))
  190. dbTypeApp.Register(dbTypeService)
  191. dbTypeApp.Handle(new(controllers.DbTypeController))
  192. dbService := service.NewDbService()
  193. dbApp := mvc.New(dbParty.Party(""))
  194. dbApp.Register(dbService)
  195. dbApp.Handle(new(controllers.DbController))
  196. }
  197. // Api
  198. apiParty := b.Party("/api", crs).AllowMethods(iris.MethodOptions)
  199. {
  200. apiParty.Use(middleware.AuthToken)
  201. apiService := service.NewApiService()
  202. apiApp := mvc.New(apiParty.Party(""))
  203. apiApp.Register(apiService)
  204. apiApp.Handle(new(controllers.ApiController))
  205. apiLogService := service.NewApiLogService()
  206. apiLogApp := mvc.New(apiParty.Party("/log"))
  207. apiLogApp.Register(apiLogService)
  208. apiLogApp.Handle(new(controllers.ApiLogController))
  209. }
  210. // x
  211. xParty := b.Party("/x", crs).AllowMethods(iris.MethodOptions)
  212. {
  213. xParty.Use(middleware.AuthToken)
  214. apiGatewayService := service.NewApiGatewayService()
  215. apiGatewayApp := mvc.New(xParty.Party(""))
  216. apiGatewayApp.Register(apiGatewayService)
  217. apiGatewayApp.Handle(new(controllers.ApiGatewayController))
  218. }
  219. }