Redmage/api/events/image_download_subreddit.go

55 lines
1.4 KiB
Go
Raw Permalink Normal View History

2024-06-10 14:52:53 +07:00
package events
import (
"context"
"io"
"time"
"github.com/tigorlazuardi/redmage/models"
"github.com/tigorlazuardi/redmage/views/components"
)
type ImageDownloadSubreddit struct {
ImageDownload
}
func (im ImageDownloadSubreddit) Event() string {
return string(im.EventKind) + "." + im.Subreddit
}
type ImageDownloadSubredditCard struct {
ImageDownload
}
func (im ImageDownloadSubredditCard) Event() string {
return string(im.EventKind) + "." + im.Subreddit + ".card"
}
func (im ImageDownloadSubredditCard) Render(ctx context.Context, w io.Writer) error {
if im.EventKind == ImageDownloadEnd {
now := time.Now().Unix()
data := &models.Image{
Subreddit: im.Subreddit,
Device: im.Device,
PostTitle: im.PostTitle,
PostName: im.PostName,
PostURL: im.PostURL,
PostCreated: im.PostCreated,
PostAuthor: im.PostAuthor,
PostAuthorURL: im.PostAuthor,
ImageRelativePath: im.ImageRelativePath,
ImageOriginalURL: im.ImageOriginalURL,
ImageHeight: im.ImageHeight,
ImageWidth: im.ImageWidth,
ImageSize: im.ImageSize,
ThumbnailRelativePath: im.ThumbnailRelativePath,
NSFW: im.NSFW,
CreatedAt: now,
UpdatedAt: now,
}
return components.ImageCard(data, 0).Render(ctx, w)
} else {
return im.ImageDownload.Render(ctx, w)
}
}