role_and_permission.go 1.3 KB

123456789101112131415161718192021222324252627282930
  1. package relations
  2. import (
  3. "git.sxidc.com/go-framework/baize/convenient/domain/auth/middlewares"
  4. "git.sxidc.com/go-framework/baize/convenient/domain/auth/permission"
  5. "git.sxidc.com/go-framework/baize/convenient/domain/auth/role"
  6. "git.sxidc.com/go-framework/baize/convenient/relation/many2many"
  7. "git.sxidc.com/go-framework/baize/framework/binding"
  8. )
  9. // SimpleRoleAndPermission Bind参数
  10. type SimpleRoleAndPermission struct {
  11. // schema
  12. Schema string
  13. }
  14. func (simple *SimpleRoleAndPermission) Bind(binder *binding.Binder) {
  15. many2many.BindSimple(binder, &many2many.Simple[role.Info, permission.Info]{
  16. Left: &role.Entity{},
  17. Right: &permission.Entity{},
  18. Schema: simple.Schema,
  19. LeftUpdateJsonBody: &role.UpdatePermissionsOfRoleJsonBody{},
  20. LeftQueryQueryParams: &role.GetPermissionsOfRoleQueryParams{},
  21. RightUpdateJsonBody: &permission.UpdateRolesOfPermissionJsonBody{},
  22. RightQueryQueryParams: &permission.GetRolesOfPermissionQueryParams{},
  23. }, many2many.WithLeftUpdateMiddlewares(middlewares.Authentication()),
  24. many2many.WithLeftQueryMiddlewares(middlewares.Authentication()),
  25. many2many.WithRightUpdateMiddlewares(middlewares.Authentication()),
  26. many2many.WithRightQueryMiddlewares(middlewares.Authentication()))
  27. }