feat: add PostsPerPage to Site model and DB provider

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Leon Mika 2026-03-22 14:28:50 +11:00
parent 9b36a35c1a
commit 9919f3444a
2 changed files with 24 additions and 20 deletions

View file

@ -27,9 +27,10 @@ type Site struct {
GUID string GUID string
Created time.Time Created time.Time
Title string Title string
Tagline string Tagline string
Timezone string Timezone string
PostsPerPage int
} }
type SitePublishTarget struct { type SitePublishTarget struct {

View file

@ -42,12 +42,13 @@ func (db *Provider) SelectSitesOwnedByUser(ctx context.Context, ownerID int64) (
func (db *Provider) SaveSite(ctx context.Context, site *models.Site) error { func (db *Provider) SaveSite(ctx context.Context, site *models.Site) error {
if site.ID == 0 { if site.ID == 0 {
newID, err := db.queries.InsertSite(ctx, sqlgen.InsertSiteParams{ newID, err := db.queries.InsertSite(ctx, sqlgen.InsertSiteParams{
OwnerID: site.OwnerID, OwnerID: site.OwnerID,
Guid: site.GUID, Guid: site.GUID,
Title: site.Title, Title: site.Title,
Tagline: site.Tagline, Tagline: site.Tagline,
Timezone: site.Timezone, Timezone: site.Timezone,
CreatedAt: timeToInt(site.Created), PostsPerPage: int64(site.PostsPerPage),
CreatedAt: timeToInt(site.Created),
}) })
if err != nil { if err != nil {
return err return err
@ -57,10 +58,11 @@ func (db *Provider) SaveSite(ctx context.Context, site *models.Site) error {
} }
return db.queries.UpdateSite(ctx, sqlgen.UpdateSiteParams{ return db.queries.UpdateSite(ctx, sqlgen.UpdateSiteParams{
Title: site.Title, Title: site.Title,
Tagline: site.Tagline, Tagline: site.Tagline,
Timezone: site.Timezone, Timezone: site.Timezone,
ID: site.ID, PostsPerPage: int64(site.PostsPerPage),
ID: site.ID,
}) })
} }
@ -101,12 +103,13 @@ func (db *Provider) SelectAllSitesWithOwners(ctx context.Context) ([]SiteWithOwn
func dbSiteToSite(row sqlgen.Site) models.Site { func dbSiteToSite(row sqlgen.Site) models.Site {
return models.Site{ return models.Site{
ID: row.ID, ID: row.ID,
OwnerID: row.OwnerID, OwnerID: row.OwnerID,
GUID: row.Guid, GUID: row.Guid,
Title: row.Title, Title: row.Title,
Timezone: row.Timezone, Timezone: row.Timezone,
Tagline: row.Tagline, Tagline: row.Tagline,
Created: time.Unix(row.CreatedAt, 0).UTC(), PostsPerPage: int(row.PostsPerPage),
Created: time.Unix(row.CreatedAt, 0).UTC(),
} }
} }