routes.go 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  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. }
  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. modelObjectService := service.NewModelObjectService()
  135. modelObjectApp := mvc.New(modelParty.Party("/object"))
  136. modelObjectApp.Register(modelObjectService)
  137. modelObjectApp.Handle(new(controllers.ModelObjectController))
  138. modelObjectAttrService := service.NewModelObjectAttrService()
  139. modelObjectAttrApp := mvc.New(modelParty.Party("/object/attr"))
  140. modelObjectAttrApp.Register(modelObjectAttrService)
  141. modelObjectAttrApp.Handle(new(controllers.ModelObjectAttrController))
  142. modelObjectOAMService := service.NewModelObjectOAMService()
  143. modelObjectOAMApp := mvc.New(modelParty.Party("/object/oam"))
  144. modelObjectOAMApp.Register(modelObjectOAMService)
  145. modelObjectOAMApp.Handle(new(controllers.ModelObjectOAMController))
  146. }
  147. // Biz
  148. bizParty := b.Party("/biz", crs).AllowMethods(iris.MethodOptions)
  149. {
  150. bizParty.Use(middleware.AuthToken)
  151. bizService := service.NewBizService()
  152. bizApp := mvc.New(bizParty.Party(""))
  153. bizApp.Register(bizService)
  154. bizApp.Handle(new(controllers.BizController))
  155. bizObjectService := service.NewBizObjectService()
  156. bizObjectApp := mvc.New(bizParty.Party("/object"))
  157. bizObjectApp.Register(bizObjectService)
  158. bizObjectApp.Handle(new(controllers.BizObjectController))
  159. bizObjectMappingService := service.NewBizObjectMappingService()
  160. bizObjectMappingApp := mvc.New(bizParty.Party("/object/mapping"))
  161. bizObjectMappingApp.Register(bizObjectMappingService)
  162. bizObjectMappingApp.Handle(new(controllers.BizObjectMappingController))
  163. bizObjectAttrService := service.NewBizObjectAttrService()
  164. bizObjectAttrApp := mvc.New(bizParty.Party("/object/attr"))
  165. bizObjectAttrApp.Register(bizObjectAttrService)
  166. bizObjectAttrApp.Handle(new(controllers.BizObjectAttrController))
  167. bizObjectOAMService := service.NewBizObjectOAMService()
  168. bizObjectOAMApp := mvc.New(bizParty.Party("/object/oam"))
  169. bizObjectOAMApp.Register(bizObjectOAMService)
  170. bizObjectOAMApp.Handle(new(controllers.BizObjectOAMController))
  171. bizRuleService := service.NewBizRuleService()
  172. bizRuleApp := mvc.New(bizParty.Party("/rule"))
  173. bizRuleApp.Register(bizRuleService)
  174. bizRuleApp.Handle(new(controllers.BizRuleController))
  175. bizObjectOAMRuleService := service.NewBizObjectOAMRuleService()
  176. bizObjectOAMRuleApp := mvc.New(bizParty.Party("/object/oam/rule"))
  177. bizObjectOAMRuleApp.Register(bizObjectOAMRuleService)
  178. bizObjectOAMRuleApp.Handle(new(controllers.BizObjectOAMRuleController))
  179. bizObjectOAMParamsService := service.NewBizObjectOAMParamsService()
  180. bizObjectOAMParamsApp := mvc.New(bizParty.Party("/object/oam/params"))
  181. bizObjectOAMParamsApp.Register(bizObjectOAMParamsService)
  182. bizObjectOAMParamsApp.Handle(new(controllers.BizObjectOAMParamsController))
  183. }
  184. // database
  185. databaseParty := b.Party("/database", crs).AllowMethods(iris.MethodOptions)
  186. {
  187. databaseParty.Use(middleware.AuthToken)
  188. databaseTypeService := service.NewDbTypeService()
  189. databaseTypeApp := mvc.New(databaseParty.Party("/type"))
  190. databaseTypeApp.Register(databaseTypeService)
  191. databaseTypeApp.Handle(new(controllers.DbTypeController))
  192. dataService := service.NewDbTypeService()
  193. dataApp := mvc.New(databaseParty.Party("/data"))
  194. dataApp.Register(dataService)
  195. dataApp.Handle(new(controllers.DbTypeController))
  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. }