queries

package
v0.0.0-...-8e108db Latest Latest
Warning

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

Go to latest
Published: May 26, 2026 License: Apache-2.0 Imports: 7 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddTeamMemberParams

type AddTeamMemberParams struct {
	UserID  uuid.UUID
	TeamID  uuid.UUID
	AddedBy uuid.UUID
}

type CheckAliasExistsInNamespaceParams

type CheckAliasExistsInNamespaceParams struct {
	Alias     string
	Namespace *string
}

type Cluster

type Cluster struct {
	ID                 uuid.UUID
	Endpoint           string
	EndpointTls        bool
	Token              string
	SandboxProxyDomain *string
	AuthOrgID          *string
}

type CreateActiveTemplateBuildParams

type CreateActiveTemplateBuildParams struct {
	BuildID    uuid.UUID
	TeamID     uuid.UUID
	TemplateID string
	Tags       []string
}

type CreateOrUpdateTemplateParams

type CreateOrUpdateTemplateParams struct {
	TemplateID string
	TeamID     uuid.UUID
	CreatedBy  *uuid.UUID
	ClusterID  *uuid.UUID
}

type CreateSnapshotTemplateEnvParams

type CreateSnapshotTemplateEnvParams struct {
	SnapshotID   string
	TeamID       uuid.UUID
	SandboxID    string
	OriginNodeID *string
	BuildID      *uuid.UUID
	Tag          string
}

type CreateTemplateAliasParams

type CreateTemplateAliasParams struct {
	Alias      string
	TemplateID string
	Namespace  *string
}

type CreateTemplateBuildAssignmentParams

type CreateTemplateBuildAssignmentParams struct {
	TemplateID string
	BuildID    uuid.UUID
	Tag        string
}

type CreateTemplateBuildParams

type CreateTemplateBuildParams struct {
	BuildID            uuid.UUID
	Status             types.BuildStatus
	RamMb              int64
	Vcpu               int64
	KernelVersion      string
	FirecrackerVersion string
	FreeDiskSizeMb     int64
	StartCmd           *string
	ReadyCmd           *string
	Dockerfile         *string
	Version            *string
}

type CreateVolumeParams

type CreateVolumeParams struct {
	TeamID     uuid.UUID
	VolumeType string
	Name       string
}

type DBTX

type DBTX interface {
	Exec(context.Context, string, ...interface{}) (pgconn.CommandTag, error)
	Query(context.Context, string, ...interface{}) (pgx.Rows, error)
	QueryRow(context.Context, string, ...interface{}) pgx.Row
}

type DeleteTemplateParams

type DeleteTemplateParams struct {
	TemplateID string
	TeamID     uuid.UUID
}

type DeleteTemplateTagsParams

type DeleteTemplateTagsParams struct {
	TemplateID string
	Tags       []string
}

type DeleteVolumeParams

type DeleteVolumeParams struct {
	TeamID   uuid.UUID
	VolumeID uuid.UUID
}

type Env

type Env struct {
	ID         string
	CreatedAt  time.Time
	UpdatedAt  time.Time
	Public     bool
	BuildCount int32
	// Number of times the env was spawned
	SpawnCount int64
	// Timestamp of the last time the env was spawned
	LastSpawnedAt *time.Time
	TeamID        uuid.UUID
	CreatedBy     *uuid.UUID
	ClusterID     *uuid.UUID
	Source        string
}

type EnvAlias

type EnvAlias struct {
	Alias       string
	IsRenamable bool
	EnvID       string
	Namespace   *string
	ID          uuid.UUID
}

type EnvBuild

type EnvBuild struct {
	ID                 uuid.UUID
	CreatedAt          time.Time
	UpdatedAt          time.Time
	FinishedAt         *time.Time
	Status             types.BuildStatus
	Dockerfile         *string
	StartCmd           *string
	Vcpu               int64
	RamMb              int64
	FreeDiskSizeMb     int64
	TotalDiskSizeMb    *int64
	KernelVersion      string
	FirecrackerVersion string
	EnvID              *string
	EnvdVersion        *string
	ReadyCmd           *string
	ClusterNodeID      *string
	Reason             types.BuildReason
	Version            *string
	CpuArchitecture    *string
	CpuFamily          *string
	CpuModel           *string
	CpuModelName       *string
	CpuFlags           []string
	StatusGroup        types.BuildStatusGroup
	TeamID             *uuid.UUID
}

