routes.go 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345
  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/gateway"
  8. "xps/service"
  9. "xps/web/controllers"
  10. "xps/web/middleware"
  11. )
  12. func Configure(b *bootstrap.Bootstrapper) {
  13. crs := cors.New(cors.Options{
  14. AllowedOrigins: []string{"*"},
  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 := service.NewLoginService()
  24. loginApp := mvc.New(b.Party("/", crs).AllowMethods(iris.MethodOptions))
  25. loginApp.Register(loginService)
  26. loginApp.Handle(new(controllers.LoginController))
  27. // System
  28. sysParty := b.Party("/sys", crs).AllowMethods(iris.MethodOptions)
  29. {
  30. sysParty.Use(middleware.AuthToken)
  31. // Role
  32. roleService := service.NewRoleService()
  33. roleApp := mvc.New(sysParty.Party("/role"))
  34. roleApp.Register(roleService)
  35. roleApp.Handle(new(controllers.RoleController))
  36. }
  37. // Company Profile
  38. companyParty := b.Party("/company", crs).AllowMethods(iris.MethodOptions)
  39. {
  40. companyParty.Use(middleware.AuthToken)
  41. companyProfileService := service.NewCompanyProfileService()
  42. companyProfileApp := mvc.New(companyParty.Party("/profile"))
  43. companyProfileApp.Register(companyProfileService)
  44. companyProfileApp.Handle(new(controllers.CompanyProfileController))
  45. }
  46. // Group
  47. groupParty := b.Party("/group", crs).AllowMethods(iris.MethodOptions)
  48. {
  49. groupParty.Use(middleware.AuthToken)
  50. groupService := service.NewGroupService()
  51. groupApp := mvc.New(groupParty.Party(""))
  52. groupApp.Register(groupService)
  53. groupApp.Handle(new(controllers.GroupController))
  54. // GroupCatParty
  55. groupCatService := service.NewGroupCatService()
  56. groupCatApp := mvc.New(groupParty.Party("/cat"))
  57. groupCatApp.Register(groupCatService)
  58. groupCatApp.Handle(new(controllers.GroupCatController))
  59. }
  60. // User
  61. userParty := b.Party("/user", crs).AllowMethods(iris.MethodOptions)
  62. {
  63. userParty.Use(middleware.AuthToken)
  64. // user
  65. userService := service.NewUserService()
  66. userApp := mvc.New(userParty.Party(""))
  67. userApp.Register(userService)
  68. userApp.Handle(new(controllers.UserController))
  69. }
  70. // Position
  71. positionParty := b.Party("/position", crs).AllowMethods(iris.MethodOptions)
  72. {
  73. positionParty.Use(middleware.AuthToken)
  74. positionService := service.NewPositionService()
  75. positionApp := mvc.New(positionParty.Party(""))
  76. positionApp.Register(positionService)
  77. positionApp.Handle(new(controllers.PositionController))
  78. }
  79. // App
  80. appParty := b.Party("/app", crs).AllowMethods(iris.MethodOptions)
  81. {
  82. appParty.Use(middleware.AuthToken)
  83. appService := service.NewAppService()
  84. appApp := mvc.New(appParty.Party(""))
  85. appApp.Register(appService)
  86. appApp.Handle(new(controllers.AppController))
  87. appCatService := service.NewAppCatService()
  88. appCatApp := mvc.New(appParty.Party("/cat"))
  89. appCatApp.Register(appCatService)
  90. appCatApp.Handle(new(controllers.AppCatController))
  91. appPermitService := service.NewAppPermitService()
  92. appPermitApp := mvc.New(appParty.Party("/permit"))
  93. appPermitApp.Register(appPermitService)
  94. appPermitApp.Handle(new(controllers.AppPermitController))
  95. }
  96. // Task
  97. taskParty := b.Party("/task", crs).AllowMethods(iris.MethodOptions)
  98. {
  99. taskParty.Use(middleware.AuthToken)
  100. taskService := service.NewTaskService()
  101. taskApp := mvc.New(taskParty.Party(""))
  102. taskApp.Register(taskService)
  103. taskApp.Handle(new(controllers.TaskController))
  104. taskCatService := service.NewTaskCatService()
  105. taskCatApp := mvc.New(taskParty.Party("/cat"))
  106. taskCatApp.Register(taskCatService)
  107. taskCatApp.Handle(new(controllers.TaskCatController))
  108. }
  109. // Msg
  110. msgParty := b.Party("/msg", crs).AllowMethods(iris.MethodOptions)
  111. {
  112. msgParty.Use(middleware.AuthToken)
  113. msgService := service.NewMsgService()
  114. msgApp := mvc.New(msgParty.Party(""))
  115. msgApp.Register(msgService)
  116. msgApp.Handle(new(controllers.MsgController))
  117. msgCatService := service.NewMsgCatService()
  118. msgCatApp := mvc.New(msgParty.Party("/cat"))
  119. msgCatApp.Register(msgCatService)
  120. msgCatApp.Handle(new(controllers.MsgCatController))
  121. }
  122. // oc
  123. ocParty := b.Party("/oc", crs).AllowMethods(iris.MethodOptions)
  124. {
  125. ocParty.Use(middleware.AuthToken)
  126. ocService := service.NewOcService()
  127. ocApp := mvc.New(ocParty.Party(""))
  128. ocApp.Register(ocService)
  129. ocApp.Handle(new(controllers.OcController))
  130. ocTypeService := service.NewOcTypeService()
  131. ocTypeApp := mvc.New(ocParty.Party("/type"))
  132. ocTypeApp.Register(ocTypeService)
  133. ocTypeApp.Handle(new(controllers.OcTypeController))
  134. ocCatService := service.NewOcCatService()
  135. ocCatApp := mvc.New(ocParty.Party("/cat"))
  136. ocCatApp.Register(ocCatService)
  137. ocCatApp.Handle(new(controllers.OcCatController))
  138. }
  139. // Model
  140. modelParty := b.Party("/model", crs).AllowMethods(iris.MethodOptions)
  141. {
  142. modelParty.Use(middleware.AuthToken)
  143. modelService := service.NewModelService()
  144. modelApp := mvc.New(modelParty.Party(""))
  145. modelApp.Register(modelService)
  146. modelApp.Handle(new(controllers.ModelController))
  147. modelObjectService := service.NewModelObjectService()
  148. modelObjectApp := mvc.New(modelParty.Party("/object"))
  149. modelObjectApp.Register(modelObjectService)
  150. modelObjectApp.Handle(new(controllers.ModelObjectController))
  151. modelObjectAttrService := service.NewModelObjectAttrService()
  152. modelObjectAttrApp := mvc.New(modelParty.Party("/object/attr"))
  153. modelObjectAttrApp.Register(modelObjectAttrService)
  154. modelObjectAttrApp.Handle(new(controllers.ModelObjectAttrController))
  155. modelObjectOAMService := service.NewModelObjectOAMService()
  156. modelObjectOAMApp := mvc.New(modelParty.Party("/object/oam"))
  157. modelObjectOAMApp.Register(modelObjectOAMService)
  158. modelObjectOAMApp.Handle(new(controllers.ModelObjectOAMController))
  159. }
  160. // Biz
  161. bizParty := b.Party("/biz", crs).AllowMethods(iris.MethodOptions)
  162. {
  163. bizParty.Use(middleware.AuthToken)
  164. bizService := service.NewBizService()
  165. bizApp := mvc.New(bizParty.Party(""))
  166. bizApp.Register(bizService)
  167. bizApp.Handle(new(controllers.BizController))
  168. bizObjectService := service.NewBizObjectService()
  169. bizObjectApp := mvc.New(bizParty.Party("/object"))
  170. bizObjectApp.Register(bizObjectService)
  171. bizObjectApp.Handle(new(controllers.BizObjectController))
  172. bizObjectMappingService := service.NewBizObjectMappingService()
  173. bizObjectMappingApp := mvc.New(bizParty.Party("/object/mapping"))
  174. bizObjectMappingApp.Register(bizObjectMappingService)
  175. bizObjectMappingApp.Handle(new(controllers.BizObjectMappingController))
  176. bizObjectAttrService := service.NewBizObjectAttrService()
  177. bizObjectAttrApp := mvc.New(bizParty.Party("/object/attr"))
  178. bizObjectAttrApp.Register(bizObjectAttrService)
  179. bizObjectAttrApp.Handle(new(controllers.BizObjectAttrController))
  180. bizObjectOAMService := service.NewBizObjectOAMService()
  181. bizObjectOAMApp := mvc.New(bizParty.Party("/object/oam"))
  182. bizObjectOAMApp.Register(bizObjectOAMService)
  183. bizObjectOAMApp.Handle(new(controllers.BizObjectOAMController))
  184. bizRuleService := service.NewBizRuleService()
  185. bizRuleApp := mvc.New(bizParty.Party("/rule"))
  186. bizRuleApp.Register(bizRuleService)
  187. bizRuleApp.Handle(new(controllers.BizRuleController))
  188. bizObjectOAMRuleService := service.NewBizObjectOAMRuleService()
  189. bizObjectOAMRuleApp := mvc.New(bizParty.Party("/object/oam/rule"))
  190. bizObjectOAMRuleApp.Register(bizObjectOAMRuleService)
  191. bizObjectOAMRuleApp.Handle(new(controllers.BizObjectOAMRuleController))
  192. bizObjectOAMParamsService := service.NewBizObjectOAMParamsService()
  193. bizObjectOAMParamsApp := mvc.New(bizParty.Party("/object/oam/params"))
  194. bizObjectOAMParamsApp.Register(bizObjectOAMParamsService)
  195. bizObjectOAMParamsApp.Handle(new(controllers.BizObjectOAMParamsController))
  196. bizObjectOAMMappingService := service.NewBizObjectOAMMappingService()
  197. bizObjectOAMMappingApp := mvc.New(bizParty.Party("/object/oam/mapping"))
  198. bizObjectOAMMappingApp.Register(bizObjectOAMMappingService)
  199. bizObjectOAMMappingApp.Handle(new(controllers.BizObjectOAMMappingController))
  200. }
  201. // Repo
  202. repoParty := b.Party("/repo", crs).AllowMethods(iris.MethodOptions)
  203. {
  204. repoParty.Use(middleware.AuthToken)
  205. repoTypeService := service.NewRepoTypeService()
  206. repoTypeApp := mvc.New(repoParty.Party("/type"))
  207. repoTypeApp.Register(repoTypeService)
  208. repoTypeApp.Handle(new(controllers.RepoTypeController))
  209. repoCatService := service.NewRepoCatService()
  210. repoCatApp := mvc.New(repoParty.Party("/cat"))
  211. repoCatApp.Register(repoCatService)
  212. repoCatApp.Handle(new(controllers.RepoCatController))
  213. repoService := service.NewRepoService()
  214. repoApp := mvc.New(repoParty.Party(""))
  215. repoApp.Register(repoService)
  216. repoApp.Handle(new(controllers.RepoController))
  217. repoDBService := service.NewRepoDBService()
  218. repoDBApp := mvc.New(repoParty.Party("/db"))
  219. repoDBApp.Register(repoDBService)
  220. repoDBApp.Handle(new(controllers.RepoDBController))
  221. }
  222. // Api
  223. apiParty := b.Party("/api", crs).AllowMethods(iris.MethodOptions)
  224. {
  225. apiParty.Use(middleware.AuthToken)
  226. apiService := service.NewApiService()
  227. apiApp := mvc.New(apiParty.Party(""))
  228. apiApp.Register(apiService)
  229. apiApp.Handle(new(controllers.ApiController))
  230. apiLogService := service.NewApiLogService()
  231. apiLogApp := mvc.New(apiParty.Party("/log"))
  232. apiLogApp.Register(apiLogService)
  233. apiLogApp.Handle(new(controllers.ApiLogController))
  234. }
  235. // Art
  236. artParty := b.Party("/art", crs).AllowMethods(iris.MethodOptions)
  237. {
  238. artParty.Use(middleware.AuthToken)
  239. artService := service.NewArtService()
  240. artApp := mvc.New(artParty.Party(""))
  241. artApp.Register(artService)
  242. artApp.Handle(new(controllers.ApiController))
  243. artCatService := service.NewArtCatService()
  244. artCatApp := mvc.New(artParty.Party("/cat"))
  245. artCatApp.Register(artCatService)
  246. artCatApp.Handle(new(controllers.ArtCatController))
  247. }
  248. // Doc
  249. docParty := b.Party("/doc", crs).AllowMethods(iris.MethodOptions)
  250. {
  251. docParty.Use(middleware.AuthToken)
  252. docCatService := service.NewDocCatService()
  253. docCatApp := mvc.New(artParty.Party("/cat"))
  254. docCatApp.Register(docCatService)
  255. docCatApp.Handle(new(controllers.DocCatController))
  256. docDirService := service.NewDocDirService()
  257. docDirApp := mvc.New(artParty.Party("/dir"))
  258. docDirApp.Register(docDirService)
  259. docDirApp.Handle(new(controllers.DocDirController))
  260. docFileService := service.NewDocFileService()
  261. docFileApp := mvc.New(artParty.Party("/file"))
  262. docFileApp.Register(docFileService)
  263. docFileApp.Handle(new(controllers.DocFileController))
  264. }
  265. // Upload
  266. uploadParty := b.Party("/upload", crs).AllowMethods(iris.MethodOptions)
  267. {
  268. uploadParty.Use(middleware.AuthToken)
  269. uploadService := service.NewUploadService()
  270. uploadApp := mvc.New(artParty.Party(""))
  271. uploadApp.Register(uploadService)
  272. uploadApp.Handle(new(controllers.UploadController))
  273. }
  274. // x
  275. xParty := b.Party("/x", crs).AllowMethods(iris.MethodOptions)
  276. {
  277. xParty.Use(middleware.AuthToken)
  278. apiGatewayService := gateway.NewHttpHandler()
  279. apiGatewayApp := mvc.New(xParty.Party(""))
  280. apiGatewayApp.Register(apiGatewayService)
  281. apiGatewayApp.Handle(new(controllers.ApiGatewayController))
  282. }
  283. }