graphql

package
v0.0.0-...-a9abf63 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 17, 2020 License: Apache-2.0 Imports: 44 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Functions

func GetAPITaskFromTask

func GetAPITaskFromTask(ctx context.Context, sc data.Connector, task task.Task) (*restModel.APITask, error)

GetAPITaskFromTask builds an APITask from the given task

func GetFormattedDate

func GetFormattedDate(t *time.Time, timezone string) (*string, error)

GetFormattedDate returns a time.Time type in the format "Dec 13, 2020, 11:58:04 pm"

func Handler

func Handler(apiURL string) func(w http.ResponseWriter, r *http.Request)

Handler returns a gimlet http handler func used as the gql route handler

func IsURL

func IsURL(str string) bool

IsURL returns true if str is a url with scheme and domain name

func MarshalStringMap

func MarshalStringMap(val map[string]string) graphql.Marshaler

MarshalStringMap handles marshaling StringMap

func ModifyVersion

func ModifyVersion(version model.Version, user user.DBUser, proj *model.ProjectRef, modifications VersionModifications) (int, error)

func ModifyVersionHandler

func ModifyVersionHandler(ctx context.Context, dataConnector data.Connector, patchID string, modifications VersionModifications) error

ModifyVersionHandler handles the boilerplate code for performing a modify version action, i.e. schedule, unschedule, restart and set priority

func NewExecutableSchema

func NewExecutableSchema(cfg Config) graphql.ExecutableSchema

NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.

func SchedulePatch

func SchedulePatch(ctx context.Context, patchId string, version *model.Version, patchUpdateReq PatchVariantsTasksRequest) (error, int, string, string)

SchedulePatch schedules a patch. It returns an error and an HTTP status code. In the case of success, it also returns a success message and a version ID.

func SetScheduled

func SetScheduled(ctx context.Context, sc data.Connector, taskID string, isActive bool) (*restModel.APITask, error)

func UnmarshalStringMap

func UnmarshalStringMap(v interface{}) (map[string]string, error)

UnmarshalStringMap handles unmarshaling StringMap

Types

type BaseTaskMetadata

type BaseTaskMetadata struct {
	BaseTaskDuration *model.APIDuration `json:"baseTaskDuration"`
	BaseTaskLink     string             `json:"baseTaskLink"`
}

type BaseTaskStatuses

type BaseTaskStatuses map[string]map[string]string

BaseTaskStatuses represents the format {buildVariant: {displayName: status}} for base task statuses

func GetBaseTaskStatusesFromPatchID

func GetBaseTaskStatusesFromPatchID(d data.Connector, patchID string) (BaseTaskStatuses, error)

GetBaseTaskStatusesFromPatchID gets the status of each base build associated with a task

type ComplexityRoot