type ExistsWaitingTemplateBuildParams

type ExistsWaitingTemplateBuildParams struct {
	AccessTokenHash string
	TemplateID      string
}

type FailTemplateBuildAndDeactivateParams

type FailTemplateBuildAndDeactivateParams struct {
	Status     types.BuildStatus
	FinishedAt *time.Time
	Reason     types.BuildReason
	Version    *string
	BuildID    uuid.UUID
}

type FinishTemplateBuildParams

type FinishTemplateBuildParams struct {
	TotalDiskSizeMb    *int64
	Status             types.BuildStatus
	EnvdVersion        *string
	KernelVersion      string
	FirecrackerVersion string
	BuildID            uuid.UUID
}

type GetActiveClustersRow

type GetActiveClustersRow struct {
	Cluster Cluster
}

type GetBuildInfoByTeamAndBuildIDParams

type GetBuildInfoByTeamAndBuildIDParams struct {
	TeamID  uuid.UUID
	BuildID uuid.UUID
}

type GetBuildInfoByTeamAndBuildIDRow

type GetBuildInfoByTeamAndBuildIDRow struct {
	CreatedAt  time.Time
	FinishedAt *time.Time
	Status     types.BuildStatus
	Reason     types.BuildReason
	Names      []string
}

type GetBuildsStatusesByTeamParams

type GetBuildsStatusesByTeamParams struct {
	TeamID   uuid.UUID
	BuildIds []uuid.UUID
}

type GetBuildsStatusesByTeamRow

type GetBuildsStatusesByTeamRow struct {
	ID          uuid.UUID
	StatusGroup types.BuildStatusGroup
	Reason      types.BuildReason
	FinishedAt  *time.Time
}

type GetCancellableTemplateBuildsByTeamRow

type GetCancellableTemplateBuildsByTeamRow struct {
	BuildID       uuid.UUID
	TemplateID    string
	ClusterID     *uuid.UUID
	ClusterNodeID *string
}

type GetConcurrentTemplateBuildsParams

type GetConcurrentTemplateBuildsParams struct {
	TemplateID     string
	CurrentBuildID uuid.UUID
}

type GetExclusiveBuildsForTemplateDeletionRow

type GetExclusiveBuildsForTemplateDeletionRow struct {
	BuildID       uuid.UUID
	ClusterNodeID *string
}

type GetInProgressTemplateBuildsByTeamParams

type GetInProgressTemplateBuildsByTeamParams struct {
	TeamID            uuid.UUID
	ExcludeTemplateID string
	ExcludeTags       []string
}

type GetInProgressTemplateBuildsRow

type GetInProgressTemplateBuildsRow struct {
	TeamClusterID *uuid.UUID
	Env           Env
	EnvBuild      EnvBuild
}

type GetLastSnapshotRow

type GetLastSnapshotRow struct {
	Aliases  []string
	Names    []string
	Snapshot Snapshot
	EnvBuild EnvBuild
}

type GetSandboxRecordByTeamAndSandboxIDParams

type GetSandboxRecordByTeamAndSandboxIDParams struct {
	TeamID       uuid.UUID
	SandboxID    string
	CreatedAfter time.Time
}

type GetSandboxRecordByTeamAndSandboxIDRow

type GetSandboxRecordByTeamAndSandboxIDRow struct {
	SandboxID       string
	TemplateID      string
	Vcpu            int64
	RamMb           int64
	TotalDiskSizeMb int64
	StartedAt       time.Time
	StoppedAt       *time.Time
	Domain          *string
	Alias           string
}

type GetSnapshotBuildsParams

type GetSnapshotBuildsParams struct {
	SandboxID string
	TeamID    uuid.UUID
}

