routes.go 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391
  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/controller"
  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(controller.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(controller.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(controller.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(controller.GroupController))
  54. // GroupCat
  55. groupCatService := service.NewGroupCatService()
  56. groupCatApp := mvc.New(groupParty.Party("/cat"))
  57. groupCatApp.Register(groupCatService)
  58. groupCatApp.Handle(new(controller.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(controller.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(controller.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(controller.AppController))
  87. appCatService := service.NewAppCatService()
  88. appCatApp := mvc.New(appParty.Party("/cat"))
  89. appCatApp.Register(appCatService)
  90. appCatApp.Handle(new(controller.AppCatController))
  91. appPermitService := service.NewAppPermitService()
  92. appPermitApp := mvc.New(appParty.Party("/permit"))
  93. appPermitApp.Register(appPermitService)
  94. appPermitApp.Handle(new(controller.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(controller.TaskController))
  104. taskCatService := service.NewTaskCatService()
  105. taskCatApp := mvc.New(taskParty.Party("/cat"))
  106. taskCatApp.Register(taskCatService)
  107. taskCatApp.Handle(new(controller.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(controller.MsgController))
  117. msgCatService := service.NewMsgCatService()
  118. msgCatApp := mvc.New(msgParty.Party("/cat"))
  119. msgCatApp.Register(msgCatService)
  120. msgCatApp.Handle(new(controller.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(controller.OcController))
  130. ocTypeService := service.NewOcTypeService()
  131. ocTypeApp := mvc.New(ocParty.Party("/type"))
  132. ocTypeApp.Register(ocTypeService)
  133. ocTypeApp.Handle(new(controller.OcTypeController))
  134. ocCatService := service.NewOcCatService()
  135. ocCatApp := mvc.New(ocParty.Party("/cat"))
  136. ocCatApp.Register(ocCatService)
  137. ocCatApp.Handle(new(controller.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(controller.ModelController))
  147. modelObjectService := service.NewModelObjectService()
  148. modelObjectApp := mvc.New(modelParty.Party("/object"))
  149. modelObjectApp.Register(modelObjectService)
  150. modelObjectApp.Handle(new(controller.ModelObjectController))
  151. modelObjectAttrService := service.NewModelObjectAttrService()
  152. modelObjectAttrApp := mvc.New(modelParty.Party("/object/attr"))
  153. modelObjectAttrApp.Register(modelObjectAttrService)
  154. modelObjectAttrApp.Handle(new(controller.ModelObjectAttrController))
  155. modelObjectOAMService := service.NewModelObjectOAMService()
  156. modelObjectOAMApp := mvc.New(modelParty.Party("/object/oam"))
  157. modelObjectOAMApp.Register(modelObjectOAMService)
  158. modelObjectOAMApp.Handle(new(controller.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(controller.BizController))
  168. bizObjectService := service.NewBizObjectService()
  169. bizObjectApp := mvc.New(bizParty.Party("/object"))
  170. bizObjectApp.Register(bizObjectService)
  171. bizObjectApp.Handle(new(controller.BizObjectController))
  172. bizObjectMappingService := service.NewBizObjectMappingService()
  173. bizObjectMappingApp := mvc.New(bizParty.Party("/object/mapping"))
  174. bizObjectMappingApp.Register(bizObjectMappingService)
  175. bizObjectMappingApp.Handle(new(controller.BizObjectMappingController))
  176. bizObjectAttrService := service.NewBizObjectAttrService()
  177. bizObjectAttrApp := mvc.New(bizParty.Party("/object/attr"))
  178. bizObjectAttrApp.Register(bizObjectAttrService)
  179. bizObjectAttrApp.Handle(new(controller.BizObjectAttrController))
  180. bizObjectOAMService := service.NewBizObjectOAMService()
  181. bizObjectOAMApp := mvc.New(bizParty.Party("/object/oam"))
  182. bizObjectOAMApp.Register(bizObjectOAMService)
  183. bizObjectOAMApp.Handle(new(controller.BizObjectOAMController))
  184. bizRuleService := service.NewBizRuleService()
  185. bizRuleApp := mvc.New(bizParty.Party("/rule"))
  186. bizRuleApp.Register(bizRuleService)
  187. bizRuleApp.Handle(new(controller.BizRuleController))
  188. bizObjectOAMRuleService := service.NewBizObjectOAMRuleService()
  189. bizObjectOAMRuleApp := mvc.New(bizParty.Party("/object/oam/rule"))
  190. bizObjectOAMRuleApp.Register(bizObjectOAMRuleService)
  191. bizObjectOAMRuleApp.Handle(new(controller.BizObjectOAMRuleController))
  192. bizObjectOAMParamsService := service.NewBizObjectOAMParamsService()
  193. bizObjectOAMParamsApp := mvc.New(bizParty.Party("/object/oam/params"))
  194. bizObjectOAMParamsApp.Register(bizObjectOAMParamsService)
  195. bizObjectOAMParamsApp.Handle(new(controller.BizObjectOAMParamsController))
  196. bizObjectOAMMappingService := service.NewBizObjectOAMMappingService()
  197. bizObjectOAMMappingApp := mvc.New(bizParty.Party("/object/oam/mapping"))
  198. bizObjectOAMMappingApp.Register(bizObjectOAMMappingService)
  199. bizObjectOAMMappingApp.Handle(new(controller.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(controller.RepoTypeController))
  209. repoCatService := service.NewRepoCatService()
  210. repoCatApp := mvc.New(repoParty.Party("/cat"))
  211. repoCatApp.Register(repoCatService)
  212. repoCatApp.Handle(new(controller.RepoCatController))
  213. repoObjectService := service.NewRepoObjectService()
  214. repoObjectApp := mvc.New(repoParty.Party("/object"))
  215. repoObjectApp.Register(repoObjectService)
  216. repoObjectApp.Handle(new(controller.RepoObjectController))
  217. repoService := service.NewRepoService()
  218. repoApp := mvc.New(repoParty.Party(""))
  219. repoApp.Register(repoService)
  220. repoApp.Handle(new(controller.RepoController))
  221. repoDBService := service.NewRepoDBService()
  222. repoDBApp := mvc.New(repoParty.Party("/db"))
  223. repoDBApp.Register(repoDBService)
  224. repoDBApp.Handle(new(controller.RepoDBController))
  225. }
  226. // Api
  227. apiParty := b.Party("/api", crs).AllowMethods(iris.MethodOptions)
  228. {
  229. apiParty.Use(middleware.AuthToken)
  230. apiService := service.NewApiService()
  231. apiApp := mvc.New(apiParty.Party(""))
  232. apiApp.Register(apiService)
  233. apiApp.Handle(new(controller.ApiController))
  234. apiLogService := service.NewApiLogService()
  235. apiLogApp := mvc.New(apiParty.Party("/log"))
  236. apiLogApp.Register(apiLogService)
  237. apiLogApp.Handle(new(controller.ApiLogController))
  238. }
  239. // Art
  240. artParty := b.Party("/art", crs).AllowMethods(iris.MethodOptions)
  241. {
  242. artParty.Use(middleware.AuthToken)
  243. artService := service.NewArtService()
  244. artApp := mvc.New(artParty.Party(""))
  245. artApp.Register(artService)
  246. artApp.Handle(new(controller.ApiController))
  247. artCatService := service.NewArtCatService()
  248. artCatApp := mvc.New(artParty.Party("/cat"))
  249. artCatApp.Register(artCatService)
  250. artCatApp.Handle(new(controller.ArtCatController))
  251. }
  252. // Doc
  253. docParty := b.Party("/doc", crs).AllowMethods(iris.MethodOptions)
  254. {
  255. docParty.Use(middleware.AuthToken)
  256. docCatService := service.NewDocCatService()
  257. docCatApp := mvc.New(artParty.Party("/cat"))
  258. docCatApp.Register(docCatService)
  259. docCatApp.Handle(new(controller.DocCatController))
  260. docDirService := service.NewDocDirService()
  261. docDirApp := mvc.New(artParty.Party("/dir"))
  262. docDirApp.Register(docDirService)
  263. docDirApp.Handle(new(controller.DocDirController))
  264. docFileService := service.NewDocFileService()
  265. docFileApp := mvc.New(artParty.Party("/file"))
  266. docFileApp.Register(docFileService)
  267. docFileApp.Handle(new(controller.DocFileController))
  268. }
  269. // Upload
  270. uploadParty := b.Party("/upload", crs).AllowMethods(iris.MethodOptions)
  271. {
  272. uploadParty.Use(middleware.AuthToken)
  273. uploadService := service.NewUploadService()
  274. uploadApp := mvc.New(artParty.Party(""))
  275. uploadApp.Register(uploadService)
  276. uploadApp.Handle(new(controller.UploadController))
  277. }
  278. // Workflow
  279. wfParty := b.Party("/wf", crs).AllowMethods(iris.MethodOptions)
  280. {
  281. wfParty.Use(middleware.AuthToken)
  282. wfDefService := service.NewWfDefService()
  283. wfDefApp := mvc.New(wfParty.Party("/def"))
  284. wfDefApp.Register(wfDefService)
  285. wfDefApp.Handle(new(controller.WfDefController))
  286. wfInsService := service.NewWfInsService()
  287. wfInsApp := mvc.New(wfParty.Party("/ins"))
  288. wfInsApp.Register(wfInsService)
  289. wfInsApp.Handle(new(controller.WfInsController))
  290. wfActivityDefService := service.NewWfActivityDefService()
  291. wfActivityDefApp := mvc.New(wfParty.Party("/activity/def"))
  292. wfActivityDefApp.Register(wfActivityDefService)
  293. wfActivityDefApp.Handle(new(controller.WfActivityDefController))
  294. wfActivityInsService := service.NewWfActivityInsService()
  295. wfActivityInsApp := mvc.New(wfParty.Party("/activity/ins"))
  296. wfActivityInsApp.Register(wfActivityInsService)
  297. wfActivityInsApp.Handle(new(controller.WfActivityInsController))
  298. wfActivityActionDefService := service.NewWfActivityActionDefService()
  299. wfActivityActionDefApp := mvc.New(wfParty.Party("/activity/action/def"))
  300. wfActivityActionDefApp.Register(wfActivityActionDefService)
  301. wfActivityActionDefApp.Handle(new(controller.WfActivityActionDefController))
  302. wfActivityActionInsService := service.NewWfActivityActionInsService()
  303. wfActivityActionInsApp := mvc.New(wfParty.Party("/activity/action/ins"))
  304. wfActivityActionInsApp.Register(wfActivityActionInsService)
  305. wfActivityActionInsApp.Handle(new(controller.WfActivityActionInsController))
  306. wfInsAttachService := service.NewWfInsAttachService()
  307. wfInsAttachApp := mvc.New(wfParty.Party("/ins/attach"))
  308. wfInsAttachApp.Register(wfInsAttachService)
  309. wfInsAttachApp.Handle(new(controller.WfInsAttachController))
  310. }
  311. // x
  312. xParty := b.Party("/x", crs).AllowMethods(iris.MethodOptions)
  313. {
  314. xParty.Use(middleware.AuthToken)
  315. apiGatewayService := gateway.NewHttpHandler()
  316. apiGatewayApp := mvc.New(xParty.Party(""))
  317. apiGatewayApp.Register(apiGatewayService)
  318. apiGatewayApp.Handle(new(controller.ApiGatewayController))
  319. }
  320. }