package models import ( "fmt" "code.gitea.io/gitea/modules/timeutil" ) // Issue represents an issue or pull request of repository. type Dataset struct { ID int64 `xorm:"pk autoincr"` Title string `xorm:"INDEX NOT NULL"` Status int32 `xorm:"INDEX"` Category string Description string `xorm:"TEXT"` DownloadTimes int64 License string Task string ReleaseID int64 `xorm:"INDEX"` UserID int64 `xorm:"INDEX"` CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"` UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"` Attachments []*Attachment `xorm:"-"` } func CreateDataset(dataset *Dataset) (err error) { if _, err = x.Insert(dataset); err != nil { return err } return nil } // AddReleaseAttachments adds a release attachments func AddDatasetAttachments(DatasetID int64, attachmentUUIDs []string) (err error) { // Check attachments attachments, err := GetAttachmentsByUUIDs(attachmentUUIDs) if err != nil { return fmt.Errorf("GetAttachmentsByUUIDs [uuids: %v]: %v", attachmentUUIDs, err) } for i := range attachments { attachments[i].DatasetID = DatasetID // No assign value could be 0, so ignore AllCols(). if _, err = x.ID(attachments[i].ID).Update(attachments[i]); err != nil { return fmt.Errorf("update attachment [%d]: %v", attachments[i].ID, err) } } return }