package db import ( "context" "time" "lmika.dev/lmika/weiro/models" "lmika.dev/lmika/weiro/providers/db/gen/sqlgen" ) func (db *Provider) SelectPostsOfSite(ctx context.Context, siteID int64) ([]*models.Post, error) { rows, err := db.queries.SelectPostsOfSite(ctx, siteID) if err != nil { return nil, err } posts := make([]*models.Post, len(rows)) for i, row := range rows { posts[i] = &models.Post{ ID: row.ID, SiteID: row.SiteID, GUID: row.Guid, Title: row.Title, Body: row.Body, Slug: row.Slug, CreatedAt: time.Unix(row.CreatedAt, 0).UTC(), PublishedAt: time.Unix(row.PublishedAt, 0).UTC(), } } return posts, nil } func (db *Provider) SavePost(ctx context.Context, post *models.Post) error { if post.ID == 0 { newID, err := db.queries.InsertPost(ctx, sqlgen.InsertPostParams{ SiteID: post.SiteID, Guid: post.GUID, Title: post.Title, Body: post.Body, Slug: post.Slug, CreatedAt: post.CreatedAt.Unix(), PublishedAt: post.PublishedAt.Unix(), }) if err != nil { return err } post.ID = newID return nil } // No update query defined in sqlgen yet return nil }