routes.go 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  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. 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. bizObjectRuleService := service.NewBizObjectRuleService()
  172. bizObjectRuleApp := mvc.New(bizParty.Party("/object/rule"))
  173. bizObjectRuleApp.Register(bizObjectRuleService)
  174. bizObjectRuleApp.Handle(new(controllers.BizObjectRuleController))
  175. }
  176. // database
  177. databaseParty := b.Party("/database", crs).AllowMethods(iris.MethodOptions)
  178. {
  179. databaseParty.Use(middleware.AuthToken)
  180. databaseTypeService := service.NewDbTypeService()
  181. databaseTypeApp := mvc.New(databaseParty.Party("/type"))
  182. databaseTypeApp.Register(databaseTypeService)
  183. databaseTypeApp.Handle(new(controllers.DbTypeController))
  184. dataService := service.NewDbTypeService()
  185. dataApp := mvc.New(databaseParty.Party("/data"))
  186. dataApp.Register(dataService)
  187. dataApp.Handle(new(controllers.DbTypeController))
  188. }
  189. // Api
  190. apiParty := b.Party("/api", crs).AllowMethods(iris.MethodOptions)
  191. {
  192. apiParty.Use(middleware.AuthToken)
  193. apiService := service.NewApiService()
  194. apiApp := mvc.New(apiParty.Party(""))
  195. apiApp.Register(apiService)
  196. apiApp.Handle(new(controllers.ApiController))
  197. apiLogService := service.NewApiLogService()
  198. apiLogApp := mvc.New(apiParty.Party("/log"))
  199. apiLogApp.Register(apiLogService)
  200. apiLogApp.Handle(new(controllers.ApiLogController))
  201. }
  202. // x
  203. xParty := b.Party("/x", crs).AllowMethods(iris.MethodOptions)
  204. {
  205. xParty.Use(middleware.AuthToken)
  206. apiGatewayService := service.NewApiGatewayService()
  207. apiGatewayApp := mvc.New(xParty.Party(""))
  208. apiGatewayApp.Register(apiGatewayService)
  209. apiGatewayApp.Handle(new(controllers.ApiGatewayController))
  210. }
  211. }