Files
mayfly-go/server/internal/auth/application/oauth2.go

39 lines
956 B
Go
Raw Normal View History

2023-07-22 20:51:46 +08:00
package application
import (
"mayfly-go/internal/auth/domain/entity"
"mayfly-go/internal/auth/domain/repository"
"mayfly-go/pkg/biz"
"gorm.io/gorm"
)
type Oauth2 interface {
GetOAuthAccount(condition *entity.Oauth2Account, cols ...string) error
BindOAuthAccount(e *entity.Oauth2Account) error
}
func newAuthApp(oauthAccountRepo repository.Oauth2Account) Oauth2 {
return &oauth2AppImpl{
oauthAccountRepo: oauthAccountRepo,
}
}
type oauth2AppImpl struct {
oauthAccountRepo repository.Oauth2Account
}
func (a *oauth2AppImpl) GetOAuthAccount(condition *entity.Oauth2Account, cols ...string) error {
err := a.oauthAccountRepo.GetOAuthAccount(condition, cols...)
if err != nil {
// 排除其他报错,如表不存在等
biz.IsTrue(err == gorm.ErrRecordNotFound, "查询失败: %s", err.Error())
}
return err
}
func (a *oauth2AppImpl) BindOAuthAccount(e *entity.Oauth2Account) error {
return a.oauthAccountRepo.SaveOAuthAccount(e)
}