database

package
v0.23.3 Latest Latest
Warning

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

Go to latest
Published: Mar 21, 2024 License: Apache-2.0 Imports: 21 Imported by: 14

Documentation

Overview

Package database provides the defined database types for Vela.

Usage:

import "github.com/go-vela/types/database"

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrEmptyBuildNumber defines the error type when a
	// Build type has an empty Number field provided.
	ErrEmptyBuildNumber = errors.New("empty build number provided")

	// ErrEmptyBuildRepoID defines the error type when a
	// Build type has an empty `RepoID` field provided.
	ErrEmptyBuildRepoID = errors.New("empty build repo_id provided")
)
View Source
var (
	// ErrEmptyDeploymentNumber defines the error type when a
	// Deployment type has an empty Number field provided.
	ErrEmptyDeploymentNumber = errors.New("empty deployment number provided")

	// ErrEmptyDeploymentRepoID defines the error type when a
	// Deployment type has an empty RepoID field provided.
	ErrEmptyDeploymentRepoID = errors.New("empty deployment repo_id provided")
)
View Source
var (
	// ErrEmptyHookNumber defines the error type when a
	// Hook type has an empty Number field provided.
	ErrEmptyHookNumber = errors.New("empty webhook number provided")

	// ErrEmptyHookRepoID defines the error type when a
	// Hook type has an empty RepoID field provided.
	ErrEmptyHookRepoID = errors.New("empty webhook repo_id provided")

	// ErrEmptyHookSourceID defines the error type when a
	// Hook type has an empty SourceID field provided.
	ErrEmptyHookSourceID = errors.New("empty webhook source_id provided")

	// ErrEmptyHookWebhookID defines the error type when a
	// Hook type has an empty WebhookID field provided.
	ErrEmptyHookWebhookID = errors.New("empty webhook webhook_id provided")
)
View Source
var (
	// ErrEmptyLogBuildID defines the error type when a
	// Log type has an empty BuildID field provided.
	ErrEmptyLogBuildID = errors.New("empty log build_id provided")

	// ErrEmptyLogRepoID defines the error type when a
	// Log type has an empty RepoID field provided.
	ErrEmptyLogRepoID = errors.New("empty log repo_id provided")

	// ErrEmptyLogStepOrServiceID defines the error type when a
	// Log type has an empty StepID or ServiceID field provided.
	ErrEmptyLogStepOrServiceID = errors.New("empty log step_id or service_id not provided")
)
View Source
var (
	// ErrEmptyPipelineCommit defines the error type when a
	// Pipeline type has an empty Commit field provided.
	ErrEmptyPipelineCommit = errors.New("empty pipeline commit provided")

	// ErrEmptyPipelineRef defines the error type when a
	// Pipeline type has an empty Ref field provided.
	ErrEmptyPipelineRef = errors.New("empty pipeline ref provided")

	// ErrEmptyPipelineRepoID defines the error type when a
	// Pipeline type has an empty RepoID field provided.
	ErrEmptyPipelineRepoID = errors.New("empty pipeline repo_id provided")

	// ErrEmptyPipelineType defines the error type when a
	// Pipeline type has an empty Type field provided.
	ErrEmptyPipelineType = errors.New("empty pipeline type provided")

	// ErrEmptyPipelineVersion defines the error type when a
	// Pipeline type has an empty Version field provided.
	ErrEmptyPipelineVersion = errors.New("empty pipeline version provided")
)
View Source
var (
	// ErrEmptyRepoFullName defines the error type when a
	// Repo type has an empty FullName field provided.
	ErrEmptyRepoFullName = errors.New("empty repo full_name provided")

	// ErrEmptyRepoHash defines the error type when a
	// Repo type has an empty Hash field provided.
	ErrEmptyRepoHash = errors.New("empty repo hash provided")

	// ErrEmptyRepoName defines the error type when a
	// Repo type has an empty Name field provided.
	ErrEmptyRepoName = errors.New("empty repo name provided")

	// ErrEmptyRepoOrg defines the error type when a
	// Repo type has an empty Org field provided.
	ErrEmptyRepoOrg = errors.New("empty repo org provided")

	// ErrEmptyRepoUserID defines the error type when a
	// Repo type has an empty UserID field provided.
	ErrEmptyRepoUserID = errors.New("empty repo user_id provided")

	// ErrEmptyRepoVisibility defines the error type when a
	// Repo type has an empty Visibility field provided.
	ErrEmptyRepoVisibility = errors.New("empty repo visibility provided")

	// ErrExceededTopicsLimit defines the error type when a
	// Repo type has Topics field provided that exceeds the database limit.
	ErrExceededTopicsLimit = errors.New("exceeded topics limit")
)
View Source
var (
	// ErrEmptyScheduleEntry defines the error type when a Schedule type has an empty Entry field provided.
	ErrEmptyScheduleEntry = errors.New("empty schedule entry provided")

	// ErrEmptyScheduleName defines the error type when a Schedule type has an empty Name field provided.
	ErrEmptyScheduleName = errors.New("empty schedule name provided")

	// ErrEmptyScheduleRepoID defines the error type when a Schedule type has an empty RepoID field provided.
	ErrEmptyScheduleRepoID = errors.New("empty schedule repo_id provided")

	// ErrInvalidScheduleEntry defines the error type when a Schedule type has an invalid Entry field provided.
	ErrInvalidScheduleEntry = errors.New("invalid schedule entry provided")
)
View Source
var (
	// ErrEmptySecretName defines the error type when a
	// Secret type has an empty Name field provided.
	ErrEmptySecretName = errors.New("empty secret name provided")

	// ErrEmptySecretOrg defines the error type when a
	// Secret type has an empty Org field provided.
	ErrEmptySecretOrg = errors.New("empty secret org provided")

	// ErrEmptySecretRepo defines the error type when a
	// Secret type has an empty Repo field provided.
	ErrEmptySecretRepo = errors.New("empty secret repo provided")

	// ErrEmptySecretTeam defines the error type when a
	// Secret type has an empty Team field provided.
	ErrEmptySecretTeam = errors.New("empty secret team provided")

	// ErrEmptySecretType defines the error type when a
	// Secret type has an empty Type field provided.
	ErrEmptySecretType = errors.New("empty secret type provided")

	// ErrEmptySecretValue defines the error type when a
	// Secret type has an empty Value field provided.
	ErrEmptySecretValue = errors.New("empty secret value provided")
)
View Source
var (
	// ErrEmptyServiceBuildID defines the error type when a
	// Service type has an empty BuildID field provided.
	ErrEmptyServiceBuildID = errors.New("empty service build_id provided")

	// ErrEmptyServiceName defines the error type when a
	// Service type has an empty Name field provided.
	ErrEmptyServiceName = errors.New("empty service name provided")

	// ErrEmptyServiceImage defines the error type when a
	// Service type has an empty Image field provided.
	ErrEmptyServiceImage = errors.New("empty service image provided")

	// ErrEmptyServiceNumber defines the error type when a
	// Service type has an empty Number field provided.
	ErrEmptyServiceNumber = errors.New("empty service number provided")

	// ErrEmptyServiceRepoID defines the error type when a
	// Service type has an empty RepoID field provided.
	ErrEmptyServiceRepoID = errors.New("empty service repo_id provided")
)
View Source
var (
	// ErrEmptyStepBuildID defines the error type when a
	// Step type has an empty BuildID field provided.
	ErrEmptyStepBuildID = errors.New("empty step build_id provided")

	// ErrEmptyStepName defines the error type when a
	// Step type has an empty Name field provided.
	ErrEmptyStepName = errors.New("empty step name provided")

	// ErrEmptyStepImage defines the error type when a
	// Step type has an empty Image field provided.
	ErrEmptyStepImage = errors.New("empty step image provided")

	// ErrEmptyStepNumber defines the error type when a
	// Step type has an empty Number field provided.
	ErrEmptyStepNumber = errors.New("empty step number provided")

	// ErrEmptyStepRepoID defines the error type when a
	// Step type has an empty RepoID field provided.
	ErrEmptyStepRepoID = errors.New("empty step repo_id provided")
)
View Source
var (

	// ErrEmptyUserName defines the error type when a
	// User type has an empty Name field provided.
	ErrEmptyUserName = errors.New("empty user name provided")

	// ErrEmptyUserRefreshToken defines the error type when a
	// User type has an empty RefreshToken field provided.
	ErrEmptyUserRefreshToken = errors.New("empty user refresh token provided")

	// ErrEmptyUserToken defines the error type when a
	// User type has an empty Token field provided.
	ErrEmptyUserToken = errors.New("empty user token provided")

	// ErrInvalidUserName defines the error type when a
	// User type has an invalid Name field provided.
	ErrInvalidUserName = errors.New("invalid user name provided")

	// ErrExceededFavoritesLimit defines the error type when a
	// User type has Favorites field provided that exceeds the database limit.
	ErrExceededFavoritesLimit = errors.New("exceeded favorites limit")
)
View Source
var (
	// ErrEmptyWorkerHost defines the error type when a
	// Worker type has an empty Host field provided.
	ErrEmptyWorkerHost = errors.New("empty worker address provided")

	// ErrEmptyWorkerAddress defines the error type when a
	// Worker type has an empty Address field provided.
	ErrEmptyWorkerAddress = errors.New("empty worker address provided")

	// ErrExceededRunningBuildIDsLimit defines the error type when a
	// Worker type has RunningBuildIDs field provided that exceeds the database limit.
	ErrExceededRunningBuildIDsLimit = errors.New("exceeded running build ids limit")
)
View Source
var (
	// ErrEmptyBuildExecutableBuildID defines the error type when a
	// BuildExecutable type has an empty BuildID field provided.
	ErrEmptyBuildExecutableBuildID = errors.New("empty build_executable build_id provided")
)

