Skip to content

Commit

Permalink
feed: update querying model name to better reflect its content
Browse files Browse the repository at this point in the history
Signed-off-by: VirtualTam <[email protected]>
  • Loading branch information
virtualtam committed Dec 7, 2024
1 parent 0dbef78 commit aecfaa7
Show file tree
Hide file tree
Showing 9 changed files with 55 additions and 53 deletions.
4 changes: 2 additions & 2 deletions cmd/sparklemuffin/http/www/controller/feed.go
Original file line number Diff line number Diff line change
Expand Up @@ -575,7 +575,7 @@ func (fc *feedHandlerContext) handleFeedSubscriptionListView() func(w http.Respo
func (fc *feedHandlerContext) handleFeedSubscriptionDeleteView() func(w http.ResponseWriter, r *http.Request) {
type feedSubscriptionTitleFormContent struct {
CSRFToken string
SubscriptionTitle feedquerying.SubscriptionTitle
SubscriptionTitle feedquerying.Subscription
}

return func(w http.ResponseWriter, r *http.Request) {
Expand Down Expand Up @@ -642,7 +642,7 @@ func (fc *feedHandlerContext) handleFeedSubscriptionDelete() func(w http.Respons
func (fc *feedHandlerContext) handleFeedSubscriptionEditView() func(w http.ResponseWriter, r *http.Request) {
type feedSubscriptionEditFormContent struct {
CSRFToken string
SubscriptionTitle feedquerying.SubscriptionTitle
SubscriptionTitle feedquerying.Subscription
Categories []feed.Category
}

Expand Down
2 changes: 1 addition & 1 deletion docs/src/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/) and this
project adheres to [Semantic Versioning](https://semver.org/).


## [v0.3.0](https://github.com/virtualtam/sparklemuffin/releases/tag/v0.3.0) - UNRELEASED
## [v0.3.0](https://github.com/virtualtam/sparklemuffin/releases/tag/v0.3.0) - 2024-12-07

### Added
#### Database
Expand Down
21 changes: 11 additions & 10 deletions internal/repository/postgresql/feed_models.go
Original file line number Diff line number Diff line change
Expand Up @@ -204,20 +204,21 @@ func (s *DBSubscription) asSubscription() feed.Subscription {
}
}

type DBSubscriptionTitle struct {
type DBQueryingSubscription struct {
SubscriptionUUID string `db:"uuid"`
SubscriptionAlias string `db:"alias"`
CategoryUUID string `db:"category_uuid"`
FeedTitle string `db:"title"`
FeedDescription string `db:"description"`

FeedTitle string `db:"title"`
FeedDescription string `db:"description"`
}

func (st *DBSubscriptionTitle) asSubscriptionTitle() feedquerying.SubscriptionTitle {
return feedquerying.SubscriptionTitle{
SubscriptionUUID: st.SubscriptionUUID,
SubscriptionAlias: st.SubscriptionAlias,
CategoryUUID: st.CategoryUUID,
FeedTitle: st.FeedTitle,
FeedDescription: st.FeedDescription,
func (s *DBQueryingSubscription) asQueryingSubscription() feedquerying.Subscription {
return feedquerying.Subscription{
UUID: s.SubscriptionUUID,
Alias: s.SubscriptionAlias,
CategoryUUID: s.CategoryUUID,
FeedTitle: s.FeedTitle,
FeedDescription: s.FeedDescription,
}
}
20 changes: 10 additions & 10 deletions internal/repository/postgresql/feed_repository.go
Original file line number Diff line number Diff line change
Expand Up @@ -922,7 +922,7 @@ func (r *Repository) FeedSubscriptionUpdate(s feed.Subscription) error {
return r.queryTx("feeds", "FeedSubscriptionUpdate", query, args)
}

func (r *Repository) FeedSubscriptionTitleByUUID(userUUID string, subscriptionUUID string) (feedquerying.SubscriptionTitle, error) {
func (r *Repository) FeedQueryingSubscriptionByUUID(userUUID string, subscriptionUUID string) (feedquerying.Subscription, error) {
query := `
SELECT fs.uuid, fs.alias, fs.category_uuid, f.title, f.description
FROM feed_subscriptions fs
Expand All @@ -933,29 +933,29 @@ func (r *Repository) FeedSubscriptionTitleByUUID(userUUID string, subscriptionUU
return r.feedSubscriptionTitleGetQuery(query, userUUID, subscriptionUUID)
}

func (r *Repository) FeedSubscriptionTitlesByCategory(userUUID string) ([]feedquerying.SubscriptionsTitlesByCategory, error) {
func (r *Repository) FeedQueryingSubscriptionsByCategory(userUUID string) ([]feedquerying.SubscriptionsByCategory, error) {
dbCategories, err := r.feedGetCategories(userUUID)
if err != nil {
return []feedquerying.SubscriptionsTitlesByCategory{}, err
return []feedquerying.SubscriptionsByCategory{}, err
}

categories := make([]feedquerying.SubscriptionsTitlesByCategory, len(dbCategories))
categories := make([]feedquerying.SubscriptionsByCategory, len(dbCategories))

for i, dbCategory := range dbCategories {
dbSubscriptionTitles, err := r.feedGetSubscriptionTitlesByCategory(userUUID, dbCategory.UUID)
if err != nil {
return []feedquerying.SubscriptionsTitlesByCategory{}, err
return []feedquerying.SubscriptionsByCategory{}, err
}

subscriptionTitles := make([]feedquerying.SubscriptionTitle, len(dbSubscriptionTitles))
subscriptionTitles := make([]feedquerying.Subscription, len(dbSubscriptionTitles))

for j, dbSubscriptionTitle := range dbSubscriptionTitles {
subscriptionTitles[j] = dbSubscriptionTitle.asSubscriptionTitle()
subscriptionTitles[j] = dbSubscriptionTitle.asQueryingSubscription()
}

category := feedquerying.SubscriptionsTitlesByCategory{
Category: dbCategory.asCategory(),
SubscriptionTitles: subscriptionTitles,
category := feedquerying.SubscriptionsByCategory{
Category: dbCategory.asCategory(),
Subscriptions: subscriptionTitles,
}

categories[i] = category
Expand Down
20 changes: 10 additions & 10 deletions internal/repository/postgresql/feed_repository_helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -263,27 +263,27 @@ func (r *Repository) feedSubscriptionGetQuery(query string, queryParams ...any)
return dbSubscription.asSubscription(), nil
}

func (r *Repository) feedSubscriptionTitleGetQuery(query string, queryParams ...any) (feedquerying.SubscriptionTitle, error) {
func (r *Repository) feedSubscriptionTitleGetQuery(query string, queryParams ...any) (feedquerying.Subscription, error) {
rows, err := r.pool.Query(context.Background(), query, queryParams...)
if err != nil {
return feedquerying.SubscriptionTitle{}, err
return feedquerying.Subscription{}, err
}
defer rows.Close()

dbSubscriptionTitle := &DBSubscriptionTitle{}
dbSubscriptionTitle := &DBQueryingSubscription{}
err = pgxscan.ScanOne(dbSubscriptionTitle, rows)

if errors.Is(err, pgx.ErrNoRows) {
return feedquerying.SubscriptionTitle{}, feed.ErrSubscriptionNotFound
return feedquerying.Subscription{}, feed.ErrSubscriptionNotFound
}
if err != nil {
return feedquerying.SubscriptionTitle{}, err
return feedquerying.Subscription{}, err
}

return dbSubscriptionTitle.asSubscriptionTitle(), nil
return dbSubscriptionTitle.asQueryingSubscription(), nil
}

func (r *Repository) feedGetSubscriptionTitlesByCategory(userUUID string, categoryUUID string) ([]DBSubscriptionTitle, error) {
func (r *Repository) feedGetSubscriptionTitlesByCategory(userUUID string, categoryUUID string) ([]DBQueryingSubscription, error) {
query := `
SELECT
fs.uuid,
Expand All @@ -303,14 +303,14 @@ ORDER BY

rows, err := r.pool.Query(context.Background(), query, userUUID, categoryUUID)
if err != nil {
return []DBSubscriptionTitle{}, err
return []DBQueryingSubscription{}, err
}
defer rows.Close()

dbSubscriptionTitles := []DBSubscriptionTitle{}
dbSubscriptionTitles := []DBQueryingSubscription{}

if err := pgxscan.ScanAll(&dbSubscriptionTitles, rows); err != nil {
return []DBSubscriptionTitle{}, err
return []DBQueryingSubscription{}, err
}

return dbSubscriptionTitles, nil
Expand Down
8 changes: 4 additions & 4 deletions pkg/feed/querying/repository.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,9 @@ type Repository interface {
// FeedSubscriptionEntryGetNBySubscriptionAndQuery returns at most n SubscriptionEntries matching a search query, starting at a given offset.
FeedSubscriptionEntryGetNBySubscriptionAndQuery(userUUID string, subscriptionUUID string, query string, entriesPerPage uint, offset uint) ([]SubscribedFeedEntry, error)

// FeedSubscriptionTitleByUUID returns feed subscription metadata for a given user and subscription.
FeedSubscriptionTitleByUUID(userUUID string, subscriptionUUID string) (SubscriptionTitle, error)
// FeedQueryingSubscriptionByUUID returns feed subscription metadata for a given user and subscription.
FeedQueryingSubscriptionByUUID(userUUID string, subscriptionUUID string) (Subscription, error)

// FeedSubscriptionTitlesByCategory returns a list of feed Subscription titles, sorted by Category.
FeedSubscriptionTitlesByCategory(userUUID string) ([]SubscriptionsTitlesByCategory, error)
// FeedQueryingSubscriptionsByCategory returns a list of feed Subscription titles, sorted by Category.
FeedQueryingSubscriptionsByCategory(userUUID string) ([]SubscriptionsByCategory, error)
}
8 changes: 4 additions & 4 deletions pkg/feed/querying/repository_fake.go
Original file line number Diff line number Diff line change
Expand Up @@ -327,10 +327,10 @@ func (r *fakeRepository) FeedSubscriptionEntryGetNBySubscriptionAndQuery(userUUI
return []SubscribedFeedEntry{}, errors.New("not implemented")
}

func (r *fakeRepository) FeedSubscriptionTitleByUUID(userUUID string, subscriptionUUID string) (SubscriptionTitle, error) {
return SubscriptionTitle{}, errors.New("not implemented")
func (r *fakeRepository) FeedQueryingSubscriptionByUUID(userUUID string, subscriptionUUID string) (Subscription, error) {
return Subscription{}, errors.New("not implemented")
}

func (r *fakeRepository) FeedSubscriptionTitlesByCategory(userUUID string) ([]SubscriptionsTitlesByCategory, error) {
return []SubscriptionsTitlesByCategory{}, errors.New("not implemented")
func (r *fakeRepository) FeedQueryingSubscriptionsByCategory(userUUID string) ([]SubscriptionsByCategory, error) {
return []SubscriptionsByCategory{}, errors.New("not implemented")
}
8 changes: 4 additions & 4 deletions pkg/feed/querying/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -201,10 +201,10 @@ func (s *Service) FeedsBySubscriptionAndQueryAndPage(userUUID string, subscripti
return s.feedsByQueryAndPage(userUUID, query, number, getCountFn, subscriptionEntryGetNFn, feed.Title, feed.Description)
}

func (s *Service) SubscriptionTitleByUUID(userUUID string, subscriptionUUID string) (SubscriptionTitle, error) {
return s.r.FeedSubscriptionTitleByUUID(userUUID, subscriptionUUID)
func (s *Service) SubscriptionTitleByUUID(userUUID string, subscriptionUUID string) (Subscription, error) {
return s.r.FeedQueryingSubscriptionByUUID(userUUID, subscriptionUUID)
}

func (s *Service) SubscriptionTitlesByCategory(userUUID string) ([]SubscriptionsTitlesByCategory, error) {
return s.r.FeedSubscriptionTitlesByCategory(userUUID)
func (s *Service) SubscriptionTitlesByCategory(userUUID string) ([]SubscriptionsByCategory, error) {
return s.r.FeedQueryingSubscriptionsByCategory(userUUID)
}
17 changes: 9 additions & 8 deletions pkg/feed/querying/subscription.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,17 @@ type SubscribedFeedEntry struct {
Read bool
}

type SubscriptionTitle struct {
SubscriptionUUID string
SubscriptionAlias string
CategoryUUID string
FeedTitle string
FeedDescription string
type Subscription struct {
UUID string
CategoryUUID string
Alias string

FeedTitle string
FeedDescription string
}

type SubscriptionsTitlesByCategory struct {
type SubscriptionsByCategory struct {
feed.Category

SubscriptionTitles []SubscriptionTitle
Subscriptions []Subscription
}

0 comments on commit aecfaa7

Please sign in to comment.