Files
InsightReply/server/internal/service/user_service.go
zs 8cf6cb944b
Some checks failed
Extension Build & Release / build (push) Failing after 1m5s
Backend Deploy (Go + Docker) / deploy (push) Failing after 1m40s
Web Console Deploy (Vue 3 + Vite) / deploy (push) Has been cancelled
feat: 部署初版测试
2026-03-02 21:25:21 +08:00

49 lines
1.0 KiB
Go

package service
import (
"github.com/zs/InsightReply/internal/model"
"github.com/zs/InsightReply/internal/repository"
)
type UserService struct {
repo *repository.UserRepository
}
func NewUserService(repo *repository.UserRepository) *UserService {
return &UserService{repo: repo}
}
func (s *UserService) Register(email string, identity string) (*model.User, error) {
user := &model.User{
Email: email,
IdentityLabel: identity,
}
err := s.repo.Create(user)
return user, err
}
func (s *UserService) GetUser(email string) (*model.User, error) {
return s.repo.GetByEmail(email)
}
func (s *UserService) GetUserByID(id string) (*model.User, error) {
return s.repo.GetByID(id)
}
func (s *UserService) UpdatePreferences(id string, identity string, language string) (*model.User, error) {
user, err := s.repo.GetByID(id)
if err != nil {
return nil, err
}
if identity != "" {
user.IdentityLabel = identity
}
if language != "" {
user.LanguagePreference = language
}
err = s.repo.Update(user)
return user, err
}