فهرست منبع

Populate releases on list by project ID and append release to tag

jnfrati 4 سال پیش
والد
کامیت
a1e01c573d
1فایلهای تغییر یافته به همراه4 افزوده شده و 1 حذف شده
  1. 4 1
      internal/repository/gorm/tag.go

+ 4 - 1
internal/repository/gorm/tag.go

@@ -47,7 +47,9 @@ func (repo *TagRepository) ReadTagByNameAndProjectId(tagName string, projectId u
 func (repo *TagRepository) ListTagsByProjectId(projectId uint) ([]*models.Tag, error) {
 	tags := make([]*models.Tag, 0)
 
-	err := repo.db.Model(&models.Tag{}).Where("project_id = ?", projectId).Find(&tags).Error
+	err := repo.db.Model(&models.Tag{}).Where("project_id = ?", projectId).Preload("Releases", func(tx *gorm.DB) *gorm.DB {
+		return tx.Select("Name")
+	}).Find(&tags).Error
 
 	if err != nil {
 		return nil, err
@@ -80,6 +82,7 @@ func (repo *TagRepository) DeleteTag(id uint) error {
 
 func (repo *TagRepository) AddTagToRelease(release *models.Release, tag *models.Tag) error {
 	err := repo.db.Model(&release).Association("Tags").Append(tag)
+	_ = repo.db.Model(&tag).Association("Releases").Append(release)
 
 	if err != nil {
 		return err