Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(types)!: move worker type to server and nest API object #997

Merged
merged 18 commits into from
Mar 19, 2024
Merged
Show file tree
Hide file tree
Changes from 13 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/validate-pr-title.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ jobs:
steps:
- name: validate title
run: |
echo "${{ github.event.pull_request.title }}" | grep -Eq '^(feat|fix|chore|refactor|enhance|test|docs)(\(.*\)|):\s.+$' && (echo "Pass"; exit 0) || (echo "Incorrect Format. Please see https://go-vela.github.io/docs/community/contributing_guidelines/#development-workflow"; exit 1)
echo "${{ github.event.pull_request.title }}" | grep -Eq '^(feat|fix|chore|refactor|enhance|test|docs)(\(.*\)|)!?:\s.+$' && (echo "Pass"; exit 0) || (echo "Incorrect Format. Please see https://go-vela.github.io/docs/community/contributing_guidelines/#development-workflow"; exit 1)
370 changes: 370 additions & 0 deletions api/types/worker.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,370 @@
// SPDX-License-Identifier: Apache-2.0

package types

import (
"fmt"

"github.com/go-vela/types/library"
)

// Worker is the API representation of a worker.
//
// swagger:model Worker
type Worker struct {
ID *int64 `json:"id,omitempty"`
Hostname *string `json:"hostname,omitempty"`
Address *string `json:"address,omitempty"`
Routes *[]string `json:"routes,omitempty"`
Active *bool `json:"active,omitempty"`
Status *string `json:"status,omitempty"`
LastStatusUpdateAt *int64 `json:"last_status_update_at,omitempty"`
RunningBuilds []*library.Build `json:"running_builds,omitempty"`
LastBuildStartedAt *int64 `json:"last_build_started_at,omitempty"`
LastBuildFinishedAt *int64 `json:"last_build_finished_at,omitempty"`
LastCheckedIn *int64 `json:"last_checked_in,omitempty"`
BuildLimit *int64 `json:"build_limit,omitempty"`
}

// GetID returns the ID field.
//
// When the provided Worker type is nil, or the field within
// the type is nil, it returns the zero value for the field.
func (w *Worker) GetID() int64 {
// return zero value if Worker type or ID field is nil
if w == nil || w.ID == nil {
return 0
}

return *w.ID
}

// GetHostname returns the Hostname field.
//
// When the provided Worker type is nil, or the field within
// the type is nil, it returns the zero value for the field.
func (w *Worker) GetHostname() string {
// return zero value if Worker type or Hostname field is nil
if w == nil || w.Hostname == nil {
return ""
}

return *w.Hostname
}

// GetAddress returns the Address field.
//
// When the provided Worker type is nil, or the field within
// the type is nil, it returns the zero value for the field.
func (w *Worker) GetAddress() string {
// return zero value if Worker type or Address field is nil
if w == nil || w.Address == nil {
return ""
}

return *w.Address
}

// GetRoutes returns the Routes field.
//
// When the provided Worker type is nil, or the field within
// the type is nil, it returns the zero value for the field.
func (w *Worker) GetRoutes() []string {
// return zero value if Worker type or Routes field is nil
if w == nil || w.Routes == nil {
return []string{}
}

return *w.Routes
}

// GetActive returns the Active field.
//
// When the provided Worker type is nil, or the field within
// the type is nil, it returns the zero value for the field.
func (w *Worker) GetActive() bool {
// return zero value if Worker type or Active field is nil
if w == nil || w.Active == nil {
return false
}

return *w.Active
}

// GetStatus returns the Status field.
//
// When the provided Worker type is nil, or the field within
// the type is nil, it returns the zero value for the field.
func (w *Worker) GetStatus() string {
// return zero value if Worker type or Status field is nil
if w == nil || w.Status == nil {
return ""
}

return *w.Status
}

// GetLastStatusUpdateAt returns the LastStatusUpdateAt field.
//
// When the provided Worker type is nil, or the field within
// the type is nil, it returns the zero value for the field.
func (w *Worker) GetLastStatusUpdateAt() int64 {
// return zero value if Worker type or LastStatusUpdateAt field is nil
if w == nil || w.LastStatusUpdateAt == nil {
return 0
}

return *w.LastStatusUpdateAt
}

// GetRunningBuilds returns the RunningBuilds field.
//
// When the provided Worker type is nil, or the field within
// the type is nil, it returns the zero value for the field.
func (w *Worker) GetRunningBuilds() []*library.Build {
// return zero value if Worker type or RunningBuilds field is nil
if w == nil || w.RunningBuilds == nil {
return []*library.Build{}
}

return w.RunningBuilds
}

// GetLastBuildStartedAt returns the LastBuildStartedAt field.
//
// When the provided Worker type is nil, or the field within
// the type is nil, it returns the zero value for the field.
func (w *Worker) GetLastBuildStartedAt() int64 {
// return zero value if Worker type or LastBuildStartedAt field is nil
if w == nil || w.LastBuildStartedAt == nil {
return 0
}

return *w.LastBuildStartedAt
}