type GetSnapshotBuildsRow

type GetSnapshotBuildsRow struct {
	TemplateID         string
	BuildID            *uuid.UUID
	BuildClusterNodeID *string
}

type GetSnapshotsWithCursorParams

type GetSnapshotsWithCursorParams struct {
	Limit      int32
	TeamID     uuid.UUID
	Metadata   types.JSONBStringMap
	CursorID   string
	CursorTime pgtype.Timestamptz
}

type GetSnapshotsWithCursorRow

type GetSnapshotsWithCursorRow struct {
	Aliases              []string
	Names                []string
	Snapshot             Snapshot
	BuildID              uuid.UUID
	BuildVcpu            int64
	BuildRamMb           int64
	BuildTotalDiskSizeMb *int64
	BuildEnvdVersion     *string
	BuildCreatedAt       time.Time
}

type GetTeamBuildsPageByBuildIDParams

type GetTeamBuildsPageByBuildIDParams struct {
	TeamID          uuid.UUID
	BuildID         uuid.UUID
	CursorCreatedAt time.Time
	CursorID        uuid.UUID
	Statuses        []string
	LimitPlusOne    int32
}

type GetTeamBuildsPageByBuildIDRow

type GetTeamBuildsPageByBuildIDRow struct {
	ID            uuid.UUID
	StatusGroup   types.BuildStatusGroup
	Reason        types.BuildReason
	CreatedAt     time.Time
	FinishedAt    *time.Time
	TemplateID    string
	TemplateAlias string
}

type GetTeamBuildsPageByTemplateAliasParams

type GetTeamBuildsPageByTemplateAliasParams struct {
	TemplateAlias   string
	TeamID          uuid.UUID
	CursorCreatedAt time.Time
	CursorID        uuid.UUID
	Statuses        []string
	LimitPlusOne    int32
}

type GetTeamBuildsPageByTemplateAliasRow

type GetTeamBuildsPageByTemplateAliasRow struct {
	ID            uuid.UUID
	StatusGroup   types.BuildStatusGroup
	Reason        types.BuildReason
	CreatedAt     time.Time
	FinishedAt    *time.Time
	TemplateID    string
	TemplateAlias string
}

type GetTeamBuildsPageByTemplateIDParams

type GetTeamBuildsPageByTemplateIDParams struct {
	TemplateID      string
	TeamID          uuid.UUID
	CursorCreatedAt time.Time
	CursorID        uuid.UUID
	Statuses        []string
	LimitPlusOne    int32
}

type GetTeamBuildsPageByTemplateIDRow

type GetTeamBuildsPageByTemplateIDRow struct {
	ID            uuid.UUID
	StatusGroup   types.BuildStatusGroup
	Reason        types.BuildReason
	CreatedAt     time.Time
	FinishedAt    *time.Time
	TemplateID    string
	TemplateAlias string
}

type GetTeamBuildsPageParams

type GetTeamBuildsPageParams struct {
	TeamID          uuid.UUID
	CursorCreatedAt time.Time
	CursorID        uuid.UUID
	Statuses        []string
	LimitPlusOne    int32
}

type GetTeamBuildsPageRow

type GetTeamBuildsPageRow struct {
	ID            uuid.UUID
	StatusGroup   types.BuildStatusGroup
	Reason        types.BuildReason
	CreatedAt     time.Time
	FinishedAt    *time.Time
	TemplateID    string
	TemplateAlias string
}

type GetTeamMemberRelationParams

type GetTeamMemberRelationParams struct {
	TeamID uuid.UUID
	UserID uuid.UUID
}

type GetTeamMembersRow

type GetTeamMembersRow struct {
	UserID    uuid.UUID
	TeamID    uuid.UUID
	IsDefault bool
	AddedBy   *uuid.UUID
	CreatedAt pgtype.Timestamp
}

type GetTeamTemplatesRow

