123456789101112131415161718192021222324252627282930313233343536 |
- package dbModel
- import (
- "github.com/jinzhu/gorm"
- "main/init/qmsql"
- )
- type ApiAuthority struct {
- gorm.Model
- AuthorityId string
- Authority Authority `gorm:"ForeignKey:AuthorityId;AssociationForeignKey:AuthorityId"` //其实没有关联的必要
- ApiId uint
- Api Api
- }
- //创建角色api关联关系
- func (a *ApiAuthority) SetAuthAndApi(authId string, apisid []uint) (err error) {
- err = qmsql.DEFAULTDB.Where("authority_id = ?", authId).Unscoped().Delete(&ApiAuthority{}).Error
- for _, v := range apisid {
- err = qmsql.DEFAULTDB.Create(&ApiAuthority{AuthorityId: authId, ApiId: v}).Error
- if err != nil {
- return err
- }
- }
- return nil
- }
- // 获取角色api关联关系
- func (a *ApiAuthority) GetAuthAndApi(authId string) (err error,apiIds []uint) {
- var apis []ApiAuthority
- err = qmsql.DEFAULTDB.Where("authority_id = ?", authId).Find(&apis).Error
- for _, v := range apis {
- apiIds = append(apiIds,v.ApiId)
- }
- return nil,apiIds
- }
|