feat: plugins v1
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
import type { TojuPluginManifest } from '../../../../shared-kernel';
|
||||
|
||||
export type PluginStoreInstallState = 'installed' | 'notInstalled' | 'updateAvailable';
|
||||
|
||||
export interface PluginStoreEntry {
|
||||
author?: string;
|
||||
description: string;
|
||||
githubUrl?: string;
|
||||
homepageUrl?: string;
|
||||
id: string;
|
||||
imageUrl?: string;
|
||||
installUrl?: string;
|
||||
readmeUrl?: string;
|
||||
sourceTitle?: string;
|
||||
sourceUrl: string;
|
||||
title: string;
|
||||
version: string;
|
||||
}
|
||||
|
||||
export interface PluginStoreSourceResult {
|
||||
error?: string;
|
||||
loadedAt?: number;
|
||||
plugins: PluginStoreEntry[];
|
||||
title?: string;
|
||||
url: string;
|
||||
}
|
||||
|
||||
export interface InstalledStorePlugin {
|
||||
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[];
|
||||
sourceUrls: string[];
|
||||
}
|
||||
Reference in New Issue
Block a user