import { OptionalPromise } from '../helpers' import { TEmeraltServerConfig } from './server' import { TMetadata, TVersion } from '../npm' import { CEmeraltPlugin } from './plugin' export interface CEmeraltDatabase extends CEmeraltPlugin { // NOT USED /** list existing packages */ getMetadatas(): OptionalPromise> // NOT USED /** check if metadata exists */ hasMetadata(name: string): OptionalPromise /** get metadata of specific package */ getMetadata(name: string): OptionalPromise /** update metadata of specific package */ putMetadata(name: string, data: TMetadata): OptionalPromise /** list existing versions of specific package */ getVersions(name: string): OptionalPromise> /** check if version exists */ hasVersion(name: string, version: string): OptionalPromise // NOT USED /** get single version of specific package */ getVersion(name: string, version: string): OptionalPromise /** update version of specific package */ putVersion( name: string, version: string, data: TVersion, ): OptionalPromise /** drop all data (used for test purposes) */ dropData(): OptionalPromise } export interface IEmeraltDatabase { (pluginConfig: C): ( serverConfig: TEmeraltServerConfig, ) => OptionalPromise }