routes.go 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  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/model"
  8. "xps/service/system"
  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 := system.NewLoginService()
  24. loginApp := mvc.New(b.Party("/", crs).AllowMethods(iris.MethodOptions))
  25. loginApp.Register(loginService)
  26. loginApp.Handle(new(controllers.LoginController))
  27. // role
  28. sys := b.Party("/sys", crs).AllowMethods(iris.MethodOptions)
  29. {
  30. sys.Use(middleware.AuthToken)
  31. // Role
  32. roleService := system.NewRoleService()
  33. roleApp := mvc.New(sys.Party("/role"))
  34. roleApp.Register(roleService)
  35. roleApp.Handle(new(controllers.RoleController))
  36. }
  37. // Company Profile
  38. company := b.Party("/company", crs).AllowMethods(iris.MethodOptions)
  39. {
  40. company.Use(middleware.AuthToken)
  41. companyProfileService := system.NewCompanyProfileService()
  42. companyProfileApp := mvc.New(company.Party("/profile"))
  43. companyProfileApp.Register(companyProfileService)
  44. companyProfileApp.Handle(new(controllers.CompanyProfileController))
  45. }
  46. // Group
  47. group := b.Party("/group", crs).AllowMethods(iris.MethodOptions)
  48. {
  49. group.Use(middleware.AuthToken)
  50. groupService := system.NewGroupService()
  51. groupApp := mvc.New(group.Party(""))
  52. groupApp.Register(groupService)
  53. groupApp.Handle(new(controllers.GroupController))
  54. }
  55. // User
  56. user := b.Party("/user", crs).AllowMethods(iris.MethodOptions)
  57. {
  58. user.Use(middleware.AuthToken)
  59. // user
  60. userService := system.NewUserService()
  61. userApp := mvc.New(user.Party(""))
  62. userApp.Register(userService)
  63. userApp.Handle(new(controllers.UserController))
  64. }
  65. // Permit
  66. permit := b.Party("/app", crs).AllowMethods(iris.MethodOptions)
  67. {
  68. // Permit
  69. appPermitService := system.NewAppPermitService()
  70. appPermitApp := mvc.New(permit.Party("/permit"))
  71. appPermitApp.Register(appPermitService)
  72. appPermitApp.Handle(new(controllers.AppPermitController))
  73. }
  74. // Position
  75. position := b.Party("/position", crs).AllowMethods(iris.MethodOptions)
  76. {
  77. position.Use(middleware.AuthToken)
  78. positionService := system.NewPositionService()
  79. positionApp := mvc.New(position.Party(""))
  80. positionApp.Register(positionService)
  81. positionApp.Handle(new(controllers.PositionController))
  82. }
  83. // GroupCat
  84. groupCat := b.Party("/group", crs).AllowMethods(iris.MethodOptions)
  85. {
  86. groupCat.Use(middleware.AuthToken)
  87. groupCatService := system.NewGroupCatService()
  88. groupCatApp := mvc.New(groupCat.Party("/cat"))
  89. groupCatApp.Register(groupCatService)
  90. groupCatApp.Handle(new(controllers.GroupCatController))
  91. }
  92. // AppCat
  93. app := b.Party("/app", crs).AllowMethods(iris.MethodOptions)
  94. {
  95. app.Use(middleware.AuthToken)
  96. appService := system.NewAppService()
  97. appApp := mvc.New(app.Party(""))
  98. appApp.Register(appService)
  99. appApp.Handle(new(controllers.AppController))
  100. appCatService := system.NewAppCatService()
  101. appCatApp := mvc.New(app.Party("/cat"))
  102. appCatApp.Register(appCatService)
  103. appCatApp.Handle(new(controllers.AppCatController))
  104. }
  105. // TaskCat
  106. taskCat := b.Party("/task", crs).AllowMethods(iris.MethodOptions)
  107. {
  108. taskCat.Use(middleware.AuthToken)
  109. taskCatService := system.NewTaskCatService()
  110. taskCatApp := mvc.New(taskCat.Party("/cat"))
  111. taskCatApp.Register(taskCatService)
  112. taskCatApp.Handle(new(controllers.TaskCatController))
  113. }
  114. // EntCat
  115. entCat := b.Party("/ent", crs).AllowMethods(iris.MethodOptions)
  116. {
  117. entCat.Use(middleware.AuthToken)
  118. entCatService := system.NewEntCatService()
  119. entCatApp := mvc.New(entCat.Party("/cat"))
  120. entCatApp.Register(entCatService)
  121. entCatApp.Handle(new(controllers.EntCatController))
  122. }
  123. // PartnerCat
  124. partnerCat := b.Party("/partner", crs).AllowMethods(iris.MethodOptions)
  125. {
  126. partnerCat.Use(middleware.AuthToken)
  127. partnerCatService := system.NewPartnerCatService()
  128. partnerCatApp := mvc.New(partnerCat.Party("/cat"))
  129. partnerCatApp.Register(partnerCatService)
  130. partnerCatApp.Handle(new(controllers.PartnerCatController))
  131. }
  132. // Model
  133. dsModel := b.Party("/model", crs).AllowMethods(iris.MethodOptions)
  134. {
  135. dsModel.Use(middleware.AuthToken)
  136. modelService := model.NewModelService()
  137. modelApp := mvc.New(dsModel.Party(""))
  138. modelApp.Register(modelService)
  139. modelApp.Handle(new(controllers.ModelController))
  140. objectService := model.NewObjectService()
  141. objectApp := mvc.New(dsModel.Party("/object"))
  142. objectApp.Register(objectService)
  143. objectApp.Handle(new(controllers.ObjectController))
  144. objectAttrService := model.NewObjectAttrService()
  145. objectAttrApp := mvc.New(dsModel.Party("/object/attribute"))
  146. objectAttrApp.Register(objectAttrService)
  147. objectAttrApp.Handle(new(controllers.ObjectAttrController))
  148. }
  149. }