UNPKG

@dapplets/dapplet-extension

Version:
123 lines (122 loc) 5.99 kB
import { ModuleTypes, StorageTypes } from '../../common/constants'; import { DappletRuntimeResult, MessageWrapperRequest, StorageRef } from '../../common/types'; import ManifestDTO from '../dto/manifestDTO'; import ModuleInfo from '../models/moduleInfo'; import VersionInfo from '../models/versionInfo'; import { StorageAggregator } from '../moduleStorages/moduleStorage'; import ModuleManagerService from '../services/moduleManagerService'; import { RegistryAggregatorService } from '../services/registryAggregatorService'; import { AnalyticsService } from './analyticsService'; import GlobalConfigService from './globalConfigService'; import { WalletService } from './walletService'; export default class FeatureService { private _globalConfigService; private _walletService; private _analyticsService; private _storageAggregator; private _registryAggregatorService; private _moduleManagerService; constructor(_globalConfigService: GlobalConfigService, _walletService: WalletService, _analyticsService: AnalyticsService, _storageAggregator: StorageAggregator, _registryAggregatorService: RegistryAggregatorService, _moduleManagerService: ModuleManagerService); /** * Returns ModuleInfos wrapped to ManifestDTO by given context IDs and filter * @param contextIds array of context IDs * @param filter all - no filters, public - listings of connected wallets, * trusted - listings of trusted users, local - local listing * @returns Array of ManifestDTOs */ getFeaturesByHostnames(contextIds: string[], filter: 'all' | 'public' | 'trusted' | 'local' | 'active' | null): Promise<ManifestDTO[]>; private _setFeatureActive; activateFeature(name: string, version: string | undefined, hostnames: string[], order: number, registryUrl: string, req: MessageWrapperRequest): Promise<DappletRuntimeResult | null>; deactivateFeature(name: string, version: string | undefined, hostnames: string[], order: number, registryUrl: string, req: MessageWrapperRequest): Promise<DappletRuntimeResult | null>; activateDappletE2E({ name, version, hostnames, order, registryUrl, tabId, }: { name: string; registryUrl: string; version?: string; hostnames?: string[]; order?: number; tabId?: number; }): Promise<void>; deactivateDappletE2E({ name, version, hostnames, order, registryUrl, tabId, }: { name: string; registryUrl: string; version?: string; hostnames?: string[]; order?: number; tabId?: number; }): Promise<void>; reloadFeature(name: string, version: string | undefined, hostnames: string[], order: number, registryUrl: string, req: MessageWrapperRequest): Promise<void>; getActiveModulesByHostnames(contextIds: string[]): Promise<{ name: string; branch: string; version: string; order: number; hostnames: string[]; }[]>; getModulesWithDeps(modules: { name: string; branch?: string; version?: string; contextIds: string[]; }[]): Promise<{ manifest: any; scriptOrConfig: string | import("../../common/types").ParserConfig; defaultConfig: import("../../common/types").DefaultConfig; schemaConfig: any; }[]>; getAllDevModules(): Promise<{ module: ModuleInfo; versions: VersionInfo[]; isDeployed?: boolean[]; }[]>; deployModule(mi: ModuleInfo, vi: VersionInfo, targetStorages: StorageTypes[], targetRegistry: string): Promise<{ scriptUrl: string; }>; uploadModule(mi: ModuleInfo, vi: VersionInfo | null, targetStorages: StorageTypes[]): Promise<string>; removeDapplet(name: string, hostnames: string[]): Promise<void>; getRegistries(): Promise<{ isEnabled: boolean; url: string; isDev: boolean; isAvailable: boolean; error: string; }[]>; getOwnership(registryUri: string, moduleName: string): Promise<string>; getModuleNftUrl(registryUri: string, moduleName: string): Promise<string>; getVersionInfo(registryUri: string, moduleName: string, branch: string, version: string): Promise<VersionInfo>; getModuleInfoByName(registryUrl: string, moduleName: string): Promise<ModuleInfo>; transferOwnership(registryUri: string, moduleName: string, oldAccount: string, newAccount: string): Promise<void>; getContextIds(registryUri: string, moduleName: string): Promise<string[]>; addContextId(registryUri: string, moduleName: string, contextId: string): Promise<void>; removeContextId(registryUri: string, moduleName: string, contextId: string): Promise<void>; getAdmins(registryUri: string, moduleName: string): Promise<string[]>; addAdmin(registryUri: string, moduleName: string, adressAdmin: string): Promise<void>; removeAdmin(registryUri: string, moduleName: string, adressAdmin: string): Promise<void>; editModuleInfo(registryUri: string, targetStorages: StorageTypes[], mi: ModuleInfo): Promise<void>; getVersions(registryUri: string, moduleName: string): Promise<string[]>; getUserSettingsForOverlay(registryUrl: string, moduleName: string): Promise<{ mi: { sourceRegistry: { url: string; isDev: boolean; }; getId: () => string; registryUrl: string; name: string; type: ModuleTypes; title: string; description: string; author: string; image?: StorageRef; metadata?: StorageRef; icon?: StorageRef; interfaces: string[]; contextIds: string[]; isUnderConstruction: boolean; }; vi: VersionInfo; schemaConfig: any; defaultConfig: import("../../common/types").DefaultConfig; }>; getResource(hashUris: StorageRef): Promise<string>; private _uploadModuleInfoIcons; }