Functions

func BuildWithContext

func BuildWithContext(c context.Context, b *Build) context.Context

BuildWithContext inserts the Build type to the context.

func LogWithContext

func LogWithContext(c context.Context, l *Log) context.Context

LogWithContext inserts the Log type to the context.

func RepoWithContext

func RepoWithContext(c context.Context, r *Repo) context.Context

RepoWithContext inserts the Repo type to the context.

func SecretWithContext

func SecretWithContext(c context.Context, s *Secret) context.Context

SecretWithContext inserts the Secret type to the context.

func StepWithContext

func StepWithContext(c context.Context, s *Step) context.Context

StepWithContext inserts the Step type to the context.

func UserWithContext

func UserWithContext(c context.Context, u *User) context.Context

UserWithContext inserts the User type to the context.

Types

type Build

type Build struct {
	ID            sql.NullInt64      `sql:"id"`
	RepoID        sql.NullInt64      `sql:"repo_id"`
	PipelineID    sql.NullInt64      `sql:"pipeline_id"`
	Number        sql.NullInt32      `sql:"number"`
	Parent        sql.NullInt32      `sql:"parent"`
	Event         sql.NullString     `sql:"event"`
	EventAction   sql.NullString     `sql:"event_action"`
	Status        sql.NullString     `sql:"status"`
	Error         sql.NullString     `sql:"error"`
	Enqueued      sql.NullInt64      `sql:"enqueued"`
	Created       sql.NullInt64      `sql:"created"`
	Started       sql.NullInt64      `sql:"started"`
	Finished      sql.NullInt64      `sql:"finished"`
	Deploy        sql.NullString     `sql:"deploy"`
	DeployNumber  sql.NullInt64      `sql:"deploy_number"`
	DeployPayload raw.StringSliceMap `sql:"deploy_payload" gorm:"type:varchar(2000)"`
	Clone         sql.NullString     `sql:"clone"`
	Source        sql.NullString     `sql:"source"`
	Title         sql.NullString     `sql:"title"`
	Message       sql.NullString     `sql:"message"`
	Commit        sql.NullString     `sql:"commit"`
	Sender        sql.NullString     `sql:"sender"`
	Author        sql.NullString     `sql:"author"`
	Email         sql.NullString     `sql:"email"`
	Link          sql.NullString     `sql:"link"`
	Branch        sql.NullString     `sql:"branch"`
	Ref           sql.NullString     `sql:"ref"`
	BaseRef       sql.NullString     `sql:"base_ref"`
	HeadRef       sql.NullString     `sql:"head_ref"`
	Host          sql.NullString     `sql:"host"`
	Runtime       sql.NullString     `sql:"runtime"`
	Distribution  sql.NullString     `sql:"distribution"`
	ApprovedAt    sql.NullInt64      `sql:"approved_at"`
	ApprovedBy    sql.NullString     `sql:"approved_by"`
}

