github.com/profzone/eden-framework@v1.0.10/internal/project/drone/trigger.go (about)

     1  package drone
     2  
     3  import "github.com/profzone/eden-framework/internal/project/drone/enums"
     4  
     5  type PipelineTriggerIncludeAndExcludeString struct {
     6  	Include []string `yaml:"include" json:"include"`
     7  	Exclude []string `yaml:"exclude" json:"exclude"`
     8  }
     9  type PipelineTriggerIncludeAndExcludeEvent struct {
    10  	Include []enums.DroneCiTriggerEvent `yaml:"include" json:"include"`
    11  	Exclude []enums.DroneCiTriggerEvent `yaml:"exclude" json:"exclude"`
    12  }
    13  
    14  type PipelineTrigger struct {
    15  	Branch     *PipelineTriggerIncludeAndExcludeString `yaml:"branch,omitempty" json:"branch,omitempty"`
    16  	Event      *PipelineTriggerIncludeAndExcludeEvent  `yaml:"event,omitempty" json:"event,omitempty"`
    17  	Reference  *PipelineTriggerIncludeAndExcludeString `yaml:"ref,omitempty" json:"ref,omitempty"`
    18  	Repository *PipelineTriggerIncludeAndExcludeString `yaml:"repo,omitempty" json:"repo,omitempty"`
    19  	Status     enums.DroneCiTriggerStatus              `yaml:"status,omitempty" json:"status,omitempty"`
    20  	Target     *PipelineTriggerIncludeAndExcludeString `yaml:"target,omitempty" json:"target,omitempty"`
    21  }
    22  
    23  func NewPipelineTrigger() *PipelineTrigger {
    24  	return new(PipelineTrigger)
    25  }
    26  
    27  func (t *PipelineTrigger) WithBranchInclude(name string) *PipelineTrigger {
    28  	if t.Branch == nil {
    29  		t.Branch = &PipelineTriggerIncludeAndExcludeString{}
    30  	}
    31  	t.Branch.Include = append(t.Branch.Include, name)
    32  	return t
    33  }
    34  
    35  func (t *PipelineTrigger) WithBranchExclude(name string) *PipelineTrigger {
    36  	if t.Branch == nil {
    37  		t.Branch = &PipelineTriggerIncludeAndExcludeString{}
    38  	}
    39  	t.Branch.Exclude = append(t.Branch.Exclude, name)
    40  	return t
    41  }
    42  
    43  func (t *PipelineTrigger) WithEventInclude(evt enums.DroneCiTriggerEvent) *PipelineTrigger {
    44  	if t.Event == nil {
    45  		t.Event = &PipelineTriggerIncludeAndExcludeEvent{}
    46  	}
    47  	t.Event.Include = append(t.Event.Include, evt)
    48  	return t
    49  }
    50  
    51  func (t *PipelineTrigger) WithEventExclude(evt enums.DroneCiTriggerEvent) *PipelineTrigger {
    52  	if t.Event == nil {
    53  		t.Event = &PipelineTriggerIncludeAndExcludeEvent{}
    54  	}
    55  	t.Event.Exclude = append(t.Event.Exclude, evt)
    56  	return t
    57  }
    58  
    59  func (t *PipelineTrigger) WithRefInclude(name string) *PipelineTrigger {
    60  	if t.Reference == nil {
    61  		t.Reference = &PipelineTriggerIncludeAndExcludeString{}
    62  	}
    63  	t.Reference.Include = append(t.Reference.Include, name)
    64  	return t
    65  }
    66  
    67  func (t *PipelineTrigger) WithRefExclude(name string) *PipelineTrigger {
    68  	if t.Reference == nil {
    69  		t.Reference = &PipelineTriggerIncludeAndExcludeString{}
    70  	}
    71  	t.Reference.Exclude = append(t.Reference.Exclude, name)
    72  	return t
    73  }
    74  
    75  func (t *PipelineTrigger) WithRepoInclude(name string) *PipelineTrigger {
    76  	if t.Repository == nil {
    77  		t.Repository = &PipelineTriggerIncludeAndExcludeString{}
    78  	}
    79  	t.Repository.Include = append(t.Repository.Include, name)
    80  	return t
    81  }
    82  
    83  func (t *PipelineTrigger) WithRepoExclude(name string) *PipelineTrigger {
    84  	if t.Repository == nil {
    85  		t.Repository = &PipelineTriggerIncludeAndExcludeString{}
    86  	}
    87  	t.Repository.Exclude = append(t.Repository.Exclude, name)
    88  	return t
    89  }
    90  
    91  func (t *PipelineTrigger) WithStatus(status enums.DroneCiTriggerStatus) *PipelineTrigger {
    92  	t.Status = status
    93  	return t
    94  }
    95  
    96  func (t *PipelineTrigger) WithTargetInclude(name string) *PipelineTrigger {
    97  	if t.Target == nil {
    98  		t.Target = &PipelineTriggerIncludeAndExcludeString{}
    99  	}
   100  	t.Target.Include = append(t.Target.Include, name)
   101  	return t
   102  }
   103  
   104  func (t *PipelineTrigger) WithTargetExclude(name string) *PipelineTrigger {
   105  	if t.Target == nil {
   106  		t.Target = &PipelineTriggerIncludeAndExcludeString{}
   107  	}
   108  	t.Target.Exclude = append(t.Target.Exclude, name)
   109  	return t
   110  }