UNPKG

2.09 kBTypeScriptView Raw
1import { Callback, Config, IPackageStorage, IPluginStorage, LocalStorage, Logger, Token, TokenFilter } from '@verdaccio/types';
2/**
3 * Handle local database.
4 */
5declare class LocalDatabase implements IPluginStorage<{}> {
6 path: string;
7 logger: Logger;
8 data: LocalStorage;
9 config: Config;
10 locked: boolean;
11 tokenDb: any;
12 /**
13 * Load an parse the local json database.
14 * @param {*} path the database path
15 */
16 constructor(config: Config, logger: Logger);
17 getSecret(): Promise<string>;
18 setSecret(secret: string): Promise<Error | null>;
19 /**
20 * Add a new element.
21 * @param {*} name
22 * @return {Error|*}
23 */
24 add(name: string, cb: Callback): void;
25 search(onPackage: Callback, onEnd: Callback, validateName: (name: string) => boolean): void;
26 /**
27 * Remove an element from the database.
28 * @param {*} name
29 * @return {Error|*}
30 */
31 remove(name: string, cb: Callback): void;
32 /**
33 * Return all database elements.
34 * @return {Array}
35 */
36 get(cb: Callback): void;
37 getPackageStorage(packageName: string): IPackageStorage;
38 clean(): void;
39 saveToken(token: Token): Promise<void>;
40 deleteToken(user: string, tokenKey: string): Promise<void>;
41 readTokens(filter: TokenFilter): Promise<Token[]>;
42 private _getTime;
43 private _getCustomPackageLocalStorages;
44 /**
45 * Syncronize {create} database whether does not exist.
46 * @return {Error|*}
47 */
48 private _sync;
49 /**
50 * Verify the right local storage location.
51 * @param {String} path
52 * @return {String}
53 * @private
54 */
55 private _getLocalStoragePath;
56 /**
57 * Build the local database path.
58 * @param {Object} config
59 * @return {string|String|*}
60 * @private
61 */
62 private _buildStoragePath;
63 private _dbGenPath;
64 /**
65 * Fetch local packages.
66 * @private
67 * @return {Object}
68 */
69 private _fetchLocalPackages;
70 private getTokenDb;
71 private _getTokenKey;
72 private _compoundTokenKey;
73}
74export default LocalDatabase;