Răsfoiți Sursa

Initialized tags model

jnfrati 4 ani în urmă
părinte
comite
7263e9f654
2 a modificat fișierele cu 18 adăugiri și 0 ștergeri
  1. 1 0
      internal/models/release.go
  2. 17 0
      internal/models/tags.go

+ 1 - 0
internal/models/release.go

@@ -25,6 +25,7 @@ type Release struct {
 	EventContainer     uint
 	NotificationConfig uint
 	BuildConfig        uint
+	Tags               []Tag `json:"tags" gorm:"many2many:release_tags"`
 }
 
 func (r *Release) ToReleaseType() *types.PorterRelease {

+ 17 - 0
internal/models/tags.go

@@ -0,0 +1,17 @@
+package models
+
+import (
+	"gorm.io/gorm"
+)
+
+// Tag model used to group releases.
+
+// Tag type that extends gorm.Model
+type Tag struct {
+	gorm.Model
+
+	ProjectID uint       `json:"project_id" gorm:"primaryKey;autoIncrement:false"`
+	Name      string     `json:"name" gorm:"primaryKey"`
+	Color     string     `json:"color"`
+	Releases  []*Release `json:"releases" gorm:"many2many:release_tags"`
+}