Files
drive/apps/backend/internal/user/service.go

33 lines
524 B
Go
Raw Normal View History

2025-11-26 01:09:42 +00:00
package user
import (
"context"
"database/sql"
"errors"
"github.com/google/uuid"
"github.com/uptrace/bun"
)
type Service struct {
db *bun.DB
}
func NewService(db *bun.DB) *Service {
return &Service{
db: db,
}
}
func (s *Service) UserByID(ctx context.Context, id uuid.UUID) (*User, error) {
var user User
err := s.db.NewSelect().Model(&user).Where("id = ?", id).Scan(ctx)
if err != nil {
if errors.Is(err, sql.ErrNoRows) {
return nil, newNotFoundError(id)
}
return nil, err
}
return &user, nil
}