Skip to content

Commit 2b18e22

Browse files
@jotadevelopersergiohgz
authored andcommitted
feat: add interface for middleware and storage plugin
1 parent f89c393 commit 2b18e22

File tree

1 file changed

+39
-6
lines changed

1 file changed

+39
-6
lines changed

core/types/src/types.js

Lines changed: 39 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
/* @flow */
22

3+
declare type verdaccio$StringValue = string | void | null;
4+
35
declare interface verdaccio$IUploadTarball extends stream$PassThrough {
46
abort: Function;
57
done: Function;
@@ -278,7 +280,9 @@ declare interface verdaccio$Config {
278280

279281
declare type verdaccio$SyncReturn = Error | void;
280282
declare type verdaccio$IPackageStorage = verdaccio$ILocalPackageManager | void;
281-
declare interface verdaccio$ILocalData {
283+
declare interface verdaccio$ILocalData extends verdaccio$IPlugin {
284+
logger: verdaccio$Logger;
285+
config: verdaccio$Config;
282286
add(name: string, callback: verdaccio$Callback): void;
283287
remove(name: string, callback: verdaccio$Callback): void;
284288
get(callback: verdaccio$Callback): void;
@@ -289,6 +293,8 @@ declare interface verdaccio$ILocalData {
289293
}
290294

291295
declare interface verdaccio$ILocalPackageManager {
296+
path: string;
297+
logger: verdaccio$Logger;
292298
writeTarball(name: string): verdaccio$IUploadTarball;
293299
readTarball(name: string): verdaccio$IReadTarball;
294300
readPackage(fileName: string, callback: verdaccio$Callback): void;
@@ -303,6 +309,27 @@ declare interface verdaccio$ILocalPackageManager {
303309
savePackage(fileName: string, json: verdaccio$Package, callback: verdaccio$Callback): void;
304310
}
305311

312+
declare interface verdaccio$IBasicStorage {
313+
addPackage(name: string, info: verdaccio$Package, callback: verdaccio$Callback): void;
314+
removePackage(name: string, callback: verdaccio$Callback): void;
315+
updateVersions(name: string, packageInfo: verdaccio$Package, callback: verdaccio$Callback): void;
316+
addVersion(name: string, version: string, metadata: verdaccio$Version, tag: verdaccio$StringValue, callback: verdaccio$Callback): void;
317+
mergeTags(name: string, tags: verdaccio$MergeTags, callback: verdaccio$Callback): void;
318+
changePackage(name: string, metadata: verdaccio$Package, revision: string, callback: verdaccio$Callback): void;
319+
removeTarball(name: string, filename: string, revision: string, callback: verdaccio$Callback): void;
320+
addTarball(name: string, filename: string): verdaccio$IUploadTarball;
321+
getTarball(name: string, filename: string): verdaccio$IReadTarball;
322+
getPackageMetadata(name: string, callback: verdaccio$Callback): void;
323+
search(startKey: string, options: any): verdaccio$IUploadTarball;
324+
getSecret(config: verdaccio$Config): Promise<any>;
325+
}
326+
327+
declare interface verdaccio$IBasicAuth {
328+
aesEncrypt(buf: Buffer): Buffer;
329+
authenticate(user: string, password: string, cb: verdaccio$Callback): void;
330+
allow_access(packageName: string, user: string, callback: verdaccio$Callback): void;
331+
add_user(user: string, password: string, cb: verdaccio$Callback): any;
332+
}
306333

307334
declare interface verdaccio$IPlugin {
308335
version?: string;
@@ -313,17 +340,22 @@ declare type verdaccio$PluginOptions = {
313340
logger: verdaccio$Logger
314341
}
315342

316-
declare interface verdaccio$IAuthPlugin extends verdaccio$IPlugin {
343+
declare interface verdaccio$IPluginAuth extends verdaccio$IPlugin {
317344
authenticate(user: string, password: string, cb: verdaccio$Callback): void;
318345
allow_access(packageName: string, user: string, cb: verdaccio$Callback): void;
319346
allow_publish(packageName: string, user: string, cb: verdaccio$Callback): void;
320347
}
321348

349+
declare interface verdaccio$IPluginMiddleware extends verdaccio$IPlugin {
350+
register_middlewares(app: any, auth: verdaccio$IBasicAuth, storage: verdaccio$IBasicStorage): void;
351+
}
352+
322353
declare module "@verdaccio/local-storage" {
323354
declare export type ILocalData = verdaccio$ILocalData;
324355
declare export type IPluginStorage = verdaccio$ILocalData;
325356
declare export type IPackageStorage = verdaccio$IPackageStorage;
326357
declare export type ILocalPackageManager = verdaccio$ILocalPackageManager;
358+
declare export type IPackageStorageManager = verdaccio$ILocalPackageManager;
327359
declare class LocalDatabase<ILocalData>{
328360
constructor(config: verdaccio$Config, logger: verdaccio$Logger): ILocalData;
329361
}
@@ -357,7 +389,10 @@ declare module "@verdaccio/file-locking" {
357389
}
358390

359391
declare module "@verdaccio/types" {
360-
declare export type IAuthPlugin = verdaccio$IAuthPlugin;
392+
declare export type IBasicStorage = verdaccio$IBasicStorage;
393+
declare export type IBasicAuth = verdaccio$IBasicAuth;
394+
declare export type IPluginAuth = verdaccio$IPluginAuth;
395+
declare export type IPluginMiddleware = verdaccio$IPluginMiddleware;
361396
declare export type PluginOptions = verdaccio$PluginOptions;
362397
declare export type Stdout = stream$Writable | tty$WriteStream;
363398
declare export type Stdin = stream$Readable | tty$ReadStream;
@@ -390,7 +425,5 @@ declare module "@verdaccio/types" {
390425
declare export type PackageAccess = verdaccio$PackageAccess;
391426
declare export type StorageList = verdaccio$StorageList;
392427
declare export type LocalStorage = verdaccio$LocalStorage;
393-
declare class AuthPlugin {
394-
constructor(config: verdaccio$Config, logger: verdaccio$PluginOptions): verdaccio$IAuthPlugin;
395-
}
428+
declare export type StringValue = verdaccio$StringValue;
396429
}

0 commit comments

Comments
 (0)