Build is the database representation of a build for a pipeline.

func BuildFromContext

func BuildFromContext(c context.Context) *Build

BuildFromContext retrieves the Build type from the context.

func BuildFromLibrary

func BuildFromLibrary(b *library.Build) *Build

BuildFromLibrary converts the library Build type to a database build type.

func (*Build) Crop

func (b *Build) Crop() *Build

Crop prepares the Build type for inserting into the database by trimming values that may exceed the database column limit.

func (*Build) Nullify added in v0.1.2

func (b *Build) Nullify() *Build

Nullify ensures the valid flag for the sql.Null types are properly set.

When a field within the Build type is the zero value for the field, the valid flag is set to false causing it to be NULL in the database.

func (*Build) ToLibrary

func (b *Build) ToLibrary() *library.Build

ToLibrary converts the Build type to a library Build type.

func (*Build) Validate

func (b *Build) Validate() error

Validate verifies the necessary fields for the Build type are populated correctly.

type BuildExecutable added in v0.21.0

type BuildExecutable struct {
	ID      sql.NullInt64 `sql:"id"`
	BuildID sql.NullInt64 `sql:"build_id"`
	Data    []byte        `sql:"data"`
}

BuildExecutable is the database representation of a BuildExecutable.

func BuildExecutableFromLibrary added in v0.21.0

func BuildExecutableFromLibrary(c *library.BuildExecutable) *BuildExecutable

BuildExecutableFromLibrary converts the library BuildExecutable type to a database BuildExecutable type.

