Documentation
¶
Index ¶
- func AddSubscriptions(ctx context.Context, subscriptions ...*models.Subscription) error
- func BuildItemQueries(user *models.User, view models.View, subscriptions models.Subscriptions) []query.Option
- func BulkImportFeeds(ctx context.Context, requests ...models.FeedSubscriptionRequest) []models.FeedSubscriptionResult
- func CreateSearchSubscriptions(ctx context.Context, requests ...*models.SearchSubscriptionRequest) error
- func FilterUserSubscriptions(ctx context.Context, user *models.User, request *models.ListRequest) (models.Subscriptions, models.Pagination, error)
- func GetEmailSubscription(ctx context.Context, user *models.User, from *mail.Address) (*models.Subscription, error)
- func GetUser(ctx context.Context, id models.UserID) (*models.User, error)
- func GetUserByEmail(ctx context.Context, email string) (*models.User, error)
- func GetUserByExternalID(ctx context.Context, externalID string) (*models.User, error)
- func GetUserBySubscriptionEmail(ctx context.Context, emails ...string) (*models.User, error)
- func GetUserSubscriptions(ctx context.Context, user *models.User, options ...GetSubscriptionOption) (models.Subscriptions, error)
- func ListFiltersFromCtx(ctx context.Context) models.ListFilters
- func ListFiltersToCtx(ctx context.Context, filters models.ListFilters) context.Context
- func RemoveSubscriptions(ctx context.Context, ids ...models.SubscriptionID) error
- func UpdateUser(ctx context.Context, user *models.User, updates map[string]any) error
- type GetSubscriptionOption
- func Favorites(value bool) GetSubscriptionOption
- func WithDynamicInfo(value bool) GetSubscriptionOption
- func WithEmailSubscriptionEmails(emails ...string) GetSubscriptionOption
- func WithSubscriptionCategories(categories ...models.Category) GetSubscriptionOption
- func WithSubscriptionIDs(ids ...models.SubscriptionID) GetSubscriptionOption
- type GetSubscriptionOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddSubscriptions ¶
func AddSubscriptions(ctx context.Context, subscriptions ...*models.Subscription) error
AddSubscriptions adds the given subscriptions to a user.
func BuildItemQueries ¶
func BuildItemQueries( user *models.User, view models.View, subscriptions models.Subscriptions, ) []query.Option
BuildItemQueries generates a slices of queries for the given subscriptions, based on the given filters.
func BulkImportFeeds ¶
func BulkImportFeeds(ctx context.Context, requests ...models.FeedSubscriptionRequest) []models.FeedSubscriptionResult
BulkImportFeeds handles processing any number of NewFeedSubscriptionRequest requests.
func CreateSearchSubscriptions ¶
func CreateSearchSubscriptions(ctx context.Context, requests ...*models.SearchSubscriptionRequest) error
CreateSearchSubscriptions will create new SearchSubscriptions for the user from the given requests.
func FilterUserSubscriptions ¶
func FilterUserSubscriptions( ctx context.Context, user *models.User, request *models.ListRequest, ) (models.Subscriptions, models.Pagination, error)
FilterUserSubscriptions returns subscriptions filtered by the given filters and paginated by the given pagination. Dynamic information for subscriptions will also be added.
func GetEmailSubscription ¶
func GetEmailSubscription(ctx context.Context, user *models.User, from *mail.Address) (*models.Subscription, error)
GetEmailSubscription retrieves an EmailSubscription for the given user ID and email sender.
func GetUserByEmail ¶
GetUserByEmail will retrieve a user by their email.
func GetUserByExternalID ¶
GetUserByExternalID will search for and return a user that matches the given external ID, if exists.
func GetUserBySubscriptionEmail ¶
GetUserBySubscriptionEmail will retrieve a user from their Foragd newsletter subscription email.
func GetUserSubscriptions ¶
func GetUserSubscriptions( ctx context.Context, user *models.User, options ...GetSubscriptionOption, ) (models.Subscriptions, error)
func ListFiltersFromCtx ¶
func ListFiltersFromCtx(ctx context.Context) models.ListFilters
ListFiltersFromCtx retrieves list filters from the context. If none are found, new list filters are returned.
func ListFiltersToCtx ¶
ListFiltersToCtx stores list filters in the context.
func RemoveSubscriptions ¶
func RemoveSubscriptions(ctx context.Context, ids ...models.SubscriptionID) error
RemoveSubscriptions removes subscriptions with the given ID from a user.
Types ¶
type GetSubscriptionOption ¶
type GetSubscriptionOption func(*GetSubscriptionOptions)
func Favorites ¶
func Favorites(value bool) GetSubscriptionOption
func WithDynamicInfo ¶
func WithDynamicInfo(value bool) GetSubscriptionOption
func WithEmailSubscriptionEmails ¶
func WithEmailSubscriptionEmails(emails ...string) GetSubscriptionOption
func WithSubscriptionCategories ¶
func WithSubscriptionCategories(categories ...models.Category) GetSubscriptionOption
func WithSubscriptionIDs ¶
func WithSubscriptionIDs(ids ...models.SubscriptionID) GetSubscriptionOption
type GetSubscriptionOptions ¶
type GetSubscriptionOptions struct {
OnlyFavorites bool
DynamicInfo bool
IDs []models.SubscriptionID
Categories []models.Category
EmailIDs []string
}
GetSubscriptionOptions holds the options for fetching a user's subscriptions.