Skip to content

InstanceController

InstanceController exposes instance CRUD to the frontend. It stays limited to DTO conversion and feature invocation.

  • Methods: 11
  • Referenced types: 7

Methods

CloneInstance

CloneInstance creates a new managed instance by copying an existing instance.

Go

go
CloneInstance(request CloneInstanceRequest) (InstanceDTO, error)

TypeScript

ts
CloneInstance(request: CloneInstanceRequest): Promise<InstanceDTO>

Parameters

NameType
requestCloneInstanceRequest

Returns

Go typeTypeScript type
InstanceDTOInstanceDTO

Example

ts
const cloneInstance = await CloneInstance({ sourceId: "source-id", name: "Example" })

Source

internal/transport/wails/instance_controller.go:290

CreateInstance

CreateInstance creates an isolated game instance using the requested version and launch settings.

Go

go
CreateInstance(request CreateInstanceRequest) (InstanceDTO, error)

TypeScript

ts
CreateInstance(request: CreateInstanceRequest): Promise<InstanceDTO>

Parameters

NameType
requestCreateInstanceRequest

Returns

Go typeTypeScript type
InstanceDTOInstanceDTO

Errors

  • validation_error: the name, game client, directory, or environment variables are invalid
  • game_version_not_found: the requested game version is not installed
  • account_not_found: the selected account does not exist
  • instance_directory_conflict: the directory already belongs to another instance
  • data_folder_busy: a data-folder relocation is in progress

Example

ts
const createInstance = await CreateInstance({ name: "Example", description: "", gameVersionId: "gameversion-id", gameClient: "", directory: "/path/to/directory", launchArguments: [], environmentVariables: {} })

Source

internal/transport/wails/instance_controller.go:231

DeleteInstance

DeleteInstance removes an instance and optionally deletes its data directory.

Go

go
DeleteInstance(id string, deleteFiles bool) error

TypeScript

ts
DeleteInstance(id: string, deleteFiles: boolean): Promise<void>

Parameters

NameType
idstring
deleteFilesbool

Example

ts
await DeleteInstance("id", false)

Source

internal/transport/wails/instance_controller.go:282

DetectExistingVintageStoryData

DetectExistingVintageStoryData finds existing Vintage Story data that can be imported as an instance.

Go

go
DetectExistingVintageStoryData() ([]MigrationCandidateDTO, error)

TypeScript

ts
DetectExistingVintageStoryData(): Promise<MigrationCandidateDTO[]>

Returns

Go typeTypeScript type
[]MigrationCandidateDTOMigrationCandidateDTO[]

Example

ts
const detectExistingVintageStoryData = await DetectExistingVintageStoryData()

Source

internal/transport/wails/instance_controller.go:117

GetInstance

GetInstance returns one managed instance with its current mod and playtime summary.

Go

go
GetInstance(id string) (InstanceDTO, error)

TypeScript

ts
GetInstance(id: string): Promise<InstanceDTO>

Parameters

NameType
idstring

Returns

Go typeTypeScript type
InstanceDTOInstanceDTO

Example

ts
const getInstance = await GetInstance("id")

Source

internal/transport/wails/instance_controller.go:218

InspectExistingVintageStoryData

InspectExistingVintageStoryData validates a selected data directory and describes its importable contents.

Go

go
InspectExistingVintageStoryData(path string) (MigrationCandidateDTO, error)

TypeScript

ts
InspectExistingVintageStoryData(path: string): Promise<MigrationCandidateDTO>

Parameters

NameType
pathstring

Returns

Go typeTypeScript type
MigrationCandidateDTOMigrationCandidateDTO

Example

ts
const inspectExistingVintageStoryData = await InspectExistingVintageStoryData("/path/to/file")

Source

internal/transport/wails/instance_controller.go:127

ListInstances

ListInstances returns all launcher instances visible in the library.

Go

go
ListInstances() ([]InstanceDTO, error)

TypeScript

ts
ListInstances(): Promise<InstanceDTO[]>

Returns

Go typeTypeScript type
[]InstanceDTOInstanceDTO[]

Example

ts
const listInstances = await ListInstances()

Source

internal/transport/wails/instance_controller.go:186

SelectInstanceCover

SelectInstanceCover prompts for an image to use as an instance cover.

Go

go
SelectInstanceCover() (string, error)

TypeScript

ts
SelectInstanceCover(): Promise<string>

Returns

Go typeTypeScript type
stringstring

Example

ts
const selectInstanceCover = await SelectInstanceCover()

Source

internal/transport/wails/instance_controller.go:142

SetInstancePinned

SetInstancePinned changes whether an instance is pinned in the library.

Go

go
SetInstancePinned(id string, pinned bool) (InstanceDTO, error)

TypeScript

ts
SetInstancePinned(id: string, pinned: boolean): Promise<InstanceDTO>

Parameters

NameType
idstring
pinnedbool

Returns

Go typeTypeScript type
InstanceDTOInstanceDTO

Example

ts
const setInstancePinned = await SetInstancePinned("id", false)

Source

internal/transport/wails/instance_controller.go:276

StartExistingDataImport

StartExistingDataImport begins importing discovered game data into a managed instance.

Go

go
StartExistingDataImport(request MigrationImportRequest) (OperationDTO, error)

TypeScript

ts
StartExistingDataImport(request: MigrationImportRequest): Promise<OperationDTO>

Parameters

NameType
requestMigrationImportRequest

Returns

Go typeTypeScript type
OperationDTOOperationDTO

Example

ts
const startExistingDataImport = await StartExistingDataImport({ sourcePath: "/path/to/file", name: "Example", description: "", gameVersionId: "gameversion-id" })

Source

internal/transport/wails/instance_controller.go:133

UpdateInstance

UpdateInstance applies editable metadata, account, version, and launch settings to an instance.

Go

go
UpdateInstance(request UpdateInstanceRequest) (InstanceDTO, error)

TypeScript

ts
UpdateInstance(request: UpdateInstanceRequest): Promise<InstanceDTO>

Parameters

NameType
requestUpdateInstanceRequest

Returns

Go typeTypeScript type
InstanceDTOInstanceDTO

Example

ts
const updateInstance = await UpdateInstance({ id: "id", name: "Example", description: "", gameVersionId: "gameversion-id", launchArguments: [] })

Source

internal/transport/wails/instance_controller.go:251