diff --git a/src/index.ts b/src/index.ts index 09d673c..a46fa16 100644 --- a/src/index.ts +++ b/src/index.ts @@ -29,45 +29,7 @@ export interface StreamFileResponse { done: boolean; } -export interface PluginAPI { - config: any; - registerMethod: (methodName: string, method: RPCMethod) => void; - loadPlugin: (moduleName: string) => Promise; - getMethods: () => string[]; - ssl: { - setContext: (context: tls.SecureContext) => void; - getContext: () => tls.SecureContext; - getSaved: (retry: boolean) => Promise; - set: ( - cert: IndependentFileSmall | Uint8Array, - key: IndependentFileSmall | Uint8Array - ) => void; - get: () => SslData; - save: () => Promise; - }; - appRouter: { - get: () => express.Router; - set: (newRouter: express.Router) => void; - reset: () => void; - }; - files: { - createIndependentFileSmall( - seed: Uint8Array, - userInode: string, - fileData: Uint8Array - ): Promise<[IndependentFileSmall, Err]>; - openIndependentFileSmall( - seed: Uint8Array, - userInode: string - ): Promise<[IndependentFileSmall, Err]>; - overwriteIndependentFileSmall( - file: IndependentFileSmall, - newData: Uint8Array - ): Promise; - }; - logger: Logger; - getSeed: () => Uint8Array; -} +export type DnsProvider = (ipAddress: string) => Promise; export type PluginFunction = (api: PluginAPI) => Promise; @@ -116,3 +78,46 @@ export interface SavedSslData { cert?: IndependentFileSmall; key?: IndependentFileSmall; } + +export interface PluginAPI { + config: any; + registerMethod: (methodName: string, method: RPCMethod) => void; + loadPlugin: (moduleName: string) => Promise; + getMethods: () => string[]; + ssl: { + setContext: (context: tls.SecureContext) => void; + getContext: () => tls.SecureContext; + getSaved: (retry: boolean) => Promise; + set: ( + cert: IndependentFileSmall | Uint8Array, + key: IndependentFileSmall | Uint8Array + ) => void; + get: () => SslData; + save: () => Promise; + }; + appRouter: { + get: () => express.Router; + set: (newRouter: express.Router) => void; + reset: () => void; + }; + files: { + createIndependentFileSmall( + seed: Uint8Array, + userInode: string, + fileData: Uint8Array + ): Promise<[IndependentFileSmall, Err]>; + openIndependentFileSmall( + seed: Uint8Array, + userInode: string + ): Promise<[IndependentFileSmall, Err]>; + overwriteIndependentFileSmall( + file: IndependentFileSmall, + newData: Uint8Array + ): Promise; + }; + dns: { + setProvider(provider: DnsProvider): void; + }; + logger: Logger; + getSeed: () => Uint8Array; +}