api_authority.go 650 B

1234567891011121314151617181920212223242526
  1. package dbModel
  2. import (
  3. "github.com/jinzhu/gorm"
  4. "main/init/qmsql"
  5. )
  6. type ApiAuthority struct {
  7. gorm.Model
  8. AuthorityId string
  9. Authority Authority `gorm:"ForeignKey:AuthorityId;AssociationForeignKey:AuthorityId"` //其实没有关联的必要
  10. ApiId uint
  11. Api Api
  12. }
  13. //创建角色api关联关系
  14. func (a *ApiAuthority) SetAuthAndApi(authId string, apis []Api) (err error) {
  15. err = qmsql.DEFAULTDB.Where("authority_id = ?", authId).Delete(&ApiAuthority{}).Error
  16. for _, v := range apis {
  17. err = qmsql.DEFAULTDB.Create(&ApiAuthority{AuthorityId: authId, ApiId: v.ID}).Error
  18. if err != nil {
  19. return err
  20. }
  21. }
  22. return nil
  23. }