type GetTeamTemplatesRow struct {
	Env                     Env
	BuildID                 uuid.UUID
	BuildVcpu               int64
	BuildRamMb              int64
	BuildTotalDiskSizeMb    *int64
	BuildEnvdVersion        *string
	BuildFirecrackerVersion string
	BuildStatus             types.BuildStatusGroup
	CreatorID               *uuid.UUID
	Aliases                 []string
	Names                   []string
}

type GetTemplateAliasByAliasRow

type GetTemplateAliasByAliasRow struct {
	Alias       string
	IsRenamable bool
	EnvID       string
	Namespace   *string
	ID          uuid.UUID
	TeamID      uuid.UUID
	Public      bool
}

type GetTemplateAliasesRow

type GetTemplateAliasesRow struct {
	Alias     string
	Namespace *string
	EnvID     string
}

type GetTemplateBuildWithTemplateParams

type GetTemplateBuildWithTemplateParams struct {
	TemplateID string
	BuildID    uuid.UUID
}

type GetTemplateBuildWithTemplateRow

type GetTemplateBuildWithTemplateRow struct {
	Env      Env
	EnvBuild EnvBuild
}

type GetTemplateBuildsParams

type GetTemplateBuildsParams struct {
	TemplateID string
	CursorTime time.Time
	CursorID   string
	BuildLimit int32
}

type GetTemplateByAliasParams

type GetTemplateByAliasParams struct {
	Alias     string
	Namespace *string
}

type GetTemplateByAliasRow

type GetTemplateByAliasRow struct {
	ID     string
	TeamID uuid.UUID
	Public bool
}

type GetTemplateByIDWithAliasesRow

type GetTemplateByIDWithAliasesRow struct {
	ID            string
	CreatedAt     time.Time
	UpdatedAt     time.Time
	Public        bool
	BuildCount    int32
	SpawnCount    int64
	LastSpawnedAt *time.Time
	TeamID        uuid.UUID
	CreatedBy     *uuid.UUID
	ClusterID     *uuid.UUID
	Source        string
	Aliases       []string
	Names         []string
}

type GetTemplateByIdRow

type GetTemplateByIdRow struct {
	ID        string
	TeamID    uuid.UUID
	Public    bool
	ClusterID *uuid.UUID
}

type GetTemplateWithBuildByTagParams

type GetTemplateWithBuildByTagParams struct {
	Tag        *string
	TemplateID string
}

type GetTemplateWithBuildByTagRow

type GetTemplateWithBuildByTagRow struct {
	Env      Env
	EnvBuild EnvBuild
	Aliases  []string
	Names    []string
}

type GetVolumeParams

type GetVolumeParams struct {
	VolumeID uuid.UUID
	TeamID   uuid.UUID
}

type GetVolumesByNameParams

type GetVolumesByNameParams struct {
	TeamID      uuid.UUID
	VolumeNames []string
}

type InvalidateUnstartedTemplateBuildsParams

type InvalidateUnstartedTemplateBuildsParams struct {
	Reason     types.BuildReason
	TemplateID string
	Tags       []string
}

type ListTeamSnapshotTemplatesParams

type ListTeamSnapshotTemplatesParams struct {
	TeamID     uuid.UUID
	SandboxID  *string
	CursorTime time.Time
	CursorID   string
	PageLimit  int32
}

type ListTeamSnapshotTemplatesRow

type ListTeamSnapshotTemplatesRow struct {
	SnapshotID         string
	SandboxID          string
	CreatedAt          time.Time
	TeamID             uuid.UUID
	BuildID            uuid.UUID
	Vcpu               int64
	RamMb              int64
	TotalDiskSizeMb    *int64
	EnvdVersion        *string
	KernelVersion      string
	FirecrackerVersion string
	ClusterNodeID      *string
	Tag                string
	Names              []string
}

type ListTemplateTagsRow

type ListTemplateTagsRow struct {
	Tag       string
	BuildID   uuid.UUID
	CreatedAt pgtype.Timestamptz
}

type Queries

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

func New

func New(db DBTX) *Queries

func (*Queries) AddTeamMember

func (q *Queries) AddTeamMember(ctx context.Context, arg AddTeamMemberParams) error

