database

package
v0.0.0-...-cb886e6 Latest Latest
Warning

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

Go to latest
Published: Dec 26, 2023 License: GPL-3.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetDatabaseConnection

func GetDatabaseConnection(dbUrl string) (*sql.DB, error)

Types

type DB

type DB struct {
	*gorm.DB
}

func Connect

func Connect(url string) (*DB, error)

func (*DB) Close

func (db *DB) Close() error

func (*DB) DeleteEnvironmentByPullRequest

func (db *DB) DeleteEnvironmentByPullRequest(pullRequest int, owner, repo, branch string) error

func (*DB) FindEnvironmentByID

func (db *DB) FindEnvironmentByID(id uuid.UUID) (Environment, error)

func (*DB) FindEnvironmentsByOwner

func (db *DB) FindEnvironmentsByOwner(owner string, options FindEnvironmentsOptions) ([]Environment, error)

func (*DB) FindEnvironmentsByPullRequest

func (db *DB) FindEnvironmentsByPullRequest(
	pullRequest int,
	owner string,
	repo string,
	branch string,
	options FindEnvironmentsOptions,
) ([]Environment, error)

func (*DB) FindServicesByEnvironment

func (db *DB) FindServicesByEnvironment(environmentID uuid.UUID) ([]Service, error)

func (*DB) Migrate

func (db *DB) Migrate() (int, error)

func (*DB) SaveEvent

func (db *DB) SaveEvent(owner, action string) error

type EnvStatus

type EnvStatus string
const (
	EnvPending  EnvStatus = "pending"
	EnvBuilding EnvStatus = "building"
	EnvSuccess  EnvStatus = "success"
	EnvDegraded EnvStatus = "degraded"
	EnvLimited  EnvStatus = "limited"
	EnvStale    EnvStatus = "stale"
)

type Environment

type Environment struct {
	ID             uuid.UUID `gorm:"type:uuid;default:gen_random_uuid();primaryKey"`
	CreatedAt      time.Time
	UpdatedAt      time.Time
	DeletedAt      gorm.DeletedAt `gorm:"index"`
	Owner          string
	BranchOwner    string
	Repo           string
	Branch         sql.NullString
	PullRequest    sql.NullInt32
	Author         string
	Status         EnvStatus
	DegradedReason json.RawMessage `gorm:"type:jsonb"`
	Services       []Service       `gorm:"foreignKey:EnvironmentID"`
	GHCommentID    int64           `gorm:"column:gh_comment_id"`
	BuildTool      string
}

func NewEnvironment

func NewEnvironment(
	ID uuid.UUID,
	owner, branchOwner, repo, branch string,
	pullRequest *int, author string, status EnvStatus,
) *Environment

type FindEnvironmentsOptions

type FindEnvironmentsOptions struct {
	IncludeDeleted bool
}

type MarketplaceEvent

type MarketplaceEvent struct {
	ID        string `gorm:"primaryKey"`
	CreatedAt time.Time
	UpdatedAt time.Time
	DeletedAt gorm.DeletedAt `gorm:"index"`
	Owner     string
	Action    string
}

Action can only be "purchased", "cancelled", "pending_change", "pending_change_cancelled", "changed"

func (*MarketplaceEvent) BeforeCreate

func (e *MarketplaceEvent) BeforeCreate(tx *gorm.DB) error

type Service

type Service struct {
	ID            string `gorm:"primaryKey"`
	Name          string
	EnvironmentID uuid.UUID `gorm:"type:uuid;index"`
	Url           string
	Image         string
	Build         string
	BuildStatus   string
	Index         int
	PublicPort    string
	InternalPorts pq.StringArray `gorm:"type:text[]"`
	CreatedAt     time.Time
	UpdatedAt     time.Time
	DeletedAt     gorm.DeletedAt `gorm:"index"`
}

Jump to

Keyboard shortcuts

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