Skip to main content

Class: ModuleController

Defined in: Controllers/ModuleController.ts:23

Module Controller Orchestrates module discovery, download, installation, and management.

Accepts repository interfaces (not ISql) so callers control database lifecycle and the controller remains testable without a real database.

Constructors

Constructor

new ModuleController(moduleMetadataRepo, downloadQueueRepo, downloadService, installationService, catalogService, tempDownloadPath): ModuleController

Defined in: Controllers/ModuleController.ts:24

Parameters

moduleMetadataRepo

IModuleMetadataRepository

downloadQueueRepo

IDownloadQueueRepository

downloadService

IDownloadService

installationService

IInstallationService

catalogService

IModuleCatalogService

tempDownloadPath

string

Returns

ModuleController

Methods

cancelDownload()

cancelDownload(queueId): void

Defined in: Controllers/ModuleController.ts:260

Cancel download

Parameters

queueId

number

Returns

void


checkForUpdate()

checkForUpdate(moduleId): Promise<UpdateCheckResult>

Defined in: Controllers/ModuleController.ts:195

Check for module update

Parameters

moduleId

number

Returns

Promise<UpdateCheckResult>


getActiveDownloads()

getActiveDownloads(): DownloadProgress[]

Defined in: Controllers/ModuleController.ts:237

Get all active downloads

Returns

DownloadProgress[]


getAvailableModules()

getAvailableModules(): CatalogModule[]

Defined in: Controllers/ModuleController.ts:45

Get all available modules

Returns

CatalogModule[]


getDownloadProgress()

getDownloadProgress(queueId): DownloadProgress | undefined

Defined in: Controllers/ModuleController.ts:230

Get download progress

Parameters

queueId

number

Returns

DownloadProgress | undefined


getInstalledModules()

getInstalledModules(): ModuleMetadata[]

Defined in: Controllers/ModuleController.ts:52

Get all installed modules

Returns

ModuleMetadata[]


getModuleDetails()

getModuleDetails(moduleId): ModuleMetadata | undefined

Defined in: Controllers/ModuleController.ts:59

Get module details

Parameters

moduleId

number

Returns

ModuleMetadata | undefined


installModule()

installModule(catalogModuleId): Promise<InstallationResult>

Defined in: Controllers/ModuleController.ts:66

Install a module

Parameters

catalogModuleId

string

Returns

Promise<InstallationResult>


pauseDownload()

pauseDownload(queueId): void

Defined in: Controllers/ModuleController.ts:244

Pause download

Parameters

queueId

number

Returns

void


resumeDownload()

resumeDownload(queueId): Promise<void>

Defined in: Controllers/ModuleController.ts:252

Resume download

Parameters

queueId

number

Returns

Promise<void>


searchModules()

searchModules(filter): CatalogModule[]

Defined in: Controllers/ModuleController.ts:38

Search available modules

Parameters

filter

ModuleFilter

Returns

CatalogModule[]


uninstallModule()

uninstallModule(moduleId, removeUserData?): Promise<boolean>

Defined in: Controllers/ModuleController.ts:142

Uninstall a module

Parameters

moduleId

number

removeUserData?

boolean = false

Returns

Promise<boolean>


updateModule()

updateModule(moduleId): Promise<InstallationResult>

Defined in: Controllers/ModuleController.ts:149

Update a module

Parameters

moduleId

number

Returns

Promise<InstallationResult>