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) }