18 lines
573 B
Go
18 lines
573 B
Go
package port
|
|
|
|
import (
|
|
"context"
|
|
|
|
"git.threesix.ai/jordan/slate-v3-1770514618/services/preferences-api/internal/domain"
|
|
)
|
|
|
|
// PreferencesRepository defines the interface for preferences persistence operations.
|
|
type PreferencesRepository interface {
|
|
// Get returns preferences for a user.
|
|
// Returns domain.ErrPreferencesNotFound if not found.
|
|
Get(ctx context.Context, userID domain.UserID) (*domain.Preferences, error)
|
|
|
|
// Upsert stores preferences for a user (insert or replace).
|
|
Upsert(ctx context.Context, userID domain.UserID, prefs *domain.Preferences) error
|
|
}
|