func (*BuildExecutable) Compress added in v0.21.0

func (b *BuildExecutable) Compress(level int) error

Compress will manipulate the existing data for the BuildExecutable by compressing that data. This produces a significantly smaller amount of data that is stored in the system.

func (*BuildExecutable) Decompress added in v0.21.0

func (b *BuildExecutable) Decompress() error

Decompress will manipulate the existing data for the BuildExecutable by decompressing that data. This allows us to have a significantly smaller amount of data that is stored in the system.

func (*BuildExecutable) Decrypt added in v0.21.0

func (b *BuildExecutable) Decrypt(key string) error

Decrypt will manipulate the existing executable data by base64 decoding that value. Then, a AES-256 cipher block is created from the encryption key in order to decrypt the base64 decoded secret value.

func (*BuildExecutable) Encrypt added in v0.21.0

func (b *BuildExecutable) Encrypt(key string) error

Encrypt will manipulate the existing build executable by creating a AES-256 cipher block from the encryption key in order to encrypt the build executable. Then, the build executable is base64 encoded for transport across network boundaries.

func (*BuildExecutable) Nullify added in v0.21.0

func (b *BuildExecutable) Nullify() *BuildExecutable

Nullify ensures the valid flag for the sql.Null types are properly set.

When a field within the BuildExecutable type is the zero value for the field, the valid flag is set to false causing it to be NULL in the database.

func (*BuildExecutable) ToLibrary added in v0.21.0

func (b *BuildExecutable) ToLibrary() *library.BuildExecutable

ToLibrary converts the BuildExecutable type to a library BuildExecutable type.

func (*BuildExecutable) Validate added in v0.21.0

func (b *BuildExecutable) Validate() error

Validate verifies the necessary fields for the BuildExecutable type are populated correctly.

type BuildQueue added in v0.8.0

type BuildQueue struct {
	Status   sql.NullString `sql:"status"`
	Number   sql.NullInt32  `sql:"number"`
	Created  sql.NullInt64  `sql:"created"`
	FullName sql.NullString `sql:"full_name"`
}

BuildQueue is the database representation of the builds in the queue.

func BuildQueueFromLibrary added in v0.8.0

func BuildQueueFromLibrary(b *library.BuildQueue) *BuildQueue

BuildQueueFromLibrary converts the library BuildQueue type to a database build queue type.

func (*BuildQueue) ToLibrary added in v0.8.0

func (b *BuildQueue) ToLibrary() *library.BuildQueue

ToLibrary converts the BuildQueue type to a library BuildQueue type.

type Deployment added in v0.23.0

type Deployment struct {
	ID          sql.NullInt64      `sql:"id"`
	Number      sql.NullInt64      `sql:"number"`
	RepoID      sql.NullInt64      `sql:"repo_id"`
	URL         sql.NullString     `sql:"url"`
	Commit      sql.NullString     `sql:"commit"`
	Ref         sql.NullString     `sql:"ref"`
	Task        sql.NullString     `sql:"task"`
	Target      sql.NullString     `sql:"target"`
	Description sql.NullString     `sql:"description"`
	Payload     raw.StringSliceMap `sql:"payload"`
	CreatedAt   sql.NullInt64      `sql:"created_at"`
	CreatedBy   sql.NullString     `sql:"created_by"`
	Builds      pq.StringArray     `sql:"builds" gorm:"type:varchar(50)"`
}

Deployment is the database representation of a deployment for a repo.

func DeploymentFromLibrary added in v0.23.0

func DeploymentFromLibrary(d *library.Deployment) *Deployment

DeploymentFromLibrary converts the library Deployment type to a database Deployment type.

func (*Deployment) Nullify added in v0.23.0

func (d *Deployment) Nullify() *Deployment

Nullify ensures the valid flag for the sql.Null types are properly set.

When a field within the Deployment type is the zero value for the field, the valid flag is set to false causing it to be NULL in the database.

func (*Deployment) ToLibrary added in v0.23.0

func (d *Deployment) ToLibrary(builds []*library.Build) *library.Deployment

ToLibrary converts the Deployment type to a library Deployment type.

func (*Deployment) Validate added in v0.23.0

func (d *Deployment) Validate() error

Validate verifies the necessary fields for the Deployment type are populated correctly.

type Hook added in v0.2.0

type Hook struct {
	ID          sql.NullInt64  `sql:"id"`
	RepoID      sql.NullInt64  `sql:"repo_id"`
	BuildID     sql.NullInt64  `sql:"build_id"`
	Number      sql.NullInt32  `sql:"number"`
	SourceID    sql.NullString `sql:"source_id"`
	Created     sql.NullInt64  `sql:"created"`
	Host        sql.NullString `sql:"host"`
	Event       sql.NullString `sql:"event"`
	EventAction sql.NullString `sql:"event_action"`
	Branch      sql.NullString `sql:"branch"`
	Error       sql.NullString `sql:"error"`
	Status      sql.NullString `sql:"status"`
	Link        sql.NullString `sql:"link"`
	WebhookID   sql.NullInt64  `sql:"webhook_id"`
}