type ComplexityRoot struct {
	BaseTaskMetadata struct {
		BaseTaskDuration func(childComplexity int) int
		BaseTaskLink     func(childComplexity int) int
	}

	Build struct {
		ActualMakespan    func(childComplexity int) int
		BuildVariant      func(childComplexity int) int
		Id                func(childComplexity int) int
		PredictedMakespan func(childComplexity int) int
		Status            func(childComplexity int) int
	}

	ClientBinary struct {
		Arch        func(childComplexity int) int
		DisplayName func(childComplexity int) int
		OS          func(childComplexity int) int
		URL         func(childComplexity int) int
	}

	ClientConfig struct {
		ClientBinaries func(childComplexity int) int
		LatestRevision func(childComplexity int) int
	}

	CommitQueue struct {
		ProjectID func(childComplexity int) int
		Queue     func(childComplexity int) int
	}

	CommitQueueItem struct {
		EnqueueTime func(childComplexity int) int
		Issue       func(childComplexity int) int
		Modules     func(childComplexity int) int
		Patch       func(childComplexity int) int
		Version     func(childComplexity int) int
	}

	Dependency struct {
		BuildVariant   func(childComplexity int) int
		MetStatus      func(childComplexity int) int
		Name           func(childComplexity int) int
		RequiredStatus func(childComplexity int) int
		UILink         func(childComplexity int) int
	}

	File struct {
		Link       func(childComplexity int) int
		Name       func(childComplexity int) int
		Visibility func(childComplexity int) int
	}

	FileDiff struct {
		Additions func(childComplexity int) int
		Deletions func(childComplexity int) int
		DiffLink  func(childComplexity int) int
		FileName  func(childComplexity int) int
	}

	GithubUser struct {
		LastKnownAs func(childComplexity int) int
		UID         func(childComplexity int) int
	}

	GroupedFiles struct {
		Files    func(childComplexity int) int
		TaskName func(childComplexity int) int
	}

	GroupedProjects struct {
		Name     func(childComplexity int) int
		Projects func(childComplexity int) int
	}

	LogMessage struct {
		Message   func(childComplexity int) int
		Severity  func(childComplexity int) int
		Timestamp func(childComplexity int) int
		Type      func(childComplexity int) int
		Version   func(childComplexity int) int
	}

	Module struct {
		Issue  func(childComplexity int) int
		Module func(childComplexity int) int
	}

	ModuleCodeChange struct {
		BranchName func(childComplexity int) int
		FileDiffs  func(childComplexity int) int
		HTMLLink   func(childComplexity int) int
		RawLink    func(childComplexity int) int
	}

	Mutation struct {
		AbortTask                  func(childComplexity int, taskID string) int
		AddFavoriteProject         func(childComplexity int, identifier string) int
		RemoveFavoriteProject      func(childComplexity int, identifier string) int
		RemovePatchFromCommitQueue func(childComplexity int, commitQueueID string, patchID string) int
		RestartPatch               func(childComplexity int, patchID string, abort bool, taskIds []string) int
		RestartTask                func(childComplexity int, taskID string) int
		SaveSubscription           func(childComplexity int, subscription model.APISubscription) int
		SchedulePatch              func(childComplexity int, patchID string, reconfigure PatchReconfigure) int
		SchedulePatchTasks         func(childComplexity int, patchID string) int
		ScheduleTask               func(childComplexity int, taskID string) int
		SetPatchPriority           func(childComplexity int, patchID string, priority int) int
		SetTaskPriority            func(childComplexity int, taskID string, priority int) int
		UnschedulePatchTasks       func(childComplexity int, patchID string, abort bool) int
		UnscheduleTask             func(childComplexity int, taskID string) int
		UpdateUserSettings         func(childComplexity int, userSettings *model.APIUserSettings) int
	}

	Notifications struct {
		BuildBreak          func(childComplexity int) int
		CommitQueue         func(childComplexity int) int
		PatchFinish         func(childComplexity int) int
		PatchFirstFailure   func(childComplexity int) int
		SpawnHostExpiration func(childComplexity int) int
		SpawnHostOutcome    func(childComplexity int) int
	}

	Patch struct {
		Activated           func(childComplexity int) int
		Alias               func(childComplexity int) int
		Author              func(childComplexity int) int
		BaseTaskStatuses    func(childComplexity int) int
		BaseVersionID       func(childComplexity int) int
		Builds              func(childComplexity int) int
		CommitQueuePosition func(childComplexity int) int
		CreateTime          func(childComplexity int) int
		Description         func(childComplexity int) int
		Duration            func(childComplexity int) int
		Githash             func(childComplexity int) int
		Id                  func(childComplexity int) int
		ModuleCodeChanges   func(childComplexity int) int
		PatchNumber         func(childComplexity int) int
		Project             func(childComplexity int) int
		ProjectId           func(childComplexity int) int
		Status              func(childComplexity int) int
		TaskCount           func(childComplexity int) int
		TaskStatuses        func(childComplexity int) int
		Tasks               func(childComplexity int) int
		Time                func(childComplexity int) int
		Variants            func(childComplexity int) int
		VariantsTasks       func(childComplexity int) int
		Version             func(childComplexity int) int
	}

	PatchBuildVariant struct {
		DisplayName func(childComplexity int) int
		Tasks       func(childComplexity int) int
		Variant     func(childComplexity int) int
	}

	PatchBuildVariantTask struct {
		ID     func(childComplexity int) int
		Name   func(childComplexity int) int
		Status func(childComplexity int) int
	}

	PatchDuration struct {
		Makespan  func(childComplexity int) int
		Time      func(childComplexity int) int
		TimeTaken func(childComplexity int) int
	}

	PatchMetadata struct {
		Author func(childComplexity int) int
	}

	PatchProject struct {
		Tasks    func(childComplexity int) int
		Variants func(childComplexity int) int
	}

	PatchTasks struct {
		Count func(childComplexity int) int
		Tasks func(childComplexity int) int
	}

	PatchTime struct {
		Finished    func(childComplexity int) int
		Started     func(childComplexity int) int
		SubmittedAt func(childComplexity int) int
	}

	Project struct {
		DisplayName func(childComplexity int) int
		Identifier  func(childComplexity int) int
		Owner       func(childComplexity int) int
		Repo        func(childComplexity int) int
	}

	ProjectBuildVariant struct {
		DisplayName func(childComplexity int) int
		Name        func(childComplexity int) int
		Tasks       func(childComplexity int) int
	}

	Projects struct {
		Favorites     func(childComplexity int) int
		OtherProjects func(childComplexity int) int
	}

	Query struct {
		AwsRegions         func(childComplexity int) int
		ClientConfig       func(childComplexity int) int
		CommitQueue        func(childComplexity int, id string) int
		Patch              func(childComplexity int, id string) int
		PatchBuildVariants func(childComplexity int, patchID string) int
		PatchTasks         func(childComplexity int, patchID string, sortBy *TaskSortCategory, sortDir *SortDirection, page *int, limit *int, statuses []string, baseStatuses []string, variant *string, taskName *string) int
		Projects           func(childComplexity int) int
		SiteBanner         func(childComplexity int) int
		Task               func(childComplexity int, taskID string, execution *int) int
		TaskFiles          func(childComplexity int, taskID string, execution *int) int
		TaskLogs           func(childComplexity int, taskID string) int
		TaskTests          func(childComplexity int, taskID string, execution *int, sortCategory *TestSortCategory, sortDirection *SortDirection, page *int, limit *int, testName *string, statuses []string) int
		User               func(childComplexity int) int
		UserConfig         func(childComplexity int) int
		UserPatches        func(childComplexity int, limit *int, page *int, patchName *string, statuses []string, userID *string, includeCommitQueue *bool) int
		UserSettings       func(childComplexity int) int
	}

	RecentTaskLogs struct {
		AgentLogs  func(childComplexity int) int
		EventLogs  func(childComplexity int) int
		SystemLogs func(childComplexity int) int
		TaskLogs   func(childComplexity int) int
	}

	SiteBanner struct {
		Text  func(childComplexity int) int
		Theme func(childComplexity int) int
	}

	Task struct {
		Aborted           func(childComplexity int) int
		Activated         func(childComplexity int) int
		ActivatedBy       func(childComplexity int) int
		ActivatedTime     func(childComplexity int) int
		BaseTaskMetadata  func(childComplexity int) int
		BuildId           func(childComplexity int) int
		BuildVariant      func(childComplexity int) int
		CanAbort          func(childComplexity int) int
		CanRestart        func(childComplexity int) int
		CanSchedule       func(childComplexity int) int
		CanSetPriority    func(childComplexity int) int
		CanUnschedule     func(childComplexity int) int
		CreateTime        func(childComplexity int) int
		Details           func(childComplexity int) int
		DispatchTime      func(childComplexity int) int
		DisplayName       func(childComplexity int) int
		DisplayOnly       func(childComplexity int) int
		DistroId          func(childComplexity int) int
		EstimatedStart    func(childComplexity int) int
		Execution         func(childComplexity int) int
		ExecutionTasks    func(childComplexity int) int
		ExpectedDuration  func(childComplexity int) int
		FailedTestCount   func(childComplexity int) int
		FinishTime        func(childComplexity int) int
		GenerateTask      func(childComplexity int) int
		GeneratedBy       func(childComplexity int) int
		HostId            func(childComplexity int) int
		HostLink          func(childComplexity int) int
		Id                func(childComplexity int) int
		IngestTime        func(childComplexity int) int
		Logs              func(childComplexity int) int
		PatchMetadata     func(childComplexity int) int
		PatchNumber       func(childComplexity int) int
		Priority          func(childComplexity int) int
		ProjectId         func(childComplexity int) int
		ReliesOn          func(childComplexity int) int
		Requester         func(childComplexity int) int
		Restarts          func(childComplexity int) int
		Revision          func(childComplexity int) int
		ScheduledTime     func(childComplexity int) int
		SpawnHostLink     func(childComplexity int) int
		StartTime         func(childComplexity int) int
		Status            func(childComplexity int) int
		TaskGroup         func(childComplexity int) int
		TaskGroupMaxHosts func(childComplexity int) int
		TimeTaken         func(childComplexity int) int
		Version           func(childComplexity int) int
	}

	TaskEndDetail struct {
		Description func(childComplexity int) int
		Status      func(childComplexity int) int
		TimedOut    func(childComplexity int) int
		Type        func(childComplexity int) int
	}

	TaskEventLogData struct {
		HostId    func(childComplexity int) int
		JiraIssue func(childComplexity int) int
		JiraLink  func(childComplexity int) int
		Priority  func(childComplexity int) int
		Status    func(childComplexity int) int
		Timestamp func(childComplexity int) int
		UserId    func(childComplexity int) int
	}

	TaskEventLogEntry struct {
		Data      func(childComplexity int) int
		EventType func(childComplexity int) int
		Timestamp func(childComplexity int) int
	}

	TaskFiles struct {
		FileCount    func(childComplexity int) int
		GroupedFiles func(childComplexity int) int
	}

	TaskLogLinks struct {
		AgentLogLink  func(childComplexity int) int
		AllLogLink    func(childComplexity int) int
		EventLogLink  func(childComplexity int) int
		SystemLogLink func(childComplexity int) int
		TaskLogLink   func(childComplexity int) int
	}

	TaskResult struct {
		BaseStatus   func(childComplexity int) int
		BuildVariant func(childComplexity int) int
		DisplayName  func(childComplexity int) int
		ID           func(childComplexity int) int
		Status       func(childComplexity int) int
		Version      func(childComplexity int) int
	}

	TaskTestResult struct {
		FilteredTestCount func(childComplexity int) int
		TestResults       func(childComplexity int) int
		TotalTestCount    func(childComplexity int) int
	}

	TestLog struct {
		HTMLDisplayURL func(childComplexity int) int
		RawDisplayURL  func(childComplexity int) int
	}

	TestResult struct {
		Duration  func(childComplexity int) int
		EndTime   func(childComplexity int) int
		ExitCode  func(childComplexity int) int
		Id        func(childComplexity int) int
		Logs      func(childComplexity int) int
		StartTime func(childComplexity int) int
		Status    func(childComplexity int) int
		TestFile  func(childComplexity int) int
	}

	UseSpruceOptions struct {
		HasUsedSpruceBefore func(childComplexity int) int
		SpruceV1            func(childComplexity int) int
	}

	User struct {
		DisplayName func(childComplexity int) int
		UserID      func(childComplexity int) int
	}

	UserConfig struct {
		APIKey        func(childComplexity int) int
		APIServerHost func(childComplexity int) int
		UIServerHost  func(childComplexity int) int
		User          func(childComplexity int) int
	}

	UserPatches struct {
		FilteredPatchCount func(childComplexity int) int
		Patches            func(childComplexity int) int
	}

	UserSettings struct {
		GithubUser       func(childComplexity int) int
		Notifications    func(childComplexity int) int
		Region           func(childComplexity int) int
		SlackUsername    func(childComplexity int) int
		Timezone         func(childComplexity int) int
		UseSpruceOptions func(childComplexity int) int
	}

	VariantTask struct {
		Name  func(childComplexity int) int
		Tasks func(childComplexity int) int
	}
}