func (*Queries) CheckAliasConflictsWithTemplateID

func (q *Queries) CheckAliasConflictsWithTemplateID(ctx context.Context, alias string) (bool, error)

func (*Queries) CheckAliasExistsInNamespace

func (q *Queries) CheckAliasExistsInNamespace(ctx context.Context, arg CheckAliasExistsInNamespaceParams) (EnvAlias, error)

Check if alias exists within a specific namespace. Used for namespace-aware lookups. Returns the alias if found.

func (*Queries) CreateActiveTemplateBuild

func (q *Queries) CreateActiveTemplateBuild(ctx context.Context, arg CreateActiveTemplateBuildParams) error

func (*Queries) CreateOrUpdateTemplate

func (q *Queries) CreateOrUpdateTemplate(ctx context.Context, arg CreateOrUpdateTemplateParams) error

func (*Queries) CreateSnapshotTemplateEnv

func (q *Queries) CreateSnapshotTemplateEnv(ctx context.Context, arg CreateSnapshotTemplateEnvParams) (string, error)

Creates a snapshot_template env entry with source='snapshot_template' and links it to an existing build This is used after UpsertSnapshot to create a persistent snapshot template

func (*Queries) CreateTemplateAlias

func (q *Queries) CreateTemplateAlias(ctx context.Context, arg CreateTemplateAliasParams) error

func (*Queries) CreateTemplateBuild

func (q *Queries) CreateTemplateBuild(ctx context.Context, arg CreateTemplateBuildParams) error

kernel_version and firecracker_version are populated here for backwards compatibility with consumers that read the env_builds row before the build completes. The template-manager reports the versions it actually used via TemplateBuildMetadata, and FinishTemplateBuild overwrites these fields with the reported values.

func (*Queries) CreateTemplateBuildAssignment

func (q *Queries) CreateTemplateBuildAssignment(ctx context.Context, arg CreateTemplateBuildAssignmentParams) error

Creates a build assignment to associate a build with a custom tag

func (*Queries) CreateVolume

func (q *Queries) CreateVolume(ctx context.Context, arg CreateVolumeParams) (Volume, error)

func (*Queries) DeleteActiveTemplateBuild

func (q *Queries) DeleteActiveTemplateBuild(ctx context.Context, buildID uuid.UUID) error

func (*Queries) DeleteOtherTemplateAliases

func (q *Queries) DeleteOtherTemplateAliases(ctx context.Context, envID string) ([]string, error)

func (*Queries) DeleteTemplate

func (q *Queries) DeleteTemplate(ctx context.Context, arg DeleteTemplateParams) ([]string, error)

Deletes a template and returns its alias cache keys for cache invalidation. Alias keys are captured via CTE before the cascade delete removes them.

func (*Queries) DeleteTemplateTags

func (q *Queries) DeleteTemplateTags(ctx context.Context, arg DeleteTemplateTagsParams) error

Deletes tag assignments from a template (env)

func (*Queries) DeleteVolume

func (q *Queries) DeleteVolume(ctx context.Context, arg DeleteVolumeParams) error

func (*Queries) ExistsTemplateSnapshots

func (q *Queries) ExistsTemplateSnapshots(ctx context.Context, envID string) (bool, error)

func (*Queries) ExistsWaitingTemplateBuild

func (q *Queries) ExistsWaitingTemplateBuild(ctx context.Context, arg ExistsWaitingTemplateBuildParams) (bool, error)

func (*Queries) FailTemplateBuildAndDeactivate

func (q *Queries) FailTemplateBuildAndDeactivate(ctx context.Context, arg FailTemplateBuildAndDeactivateParams) error

func (*Queries) FindVolumesByTeamID

func (q *Queries) FindVolumesByTeamID(ctx context.Context, teamID uuid.UUID) ([]Volume, error)

func (*Queries) FinishTemplateBuild

func (q *Queries) FinishTemplateBuild(ctx context.Context, arg FinishTemplateBuildParams) error

