All checks were successful
Queue Release Build / prepare (push) Successful in 2m28s
Deploy Web Apps / deploy (push) Successful in 7m58s
Queue Release Build / build-linux (push) Successful in 46m59s
Queue Release Build / build-windows (push) Successful in 26m2s
Queue Release Build / finalize (push) Successful in 23s
59 lines
1.4 KiB
TypeScript
59 lines
1.4 KiB
TypeScript
import type { TojuPluginInstallScope, TojuPluginManifest } from '../../../../shared-kernel';
|
|
|
|
export type PluginStoreInstallState = 'installed' | 'notInstalled' | 'updateAvailable';
|
|
export type PluginStoreActionLabel = 'Install' | 'Install to Server' | 'Remove from Server' | 'Uninstall' | 'Update' | 'Update Server';
|
|
|
|
export interface PluginStoreEntry {
|
|
author?: string;
|
|
bundleUrl?: string;
|
|
description: string;
|
|
githubUrl?: string;
|
|
homepageUrl?: string;
|
|
id: string;
|
|
imageUrl?: string;
|
|
installUrl?: string;
|
|
readmeUrl?: string;
|
|
scope?: TojuPluginInstallScope;
|
|
sourceTitle?: string;
|
|
sourceUrl: string;
|
|
title: string;
|
|
version: string;
|
|
}
|
|
|
|
export interface PluginStoreSourceResult {
|
|
error?: string;
|
|
loadedAt?: number;
|
|
plugins: PluginStoreEntry[];
|
|
title?: string;
|
|
url: string;
|
|
}
|
|
|
|
export interface InstalledStorePlugin {
|
|
bundleUrl?: string;
|
|
cachedAt?: number;
|
|
cachedSourcePath?: string;
|
|
installedAt: number;
|
|
installUrl?: string;
|
|
manifest: TojuPluginManifest;
|
|
sourceUrl?: string;
|
|
updatedAt: number;
|
|
}
|
|
|
|
export interface PluginStoreReadme {
|
|
pluginId: string;
|
|
title: string;
|
|
url: string;
|
|
markdown: string;
|
|
}
|
|
|
|
export interface PersistedPluginStoreState {
|
|
installedPlugins: InstalledStorePlugin[];
|
|
schemaVersion?: number;
|
|
sourceUrls: string[];
|
|
}
|
|
|
|
export interface PersistedServerPluginInstallState {
|
|
schemaVersion?: number;
|
|
servers?: Record<string, InstalledStorePlugin[]>;
|
|
}
|