Hook is the database representation of a webhook for a repo.

func HookFromLibrary added in v0.2.0

func HookFromLibrary(h *library.Hook) *Hook

HookFromLibrary converts the Hook type to a library Hook type.

func (*Hook) Nullify added in v0.2.0

func (h *Hook) Nullify() *Hook

Nullify ensures the valid flag for the sql.Null types are properly set.

When a field within the Hook type is the zero value for the field, the valid flag is set to false causing it to be NULL in the database.

func (*Hook) ToLibrary added in v0.2.0

func (h *Hook) ToLibrary() *library.Hook

ToLibrary converts the Hook type to a library Hook type.

func (*Hook) Validate added in v0.2.0

func (h *Hook) Validate() error

Validate verifies the necessary fields for the Hook type are populated correctly.

type Log

type Log struct {
	ID        sql.NullInt64 `sql:"id"`
	BuildID   sql.NullInt64 `sql:"build_id"`
	RepoID    sql.NullInt64 `sql:"repo_id"`
	ServiceID sql.NullInt64 `sql:"service_id"`
	StepID    sql.NullInt64 `sql:"step_id"`
	Data      []byte        `sql:"data"`
}

Log is the database representation of a log for a step in a build.

func LogFromContext

func LogFromContext(c context.Context) *Log

LogFromContext retrieves the Log type from the context.

func LogFromLibrary

func LogFromLibrary(l *library.Log) *Log

LogFromLibrary converts the Log type to a library Log type.

func (*Log) Compress added in v0.7.3

func (l *Log) Compress(level int) error

Compress will manipulate the existing data for the log entry by compressing that data. This produces a significantly smaller amount of data that is stored in the system.

func (*Log) Decompress added in v0.7.3

func (l *Log) Decompress() error

Decompress will manipulate the existing data for the log entry by decompressing that data. This allows us to have a significantly smaller amount of data that is stored in the system.

func (*Log) Nullify added in v0.1.2

func (l *Log) Nullify() *Log

Nullify ensures the valid flag for the sql.Null types are properly set.

When a field within the Log type is the zero value for the field, the valid flag is set to false causing it to be NULL in the database.

func (*Log) ToLibrary

func (l *Log) ToLibrary() *library.Log

ToLibrary converts the Log type to a library Log type.

func (*Log) Validate

func (l *Log) Validate() error

Validate verifies the necessary fields for the Log type are populated correctly.

type Pipeline added in v0.14.0

type Pipeline struct {
	ID              sql.NullInt64  `sql:"id"`
	RepoID          sql.NullInt64  `sql:"repo_id"`
	Commit          sql.NullString `sql:"commit"`
	Flavor          sql.NullString `sql:"flavor"`
	Platform        sql.NullString `sql:"platform"`
	Ref             sql.NullString `sql:"ref"`
	Type            sql.NullString `sql:"type"`
	Version         sql.NullString `sql:"version"`
	ExternalSecrets sql.NullBool   `sql:"external_secrets"`
	InternalSecrets sql.NullBool   `sql:"internal_secrets"`
	Services        sql.NullBool   `sql:"services"`
	Stages          sql.NullBool   `sql:"stages"`
	Steps           sql.NullBool   `sql:"steps"`
	Templates       sql.NullBool   `sql:"templates"`
	Data            []byte         `sql:"data"`
}

Pipeline is the database representation of a pipeline.

func PipelineFromLibrary added in v0.14.0

func PipelineFromLibrary(p *library.Pipeline) *Pipeline

PipelineFromLibrary converts the library Pipeline type to a database Pipeline type.

func (*Pipeline) Compress added in v0.14.0

func (p *Pipeline) Compress(level int) error

Compress will manipulate the existing data for the pipeline by compressing that data. This produces a significantly smaller amount of data that is stored in the system.

func (*Pipeline) Decompress added in v0.14.0

func (p *Pipeline) Decompress() error

Decompress will manipulate the existing data for the pipeline by decompressing that data. This allows us to have a significantly smaller amount of data that is stored in the system.

func (*Pipeline) Nullify added in v0.14.0

func (p *Pipeline) Nullify() *Pipeline

Nullify ensures the valid flag for the sql.Null types are properly set.

When a field within the Pipeline type is the zero value for the field, the valid flag is set to false causing it to be NULL in the database.

func (*Pipeline) ToLibrary added in v0.14.0

func (p *Pipeline) ToLibrary() *library.Pipeline

ToLibrary converts the Pipeline type to a library Pipeline type.

func (*Pipeline) Validate added in v0.14.0

func (p *Pipeline) Validate() error

Validate verifies the necessary fields for the Pipeline type are populated correctly.

type Repo

type Repo struct {
	ID           sql.NullInt64  `sql:"id"`
	UserID       sql.NullInt64  `sql:"user_id"`
	Hash         sql.NullString `sql:"hash"`
	Org          sql.NullString `sql:"org"`
	Name         sql.NullString `sql:"name"`
	FullName     sql.NullString `sql:"full_name"`
	Link         sql.NullString `sql:"link"`
	Clone        sql.NullString `sql:"clone"`
	Branch       sql.NullString `sql:"branch"`
	Topics       pq.StringArray `sql:"topics" gorm:"type:varchar(1020)"`
	BuildLimit   sql.NullInt64  `sql:"build_limit"`
	Timeout      sql.NullInt64  `sql:"timeout"`
	Counter      sql.NullInt32  `sql:"counter"`
	Visibility   sql.NullString `sql:"visibility"`
	Private      sql.NullBool   `sql:"private"`
	Trusted      sql.NullBool   `sql:"trusted"`
	Active       sql.NullBool   `sql:"active"`
	AllowPull    sql.NullBool   `sql:"allow_pull"`
	AllowPush    sql.NullBool   `sql:"allow_push"`
	AllowDeploy  sql.NullBool   `sql:"allow_deploy"`
	AllowTag     sql.NullBool   `sql:"allow_tag"`
	AllowComment sql.NullBool   `sql:"allow_comment"`
	AllowEvents  sql.NullInt64  `sql:"allow_events"`
	PipelineType sql.NullString `sql:"pipeline_type"`
	PreviousName sql.NullString `sql:"previous_name"`
	ApproveBuild sql.NullString `sql:"approve_build"`
}

Repo is the database representation of a repo.

func RepoFromContext

func RepoFromContext(c context.Context) *Repo

RepoFromContext retrieves the Repo type from the context.

func RepoFromLibrary

func RepoFromLibrary(r *library.Repo) *Repo

RepoFromLibrary converts the library Repo type to a database repo type.

func (*Repo) Decrypt added in v0.8.0

func (r *Repo) Decrypt(key string) error

Decrypt will manipulate the existing repo hash by base64 decoding that value. Then, a AES-256 cipher block is created from the encryption key in order to decrypt the base64 decoded secret value.

func (*Repo) Encrypt added in v0.8.0

func (r *Repo) Encrypt(key string) error

Encrypt will manipulate the existing repo hash by creating a AES-256 cipher block from the encryption key in order to encrypt the repo hash. Then, the repo hash is base64 encoded for transport across network boundaries.

func (*Repo) Nullify added in v0.1.2

func (r *Repo) Nullify() *Repo

Nullify ensures the valid flag for the sql.Null types are properly set.

When a field within the Repo type is the zero value for the field, the valid flag is set to false causing it to be NULL in the database.

func (*Repo) ToLibrary

func (r *Repo) ToLibrary() *library.Repo

ToLibrary converts the Repo type to a library Repo type.

func (*Repo) Validate

func (r *Repo) Validate() error

Validate verifies the necessary fields for the Repo type are populated correctly.

type Schedule added in v0.20.0

type Schedule struct {
	ID          sql.NullInt64  `sql:"id"`
	RepoID      sql.NullInt64  `sql:"repo_id"`
	Active      sql.NullBool   `sql:"active"`
	Name        sql.NullString `sql:"name"`
	Entry       sql.NullString `sql:"entry"`
	CreatedAt   sql.NullInt64  `sql:"created_at"`
	CreatedBy   sql.NullString `sql:"created_by"`
	UpdatedAt   sql.NullInt64  `sql:"updated_at"`
	UpdatedBy   sql.NullString `sql:"updated_by"`
	ScheduledAt sql.NullInt64  `sql:"scheduled_at"`
	Branch      sql.NullString `sql:"branch"`
}

Schedule is the database representation of a schedule for a repo.

func ScheduleFromLibrary added in v0.20.0

func ScheduleFromLibrary(s *library.Schedule) *Schedule

ScheduleFromLibrary converts the library.Schedule type to a database Schedule type.

func (*Schedule) Nullify added in v0.20.0

func (s *Schedule) Nullify() *Schedule

Nullify ensures the valid flag for the sql.Null types are properly set.

When a field within the Schedule type is the zero value for the field, the valid flag is set to false causing it to be NULL in the database.

func (*Schedule) ToLibrary added in v0.20.0

func (s *Schedule) ToLibrary() *library.Schedule

ToLibrary converts the Schedule type to a library.Schedule type.

func (*Schedule) Validate added in v0.20.0

func (s *Schedule) Validate() error

Validate verifies the necessary fields for the Schedule type are populated correctly.

type Secret

type Secret struct {
	ID                sql.NullInt64  `sql:"id"`
	Org               sql.NullString `sql:"org"`
	Repo              sql.NullString `sql:"repo"`
	Team              sql.NullString `sql:"team"`
	Name              sql.NullString `sql:"name"`
	Value             sql.NullString `sql:"value"`
	Type              sql.NullString `sql:"type"`
	Images            pq.StringArray `sql:"images" gorm:"type:varchar(1000)"`
	Events            pq.StringArray `sql:"events" gorm:"type:varchar(1000)"`
	AllowEvents       sql.NullInt64  `sql:"allow_events"`
	AllowCommand      sql.NullBool   `sql:"allow_command"`
	AllowSubstitution sql.NullBool   `sql:"allow_substitution"`
	CreatedAt         sql.NullInt64  `sql:"created_at"`
	CreatedBy         sql.NullString `sql:"created_by"`
	UpdatedAt         sql.NullInt64  `sql:"updated_at"`
	UpdatedBy         sql.NullString `sql:"updated_by"`
}

Secret is the database representation of a secret.

func SecretFromContext

func SecretFromContext(c context.Context) *Secret

SecretFromContext retrieves the Secret type from the context.

func SecretFromLibrary

func SecretFromLibrary(s *library.Secret) *Secret

SecretFromLibrary converts the library Secret type to a database Secret type.

func (*Secret) Decrypt added in v0.7.4

func (s *Secret) Decrypt(key string) error

Decrypt will manipulate the existing secret value by base64 decoding that value. Then, a AES-256 cipher block is created from the encryption key in order to decrypt the base64 decoded secret value.

func (*Secret) Encrypt added in v0.7.4

func (s *Secret) Encrypt(key string) error

Encrypt will manipulate the existing secret value by creating a AES-256 cipher block from the encryption key in order to encrypt the secret value. Then, the secret value is base64 encoded for transport across network boundaries.

func (*Secret) Nullify added in v0.1.2

func (s *Secret) Nullify() *Secret

Nullify ensures the valid flag for the sql.Null types are properly set.

When a field within the Secret type is the zero value for the field, the valid flag is set to false causing it to be NULL in the database.

func (*Secret) ToLibrary

func (s *Secret) ToLibrary() *library.Secret

ToLibrary converts the Secret type to a library Secret type.

func (*Secret) Validate

func (s *Secret) Validate() error

Validate verifies the necessary fields for the Secret type are populated correctly.

type Service

type Service struct {
	ID           sql.NullInt64  `sql:"id"`
	BuildID      sql.NullInt64  `sql:"build_id"`
	RepoID       sql.NullInt64  `sql:"repo_id"`
	Number       sql.NullInt32  `sql:"number"`
	Name         sql.NullString `sql:"name"`
	Image        sql.NullString `sql:"image"`
	Status       sql.NullString `sql:"status"`
	Error        sql.NullString `sql:"error"`
	ExitCode     sql.NullInt32  `sql:"exit_code"`
	Created      sql.NullInt64  `sql:"created"`
	Started      sql.NullInt64  `sql:"started"`
	Finished     sql.NullInt64  `sql:"finished"`
	Host         sql.NullString `sql:"host"`
	Runtime      sql.NullString `sql:"runtime"`
	Distribution sql.NullString `sql:"distribution"`
}

Service is the database representation of a service in a build.

func ServiceFromLibrary

func ServiceFromLibrary(s *library.Service) *Service

ServiceFromLibrary converts the library Service type to a database Service type.

func (*Service) Nullify added in v0.1.2

func (s *Service) Nullify() *Service

Nullify ensures the valid flag for the sql.Null types are properly set.

When a field within the Service type is the zero value for the field, the valid flag is set to false causing it to be NULL in the database.

func (*Service) ToLibrary

func (s *Service) ToLibrary() *library.Service

ToLibrary converts the Service type to a library Service type.

func (*Service) Validate

func (s *Service) Validate() error

Validate verifies the necessary fields for the Service type are populated correctly.

type Step

type Step struct {
	ID           sql.NullInt64  `sql:"id"`
	BuildID      sql.NullInt64  `sql:"build_id"`
	RepoID       sql.NullInt64  `sql:"repo_id"`
	Number       sql.NullInt32  `sql:"number"`
	Name         sql.NullString `sql:"name"`
	Image        sql.NullString `sql:"image"`
	Stage        sql.NullString `sql:"stage"`
	Status       sql.NullString `sql:"status"`
	Error        sql.NullString `sql:"error"`
	ExitCode     sql.NullInt32  `sql:"exit_code"`
	Created      sql.NullInt64  `sql:"created"`
	Started      sql.NullInt64  `sql:"started"`
	Finished     sql.NullInt64  `sql:"finished"`
	Host         sql.NullString `sql:"host"`
	Runtime      sql.NullString `sql:"runtime"`
	Distribution sql.NullString `sql:"distribution"`
}

Step is the database representation of a step in a build.

func StepFromContext

func StepFromContext(c context.Context) *Step

StepFromContext retrieves the Step type from the context.

func StepFromLibrary

func StepFromLibrary(s *library.Step) *Step

StepFromLibrary converts the library Step type to a database Step type.

func (*Step) Nullify added in v0.1.2

func (s *Step) Nullify() *Step

Nullify ensures the valid flag for the sql.Null types are properly set.

When a field within the Step type is the zero value for the field, the valid flag is set to false causing it to be NULL in the database.

func (*Step) ToLibrary

func (s *Step) ToLibrary() *library.Step

ToLibrary converts the Step type to a library Step type.

func (*Step) Validate

func (s *Step) Validate() error

Validate verifies the necessary fields for the Step type are populated correctly.

type User

type User struct {
	ID           sql.NullInt64  `sql:"id"`
	Name         sql.NullString `sql:"name"`
	RefreshToken sql.NullString `sql:"refresh_token"`
	Token        sql.NullString `sql:"token"`
	Hash         sql.NullString `sql:"hash"` // deprecated
	Favorites    pq.StringArray `sql:"favorites" gorm:"type:varchar(5000)"`
	Active       sql.NullBool   `sql:"active"`
	Admin        sql.NullBool   `sql:"admin"`
}

User is the database representation of a user.

func UserFromContext

func UserFromContext(c context.Context) *User

UserFromContext retrieves the User type from the context.

func UserFromLibrary

func UserFromLibrary(u *library.User) *User

UserFromLibrary converts the library User type to a database User type.

func (*User) Decrypt added in v0.8.0

func (u *User) Decrypt(key string) error

Decrypt will manipulate the existing user tokens by base64 decoding them. Then, a AES-256 cipher block is created from the encryption key in order to decrypt the base64 decoded user tokens.

func (*User) Encrypt added in v0.8.0

func (u *User) Encrypt(key string) error

Encrypt will manipulate the existing user tokens by creating a AES-256 cipher block from the encryption key in order to encrypt the user tokens. Then, the user tokens are base64 encoded for transport across network boundaries.

func (*User) Nullify added in v0.1.2

func (u *User) Nullify() *User

Nullify ensures the valid flag for the sql.Null types are properly set.

When a field within the User type is the zero value for the field, the valid flag is set to false causing it to be NULL in the database.

func (*User) ToLibrary

func (u *User) ToLibrary() *library.User

ToLibrary converts the User type to a library User type.

func (*User) Validate

func (u *User) Validate() error

Validate verifies the necessary fields for the User type are populated correctly.

type Worker added in v0.6.0

type Worker struct {
	ID                  sql.NullInt64  `sql:"id"`
	Hostname            sql.NullString `sql:"hostname"`
	Address             sql.NullString `sql:"address"`
	Routes              pq.StringArray `sql:"routes" gorm:"type:varchar(1000)"`
	Active              sql.NullBool   `sql:"active"`
	Status              sql.NullString `sql:"status"`
	LastStatusUpdateAt  sql.NullInt64  `sql:"last_status_update_at"`
	RunningBuildIDs     pq.StringArray `sql:"running_build_ids" gorm:"type:varchar(500)"`
	LastBuildStartedAt  sql.NullInt64  `sql:"last_build_started_at"`
	LastBuildFinishedAt sql.NullInt64  `sql:"last_build_finished_at"`
	LastCheckedIn       sql.NullInt64  `sql:"last_checked_in"`
	BuildLimit          sql.NullInt64  `sql:"build_limit"`
}

Worker is the database representation of a worker.

func WorkerFromLibrary added in v0.6.0

func WorkerFromLibrary(w *library.Worker) *Worker

WorkerFromLibrary converts the library worker type to a database worker type.

func (*Worker) Nullify added in v0.6.0

func (w *Worker) Nullify() *Worker

Nullify ensures the valid flag for the sql.Null types are properly set.

When a field within the Build type is the zero value for the field, the valid flag is set to false causing it to be NULL in the database.

func (*Worker) ToLibrary added in v0.6.0

func (w *Worker) ToLibrary() *library.Worker

ToLibrary converts the Worker type to a library Worker type.

func (*Worker) Validate added in v0.6.0

func (w *Worker) Validate() error

Validate verifies the necessary fields for the Worker type are populated correctly.

Jump to

Keyboard shortcuts

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