import { PluginOptions, AuthAccessCallback, AuthCallback, PackageAccess, IPluginAuth, RemoteUser, Logger } from "@verdaccio/types"; import { CustomConfig } from "../types/index"; /** * Custom Verdaccio Authenticate Plugin. */ export default class AuthCustomPlugin implements IPluginAuth { logger: Logger; private foo; constructor(config: CustomConfig, options: PluginOptions); /** * Authenticate an user. * @param user user to log * @param password provided password * @param cb callback function */ authenticate(user: string, password: string, cb: AuthCallback): void; /** * Triggered on each access request * @param user * @param pkg * @param cb */ allow_access(user: RemoteUser, pkg: PackageAccess, cb: AuthAccessCallback): void; /** * Triggered on each publish request * @param user * @param pkg * @param cb */ allow_publish(user: RemoteUser, pkg: PackageAccess, cb: AuthAccessCallback): void; allow_unpublish(user: RemoteUser, pkg: PackageAccess, cb: AuthAccessCallback): void; }