- Refactored multiple service and repository methods to accept context as a parameter, enhancing consistency and enabling better control over request lifecycles. - Updated handlers to utilize context in method calls, improving error handling and performance. - Cleaned up Dockerfile by removing unnecessary whitespace.
32 lines
856 B
Go
32 lines
856 B
Go
package repository
|
|
|
|
import (
|
|
"carrotskin/internal/model"
|
|
"context"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
// yggdrasilRepository YggdrasilRepository的实现
|
|
type yggdrasilRepository struct {
|
|
db *gorm.DB
|
|
}
|
|
|
|
// NewYggdrasilRepository 创建YggdrasilRepository实例
|
|
func NewYggdrasilRepository(db *gorm.DB) YggdrasilRepository {
|
|
return &yggdrasilRepository{db: db}
|
|
}
|
|
|
|
func (r *yggdrasilRepository) GetPasswordByID(ctx context.Context, id int64) (string, error) {
|
|
var yggdrasil model.Yggdrasil
|
|
err := r.db.WithContext(ctx).Select("password").Where("id = ?", id).First(&yggdrasil).Error
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
return yggdrasil.Password, nil
|
|
}
|
|
|
|
func (r *yggdrasilRepository) ResetPassword(ctx context.Context, id int64, password string) error {
|
|
return r.db.WithContext(ctx).Model(&model.Yggdrasil{}).Where("id = ?", id).Update("password", password).Error
|
|
}
|