sys_api_authority.go 882 B

1234567891011121314151617181920212223242526272829303132333435
  1. package sysModel
  2. import (
  3. "github.com/jinzhu/gorm"
  4. "main/init/qmsql"
  5. )
  6. type SysApiAuthority struct {
  7. gorm.Model
  8. AuthorityId string
  9. Authority SysAuthority `gorm:"ForeignKey:AuthorityId;AssociationForeignKey:AuthorityId"` //其实没有关联的必要
  10. ApiId uint
  11. Api SysApi
  12. }
  13. //创建角色api关联关系
  14. func (a *SysApiAuthority) SetAuthAndApi(authId string, apisid []uint) (err error) {
  15. for _, v := range apisid {
  16. err = qmsql.DEFAULTDB.Create(&SysApiAuthority{AuthorityId: authId, ApiId: v}).Error
  17. if err != nil {
  18. return err
  19. }
  20. }
  21. return nil
  22. }
  23. // 获取角色api关联关系
  24. func (a *SysApiAuthority) GetAuthAndApi(authId string) (err error,apiIds []uint) {
  25. var apis []SysApiAuthority
  26. err = qmsql.DEFAULTDB.Where("authority_id = ?", authId).Find(&apis).Error
  27. for _, v := range apis {
  28. apiIds = append(apiIds,v.ApiId)
  29. }
  30. return nil,apiIds
  31. }