@dapplets/dapplet-extension
Version:
The Bridge to the Augmented Web.
123 lines (122 loc) • 5.99 kB
TypeScript
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;
}