type Config

type Config struct {
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

func New

func New(apiURL string) Config

New injects resources into the resolvers, such as the data connector

type Dependency

type Dependency struct {
	Name           string         `json:"name"`
	MetStatus      MetStatus      `json:"metStatus"`
	RequiredStatus RequiredStatus `json:"requiredStatus"`
	BuildVariant   string         `json:"buildVariant"`
	UILink         string         `json:"uiLink"`
}

type DirectiveRoot

type DirectiveRoot struct {
}

type DisplayTask

type DisplayTask struct {
	Name      string   `json:"Name"`
	ExecTasks []string `json:"ExecTasks"`
}

type GqlError

type GqlError string

GqlError represents the error codes send alongside gql errors

const (
	// InternalServerError conveys that the server errored out when trying to perform an action
	InternalServerError GqlError = "INTERNAL_SERVER_ERROR"
	// Forbidden conveys that user does not required permissions to access resource
	Forbidden GqlError = "FORBIDDEN"
	// ResourceNotFound conveys the requested resource does not exist
	ResourceNotFound GqlError = "RESOURCE_NOT_FOUND"
	// InputValidationError conveys that the given input is not formatted properly
	InputValidationError GqlError = "INPUT_VALIDATION_ERROR"
)

func (GqlError) Send

func (err GqlError) Send(ctx context.Context, message string) *gqlerror.Error

Send sends a gql error to the client formatted with

type GroupedFiles

type GroupedFiles struct {
	TaskName *string          `json:"taskName"`
	Files    []*model.APIFile `json:"files"`
}

func GetGroupedFiles

func GetGroupedFiles(ctx context.Context, name string, taskID string, execution int) (*GroupedFiles, error)

GetGroupedFiles returns the files of a Task inside a GroupedFile struct

type GroupedProjects

type GroupedProjects struct {
	Name     string                   `json:"name"`
	Projects []*model.UIProjectFields `json:"projects"`
}

type MetStatus

type MetStatus string
const (
	MetStatusUnmet   MetStatus = "UNMET"
	MetStatusMet     MetStatus = "MET"
	MetStatusPending MetStatus = "PENDING"
)

func (MetStatus) IsValid

func (e MetStatus) IsValid() bool

func (MetStatus) MarshalGQL

func (e MetStatus) MarshalGQL(w io.Writer)

func (MetStatus) String

func (e MetStatus) String() string

func (*MetStatus) UnmarshalGQL

func (e *MetStatus) UnmarshalGQL(v interface{}) error

type MutationResolver

type MutationResolver interface {
	AddFavoriteProject(ctx context.Context, identifier string) (*model.UIProjectFields, error)
	RemoveFavoriteProject(ctx context.Context, identifier string) (*model.UIProjectFields, error)
	SchedulePatch(ctx context.Context, patchID string, reconfigure PatchReconfigure) (*model.APIPatch, error)
	SchedulePatchTasks(ctx context.Context, patchID string) (*string, error)
	UnschedulePatchTasks(ctx context.Context, patchID string, abort bool) (*string, error)
	RestartPatch(ctx context.Context, patchID string, abort bool, taskIds []string) (*string, error)
	SetPatchPriority(ctx context.Context, patchID string, priority int) (*string, error)
	ScheduleTask(ctx context.Context, taskID string) (*model.APITask, error)
	UnscheduleTask(ctx context.Context, taskID string) (*model.APITask, error)
	AbortTask(ctx context.Context, taskID string) (*model.APITask, error)
	SetTaskPriority(ctx context.Context, taskID string, priority int) (*model.APITask, error)
	RestartTask(ctx context.Context, taskID string) (*model.APITask, error)
	SaveSubscription(ctx context.Context, subscription model.APISubscription) (bool, error)
	RemovePatchFromCommitQueue(ctx context.Context, commitQueueID string, patchID string) (*string, error)
	UpdateUserSettings(ctx context.Context, userSettings *model.APIUserSettings) (bool, error)
}

type PatchBuildVariant

type PatchBuildVariant struct {
	Variant     string                   `json:"variant"`
	DisplayName string                   `json:"displayName"`
	Tasks       []*PatchBuildVariantTask `json:"tasks"`
}

type PatchBuildVariantTask

type PatchBuildVariantTask struct {
	ID     string `json:"id"`
	Name   string `json:"name"`
	Status string `json:"status"`
}

type PatchDuration

type PatchDuration struct {
	Makespan  *string    `json:"makespan"`
	TimeTaken *string    `json:"timeTaken"`
	Time      *PatchTime `json:"time"`
}

type PatchMetadata

type PatchMetadata struct {
	Author string `json:"author"`
}

type PatchProject

type PatchProject struct {
	Variants []*ProjectBuildVariant `json:"variants"`
	Tasks    []string               `json:"tasks"`
}

func GetPatchProjectVariantsAndTasksForUI

func GetPatchProjectVariantsAndTasksForUI(ctx context.Context, apiPatch *restModel.APIPatch) (*PatchProject, error)

GetPatchProjectVariantsAndTasksForUI gets the variants and tasks for a project for a patch id

type PatchReconfigure

type PatchReconfigure struct {
	Description   string          `json:"description"`
	VariantsTasks []*VariantTasks `json:"variantsTasks"`
}

type PatchResolver

type PatchResolver interface {
	Duration(ctx context.Context, obj *model.APIPatch) (*PatchDuration, error)
	Time(ctx context.Context, obj *model.APIPatch) (*PatchTime, error)
	TaskCount(ctx context.Context, obj *model.APIPatch) (*int, error)
	BaseVersionID(ctx context.Context, obj *model.APIPatch) (*string, error)

	Project(ctx context.Context, obj *model.APIPatch) (*PatchProject, error)
	Builds(ctx context.Context, obj *model.APIPatch) ([]*model.APIBuild, error)
	CommitQueuePosition(ctx context.Context, obj *model.APIPatch) (*int, error)
	TaskStatuses(ctx context.Context, obj *model.APIPatch) ([]string, error)
	BaseTaskStatuses(ctx context.Context, obj *model.APIPatch) ([]string, error)
}

type PatchTasks

type PatchTasks struct {
	Tasks []*TaskResult `json:"tasks"`
	Count int           `json:"count"`
}

type PatchTime

type PatchTime struct {
	Started     *string `json:"started"`
	Finished    *string `json:"finished"`
	SubmittedAt string  `json:"submittedAt"`
}

type PatchVariantsTasksRequest

type PatchVariantsTasksRequest struct {
	VariantsTasks []patch.VariantTasks `json:"variants_tasks,omitempty"` // new format
	Variants      []string             `json:"variants"`                 // old format
	Tasks         []string             `json:"tasks"`                    // old format
	Description   string               `json:"description"`
}

func (*PatchVariantsTasksRequest) BuildFromGqlInput

func (p *PatchVariantsTasksRequest) BuildFromGqlInput(r PatchReconfigure)

BuildFromGqlInput takes a PatchReconfigure gql type and returns a PatchVariantsTasksRequest type

type ProjectBuildVariant

type ProjectBuildVariant struct {
	Name        string   `json:"name"`
	DisplayName string   `json:"displayName"`
	Tasks       []string `json:"tasks"`
}

type Projects

type Projects struct {
	Favorites     []*model.UIProjectFields `json:"favorites"`
	OtherProjects []*GroupedProjects       `json:"otherProjects"`
}

type QueryResolver

type QueryResolver interface {
	UserPatches(ctx context.Context, limit *int, page *int, patchName *string, statuses []string, userID *string, includeCommitQueue *bool) (*UserPatches, error)
	Task(ctx context.Context, taskID string, execution *int) (*model.APITask, error)
	Patch(ctx context.Context, id string) (*model.APIPatch, error)
	Projects(ctx context.Context) (*Projects, error)
	PatchTasks(ctx context.Context, patchID string, sortBy *TaskSortCategory, sortDir *SortDirection, page *int, limit *int, statuses []string, baseStatuses []string, variant *string, taskName *string) (*PatchTasks, error)
	TaskTests(ctx context.Context, taskID string, execution *int, sortCategory *TestSortCategory, sortDirection *SortDirection, page *int, limit *int, testName *string, statuses []string) (*TaskTestResult, error)
	TaskFiles(ctx context.Context, taskID string, execution *int) (*TaskFiles, error)
	User(ctx context.Context) (*model.APIUser, error)
	TaskLogs(ctx context.Context, taskID string) (*RecentTaskLogs, error)
	PatchBuildVariants(ctx context.Context, patchID string) ([]*PatchBuildVariant, error)
	CommitQueue(ctx context.Context, id string) (*model.APICommitQueue, error)
	UserSettings(ctx context.Context) (*model.APIUserSettings, error)
	AwsRegions(ctx context.Context) ([]string, error)
	UserConfig(ctx context.Context) (*UserConfig, error)
	ClientConfig(ctx context.Context) (*model.APIClientConfig, error)
	SiteBanner(ctx context.Context) (*model.APIBanner, error)
}

type RecentTaskLogs

type RecentTaskLogs struct {
	EventLogs  []*model.APIEventLogEntry `json:"eventLogs"`
	TaskLogs   []*apimodels.LogMessage   `json:"taskLogs"`
	SystemLogs []*apimodels.LogMessage   `json:"systemLogs"`
	AgentLogs  []*apimodels.LogMessage   `json:"agentLogs"`
}

type RequiredStatus

type RequiredStatus string
const (
	RequiredStatusMustFail    RequiredStatus = "MUST_FAIL"
	RequiredStatusMustFinish  RequiredStatus = "MUST_FINISH"
	RequiredStatusMustSucceed RequiredStatus = "MUST_SUCCEED"
)

func (RequiredStatus) IsValid

func (e RequiredStatus) IsValid() bool

func (RequiredStatus) MarshalGQL

func (e RequiredStatus) MarshalGQL(w io.Writer)

func (RequiredStatus) String

func (e RequiredStatus) String() string

func (*RequiredStatus) UnmarshalGQL

func (e *RequiredStatus) UnmarshalGQL(v interface{}) error

type Resolver

type Resolver struct {
	// contains filtered or unexported fields
}

func (*Resolver) Mutation

func (r *Resolver) Mutation() MutationResolver

func (*Resolver) Patch

func (r *Resolver) Patch() PatchResolver

func (*Resolver) Query

func (r *Resolver) Query() QueryResolver

func (*Resolver) Task

func (r *Resolver) Task() TaskResolver

type ResolverRoot

type ResolverRoot interface {
	Mutation() MutationResolver
	Patch() PatchResolver
	Query() QueryResolver
	Task() TaskResolver
}

type SortDirection

type SortDirection string
const (
	SortDirectionAsc  SortDirection = "ASC"
	SortDirectionDesc SortDirection = "DESC"
)

func (SortDirection) IsValid

func (e SortDirection) IsValid() bool

func (SortDirection) MarshalGQL

func (e SortDirection) MarshalGQL(w io.Writer)

func (SortDirection) String

func (e SortDirection) String() string

func (*SortDirection) UnmarshalGQL

func (e *SortDirection) UnmarshalGQL(v interface{}) error

type TaskFiles

type TaskFiles struct {
	FileCount    int             `json:"fileCount"`
	GroupedFiles []*GroupedFiles `json:"groupedFiles"`
}

type TaskResolver

type TaskResolver interface {
	FailedTestCount(ctx context.Context, obj *model.APITask) (int, error)
	SpawnHostLink(ctx context.Context, obj *model.APITask) (*string, error)
	PatchMetadata(ctx context.Context, obj *model.APITask) (*PatchMetadata, error)

	ReliesOn(ctx context.Context, obj *model.APITask) ([]*Dependency, error)

	PatchNumber(ctx context.Context, obj *model.APITask) (*int, error)

	Status(ctx context.Context, obj *model.APITask) (string, error)

	BaseTaskMetadata(ctx context.Context, obj *model.APITask) (*BaseTaskMetadata, error)
	CanRestart(ctx context.Context, obj *model.APITask) (bool, error)
	CanAbort(ctx context.Context, obj *model.APITask) (bool, error)
	CanSchedule(ctx context.Context, obj *model.APITask) (bool, error)
	CanUnschedule(ctx context.Context, obj *model.APITask) (bool, error)
	CanSetPriority(ctx context.Context, obj *model.APITask) (bool, error)
}

type TaskResult

type TaskResult struct {
	ID           string `json:"id"`
	DisplayName  string `json:"displayName"`
	Version      string `json:"version"`
	Status       string `json:"status"`
	BaseStatus   string `json:"baseStatus"`
	BuildVariant string `json:"buildVariant"`
}

func ConvertDBTasksToGqlTasks

func ConvertDBTasksToGqlTasks(tasks []task.Task, baseTaskStatuses BaseTaskStatuses) []*TaskResult

func FilterTasksByBaseStatuses

func FilterTasksByBaseStatuses(taskResults []*TaskResult, baseStatuses []string, baseTaskStatuses BaseTaskStatuses) []*TaskResult

type TaskSortCategory

type TaskSortCategory string
const (
	TaskSortCategoryName       TaskSortCategory = "NAME"
	TaskSortCategoryStatus     TaskSortCategory = "STATUS"
	TaskSortCategoryBaseStatus TaskSortCategory = "BASE_STATUS"
	TaskSortCategoryVariant    TaskSortCategory = "VARIANT"
)

func (TaskSortCategory) IsValid

func (e TaskSortCategory) IsValid() bool

func (TaskSortCategory) MarshalGQL

func (e TaskSortCategory) MarshalGQL(w io.Writer)

func (TaskSortCategory) String

func (e TaskSortCategory) String() string

func (*TaskSortCategory) UnmarshalGQL

func (e *TaskSortCategory) UnmarshalGQL(v interface{}) error

type TaskTestResult

type TaskTestResult struct {
	TotalTestCount    int              `json:"totalTestCount"`
	FilteredTestCount int              `json:"filteredTestCount"`
	TestResults       []*model.APITest `json:"testResults"`
}

type TestSortCategory

type TestSortCategory string
const (
	TestSortCategoryStatus   TestSortCategory = "STATUS"
	TestSortCategoryDuration TestSortCategory = "DURATION"
	TestSortCategoryTestName TestSortCategory = "TEST_NAME"
)

func (TestSortCategory) IsValid

func (e TestSortCategory) IsValid() bool

func (TestSortCategory) MarshalGQL

func (e TestSortCategory) MarshalGQL(w io.Writer)

func (TestSortCategory) String

func (e TestSortCategory) String() string

func (*TestSortCategory) UnmarshalGQL

func (e *TestSortCategory) UnmarshalGQL(v interface{}) error

type UserConfig

type UserConfig struct {
	User          string `json:"user"`
	APIKey        string `json:"api_key"`
	APIServerHost string `json:"api_server_host"`
	UIServerHost  string `json:"ui_server_host"`
}

type UserPatches

type UserPatches struct {
	Patches            []*model.APIPatch `json:"patches"`
	FilteredPatchCount int               `json:"filteredPatchCount"`
}

type VariantTasks

type VariantTasks struct {
	Variant      string         `json:"variant"`
	Tasks        []string       `json:"tasks"`
	DisplayTasks []*DisplayTask `json:"displayTasks"`
}

type VariantsAndTasksFromProject

type VariantsAndTasksFromProject struct {
	Variants map[string]model.BuildVariant
	Tasks    []struct{ Name string }
	Project  model.Project
}

func GetVariantsAndTasksFromProject

func GetVariantsAndTasksFromProject(patchedConfig string, patchProject string) (*VariantsAndTasksFromProject, error)

type VersionModificationAction

type VersionModificationAction string
const (
	Restart     VersionModificationAction = "restart"
	SetActive   VersionModificationAction = "set_active"
	SetPriority VersionModificationAction = "set_priority"
)

type VersionModifications

type VersionModifications struct {
	Action   VersionModificationAction `json:"action"`
	Active   bool                      `json:"active"`
	Abort    bool                      `json:"abort"`
	Priority int64                     `json:"priority"`
	TaskIds  []string                  `json:"task_ids"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL