Added publishing of uploads to built site
This commit is contained in:
parent
48f39133d7
commit
d0cebe6564
13 changed files with 145 additions and 20 deletions
|
|
@ -2,6 +2,7 @@ package publisher
|
|||
|
||||
import (
|
||||
"context"
|
||||
"io"
|
||||
"log"
|
||||
"os"
|
||||
|
||||
|
|
@ -16,15 +17,18 @@ import (
|
|||
"lmika.dev/lmika/weiro/providers/db"
|
||||
"lmika.dev/lmika/weiro/providers/sitebuilder"
|
||||
"lmika.dev/lmika/weiro/providers/siteexporter"
|
||||
"lmika.dev/lmika/weiro/providers/uploadfiles"
|
||||
)
|
||||
|
||||
type Publisher struct {
|
||||
db *db.Provider
|
||||
up *uploadfiles.Provider
|
||||
}
|
||||
|
||||
func New(db *db.Provider) *Publisher {
|
||||
func New(db *db.Provider, up *uploadfiles.Provider) *Publisher {
|
||||
return &Publisher{
|
||||
db: db,
|
||||
up: up,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -40,6 +44,12 @@ func (p *Publisher) Publish(ctx context.Context, site models.Site) error {
|
|||
return err
|
||||
}
|
||||
|
||||
// Fetch all uploads of site
|
||||
uploads, err := p.db.SelectUploadsOfSite(ctx, site.ID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for _, target := range targets {
|
||||
if !target.Enabled {
|
||||
continue
|
||||
|
|
@ -49,6 +59,10 @@ func (p *Publisher) Publish(ctx context.Context, site models.Site) error {
|
|||
Site: site,
|
||||
Posts: posts,
|
||||
BaseURL: target.BaseURL,
|
||||
Uploads: uploads,
|
||||
OpenUpload: func(u models.Upload) (io.ReadCloser, error) {
|
||||
return p.up.OpenUpload(site, u)
|
||||
},
|
||||
}
|
||||
|
||||
if err := p.publishSite(ctx, pubSite, target); err != nil {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue