woj-server/internal/service/user/service.go

42 lines
985 B
Go

package user
import (
"git.0x7f.app/WOJ/woj-server/internal/e"
"git.0x7f.app/WOJ/woj-server/internal/misc/log"
"git.0x7f.app/WOJ/woj-server/internal/model"
"git.0x7f.app/WOJ/woj-server/internal/repo/cache"
"git.0x7f.app/WOJ/woj-server/internal/repo/db"
"github.com/samber/do"
"go.uber.org/zap"
)
var _ Service = (*service)(nil)
type Service interface {
Create(data *CreateData) (*model.User, e.Status)
Login(data *LoginData) (*model.User, e.Status)
IncrVersion(uid uint) (int64, e.Status)
Profile(uid uint) (*model.User, e.Status)
ProfileOrCreate(data *CreateData) (*model.User, e.Status)
HealthCheck() error
}
func NewService(i *do.Injector) (Service, error) {
return &service{
log: do.MustInvoke[log.Service](i).GetLogger("user"),
db: do.MustInvoke[db.Service](i),
cache: do.MustInvoke[cache.Service](i),
}, nil
}
type service struct {
log *zap.Logger
db db.Service
cache cache.Service
}
func (s *service) HealthCheck() error {
return nil
}