kernel_version and firecracker_version are overwritten with whatever the template-manager reports back in TemplateBuildMetadata. Old template-managers that do not populate those fields end up passing an empty string; the NULLIF + COALESCE trick leaves the row's existing values untouched in that case so we do not clobber the values the API seeded at build registration.

func (*Queries) GetActiveClusters

func (q *Queries) GetActiveClusters(ctx context.Context) ([]GetActiveClustersRow, error)

func (*Queries) GetBuildsStatusesByTeam

func (q *Queries) GetBuildsStatusesByTeam(ctx context.Context, arg GetBuildsStatusesByTeamParams) ([]GetBuildsStatusesByTeamRow, error)

func (*Queries) GetCancellableTemplateBuildsByTeam

func (q *Queries) GetCancellableTemplateBuildsByTeam(ctx context.Context, teamID uuid.UUID) ([]GetCancellableTemplateBuildsByTeamRow, error)

Relies on active_template_builds table (migration 20260305130000).

func (*Queries) GetConcurrentTemplateBuilds

func (q *Queries) GetConcurrentTemplateBuilds(ctx context.Context, arg GetConcurrentTemplateBuildsParams) ([]EnvBuild, error)

func (*Queries) GetExclusiveBuildsForTemplateDeletion

func (q *Queries) GetExclusiveBuildsForTemplateDeletion(ctx context.Context, templateID string) ([]GetExclusiveBuildsForTemplateDeletionRow, error)

Returns builds that are ONLY assigned to this template (safe to delete). Builds shared with other templates are excluded. DISTINCT needed because builds may have multiple tag assignments to the same template.

func (*Queries) GetInProgressTemplateBuilds

func (q *Queries) GetInProgressTemplateBuilds(ctx context.Context) ([]GetInProgressTemplateBuildsRow, error)

func (*Queries) GetInProgressTemplateBuildsByTeam

func (q *Queries) GetInProgressTemplateBuildsByTeam(ctx context.Context, arg GetInProgressTemplateBuildsByTeamParams) (int64, error)

Relies on active_template_builds table (migration 20260305130000).

func (*Queries) GetLastSnapshot

func (q *Queries) GetLastSnapshot(ctx context.Context, sandboxID string) (GetLastSnapshotRow, error)

func (*Queries) GetPublicUserID

func (q *Queries) GetPublicUserID(ctx context.Context, id uuid.UUID) (uuid.UUID, error)

func (*Queries) GetSnapshotBuilds

func (q *Queries) GetSnapshotBuilds(ctx context.Context, arg GetSnapshotBuildsParams) ([]GetSnapshotBuildsRow, error)

func (*Queries) GetSnapshotsWithCursor

func (q *Queries) GetSnapshotsWithCursor(ctx context.Context, arg GetSnapshotsWithCursorParams) ([]GetSnapshotsWithCursorRow, error)

func (*Queries) GetTeamBuildsPage

func (q *Queries) GetTeamBuildsPage(ctx context.Context, arg GetTeamBuildsPageParams) ([]GetTeamBuildsPageRow, error)

func (*Queries) GetTeamBuildsPageByBuildID

func (q *Queries) GetTeamBuildsPageByBuildID(ctx context.Context, arg GetTeamBuildsPageByBuildIDParams) ([]GetTeamBuildsPageByBuildIDRow, error)

func (*Queries) GetTeamMemberRelation

func (q *Queries) GetTeamMemberRelation(ctx context.Context, arg GetTeamMemberRelationParams) (UsersTeam, error)

func (*Queries) GetTeamMembers

func (q *Queries) GetTeamMembers(ctx context.Context, teamID uuid.UUID) ([]GetTeamMembersRow, error)

func (*Queries) GetTeamTemplates

func (q *Queries) GetTeamTemplates(ctx context.Context, teamID uuid.UUID) ([]GetTeamTemplatesRow, error)

func (*Queries) GetTemplateAliasByAlias

func (q *Queries) GetTemplateAliasByAlias(ctx context.Context, alias string) (GetTemplateAliasByAliasRow, error)

