InstanceController
InstanceController exposes instance CRUD to the frontend. It stays limited to DTO conversion and feature invocation.
- Methods: 11
- Referenced types: 7
Methods
- CloneInstance
- CreateInstance
- DeleteInstance
- DetectExistingVintageStoryData
- GetInstance
- InspectExistingVintageStoryData
- ListInstances
- SelectInstanceCover
- SetInstancePinned
- StartExistingDataImport
- UpdateInstance
CloneInstance
CloneInstance creates a new managed instance by copying an existing instance.
Go
CloneInstance(request CloneInstanceRequest) (InstanceDTO, error)TypeScript
CloneInstance(request: CloneInstanceRequest): Promise<InstanceDTO>Parameters
| Name | Type |
|---|---|
request | CloneInstanceRequest |
Returns
| Go type | TypeScript type |
|---|---|
InstanceDTO | InstanceDTO |
Example
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
CreateInstance(request CreateInstanceRequest) (InstanceDTO, error)TypeScript
CreateInstance(request: CreateInstanceRequest): Promise<InstanceDTO>Parameters
| Name | Type |
|---|---|
request | CreateInstanceRequest |
Returns
| Go type | TypeScript type |
|---|---|
InstanceDTO | InstanceDTO |
Errors
validation_error: the name, game client, directory, or environment variables are invalidgame_version_not_found: the requested game version is not installedaccount_not_found: the selected account does not existinstance_directory_conflict: the directory already belongs to another instancedata_folder_busy: a data-folder relocation is in progress
Example
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
DeleteInstance(id string, deleteFiles bool) errorTypeScript
DeleteInstance(id: string, deleteFiles: boolean): Promise<void>Parameters
| Name | Type |
|---|---|
id | string |
deleteFiles | bool |
Example
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
DetectExistingVintageStoryData() ([]MigrationCandidateDTO, error)TypeScript
DetectExistingVintageStoryData(): Promise<MigrationCandidateDTO[]>Returns
| Go type | TypeScript type |
|---|---|
[]MigrationCandidateDTO | MigrationCandidateDTO[] |
Example
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
GetInstance(id string) (InstanceDTO, error)TypeScript
GetInstance(id: string): Promise<InstanceDTO>Parameters
| Name | Type |
|---|---|
id | string |
Returns
| Go type | TypeScript type |
|---|---|
InstanceDTO | InstanceDTO |
Example
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
InspectExistingVintageStoryData(path string) (MigrationCandidateDTO, error)TypeScript
InspectExistingVintageStoryData(path: string): Promise<MigrationCandidateDTO>Parameters
| Name | Type |
|---|---|
path | string |
Returns
| Go type | TypeScript type |
|---|---|
MigrationCandidateDTO | MigrationCandidateDTO |
Example
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
ListInstances() ([]InstanceDTO, error)TypeScript
ListInstances(): Promise<InstanceDTO[]>Returns
| Go type | TypeScript type |
|---|---|
[]InstanceDTO | InstanceDTO[] |
Example
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
SelectInstanceCover() (string, error)TypeScript
SelectInstanceCover(): Promise<string>Returns
| Go type | TypeScript type |
|---|---|
string | string |
Example
const selectInstanceCover = await SelectInstanceCover()Source
internal/transport/wails/instance_controller.go:142
SetInstancePinned
SetInstancePinned changes whether an instance is pinned in the library.
Go
SetInstancePinned(id string, pinned bool) (InstanceDTO, error)TypeScript
SetInstancePinned(id: string, pinned: boolean): Promise<InstanceDTO>Parameters
| Name | Type |
|---|---|
id | string |
pinned | bool |
Returns
| Go type | TypeScript type |
|---|---|
InstanceDTO | InstanceDTO |
Example
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
StartExistingDataImport(request MigrationImportRequest) (OperationDTO, error)TypeScript
StartExistingDataImport(request: MigrationImportRequest): Promise<OperationDTO>Parameters
| Name | Type |
|---|---|
request | MigrationImportRequest |
Returns
| Go type | TypeScript type |
|---|---|
OperationDTO | OperationDTO |
Example
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
UpdateInstance(request UpdateInstanceRequest) (InstanceDTO, error)TypeScript
UpdateInstance(request: UpdateInstanceRequest): Promise<InstanceDTO>Parameters
| Name | Type |
|---|---|
request | UpdateInstanceRequest |
Returns
| Go type | TypeScript type |
|---|---|
InstanceDTO | InstanceDTO |
Example
const updateInstance = await UpdateInstance({ id: "id", name: "Example", description: "", gameVersionId: "gameversion-id", launchArguments: [] })Source
internal/transport/wails/instance_controller.go:251