query

package
v0.0.0-...-b55e7ca Latest Latest
Warning

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

Go to latest
Published: Feb 26, 2026 License: AGPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrBatchAlreadyClosed = errors.New("batch already closed")
)

Functions

This section is empty.

Types

type AllChunkThumbnailHashesRow

type AllChunkThumbnailHashesRow struct {
	ID            string
	ThumbnailHash pgtype.Text
}

type Blob

type Blob struct {
	Hash      string
	Data      []byte
	CreatedAt time.Time
}

type BuildStatus

type BuildStatus string
const (
	BuildStatusPENDING               BuildStatus = "PENDING"
	BuildStatusIMAGEBUILD            BuildStatus = "IMAGE_BUILD"
	BuildStatusIMAGEBUILDFAILED      BuildStatus = "IMAGE_BUILD_FAILED"
	BuildStatusCHECKPOINTBUILD       BuildStatus = "CHECKPOINT_BUILD"
	BuildStatusCHECKPOINTBUILDFAILED BuildStatus = "CHECKPOINT_BUILD_FAILED"
	BuildStatusCOMPLETED             BuildStatus = "COMPLETED"
)

func (*BuildStatus) Scan

func (e *BuildStatus) Scan(src interface{}) error

type BulkDeleteInstancesBatchResults

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

func (*BulkDeleteInstancesBatchResults) Close

func (*BulkDeleteInstancesBatchResults) Exec

func (b *BulkDeleteInstancesBatchResults) Exec(f func(int, error))

type BulkGetBlobDataBatchResults

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

func (*BulkGetBlobDataBatchResults) Close

func (*BulkGetBlobDataBatchResults) Query

func (b *BulkGetBlobDataBatchResults) Query(f func(int, []Blob, error))

type BulkInsertBlobDataBatchResults

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

func (*BulkInsertBlobDataBatchResults) Close

func (*BulkInsertBlobDataBatchResults) Exec

func (b *BulkInsertBlobDataBatchResults) Exec(f func(int, error))

type BulkInsertBlobDataParams

type BulkInsertBlobDataParams struct {
	Hash string
	Data []byte
}

type BulkInsertFlavorFileHashesBatchResults

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

func (*BulkInsertFlavorFileHashesBatchResults) Close

func (*BulkInsertFlavorFileHashesBatchResults) Exec

type BulkInsertFlavorFileHashesParams

type BulkInsertFlavorFileHashesParams struct {
	FlavorVersionID string
	FileHash        string
	FilePath        string
}

type BulkUpdateInstanceStateAndPortBatchResults

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

func (*BulkUpdateInstanceStateAndPortBatchResults) Close

func (*BulkUpdateInstanceStateAndPortBatchResults) Exec

type BulkUpdateInstanceStateAndPortParams

type BulkUpdateInstanceStateAndPortParams struct {
	State InstanceState
	Port  *int32
	ID    string
}

type Chunk

type Chunk struct {
	ID                 string
	Name               string
	Description        string
	Tags               []string
	CreatedAt          time.Time
	UpdatedAt          time.Time
	OwnerID            string
	ThumbnailHash      pgtype.Text
	ThumbnailUpdatedAt time.Time
}

type CreateChunkParams

type CreateChunkParams struct {
	ID          string
	Name        string
	Description string
	Tags        []string
	OwnerID     string
	CreatedAt   time.Time
	UpdatedAt   time.Time
}

type CreateFlavorParams

type CreateFlavorParams struct {
	ID        string
	ChunkID   string
	Name      string
	CreatedAt time.Time
	UpdatedAt time.Time
}

type CreateFlavorVersionParams

type CreateFlavorVersionParams struct {
	ID               string
	FlavorID         string
	Hash             string
	ChangeHash       string
	Version          string
	PrevVersionID    *string
	MinecraftVersion string
	CreatedAt        time.Time
}

type CreateInstanceParams