func (*Queries) GetTemplateAliases

func (q *Queries) GetTemplateAliases(ctx context.Context, envIds []string) ([]GetTemplateAliasesRow, error)

func (*Queries) GetTemplateBuilds

func (q *Queries) GetTemplateBuilds(ctx context.Context, arg GetTemplateBuildsParams) ([]EnvBuild, error)

func (*Queries) GetTemplateByAlias

func (q *Queries) GetTemplateByAlias(ctx context.Context, arg GetTemplateByAliasParams) (GetTemplateByAliasRow, error)

Resolves a template by alias and namespace @alias: the alias to look up @namespace: the namespace to scope the lookup (NULL for promoted templates)

func (*Queries) GetTemplateByID

func (q *Queries) GetTemplateByID(ctx context.Context, id string) (Env, error)

func (*Queries) GetTemplateByIDWithAliases

func (q *Queries) GetTemplateByIDWithAliases(ctx context.Context, id string) (GetTemplateByIDWithAliasesRow, error)

func (*Queries) GetTemplateById

func (q *Queries) GetTemplateById(ctx context.Context, templateID string) (GetTemplateByIdRow, error)

Looks up a template by its ID directly @template_id: the template ID to look up

func (*Queries) GetTemplateWithBuildByTag

Fetches a template with its build by template ID and tag. @template_id: the template ID to look up @tag: defaults to 'default' if not provided

func (*Queries) GetVolume

func (q *Queries) GetVolume(ctx context.Context, arg GetVolumeParams) (Volume, error)

func (*Queries) GetVolumesByName

func (q *Queries) GetVolumesByName(ctx context.Context, arg GetVolumesByNameParams) ([]Volume, error)

func (*Queries) InvalidateUnstartedTemplateBuilds

func (q *Queries) InvalidateUnstartedTemplateBuilds(ctx context.Context, arg InvalidateUnstartedTemplateBuildsParams) error

func (*Queries) ListTeamSnapshotTemplates

func (q *Queries) ListTeamSnapshotTemplates(ctx context.Context, arg ListTeamSnapshotTemplatesParams) ([]ListTeamSnapshotTemplatesRow, error)

Lists all persistent snapshot templates for a team with cursor-based pagination. Snapshot templates are envs with source='snapshot_template'.

func (*Queries) ListTemplateTags

func (q *Queries) ListTemplateTags(ctx context.Context, templateID string) ([]ListTemplateTagsRow, error)

Lists the latest tag assignment per tag for a given template. Multiple assignments can exist per tag; only the most recent is returned. @template_id: the template ID to look up

func (*Queries) LockTeamMembersForUpdate

func (q *Queries) LockTeamMembersForUpdate(ctx context.Context, teamID uuid.UUID) ([]uuid.UUID, error)

func (*Queries) RemoveTeamMember

func (q *Queries) RemoveTeamMember(ctx context.Context, arg RemoveTeamMemberParams) error

func (*Queries) ResolveTeamBySlugAndUser

func (*Queries) UpdateEnvBuildStatus

func (q *Queries) UpdateEnvBuildStatus(ctx context.Context, arg UpdateEnvBuildStatusParams) error

func (*Queries) UpdateTemplate

func (q *Queries) UpdateTemplate(ctx context.Context, arg UpdateTemplateParams) (string, error)

func (*Queries) UpdateTemplateBuild

func (q *Queries) UpdateTemplateBuild(ctx context.Context, arg UpdateTemplateBuildParams) error

func (*Queries) UpdateTemplateSpawnCount

func (q *Queries) UpdateTemplateSpawnCount(ctx context.Context, arg UpdateTemplateSpawnCountParams) error

func (*Queries) UpsertSnapshot

func (q *Queries) UpsertSnapshot(ctx context.Context, arg UpsertSnapshotParams) (UpsertSnapshotRow, error)

Create a new snapshot or update an existing one Create a new build for the snapshot Create the build assignment edge (explicit, not relying on trigger)

func (*Queries) UpsertTemplateAliasIfNotExists

func (q *Queries) UpsertTemplateAliasIfNotExists(ctx context.Context, arg UpsertTemplateAliasIfNotExistsParams) (string, error)

Attempts to create an alias. Returns the env_id that the alias points to. If the alias already exists, returns the existing env_id without modifying it. Uses ON CONFLICT DO NOTHING to avoid race conditions.

func (*Queries) WithTx

func (q *Queries) WithTx(tx pgx.Tx) *Queries

type RemoveTeamMemberParams

type RemoveTeamMemberParams struct {
	TeamID uuid.UUID
	UserID uuid.UUID
}

type ResolveTeamBySlugAndUserParams

type ResolveTeamBySlugAndUserParams struct {
	UserID uuid.UUID
	Slug   string
}

type ResolveTeamBySlugAndUserRow

type ResolveTeamBySlugAndUserRow struct {
	ID   uuid.UUID
	Slug string
}

type Snapshot

type Snapshot struct {
	CreatedAt           pgtype.Timestamptz
	EnvID               string
	SandboxID           string
	ID                  uuid.UUID
	Metadata            types.JSONBStringMap
	BaseEnvID           string
	SandboxStartedAt    pgtype.Timestamptz
	EnvSecure           bool
	OriginNodeID        string
	AllowInternetAccess *bool
	AutoPause           bool
	TeamID              uuid.UUID
	Config              *types.PausedSandboxConfig
}

type UpdateEnvBuildStatusParams

type UpdateEnvBuildStatusParams struct {
	Status     types.BuildStatus
	FinishedAt *time.Time
	Reason     types.BuildReason
	Version    *string
	BuildID    uuid.UUID
}

type UpdateTemplateBuildParams

type UpdateTemplateBuildParams struct {
	StartCmd        *string
	ReadyCmd        *string
	Dockerfile      *string
	ClusterNodeID   *string
	CpuArchitecture *string
	CpuFamily       *string
	CpuModel        *string
	CpuModelName    *string
	CpuFlags        []string
	BuildUuid       uuid.UUID
}

type UpdateTemplateParams

type UpdateTemplateParams struct {
	Public            bool
	TeamID            uuid.UUID
	TemplateIDOrAlias string
}

type UpdateTemplateSpawnCountParams

type UpdateTemplateSpawnCountParams struct {
	SpawnCount    int64
	LastSpawnedAt *time.Time
	TemplateID    string
}

type UpsertSnapshotParams

type UpsertSnapshotParams struct {
	TemplateID          string
	TeamID              uuid.UUID
	SandboxID           string
	BaseTemplateID      string
	Metadata            types.JSONBStringMap
	StartedAt           pgtype.Timestamptz
	Secure              bool
	AllowInternetAccess *bool
	OriginNodeID        string
	AutoPause           bool
	Config              *types.PausedSandboxConfig
	Vcpu                int64
	RamMb               int64
	FreeDiskSizeMb      int64
	KernelVersion       string
	FirecrackerVersion  string
	EnvdVersion         *string
	Status              types.BuildStatus
	TotalDiskSizeMb     *int64
	CpuArchitecture     *string
	CpuFamily           *string
	CpuModel            *string
	CpuModelName        *string
	CpuFlags            []string
}

type UpsertSnapshotRow

type UpsertSnapshotRow struct {
	BuildID    uuid.UUID
	TemplateID string
}

type UpsertTemplateAliasIfNotExistsParams

type UpsertTemplateAliasIfNotExistsParams struct {
	Alias      string
	TemplateID string
	Namespace  *string
}

type UsersTeam

type UsersTeam struct {
	ID        int64
	UserID    uuid.UUID
	TeamID    uuid.UUID
	IsDefault bool
	AddedBy   *uuid.UUID
	CreatedAt pgtype.Timestamp
	UuidID    uuid.UUID
}

type Volume

type Volume struct {
	ID         uuid.UUID
	TeamID     uuid.UUID
	Name       string
	VolumeType string
	CreatedAt  pgtype.Timestamptz
}

Jump to

Keyboard shortcuts

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