Options
All
  • Public
  • Public/Protected
  • All
Menu

Class SSHFilesystem

A Filesystem implementation that stores files on remote hosts via SFTP/SSH.

Hierarchy

Index

Constructors

constructor

  • new SSHFilesystem(baseConfig: { baseDir: string; ssh: ConnectConfig }): SSHFilesystem

Properties

Protected Readonly baseConfig

baseConfig: { baseDir: string; ssh: ConnectConfig }

Type declaration

  • baseDir: string
  • ssh: ConnectConfig

Private Optional sshClient

sshClient: Client

Methods

close

  • close(): Promise<void>

getMetadata

getPath

getPrefix

  • getPrefix(): string

getSFTP

  • getSFTP(): Promise<SFTPWrapper>

getSSH

  • getSSH(): Promise<Client>

getStoreFileAsStream

  • getStoreFileAsStream(args: { storePath: string }): Promise<Readable>

getStoreFileAsTemp

  • getStoreFileAsTemp(args: { storePath: string }): Promise<UniversalPath>

list

  • list(storePath: string): Promise<Collection<string>>

Protected metadataPath

  • metadataPath(storePath: string): string

mkdir

  • mkdir(args: { storePath: string }): Promise<void>

Protected normalizeTags

  • normalizeTags(tag?: string, tags?: string[]): string[]
  • Normalize the input tags into a single array of strings. This is useful for implementing the fluent interface for putLocalFile().

    example
    const tags: string[] = this._normalizeTags(args.tag, args.tags)
    

    Parameters

    • Optional tag: string
    • Optional tags: string[]

    Returns string[]

open

putLocalFile

  • putLocalFile(args: { localPath: string; mimeType?: string; storePath: string; tag?: string; tags?: string[] }): Promise<void>
  • Parameters

    • args: { localPath: string; mimeType?: string; storePath: string; tag?: string; tags?: string[] }
      • localPath: string
      • Optional mimeType?: string
      • storePath: string
      • Optional tag?: string
      • Optional tags?: string[]

    Returns Promise<void>

putStoreFileAsStream

  • putStoreFileAsStream(args: { storePath: string }): Promise<Writable>

remove

  • remove(args: { recursive?: boolean; storePath: string }): Promise<void>

setMetadata

  • setMetadata(storePath: string, meta: FileMetadata): Promise<void>

stat

  • stat(args: { storePath: string }): Promise<Stat>

Protected storePath

  • storePath(storePath: string): string

Protected streamToString

  • streamToString(stream: ReadableStream): Promise<string>

Protected tempName

  • tempName(): string

touch

  • touch(args: { storePath: string }): Promise<void>
Extollo Logo

extollo (v. latin) - to lift up, to elevate

Extollo is a free & libre application framework in TypeScript.