type CreateInstanceParams struct {
	ID              string
	ChunkID         string
	FlavorVersionID string
	NodeID          string
	State           InstanceState
	OwnerID         string
	CreatedAt       time.Time
	UpdatedAt       time.Time
}

type CreateUserParams

type CreateUserParams struct {
	ID        string
	Nickname  string
	Email     string
	CreatedAt time.Time
	UpdatedAt time.Time
}

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
	SendBatch(context.Context, *pgx.Batch) pgx.BatchResults
}

type Flavor

type Flavor struct {
	ID        string
	ChunkID   string
	Name      string
	CreatedAt time.Time
	UpdatedAt time.Time
}

type FlavorNameExistsParams

type FlavorNameExistsParams struct {
	Name    string
	ChunkID string
}

type FlavorVersion

type FlavorVersion struct {
	ID                     string
	FlavorID               string
	Hash                   string
	ChangeHash             string
	BuildStatus            BuildStatus
	Version                string
	FilesUploaded          bool
	PrevVersionID          *string
	CreatedAt              time.Time
	PresignedUrlExpiryDate pgtype.Timestamptz
	PresignedUrl           pgtype.Text
	MinecraftVersion       string
}

type FlavorVersionByIDRow

type FlavorVersionByIDRow struct {
	ID                     string
	FlavorID               string
	Hash                   string
	ChangeHash             string
	BuildStatus            BuildStatus
	Version                string
	FilesUploaded          bool
	PrevVersionID          *string
	CreatedAt              time.Time
	PresignedUrlExpiryDate pgtype.Timestamptz
	PresignedUrl           pgtype.Text
	MinecraftVersion       string
	FlavorVersionID        string
	FileHash               string
	FilePath               string
	CreatedAt_2            time.Time
}

type FlavorVersionExistsParams

type FlavorVersionExistsParams struct {
	Version  string
	FlavorID string
}

type FlavorVersionFile

type FlavorVersionFile struct {
	FlavorVersionID string
	FileHash        string
	FilePath        string
	CreatedAt       time.Time
}

type GetChunkByIDRow

type GetChunkByIDRow struct {
	ID                     string
	Name                   string
	Description            string
	Tags                   []string
	CreatedAt              time.Time
	UpdatedAt              time.Time
	OwnerID                string
	ThumbnailHash          pgtype.Text
	ThumbnailUpdatedAt     time.Time
	ID_2                   *string
	ChunkID                *string
	Name_2                 pgtype.Text
	CreatedAt_2            pgtype.Timestamptz
	UpdatedAt_2            pgtype.Timestamptz
	ID_3                   *string
	FlavorID               *string
	Hash                   pgtype.Text
	ChangeHash             pgtype.Text
	BuildStatus            NullBuildStatus
	Version                pgtype.Text
	FilesUploaded          pgtype.Bool
	PrevVersionID          *string
	CreatedAt_3            pgtype.Timestamptz
	PresignedUrlExpiryDate pgtype.Timestamptz
	PresignedUrl           pgtype.Text
	MinecraftVersion       pgtype.Text
	FlavorVersionID        *string
	FileHash               pgtype.Text
	FilePath               pgtype.Text
	CreatedAt_4            pgtype.Timestamptz
	ID_4                   *string
	Nickname               pgtype.Text
	Email                  pgtype.Text
	CreatedAt_5            pgtype.Timestamptz
	UpdatedAt_3            pgtype.Timestamptz
}

type GetInstanceRow

type GetInstanceRow struct {
	ID                     string
	ChunkID                string
	FlavorVersionID        string
	NodeID                 string
	Port                   *int32
	State                  InstanceState
	CreatedAt              time.Time
	UpdatedAt              time.Time
	OwnerID                string
	ID_2                   string
	FlavorID               string
	Hash                   string
	ChangeHash             string
	BuildStatus            BuildStatus
	Version                string
	FilesUploaded          bool
	PrevVersionID          *string
	CreatedAt_2            time.Time
	PresignedUrlExpiryDate pgtype.Timestamptz
	PresignedUrl           pgtype.Text
	MinecraftVersion       string
	ID_3                   string
	Name                   string
	Description            string
	Tags                   []string
	CreatedAt_3            time.Time
	UpdatedAt_2            time.Time
	OwnerID_2              string
	ThumbnailHash          pgtype.Text
	ThumbnailUpdatedAt     time.Time
	ID_4                   string
	ChunkID_2              string
	Name_2                 string
	CreatedAt_4            time.Time
	UpdatedAt_3            time.Time
	ID_5                   string
	Name_3                 string
	Address                netip.Addr
	CheckpointApiEndpoint  string
	CreatedAt_5            time.Time
	ID_6                   string
	Nickname               string
	Email                  string
	CreatedAt_6            time.Time
	UpdatedAt_4            time.Time
}

type GetInstancesByNodeIDRow

type GetInstancesByNodeIDRow struct {
	ID                     string
	ChunkID                string
	FlavorVersionID        string
	NodeID                 string
	Port                   *int32
	State                  InstanceState
	CreatedAt              time.Time
	UpdatedAt              time.Time
	OwnerID                string
	ID_2                   string
	FlavorID               string
	Hash                   string
	ChangeHash             string
	BuildStatus            BuildStatus
	Version                string
	FilesUploaded          bool
	PrevVersionID          *string
	CreatedAt_2            time.Time
	PresignedUrlExpiryDate pgtype.Timestamptz
	PresignedUrl           pgtype.Text
	MinecraftVersion       string
	ID_3                   string
	Name                   string
	Description            string
	Tags                   []string
	CreatedAt_3            time.Time
	UpdatedAt_2            time.Time
	OwnerID_2              string
	ThumbnailHash          pgtype.Text
	ThumbnailUpdatedAt     time.Time
	ID_4                   string
	Name_2                 string
	Address                netip.Addr
	CheckpointApiEndpoint  string
	CreatedAt_4            time.Time
	ID_5                   string
	Nickname               string
	Email                  string
	CreatedAt_5            time.Time
	UpdatedAt_3            time.Time
}

type Instance

type Instance struct {
	ID              string
	ChunkID         string
	FlavorVersionID string
	NodeID          string
	Port            *int32
	State           InstanceState
	CreatedAt       time.Time
	UpdatedAt       time.Time
	OwnerID         string
}

type InstanceState

type InstanceState string
const (
	InstanceStatePENDING        InstanceState = "PENDING"
	InstanceStateCREATING       InstanceState = "CREATING"
	InstanceStateRUNNING        InstanceState = "RUNNING"
	InstanceStateDELETING       InstanceState = "DELETING"
	InstanceStateDELETED        InstanceState = "DELETED"
	InstanceStateCREATIONFAILED InstanceState = "CREATION_FAILED"
)

func (*InstanceState) Scan

func (e *InstanceState) Scan(src interface{}) error

type ListChunksRow

type ListChunksRow struct {
	ID                     string
	Name                   string
	Description            string
	Tags                   []string
	CreatedAt              time.Time
	UpdatedAt              time.Time
	OwnerID                string
	ThumbnailHash          pgtype.Text
	ThumbnailUpdatedAt     time.Time
	ID_2                   *string
	ChunkID                *string
	Name_2                 pgtype.Text
	CreatedAt_2            pgtype.Timestamptz
	UpdatedAt_2            pgtype.Timestamptz
	ID_3                   *string
	FlavorID               *string
	Hash                   pgtype.Text
	ChangeHash             pgtype.Text
	BuildStatus            NullBuildStatus
	Version                pgtype.Text
	FilesUploaded          pgtype.Bool
	PrevVersionID          *string
	CreatedAt_3            pgtype.Timestamptz
	PresignedUrlExpiryDate pgtype.Timestamptz
	PresignedUrl           pgtype.Text
	MinecraftVersion       pgtype.Text
	FlavorVersionID        *string
	FileHash               pgtype.Text
	FilePath               pgtype.Text
	CreatedAt_4            pgtype.Timestamptz
	ID_4                   *string
	Nickname               pgtype.Text
	Email                  pgtype.Text
	CreatedAt_5            pgtype.Timestamptz
	UpdatedAt_3            pgtype.Timestamptz
}

type ListFlavorsByChunkIDRow

type ListFlavorsByChunkIDRow struct {
	ID                     string
	ChunkID                string
	Name                   string
	CreatedAt              time.Time
	UpdatedAt              time.Time
	ID_2                   string
	FlavorID               string
	Hash                   string
	ChangeHash             string
	BuildStatus            BuildStatus
	Version                string
	FilesUploaded          bool
	PrevVersionID          *string
	CreatedAt_2            time.Time
	PresignedUrlExpiryDate pgtype.Timestamptz
	PresignedUrl           pgtype.Text
	MinecraftVersion       string
	FlavorVersionID        string
	FileHash               string
	FilePath               string
	CreatedAt_3            time.Time
}

type ListInstancesRow

type ListInstancesRow struct {
	ID                     string
	ChunkID                string
	FlavorVersionID        string
	NodeID                 string
	Port                   *int32
	State                  InstanceState
	CreatedAt              time.Time
	UpdatedAt              time.Time
	OwnerID                string
	ID_2                   string
	FlavorID               string
	Hash                   string
	ChangeHash             string
	BuildStatus            BuildStatus
	Version                string
	FilesUploaded          bool
	PrevVersionID          *string
	CreatedAt_2            time.Time
	PresignedUrlExpiryDate pgtype.Timestamptz
	PresignedUrl           pgtype.Text
	MinecraftVersion       string
	ID_3                   string
	Name                   string
	Description            string
	Tags                   []string
	CreatedAt_3            time.Time
	UpdatedAt_2            time.Time
	OwnerID_2              string
	ThumbnailHash          pgtype.Text
	ThumbnailUpdatedAt     time.Time
	ID_4                   string
	ChunkID_2              string
	Name_2                 string
	CreatedAt_4            time.Time
	UpdatedAt_3            time.Time
	ID_5                   string
	Name_3                 string
	Address                netip.Addr
	CheckpointApiEndpoint  string
	CreatedAt_5            time.Time
	ID_6                   string
	Nickname               string
	Email                  string
	CreatedAt_6            time.Time
	UpdatedAt_4            time.Time
}

type MinecraftVersion

type MinecraftVersion struct {
	Version   string
	CreatedAt pgtype.Timestamptz
}

type Node

type Node struct {
	ID                    string
	Name                  string
	Address               netip.Addr
	CheckpointApiEndpoint string
	CreatedAt             time.Time
}

type NullBuildStatus

type NullBuildStatus struct {
	BuildStatus BuildStatus
	Valid       bool // Valid is true if BuildStatus is not NULL
}

func (*NullBuildStatus) Scan

func (ns *NullBuildStatus) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullBuildStatus) Value

func (ns NullBuildStatus) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullInstanceState

type NullInstanceState struct {
	InstanceState InstanceState
	Valid         bool // Valid is true if InstanceState is not NULL
}

func (*NullInstanceState) Scan

func (ns *NullInstanceState) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullInstanceState) Value

func (ns NullInstanceState) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullRiverJobState

type NullRiverJobState struct {
	RiverJobState RiverJobState
	Valid         bool // Valid is true if RiverJobState is not NULL
}

func (*NullRiverJobState) Scan

func (ns *NullRiverJobState) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullRiverJobState) Value

func (ns NullRiverJobState) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type Queries

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

func New

func New(db DBTX) *Queries

func (*Queries) AllChunkThumbnailHashes

func (q *Queries) AllChunkThumbnailHashes(ctx context.Context) ([]AllChunkThumbnailHashesRow, error)

func (*Queries) AllMinecraftVersions

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

func (*Queries) BulkDeleteInstances

func (q *Queries) BulkDeleteInstances(ctx context.Context, id []string) *BulkDeleteInstancesBatchResults

func (*Queries) BulkGetBlobData

func (q *Queries) BulkGetBlobData(ctx context.Context, hash []string) *BulkGetBlobDataBatchResults

func (*Queries) BulkInsertBlobData

func (*Queries) ChunkExists

func (q *Queries) ChunkExists(ctx context.Context, id string) (bool, error)

func (*Queries) ChunkOwnerByChunkID

func (q *Queries) ChunkOwnerByChunkID(ctx context.Context, id string) (User, error)

func (*Queries) ChunkOwnerByFlavorID

func (q *Queries) ChunkOwnerByFlavorID(ctx context.Context, id string) (User, error)

func (*Queries) ChunkOwnerByFlavorVersionID

func (q *Queries) ChunkOwnerByFlavorVersionID(ctx context.Context, id string) (User, error)

func (*Queries) CreateChunk

func (q *Queries) CreateChunk(ctx context.Context, arg CreateChunkParams) error

func (*Queries) CreateFlavor

func (q *Queries) CreateFlavor(ctx context.Context, arg CreateFlavorParams) error

TODO: insert multiple (aka :batchmany)

func (*Queries) CreateFlavorVersion

func (q *Queries) CreateFlavorVersion(ctx context.Context, arg CreateFlavorVersionParams) error

func (*Queries) CreateInstance

func (q *Queries) CreateInstance(ctx context.Context, arg CreateInstanceParams) error

func (*Queries) CreateUser

func (q *Queries) CreateUser(ctx context.Context, arg CreateUserParams) error

func (*Queries) FlavorNameExists

func (q *Queries) FlavorNameExists(ctx context.Context, arg FlavorNameExistsParams) (bool, error)

func (*Queries) FlavorVersionByID

func (q *Queries) FlavorVersionByID(ctx context.Context, id string) ([]FlavorVersionByIDRow, error)

func (*Queries) FlavorVersionExists

func (q *Queries) FlavorVersionExists(ctx context.Context, arg FlavorVersionExistsParams) (bool, error)

func (*Queries) FlavorVersionFileHashes

func (q *Queries) FlavorVersionFileHashes(ctx context.Context, flavorVersionID string) ([]FlavorVersionFile, error)

func (*Queries) FlavorVersionHashByID

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

func (*Queries) GetChunkByID

func (q *Queries) GetChunkByID(ctx context.Context, id string) ([]GetChunkByIDRow, error)

TODO: read multiple

func (*Queries) GetInstance

func (q *Queries) GetInstance(ctx context.Context, id string) ([]GetInstanceRow, error)

func (*Queries) GetInstancesByNodeID

func (q *Queries) GetInstancesByNodeID(ctx context.Context, nodeID string) ([]GetInstancesByNodeIDRow, error)

func (*Queries) LatestFlavorVersionByFlavorID

func (q *Queries) LatestFlavorVersionByFlavorID(ctx context.Context, flavorID string) (FlavorVersion, error)

func (*Queries) ListChunks

func (q *Queries) ListChunks(ctx context.Context) ([]ListChunksRow, error)

func (*Queries) ListFlavorsByChunkID

func (q *Queries) ListFlavorsByChunkID(ctx context.Context, chunkID string) ([]ListFlavorsByChunkIDRow, error)

func (*Queries) ListInstances

func (q *Queries) ListInstances(ctx context.Context) ([]ListInstancesRow, error)

func (*Queries) MarkFlavorVersionFilesUploaded

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

func (*Queries) MinecraftVersionExists

func (q *Queries) MinecraftVersionExists(ctx context.Context, version string) (bool, error)

func (*Queries) RandomNode

func (q *Queries) RandomNode(ctx context.Context) (Node, error)

func (*Queries) UpdateChunk

func (q *Queries) UpdateChunk(ctx context.Context, arg UpdateChunkParams) error

func (*Queries) UpdateChunkThumbnail

func (q *Queries) UpdateChunkThumbnail(ctx context.Context, arg UpdateChunkThumbnailParams) error

func (*Queries) UpdateFlavorVersionBuildStatus

func (q *Queries) UpdateFlavorVersionBuildStatus(ctx context.Context, arg UpdateFlavorVersionBuildStatusParams) error

func (*Queries) UpdateFlavorVersionPresignedURLData

func (q *Queries) UpdateFlavorVersionPresignedURLData(ctx context.Context, arg UpdateFlavorVersionPresignedURLDataParams) error

func (*Queries) UserByEmail

func (q *Queries) UserByEmail(ctx context.Context, email string) (User, error)

func (*Queries) WithTx

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

type RiverClient

type RiverClient struct {
	ID        string
	CreatedAt time.Time
	Metadata  []byte
	PausedAt  pgtype.Timestamptz
	UpdatedAt time.Time
}

type RiverClientQueue

type RiverClientQueue struct {
	RiverClientID    string
	Name             string
	CreatedAt        time.Time
	MaxWorkers       int64
	Metadata         []byte
	NumJobsCompleted int64
	NumJobsRunning   int64
	UpdatedAt        time.Time
}

type RiverJob

type RiverJob struct {
	ID           int64
	State        RiverJobState
	Attempt      int16
	MaxAttempts  int16
	AttemptedAt  pgtype.Timestamptz
	CreatedAt    time.Time
	FinalizedAt  pgtype.Timestamptz
	ScheduledAt  time.Time
	Priority     int16
	Args         []byte
	AttemptedBy  []string
	Errors       [][]byte
	Kind         string
	Metadata     []byte
	Queue        string
	Tags         []string
	UniqueKey    []byte
	UniqueStates pgtype.Bits
}

type RiverJobState

type RiverJobState string
const (
	RiverJobStateAvailable RiverJobState = "available"
	RiverJobStateCancelled RiverJobState = "cancelled"
	RiverJobStateCompleted RiverJobState = "completed"
	RiverJobStateDiscarded RiverJobState = "discarded"
	RiverJobStatePending   RiverJobState = "pending"
	RiverJobStateRetryable RiverJobState = "retryable"
	RiverJobStateRunning   RiverJobState = "running"
	RiverJobStateScheduled RiverJobState = "scheduled"
)

func (*RiverJobState) Scan

func (e *RiverJobState) Scan(src interface{}) error

type RiverLeader

type RiverLeader struct {
	ElectedAt time.Time
	ExpiresAt time.Time
	LeaderID  string
	Name      string
}

type RiverQueue

type RiverQueue struct {
	Name      string
	CreatedAt time.Time
	Metadata  []byte
	PausedAt  pgtype.Timestamptz
	UpdatedAt time.Time
}

type SchemaMigration

type SchemaMigration struct {
	Version string
}

type UpdateChunkParams

type UpdateChunkParams struct {
	Name        string
	Description string
	Tags        []string
	ID          string
}

type UpdateChunkThumbnailParams

type UpdateChunkThumbnailParams struct {
	ThumbnailHash pgtype.Text
	ID            string
}

type UpdateFlavorVersionBuildStatusParams

type UpdateFlavorVersionBuildStatusParams struct {
	BuildStatus BuildStatus
	ID          string
}

type UpdateFlavorVersionPresignedURLDataParams

type UpdateFlavorVersionPresignedURLDataParams struct {
	PresignedUrlExpiryDate pgtype.Timestamptz
	PresignedUrl           pgtype.Text
	ID                     string
}

type User

type User struct {
	ID        string
	Nickname  string
	Email     string
	CreatedAt time.Time
	UpdatedAt time.Time
}

Jump to

Keyboard shortcuts

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