package port import ( "context" "git.threesix.ai/jordan/slack5-1770541397/services/preferences-api/internal/domain" ) // PreferencesRepository defines the interface for user preferences persistence. // Implementations may use databases or in-memory storage. type PreferencesRepository interface { // Get returns the preferences for a user. // Returns domain.ErrPreferencesNotFound if no preferences exist. Get(ctx context.Context, userID domain.UserID) (*domain.UserPreferences, error) // Upsert creates or replaces the preferences for a user. Upsert(ctx context.Context, prefs *domain.UserPreferences) error }