routes.go 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  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/daas"
  8. "xps/service/model"
  9. "xps/service/system"
  10. "xps/web/controllers"
  11. "xps/web/middleware"
  12. )
  13. func Configure(b *bootstrap.Bootstrapper) {
  14. crs := cors.New(cors.Options{
  15. AllowedOrigins: []string{"*"},
  16. AllowedMethods: []string{"PUT", "PATCH", "GET", "POST", "OPTIONS", "DELETE"},
  17. AllowedHeaders: []string{"*"},
  18. ExposedHeaders: []string{"Accept", "Content-Type", "Content-Length", "Accept-Encoding", "X-CSRF-Token", "Authorization"},
  19. AllowCredentials: true,
  20. })
  21. // Static Resource
  22. b.HandleDir("/", "./public")
  23. // Login
  24. loginService := system.NewLoginService()
  25. loginApp := mvc.New(b.Party("/", crs).AllowMethods(iris.MethodOptions))
  26. loginApp.Register(loginService)
  27. loginApp.Handle(new(controllers.LoginController))
  28. // role
  29. sys := b.Party("/sys", crs).AllowMethods(iris.MethodOptions)
  30. {
  31. sys.Use(middleware.AuthToken)
  32. // Role
  33. roleService := system.NewRoleService()
  34. roleApp := mvc.New(sys.Party("/role"))
  35. roleApp.Register(roleService)
  36. roleApp.Handle(new(controllers.RoleController))
  37. }
  38. // Company Profile
  39. company := b.Party("/company", crs).AllowMethods(iris.MethodOptions)
  40. {
  41. company.Use(middleware.AuthToken)
  42. companyProfileService := system.NewCompanyProfileService()
  43. companyProfileApp := mvc.New(company.Party("/profile"))
  44. companyProfileApp.Register(companyProfileService)
  45. companyProfileApp.Handle(new(controllers.CompanyProfileController))
  46. }
  47. // Group
  48. group := b.Party("/group", crs).AllowMethods(iris.MethodOptions)
  49. {
  50. group.Use(middleware.AuthToken)
  51. groupService := system.NewGroupService()
  52. groupApp := mvc.New(group.Party(""))
  53. groupApp.Register(groupService)
  54. groupApp.Handle(new(controllers.GroupController))
  55. }
  56. // User
  57. user := b.Party("/user", crs).AllowMethods(iris.MethodOptions)
  58. {
  59. user.Use(middleware.AuthToken)
  60. // user
  61. userService := system.NewUserService()
  62. userApp := mvc.New(user.Party(""))
  63. userApp.Register(userService)
  64. userApp.Handle(new(controllers.UserController))
  65. }
  66. // Position
  67. position := b.Party("/position", crs).AllowMethods(iris.MethodOptions)
  68. {
  69. position.Use(middleware.AuthToken)
  70. positionService := system.NewPositionService()
  71. positionApp := mvc.New(position.Party(""))
  72. positionApp.Register(positionService)
  73. positionApp.Handle(new(controllers.PositionController))
  74. }
  75. // GroupCat
  76. groupCat := b.Party("/group", crs).AllowMethods(iris.MethodOptions)
  77. {
  78. groupCat.Use(middleware.AuthToken)
  79. groupCatService := system.NewGroupCatService()
  80. groupCatApp := mvc.New(groupCat.Party("/cat"))
  81. groupCatApp.Register(groupCatService)
  82. groupCatApp.Handle(new(controllers.GroupCatController))
  83. }
  84. // App
  85. app := b.Party("/app", crs).AllowMethods(iris.MethodOptions)
  86. {
  87. app.Use(middleware.AuthToken)
  88. appService := system.NewAppService()
  89. appApp := mvc.New(app.Party(""))
  90. appApp.Register(appService)
  91. appApp.Handle(new(controllers.AppController))
  92. appCatService := system.NewAppCatService()
  93. appCatApp := mvc.New(app.Party("/cat"))
  94. appCatApp.Register(appCatService)
  95. appCatApp.Handle(new(controllers.AppCatController))
  96. appPermitService := system.NewAppPermitService()
  97. appPermitApp := mvc.New(app.Party("/permit"))
  98. appPermitApp.Register(appPermitService)
  99. appPermitApp.Handle(new(controllers.AppPermitController))
  100. }
  101. // TaskCat
  102. taskCat := b.Party("/task", crs).AllowMethods(iris.MethodOptions)
  103. {
  104. taskCat.Use(middleware.AuthToken)
  105. taskCatService := system.NewTaskCatService()
  106. taskCatApp := mvc.New(taskCat.Party("/cat"))
  107. taskCatApp.Register(taskCatService)
  108. taskCatApp.Handle(new(controllers.TaskCatController))
  109. }
  110. // EntCat
  111. entCat := b.Party("/ent", crs).AllowMethods(iris.MethodOptions)
  112. {
  113. entCat.Use(middleware.AuthToken)
  114. entCatService := system.NewEntCatService()
  115. entCatApp := mvc.New(entCat.Party("/cat"))
  116. entCatApp.Register(entCatService)
  117. entCatApp.Handle(new(controllers.EntCatController))
  118. }
  119. // PartnerCat
  120. partnerCat := b.Party("/partner", crs).AllowMethods(iris.MethodOptions)
  121. {
  122. partnerCat.Use(middleware.AuthToken)
  123. partnerCatService := system.NewPartnerCatService()
  124. partnerCatApp := mvc.New(partnerCat.Party("/cat"))
  125. partnerCatApp.Register(partnerCatService)
  126. partnerCatApp.Handle(new(controllers.PartnerCatController))
  127. }
  128. // Model
  129. modelParty := b.Party("/model", crs).AllowMethods(iris.MethodOptions)
  130. {
  131. modelParty.Use(middleware.AuthToken)
  132. modelService := model.NewModelService()
  133. modelApp := mvc.New(modelParty.Party(""))
  134. modelApp.Register(modelService)
  135. modelApp.Handle(new(controllers.ModelController))
  136. objectService := model.NewObjectService()
  137. objectApp := mvc.New(modelParty.Party("/object"))
  138. objectApp.Register(objectService)
  139. objectApp.Handle(new(controllers.ObjectController))
  140. objectAttrService := model.NewObjectAttrService()
  141. objectAttrApp := mvc.New(modelParty.Party("/object/attribute"))
  142. objectAttrApp.Register(objectAttrService)
  143. objectAttrApp.Handle(new(controllers.ObjectAttrController))
  144. }
  145. // DaaS
  146. daasParty := b.Party("/daas", crs).AllowMethods(iris.MethodOptions)
  147. {
  148. daasParty.Use(middleware.AuthToken)
  149. dbTypeService := daas.NewDbTypeService()
  150. dbTypeApp := mvc.New(daasParty.Party("/dbType"))
  151. dbTypeApp.Register(dbTypeService)
  152. dbTypeApp.Handle(new(controllers.DbTypeController))
  153. }
  154. }