Documentation
¶
Index ¶
Constants ¶
const ( UserTwitterSource = "user" SearchTwitterSource = "search" )
Variables ¶
This section is empty.
Functions ¶
func GetAllModels ¶
func GetAllModels() []interface{}
GetAllModels returns all GORM models, that is, a slice of pointers to zero-valued structs.
Types ¶
type Feed ¶
type Feed struct {
Model
DeletedAt gorm.DeletedAt `gorm:"index"`
// URL is the unique URL of the feed.
URL string `gorm:"not null;uniqueIndex"`
// LastRetrievedAt is the date and time when this feed was last visited
// to successfully retrieve and process its content.
LastRetrievedAt sql.NullTime `gorm:"index"`
FailuresCount int `gorm:"not null"`
// FeedItems is the has-many relation with FeedItem models.
FeedItems []FeedItem `gorm:"constraint:OnDelete:CASCADE"`
}
Feed is a model representing an RSS or Atom feed.
type FeedItem ¶
type FeedItem struct {
Model
// FeedID is the association to the Feed this item belongs to.
FeedID uint `gorm:"not null"`
// WebResourceID allows the has-one relation with a WebResource.
WebResourceID uint `gorm:"not null;uniqueIndex;constraint:OnDelete:CASCADE"`
Title string
Description sql.NullString
Content sql.NullString
Language string `gorm:"not null"`
PublishedAt sql.NullTime
}
FeedItem extends a WebResource which is the item of a Feed.
type GDELTEvent ¶
type GDELTEvent struct {
Model
// WebResourceID allows the has-one relation with a WebResource.
WebResourceID uint `gorm:"not null;uniqueIndex;constraint:OnDelete:CASCADE"`
// GlobalEventID is the globally unique identifier in GDELT master dataset.
GlobalEventID uint `gorm:"not null;uniqueIndex"`
// DateAdded is the date the event was added to the master database.
DateAdded time.Time `gorm:"not null"`
// LocationType specifies the geographic resolution of the match type.
LocationType sql.NullString
// LocationName is the full human-readable name of the matched location.
LocationName sql.NullString
// CountryCode is the ISO 3166-1 alpha2 country code for the location.
CountryCode sql.NullString
// Coordinates provides the centroid Longitude (X) and Latitude (Y) of the landmark for mapping.
Coordinates pgtype.Point `gorm:"type:point"`
// EventCategories provides one or more CAMEO event codes at different
// levels.
EventCategories pgtype.VarcharArray `gorm:"type:varchar(4)[];not null"`
}
GDELTEvent represents a GDELT Event, and it extends a WebResource which contains the URL of the first recognized news report for this event.
type Model ¶
type Model struct {
ID uint `gorm:"primaryKey"`
CreatedAt time.Time `gorm:"not null"`
UpdatedAt time.Time `gorm:"not null"`
}
Model is the basic struct embedded into all GORM models.
type Payload ¶
type Payload map[string]interface{}
Payload is a generic payload for a WebArticle.
func (*Payload) Get ¶
Get gets a value from the given key. If multiple keys are given, the method attempts to match a series of nested maps. If a value is not found, or the search in nested maps fails, the returned value is nil, and the flag is false.
func (*Payload) GetString ¶
GetString gets the value with Get and enforces it to be a string. If no value is found, or the value is not a string, the method returns an empty string and a false flag.
type Tweet ¶ added in v0.3.0
type Tweet struct {
Model
// TwitterSourceID is the association to the TwitterSource this item belongs to.
TwitterSourceID uint `gorm:"not null"`
// WebResourceID allows the has-one relation with a WebResource.
WebResourceID uint `gorm:"not null;uniqueIndex;constraint:OnDelete:CASCADE"`
UpstreamID string `gorm:"not null;uniqueIndex"`
Text string `gorm:"not null"`
PublishedAt time.Time `gorm:"not null"`
Username string `gorm:"not null;index"`
UserID string `gorm:"not null;index"`
}
Tweet extends a WebResource which is the item of a TwitterSource.
type TwitterSource ¶ added in v0.3.0
type TwitterSource struct {
Model
// Type is either "user" or "search".
Type string `gorm:"not null;index:type_value,unique"`
// Value is a username or a search term, depending on the Type.
Value string `gorm:"not null;index:type_value,unique"`
// LastRetrievedAt is the date and time when this Twitter source was last
// visited to successfully retrieve and process its content.
LastRetrievedAt sql.NullTime `gorm:"index"`
// Tweet is the has-many relation with Tweet models.
Tweets []Tweet `gorm:"constraint:OnDelete:CASCADE"`
}
TwitterSource is a model representing a Twitter user or search phrase.
func FindTwitterSource ¶ added in v0.3.0
func FindTwitterSource(db *gorm.DB, id uint) (*TwitterSource, error)
FindTwitterSource returns a TwitterSource by its id. It returns nil if the item is not found.
type WebArticle ¶
type WebArticle struct {
Model
// WebResourceID allows the has-one relation with a WebResource.
WebResourceID uint `gorm:"not null;uniqueIndex;constraint:OnDelete:CASCADE"`
Title string `gorm:"not null;index"`
TitleUnmodified string
CleanedText string
CanonicalLink string
TopImage string
FinalURL string
ScrapedPublishDate sql.NullTime
Language string `gorm:"not null"`
PublishDate time.Time `gorm:"not null"`
RelatedToWebArticleID *uint
RelatedToWebArticle *WebArticle
RelatedScore sql.NullFloat64
Payload Payload `gorm:"type:JSONB"`
Vector pgtype.Bytea `gorm:"type:bytea"`
}
WebArticle represents the scraped content of a WebResource.
func FindWebArticle ¶
func FindWebArticle(tx *gorm.DB, id uint) (*WebArticle, error)
FindWebArticle returns the web article by its id. It returns nil if the item is not found.
type WebResource ¶
type WebResource struct {
Model
// URL is the unique URL of the web resource.
URL string `gorm:"not null;uniqueIndex"`
// WebArticle represents the scraped content of this WebResource.
WebArticle WebArticle
// FeedItem allows the has-one relation with a models.FeedItem.
FeedItem FeedItem
// GDELTEvent allows the has-one relation with a models.GDELTEvent.
GDELTEvent GDELTEvent
// Tweet allows the has-one relation with a models.Tweet.
Tweet Tweet
}
WebResource represents a web resource, usually a web page, accessible via a URL.
func FindWebResourceByURL ¶
func FindWebResourceByURL(tx *gorm.DB, url string) (*WebResource, error)
FindWebResourceByURL returns the web resource associated to a url. It returns nil if the item is not found.