视频连线
This commit is contained in:
33
backend/go-service/app/auth/dao/oauth_account_dao.go
Normal file
33
backend/go-service/app/auth/dao/oauth_account_dao.go
Normal file
@@ -0,0 +1,33 @@
|
||||
package dao
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/echochat/backend/app/auth/model"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type OAuthAccountDAO struct {
|
||||
db *gorm.DB
|
||||
}
|
||||
|
||||
func NewOAuthAccountDAO(db *gorm.DB) *OAuthAccountDAO {
|
||||
return &OAuthAccountDAO{db: db}
|
||||
}
|
||||
|
||||
func (d *OAuthAccountDAO) FindByProviderOpenID(ctx context.Context, provider, openID string) (*model.OAuthAccount, error) {
|
||||
var account model.OAuthAccount
|
||||
err := d.db.WithContext(ctx).Where("provider = ? AND open_id = ?", provider, openID).First(&account).Error
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &account, nil
|
||||
}
|
||||
|
||||
func (d *OAuthAccountDAO) Create(ctx context.Context, account *model.OAuthAccount) error {
|
||||
return d.db.WithContext(ctx).Create(account).Error
|
||||
}
|
||||
|
||||
func (d *OAuthAccountDAO) Update(ctx context.Context, account *model.OAuthAccount) error {
|
||||
return d.db.WithContext(ctx).Save(account).Error
|
||||
}
|
||||
Reference in New Issue
Block a user