23 lines
1.1 KiB
Go
23 lines
1.1 KiB
Go
package entity
|
|
|
|
import (
|
|
"time"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
type CampaignDestinationRelations struct {
|
|
ID uint `json:"id" gorm:"primaryKey;type:int4;autoIncrement"`
|
|
CampaignID uint `json:"campaign_id" gorm:"type:int4"`
|
|
Campaign Campaigns `json:"campaign" gorm:"foreignKey:CampaignID;references:ID"`
|
|
DestinationID uint `json:"destination_id" gorm:"type:int4"`
|
|
Destination CampaignDestinations `json:"destination" gorm:"foreignKey:DestinationID;references:ID"`
|
|
ScheduledAt *time.Time `json:"scheduled_at" gorm:"type:timestamp"`
|
|
PublishStatus string `json:"publish_status" gorm:"type:varchar(20);default:'pending'"` // pending, success, failed
|
|
PublishResponse *string `json:"publish_response" gorm:"type:text"`
|
|
IsActive *bool `json:"is_active" gorm:"type:bool;default:true"`
|
|
CreatedAt time.Time `json:"created_at" gorm:"default:now()"`
|
|
UpdatedAt time.Time `json:"updated_at" gorm:"default:now()"`
|
|
DeletedAt gorm.DeletedAt `json:"deleted_at" gorm:"index"`
|
|
}
|