Class VaultManager

Hierarchy

  • CreateDestroyStartStop
    • VaultManager

Constructors

Properties

[initLock]: RWLockWriter
acl: ACL
db: DB
efs: EncryptedFS
efsDb: DB
efsPath: string
gestaltGraph: GestaltGraph
keyRing: KeyRing
logger: Logger
nodeManager: NodeManager
notificationsManager: NotificationsManager
vaultIdGenerator: (() => VaultId) = ...

Type declaration

vaultKey: Buffer
vaultLocks: LockBox<RWLockWriter> = ...
vaultMap: VaultMap = ...
vaultsDbPath: readonly (string | Buffer)[] = ...
vaultsNamesDbPath: readonly (string | Buffer)[] = ...
vaultsPath: string

Accessors

  • get [destroyed](): boolean
  • Returns boolean

  • get [eventHandled](): ReadonlyWeakSet<Event>
  • Returns ReadonlyWeakSet<Event>

  • get [eventHandlers](): ReadonlyMap<string, Set<EventHandlerInfo>>
  • Returns ReadonlyMap<string, Set<EventHandlerInfo>>

  • get [eventTarget](): EventTarget
  • Returns EventTarget

  • get [handleEventError](): ((evt) => void)
  • Returns ((evt) => void)

      • (evt): void
      • Parameters

        • evt: EventError

        Returns void

  • get [running](): boolean
  • Returns boolean

  • get [statusP](): Promise<Status>
  • Returns Promise<Status>

  • get [status](): Status
  • Returns Status

Methods

  • Parameters

    • type: string
    • callback: null | EventListenerOrEventListenerObject
    • Optional options: boolean | AddEventListenerOptions

    Returns void

  • Clones the contents of a remote vault into a new local vault instance

    Parameters

    • nodeId: NodeId
    • vaultNameOrId: string | VaultId
    • Optional tran: DBTransaction
    • Optional ctx: Partial<ContextTimedInput>

    Returns Promise<VaultId>

  • Removes a vault from the vault map.

    Parameters

    • vaultId: VaultId
    • Optional tran: DBTransaction
    • Optional ctx: Partial<ContextTimedInput>

    Returns Promise<void>

  • Constructs a new Vault instance with a given name and stores it in memory.

    Parameters

    • vaultName: string
    • Optional tran: DBTransaction
    • Optional ctx: Partial<ContextTimedInput>

    Returns Promise<VaultId>

  • Removes the metadata and EFS state of a vault using a given VaultId.

    Parameters

    • vaultId: VaultId
    • Optional tran: DBTransaction
    • Optional ctx: Partial<ContextTimed>

    Returns Promise<void>

  • Parameters

    • event: Event

    Returns boolean

  • Retrieves the VaultId associated with a vault name.

    Parameters

    • vaultName: string
    • Optional tran: DBTransaction

    Returns Promise<undefined | VaultId>

  • Retrieves the vault metadata using the VaultId and parses it to return the associated vault name.

    Parameters

    • vaultId: VaultId
    • Optional tran: DBTransaction

    Returns Promise<undefined | VaultMetadata>

  • Retrieves the vault name associated with a VaultId.

    Parameters

    • vaultId: VaultId
    • Optional tran: DBTransaction

    Returns Promise<undefined | string>

  • Returns a dictionary of VaultActions for each node

    Parameters

    • vaultId: VaultId
    • Optional tran: DBTransaction

    Returns Promise<Record<NodeId, Partial<Record<"clone" | "pull", null>>>>

  • Handler for receiving http GET requests when being cloned or pulled from.

    Parameters

    • vaultId: VaultId
    • Optional tran: DBTransaction
    • Optional ctx: Partial<ContextTimedInput>

    Returns AsyncGenerator<Buffer, void, void>

  • Handler for receiving http POST requests when being cloned or pulled from.

    Parameters

    • vaultId: VaultId
    • body: Buffer[]
    • Optional tran: DBTransaction
    • Optional ctx: Partial<ContextTimedInput>

    Returns AsyncGenerator<Buffer, void, void>

  • Returns all the shared vaults for a NodeId.

    Parameters

    • nodeId: NodeId
    • Optional tran: DBTransaction
    • Optional ctx: Partial<ContextTimedInput>

    Returns AsyncGenerator<{
        vaultId: VaultId;
        vaultName: string;
        vaultPermissions: ("clone" | "pull")[];
    }, any, unknown>

  • Lists the vault name and associated VaultId of all the stored vaults.

    Parameters

    • Optional ctx: Partial<ContextTimed>
    • Optional tran: DBTransaction

    Returns Promise<VaultList>

  • Pulls the contents of a remote vault into an existing vault instance.

    Parameters

    • __namedParameters: {
          pullNodeId?: NodeId;
          pullVaultNameOrId?: string | VaultId;
          vaultId: VaultId;
      }
    • Optional tran: DBTransaction
    • Optional ctx: Partial<ContextTimed>

    Returns Promise<void>

  • Parameters

    • type: string
    • callback: null | EventListenerOrEventListenerObject
    • Optional options: boolean | EventListenerOptions

    Returns void

  • Changes the vault name metadata of a VaultId.

    Parameters

    • vaultId: VaultId
    • newVaultName: string
    • Optional tran: DBTransaction

    Returns Promise<void>

  • Retrieves all the vaults for a peer's node.

    Parameters

    • targetNodeId: NodeId
    • Optional ctx: Partial<ContextTimedInput>

    Returns AsyncGenerator<{
        vaultIdEncoded: VaultIdEncoded;
        vaultName: string;
        vaultPermissions: ("clone" | "pull")[];
    }, any, unknown>

  • Sets clone, pull and scan permissions of a vault for a gestalt and send a notification to this gestalt.

    Parameters

    Returns Promise<void>

  • Parameters

    • __namedParameters: {
          fresh?: boolean;
      } = {}
      • Optional fresh?: boolean

    Returns Promise<void>

  • Unsets clone, pull and scan permissions of a vault for a gestalt.

    Parameters

    Returns Promise<void>

  • Takes a function and runs it with the listed vaults. Locking is handled automatically.

    Type Parameters

    • T

    Parameters

    • vaultIds: VaultId[]

      List of vault ID for vaults you wish to use

    • f: ((...args) => Promise<T>)

      Function you wish to run with the provided vaults

        • (...args): Promise<T>
        • Parameters

          Returns Promise<T>

    • Optional tran: DBTransaction
    • Optional ctx: Partial<ContextTimedInput>

    Returns Promise<T>

  • Takes a generator and runs it with the listed vaults. Locking is handled automatically.

    Type Parameters

    • T

    • TReturn

    • TNext

    Parameters

    • vaultIds: VaultId[]

      List of vault ID for vaults you wish to use

    • g: ((...args) => AsyncGenerator<T, TReturn, TNext>)

      Generator you wish to run with the provided vaults

        • (...args): AsyncGenerator<T, TReturn, TNext>
        • Parameters

          Returns AsyncGenerator<T, TReturn, TNext>

    • Optional tran: DBTransaction
    • Optional ctx: Partial<ContextTimedInput>

    Returns AsyncGenerator<T, TReturn, TNext>

Generated using TypeDoc