28 lines
1.0 KiB
Go
28 lines
1.0 KiB
Go
package storage
|
|
|
|
import (
|
|
"context"
|
|
|
|
"git.coopgo.io/coopgo-platform/saved-search/data/types"
|
|
)
|
|
|
|
// Storage interface defines the methods for saved search storage
|
|
type Storage interface {
|
|
// CreateSavedSearch creates a new saved search
|
|
CreateSavedSearch(ctx context.Context, search types.SavedSearch) error
|
|
|
|
// GetSavedSearch retrieves a saved search by ID
|
|
GetSavedSearch(ctx context.Context, id string) (*types.SavedSearch, error)
|
|
|
|
// GetSavedSearchesByOwner retrieves all saved searches for a specific owner
|
|
GetSavedSearchesByOwner(ctx context.Context, ownerID string) ([]*types.SavedSearch, error)
|
|
|
|
// UpdateSavedSearch updates an existing saved search
|
|
UpdateSavedSearch(ctx context.Context, search types.SavedSearch) error
|
|
|
|
// DeleteSavedSearch deletes a saved search by ID
|
|
DeleteSavedSearch(ctx context.Context, id string) error
|
|
|
|
// ListSavedSearches retrieves paginated saved searches with optional filtering
|
|
ListSavedSearches(ctx context.Context, ownerID string, limit, offset int) ([]*types.SavedSearch, int64, error)
|
|
} |