api_authority.go 679 B

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