17 lines
518 B
Go

package persistence
import (
"context"
"github.com/oklog/ulid/v2"
"github.com/timetracker/backend/internal/domain/entities"
)
type UserDatasource interface {
Get(ctx context.Context, id ulid.ULID) (*entities.User, error)
Create(ctx context.Context, user *entities.User, passwordHash string, salt string) error
Update(ctx context.Context, user *entities.User, passwordHash *string) error
Delete(ctx context.Context, id ulid.ULID) error
GetByEmail(ctx context.Context, email string) (*entities.User, error)
}