// GetLastBuildFinishedAt returns the LastBuildFinishedAt field.
//
// When the provided Worker type is nil, or the field within
// the type is nil, it returns the zero value for the field.
func (w *Worker) GetLastBuildFinishedAt() int64 {
// return zero value if Worker type or LastBuildFinishedAt field is nil
if w == nil || w.LastBuildFinishedAt == nil {
return 0
}

return *w.LastBuildFinishedAt
}

// GetLastCheckedIn returns the LastCheckedIn field.
//
// When the provided Worker type is nil, or the field within
// the type is nil, it returns the zero value for the field.
func (w *Worker) GetLastCheckedIn() int64 {
// return zero value if Worker type or LastCheckedIn field is nil
if w == nil || w.LastCheckedIn == nil {
return 0
}

return *w.LastCheckedIn
}

// GetBuildLimit returns the BuildLimit field.
//
// When the provided Worker type is nil, or the field within
// the type is nil, it returns the zero value for the field.
func (w *Worker) GetBuildLimit() int64 {
// return zero value if Worker type or BuildLimit field is nil
if w == nil || w.BuildLimit == nil {
return 0
}

return *w.BuildLimit
}

// SetID sets the ID field.
//
// When the provided Worker type is nil, it
// will set nothing and immediately return.
func (w *Worker) SetID(v int64) {
// return if Worker type is nil
if w == nil {
return
}

w.ID = &v
}

// SetHostname sets the Hostname field.
//
// When the provided Worker type is nil, it
// will set nothing and immediately return.
func (w *Worker) SetHostname(v string) {
// return if Worker type is nil
if w == nil {
return
}

w.Hostname = &v
}

// SetAddress sets the Address field.
//
// When the provided Worker type is nil, it
// will set nothing and immediately return.
func (w *Worker) SetAddress(v string) {
// return if Worker type is nil
if w == nil {
return
}

w.Address = &v
}

// SetRoutes sets the Routes field.
//
// When the provided Worker type is nil, it
// will set nothing and immediately return.
func (w *Worker) SetRoutes(v []string) {
// return if Worker type is nil
if w == nil {
return
}

w.Routes = &v
}

// SetActive sets the Active field.
//
// When the provided Worker type is nil, it
// will set nothing and immediately return.
func (w *Worker) SetActive(v bool) {
// return if Worker type is nil
if w == nil {
return
}

w.Active = &v
}

// SetStatus sets the Status field.
//
// When the provided Worker type is nil, it
// will set nothing and immediately return.
func (w *Worker) SetStatus(v string) {
// return if Worker type is nil
if w == nil {
return
}

w.Status = &v
}

// SetLastStatusUpdateAt sets the LastStatusUpdateAt field.
//
// When the provided Worker type is nil, it
// will set nothing and immediately return.
func (w *Worker) SetLastStatusUpdateAt(v int64) {
// return if Worker type is nil
if w == nil {
return
}

w.LastStatusUpdateAt = &v
}

// SetRunningBuilds sets the RunningBuilds field.
//
// When the provided Worker type is nil, it
// will set nothing and immediately return.
func (w *Worker) SetRunningBuilds(builds []*library.Build) {
// return if Worker type is nil
if w == nil {
return
}

w.RunningBuilds = builds
}

// SetLastBuildStartedAt sets the LastBuildStartedAt field.
//
// When the provided Worker type is nil, it
// will set nothing and immediately return.
func (w *Worker) SetLastBuildStartedAt(v int64) {
// return if Worker type is nil
if w == nil {
return
}

w.LastBuildStartedAt = &v
}

// SetLastBuildFinishedAt sets the LastBuildFinishedAt field.
//
// When the provided Worker type is nil, it
// will set nothing and immediately return.
func (w *Worker) SetLastBuildFinishedAt(v int64) {
// return if Worker type is nil
if w == nil {
return
}

w.LastBuildFinishedAt = &v
}

// SetLastCheckedIn sets the LastCheckedIn field.
//
// When the provided Worker type is nil, it
// will set nothing and immediately return.
func (w *Worker) SetLastCheckedIn(v int64) {
// return if Worker type is nil
if w == nil {
return
}

w.LastCheckedIn = &v
}

// SetBuildLimit sets the LastBuildLimit field.
//
// When the provided Worker type is nil, it
// will set nothing and immediately return.
func (w *Worker) SetBuildLimit(v int64) {
// return if Worker type is nil
if w == nil {
return
}

w.BuildLimit = &v
}

// String implements the Stringer interface for the Worker type.
func (w *Worker) String() string {
return fmt.Sprintf(`{
ID: %d,
Hostname: %s,
Address: %s,
Routes: %s,
Active: %t,
Status: %s,
LastStatusUpdateAt: %v,
LastBuildStartedAt: %v,
LastBuildFinishedAt: %v,
LastCheckedIn: %v,
BuildLimit: %v,
RunningBuilds: %v,
}`,
w.GetID(),
w.GetHostname(),
w.GetAddress(),
w.GetRoutes(),
w.GetActive(),
w.GetStatus(),
w.GetLastStatusUpdateAt(),
w.GetLastBuildStartedAt(),
w.GetLastBuildFinishedAt(),
w.GetLastCheckedIn(),
w.GetBuildLimit(),
w.GetRunningBuilds(),
)
}
Loading
Loading