feat: add dataset item images
This commit is contained in:
@@ -60,6 +60,7 @@ type ItemInput struct {
|
||||
Summary string
|
||||
Content string
|
||||
URL string
|
||||
ImageURL string
|
||||
PublishedAt *time.Time
|
||||
}
|
||||
|
||||
@@ -293,10 +294,15 @@ func (s *Service) CreateItem(userID uint, input ItemInput) (*models.SaDatasetIte
|
||||
if itemURL != "" && !validHTTPURL(itemURL) {
|
||||
return nil, ErrURLInvalid
|
||||
}
|
||||
imageURL := strings.TrimSpace(input.ImageURL)
|
||||
if imageURL != "" && !validHTTPURL(imageURL) {
|
||||
return nil, ErrURLInvalid
|
||||
}
|
||||
item := &models.SaDatasetItem{
|
||||
SourceID: source.ID, Title: title,
|
||||
Summary: strings.TrimSpace(input.Summary), Content: strings.TrimSpace(input.Content),
|
||||
URL: itemURL, Status: "unread", PublishedAt: utcOptionalTime(input.PublishedAt),
|
||||
URL: itemURL, ImageURL: imageURL, Status: "unread",
|
||||
PublishedAt: utcOptionalTime(input.PublishedAt),
|
||||
}
|
||||
return item, s.db.Create(item).Error
|
||||
}
|
||||
@@ -461,7 +467,8 @@ func storeFeedItems(tx *gorm.DB, source models.SaDatasetSource, items []FeedItem
|
||||
item := models.SaDatasetItem{
|
||||
SourceID: source.ID, ExternalID: &externalID,
|
||||
Title: input.Title, Summary: input.Summary, Content: input.Content,
|
||||
URL: input.URL, Status: "unread", PublishedAt: input.PublishedAt,
|
||||
URL: input.URL, ImageURL: input.ImageURL,
|
||||
Status: "unread", PublishedAt: input.PublishedAt,
|
||||
}
|
||||
result := tx.Clauses(clause.OnConflict{
|
||||
Columns: []clause.Column{{Name: "source_id"}, {Name: "external_id"}},
|
||||
|
||||
Reference in New Issue
Block a user