modelfeed

package
v0.2.11 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 25, 2024 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FromPBInternalID

func FromPBInternalID(id *librarian.InternalID) model.InternalID

func FromPBTime

func FromPBTime(t *timestamppb.Timestamp) *time.Time

func ToPBFeed added in v0.2.11

func ToPBFeed(source *Feed) *v1.Feed

func ToPBFeedEnclosure added in v0.2.11

func ToPBFeedEnclosure(source *Enclosure) *v1.FeedEnclosure

func ToPBFeedImage added in v0.2.11

func ToPBFeedImage(source *Image) *v1.FeedImage

func ToPBFeedInternalID added in v0.2.11

func ToPBFeedInternalID(source Feed) v1.InternalID

func ToPBFeedItem added in v0.2.11

func ToPBFeedItem(source *Item) *v1.FeedItem

func ToPBTime

func ToPBTime(t *time.Time) *timestamppb.Timestamp

Types

type Converter

type Converter interface {
	// goverter:map . Id
	ToPBFeed(*Feed) *librarian.Feed
	// goverter:map ID Id
	ToPBFeedInternalID(Feed) librarian.InternalID
	// goverter:ignore Id
	// goverter:map UpdatedParsed | ToPBTime
	// goverter:map PublishedParsed | ToPBTime
	ToPBFeedItem(*Item) *librarian.FeedItem
	ToPBFeedImage(*Image) *librarian.FeedImage
	ToPBFeedEnclosure(*Enclosure) *librarian.FeedEnclosure

	// goverter:map Id ID
	// goverter:ignore FeedType
	// goverter:ignore FeedVersion
	FromPBFeed(*librarian.Feed) *Feed
	// goverter:map Id ID
	// goverter:map UpdatedParsed | FromPBTime
	// goverter:map PublishedParsed | FromPBTime
	// goverter:ignore DigestDescription
	// goverter:ignore DigestImages
	FromPBFeedItem(*librarian.FeedItem) *Item
	FromPBFeedItemList([]*librarian.FeedItem) []*Item
	FromPBFeedImage(*librarian.FeedImage) *Image
	FromPBFeedEnclosure(*librarian.FeedEnclosure) *Enclosure
}

goverter:converter goverter:output:format function goverter:output:file ./generated.go goverter:output:package github.com/tuihub/librarian/internal/model/modelfeed goverter:matchIgnoreCase goverter:ignoreUnexported goverter:extend FromPBInternalID

type Enclosure

type Enclosure struct {
	URL    string `json:"url,omitempty"`
	Length string `json:"length,omitempty"`
	Type   string `json:"type,omitempty"`
}

Enclosure is a file associated with a given Item.

func FromPBFeedEnclosure added in v0.2.11

func FromPBFeedEnclosure(source *v1.FeedEnclosure) *Enclosure

type Feed

type Feed struct {
	ID          model.InternalID `json:"internal_id,omitempty"`
	Title       string           `json:"title,omitempty"`
	Description string           `json:"description,omitempty"`
	Link        string           `json:"link,omitempty"`
	Authors     []*Person        `json:"authors,omitempty"`
	Language    string           `json:"language,omitempty"`
	Image       *Image           `json:"image,omitempty"`
	Items       []*Item          `json:"items"`
	FeedType    string           `json:"feedType"`
	FeedVersion string           `json:"feedVersion"`
}

func FromPBFeed added in v0.2.11

func FromPBFeed(source *v1.Feed) *Feed

func (Feed) Len

func (f Feed) Len() int

Len returns the length of Items.

func (Feed) Less

func (f Feed) Less(i, k int) bool

Less compares PublishedParsed of Items[i], Items[k] and returns true if Items[i] is less than Items[k].

func (Feed) Swap

func (f Feed) Swap(i, k int)

Swap swaps Items[i] and Items[k].

type Image

type Image struct {
	URL   string `json:"url,omitempty"`
	Title string `json:"title,omitempty"`
}

Image is an image that is the artwork for a given feed or item.

func FromPBFeedImage added in v0.2.11

func FromPBFeedImage(source *v1.FeedImage) *Image

type Item

type Item struct {
	ID                model.InternalID `json:"internal_id,omitempty"`
	Title             string           `json:"title,omitempty"`
	Description       string           `json:"description,omitempty"`
	Content           string           `json:"content,omitempty"`
	Link              string           `json:"link,omitempty"`
	Updated           string           `json:"updated,omitempty"`
	UpdatedParsed     *time.Time       `json:"updatedParsed,omitempty"`
	Published         string           `json:"published,omitempty"`
	PublishedParsed   *time.Time       `json:"publishedParsed,omitempty"`
	Authors           []*Person        `json:"authors,omitempty"`
	GUID              string           `json:"guid,omitempty"`
	Image             *Image           `json:"image,omitempty"`
	Enclosures        []*Enclosure     `json:"enclosures,omitempty"`
	PublishPlatform   string           `json:"publish_platform,omitempty"`
	ReadCount         int64            `json:"read_count,omitempty"`
	DigestDescription string           `json:"digest_description,omitempty"`
	DigestImages      []*Image         `json:"digest_images,omitempty"`
}

func FromPBFeedItem added in v0.2.11

func FromPBFeedItem(source *v1.FeedItem) *Item

func FromPBFeedItemList added in v0.2.11

func FromPBFeedItemList(source []*v1.FeedItem) []*Item

type Person

type Person struct {
	Name  string `json:"name,omitempty"`
	Email string `json:"email,omitempty"`
}

Person is an individual specified in a feed (e.g. an author).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL