chunk

package
v0.0.0-...-06cc741 Latest Latest
Warning

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

Go to latest
Published: Nov 30, 2025 License: AGPL-3.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ChunkToTransport

func ChunkToTransport(domain resource.Chunk) *chunkv1alpha1.Chunk

func FileHashSliceToDomain

func FileHashSliceToDomain(transport []*chunkv1alpha1.FileHashes) []file.Hash

func FileHashSliceToTransport

func FileHashSliceToTransport(domain []file.Hash) []*chunkv1alpha1.FileHashes

func FlavorToDomain

func FlavorToDomain(transport *chunkv1alpha1.Flavor) resource.Flavor

func FlavorToTransport

func FlavorToTransport(domain resource.Flavor) *chunkv1alpha1.Flavor

func FlavorVersionToDomain

func FlavorVersionToDomain(transport *chunkv1alpha1.FlavorVersion) resource.FlavorVersion

func FlavorVersionToTransport

func FlavorVersionToTransport(domain resource.FlavorVersion) *chunkv1alpha1.FlavorVersion

Types

type Config

type Config struct {
	Registry           string
	BaseImage          string
	Bucket             string
	PresignedURLExpiry time.Duration
}

type Repository

type Repository interface {
	CreateChunk(ctx context.Context, chunk resource.Chunk) (resource.Chunk, error)
	GetChunkByID(ctx context.Context, id string) (resource.Chunk, error)
	UpdateChunk(ctx context.Context, chunk resource.Chunk) (resource.Chunk, error)
	ListChunks(ctx context.Context) ([]resource.Chunk, error)
	ChunkExists(ctx context.Context, id string) (bool, error)
	CreateFlavor(ctx context.Context, chunkID string, flavor resource.Flavor) (resource.Flavor, error)
	FlavorNameExists(ctx context.Context, chunkID string, name string) (bool, error)
	FlavorVersionExists(ctx context.Context, flavorID string, version string) (bool, error)
	LatestFlavorVersion(ctx context.Context, flavorID string) (resource.FlavorVersion, error)
	CreateFlavorVersion(
		ctx context.Context,
		flavorID string,
		version resource.FlavorVersion,
		prevVersionID string,
	) (resource.FlavorVersion, error)
	FlavorVersionHashByID(ctx context.Context, id string) (string, error)
	MarkFlavorVersionFilesUploaded(ctx context.Context, flavorVersionID string) error
	FlavorVersionByID(ctx context.Context, id string) (resource.FlavorVersion, error)
	UpdateFlavorVersionBuildStatus(
		ctx context.Context,
		flavorVersionID string,
		status resource.FlavorVersionBuildStatus,
	) error
	UpdateFlavorVersionPresignedURLData(ctx context.Context, flavorVersionID string, date time.Time, url string) error
	SupportedMinecraftVersions(ctx context.Context) ([]string, error)
	MinecraftVersionExists(context.Context, string) (bool, error)
}

type Server

type Server struct {
	chunkv1alpha1.UnimplementedChunkServiceServer
	// contains filtered or unexported fields
}

func NewServer

func NewServer(service Service) *Server

func (*Server) GetChunk

type Service

type Service interface {
	CreateChunk(ctx context.Context, chunk resource.Chunk) (resource.Chunk, error)
	GetChunk(ctx context.Context, id string) (resource.Chunk, error)
	UpdateChunk(ctx context.Context, new resource.Chunk) (resource.Chunk, error)
	ListChunks(ctx context.Context) ([]resource.Chunk, error)
	CreateFlavor(ctx context.Context, chunkID string, flavor resource.Flavor) (resource.Flavor, error)
	CreateFlavorVersion(
		ctx context.Context,
		flavorID string,
		version resource.FlavorVersion,
	) (resource.FlavorVersion, resource.FlavorVersionDiff, error)
	BuildFlavorVersion(ctx context.Context, versionID string) error
	GetUploadURL(ctx context.Context, flavorVersionID string, tarballHash string) (string, error)
	GetSupportedMinecraftVersions(ctx context.Context) ([]string, error)
}

func NewService

func NewService(
	repo Repository,
	jobClient job.Client,
	s3Store blob.S3Store,
	access authz.AccessEvaluator,
	cfg Config,
) Service

Jump to

Keyboard shortcuts

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