0.1.0 • Published 4 years ago

rabaz-temp v0.1.0

Weekly downloads
-
License
ISC
Repository
-
Last release
4 years ago

rabaz-terminalGlobals

rabaz-terminal

What is this?

This library is an abstraction for terminal-api usage.

It exposes certain functions to interact with the api

Install:

npm install --save rabaz-terminal

Usage:

Code

const { Terminal } = require('rabaz-terminal');
// or
import { Terminal } from 'rabaz-terminal';

const terminal = new Terminal('terminal_url', 'api_key');

Class: Terminal

Options

  • TERMINAL_API_USE_BEARER: set to false to not use 'Bearer' keyword in Authorization header of api request - default: true

  • TERMINAL_API_FOLDERS_ENDPOINT: the url endpoint for accessing the "folders" resource - default: /folders

  • TERMINAL_API_UPLOAD_ENDPOINT: the url endpoint for accessing the "upload" resource - default: /upload

  • TERMINAL_API_DOWNLOAD_ENDPOINT: the url endpoint for accessing the "download" resource - default: /download

  • TERMINAL_API_TEMP_FOLDER_PATH: the folder of temporary folders and files on upload - default: tmp

  • TERMINAL_API_TEMP_RESULTS_LIMIT: number of results from terminal - default: 1000

  • TERMINAL_API_SEND_POLLING_INTERVAL: frequency of checking terminal status in recieve and transfer functions - default: 1000

  • TERMINAL_API_TEMINAL_SEND_DELAY: timeout of recieve and transfer functions - default: 20 * 60 * 1000

  • TERMINAL_API_EXTENDED_FILE_STATUSES: extend statuses - default: []

  • TERMINAL_API_DEPRICATED_FILE_STATUSES: reomve statuses - default: []

Classes

rabaz-terminalGlobalsFileStatusObject

Class: FileStatusObject

Hierarchy

  • FileStatusObject

Index

Constructors

Properties

Methods

Constructors

constructor

+ new FileStatusObject(terminalStatus: FileStatus, direction: Direction): FileStatusObject

Defined in FileStatusObject.ts:8

Parameters:

NameType
terminalStatusFileStatus
directionDirection

Returns: FileStatusObject

Properties

Private description

description: string

Defined in FileStatusObject.ts:7


Private direction

direction: Direction

Defined in FileStatusObject.ts:8


Private status

status: FileStatus

Defined in FileStatusObject.ts:6


Private type

type: FileStatusType

Defined in FileStatusObject.ts:5

Methods

getDescription

getDescription(): string

Defined in FileStatusObject.ts:31

Returns: string


getDirection

getDirection(): FolderType

Defined in FileStatusObject.ts:43

Returns: FolderType


getTerminalStatus

getTerminalStatus(): FileStatus

Defined in FileStatusObject.ts:35

Returns: FileStatus


getType

getType(): FileStatusType

Defined in FileStatusObject.ts:39

Returns: FileStatusType


isFailure

isFailure(): boolean

Defined in FileStatusObject.ts:19

Returns: boolean


isInProgress

isInProgress(): boolean

Defined in FileStatusObject.ts:27

Returns: boolean


isSuccess

isSuccess(): boolean

Defined in FileStatusObject.ts:23

Returns: boolean


toString

toString(): string

Defined in FileStatusObject.ts:47

Returns: string

rabaz-terminalGlobalsFolderStatusObject

Class: FolderStatusObject

Hierarchy

  • FolderStatusObject

Index

Constructors

Properties

Methods

Constructors

constructor

+ new FolderStatusObject(terminalStatus: FolderStatus): FolderStatusObject

Defined in FolderStatusObject.ts:7

Parameters:

NameType
terminalStatusFolderStatus

Returns: FolderStatusObject

Properties

Private description

description: string

Defined in FolderStatusObject.ts:7


Private status

status: FolderStatus

Defined in FolderStatusObject.ts:6


Private type

type: FolderStatusType

Defined in FolderStatusObject.ts:5

Methods

getDescription

getDescription(): string

Defined in FolderStatusObject.ts:29

Returns: string


getTerminalStatus

getTerminalStatus(): FolderStatus

Defined in FolderStatusObject.ts:33

Returns: FolderStatus


getTerminalType

getTerminalType(): FolderStatusType

Defined in FolderStatusObject.ts:37

Returns: FolderStatusType


isAcked

isAcked(): boolean

Defined in FolderStatusObject.ts:17

Returns: boolean


isNacked

isNacked(): boolean

Defined in FolderStatusObject.ts:21

Returns: boolean


isUnacked

isUnacked(): boolean

Defined in FolderStatusObject.ts:25

Returns: boolean


toString

toString(): string

Defined in FolderStatusObject.ts:41

Returns: string

rabaz-terminalGlobalsTerminal

Class: Terminal

Hierarchy

  • Status

    Terminal

Index

Constructors

Properties

Methods

Constructors

constructor

+ new Terminal(url: string, apiKey: string): Terminal

Defined in terminal.ts:34

Parameters:

NameType
urlstring
apiKeystring

Returns: Terminal

Properties

request

request: TerminalRequest

Defined in terminal.ts:34

Methods

ackFolder

ackFolder(folderId: string): Promise‹IFolder

Defined in terminal.ts:136

Parameters:

NameType
folderIdstring

Returns: Promise‹IFolder


createFolder

createFolder(from: string, to: string[], title: string, sourceNetwork: string, destinationNetwork: string): Promise‹IFolder

Defined in terminal.ts:41

Parameters:

NameType
fromstring
tostring[]
titlestring
sourceNetworkstring
destinationNetworkstring

Returns: Promise‹IFolder


downloadFileFromFolder

downloadFileFromFolder(folderId: string, fileId: string, responseType: "buffer"): Promise‹Buffer›

Defined in terminal.ts:99

Parameters:

NameType
folderIdstring
fileIdstring
responseType"buffer"

Returns: Promise‹Buffer›

downloadFileFromFolder(folderId: string, fileId: string, responseType: "text", encoding: BufferEncoding): Promise‹string›

Defined in terminal.ts:100

Parameters:

NameType
folderIdstring
fileIdstring
responseType"text"
encodingBufferEncoding

Returns: Promise‹string›

downloadFileFromFolder(folderId: string, fileId: string, responseType: "stream"): Promise‹ReadableStream›

Defined in terminal.ts:101

Parameters:

NameType
folderIdstring
fileIdstring
responseType"stream"

Returns: Promise‹ReadableStream›


downloadFolder

downloadFolder(folderId: string): Promise‹ReadableStream‹››

Defined in terminal.ts:128

Parameters:

NameType
folderIdstring

Returns: Promise‹ReadableStream‹››


getFileFromFolder

getFileFromFolder(folderId: string, fileId: string): Promise‹IFile

Defined in terminal.ts:145

Parameters:

NameType
folderIdstring
fileIdstring

Returns: Promise‹IFile


getFilesFromFolder

getFilesFromFolder(folderId: string, params?: undefined | object): Promise‹IFile[]›

Defined in terminal.ts:88

Parameters:

NameType
folderIdstring
params?undefined | object

Returns: Promise‹IFile[]›


getFilesWithExtention

getFilesWithExtention(extention: string, params: GetFolderParams): Promise‹IFileExtended[]›

Defined in terminal.ts:184

Parameters:

NameTypeDefault
extentionstring-
paramsGetFolderParams{}

Returns: Promise‹IFileExtended[]›


getFilesWithName

getFilesWithName(name: string, params: GetFolderParams): Promise‹IFileExtended[]›

Defined in terminal.ts:188

Parameters:

NameTypeDefault
namestring-
paramsGetFolderParams{}

Returns: Promise‹IFileExtended[]›


getFolderById

getFolderById(folderId: string): Promise‹IFolder

Defined in terminal.ts:69

Parameters:

NameType
folderIdstring

Returns: Promise‹IFolder


getFolders

getFolders(params: GetFolderParams): Promise‹IFolder[]›

Defined in terminal.ts:73

Parameters:

NameTypeDefault
paramsGetFolderParams{}

Returns: Promise‹IFolder[]›


getTerminalFileStatus

getTerminalFileStatus(folderId: string, fileId: string): Promise‹FileStatusObject‹››

Defined in terminal.ts:154

Parameters:

NameType
folderIdstring
fileIdstring

Returns: Promise‹FileStatusObject‹››


getTerminalFiles

getTerminalFiles(params: GetFolderParams, filter?: undefined | function): Promise‹IFileExtended[]›

Defined in terminal.ts:159

Parameters:

NameTypeDefault
paramsGetFolderParams{}
filter?undefined | function-

Returns: Promise‹IFileExtended[]›


nackFolder

nackFolder(folderId: string, _reason?: undefined | number): Promise‹IFolder

Defined in terminal.ts:141

Parameters:

NameType
folderIdstring
_reason?undefined | number

Returns: Promise‹IFolder


recieveFiles

recieveFiles(filter: function, params: ReceiveFilesParams): Promise‹IFileExtended[]›

Defined in terminal.ts:291

This function is only for basic use. Don't use this function for complicated actions.

Parameters:

filter: function

▸ (file: IFile): boolean

Parameters:

NameType
fileIFile

Default value params: ReceiveFilesParams= defaultWaitForTransferCompletionParams

Returns: Promise‹IFileExtended[]›


sendFolder

sendFolder(folderId: string): Promise‹IFolder

Defined in terminal.ts:132

Parameters:

NameType
folderIdstring

Returns: Promise‹IFolder


transferFile

transferFile(from: string, to: string[], title: string, sourceNetwork: string, destinationNetwork: string, fileName: string, fileContent: ReadableStream | ReadStream | Buffer, params?: undefined | object): Promise‹void›

Defined in terminal.ts:231

This function is only for basic use. Don't use this function for complicated actions.

Parameters:

NameType
fromstring
tostring[]
titlestring
sourceNetworkstring
destinationNetworkstring
fileNamestring
fileContentReadableStream | ReadStream | Buffer
params?undefined | object

Returns: Promise‹void›

transferFile(from: string, to: string[], title: string, sourceNetwork: string, destinationNetwork: string, fileName: string, fileContent: string, params: object): Promise‹void›

Defined in terminal.ts:243

Parameters:

from: string

to: string[]

title: string

sourceNetwork: string

destinationNetwork: string

fileName: string

fileContent: string

params: object

NameType
encodingBufferEncoding
noAck?undefined | false | true

Returns: Promise‹void›


uploadFile

uploadFile(folderId: string, fileName: string, content: string, encoding: BufferEncoding): Promise‹IFile

Defined in terminal.ts:45

Parameters:

NameType
folderIdstring
fileNamestring
contentstring
encodingBufferEncoding

Returns: Promise‹IFile

uploadFile(folderId: string, fileName: string, content: Buffer | ReadableStream | ReadStream): Promise‹IFile

Defined in terminal.ts:46

Parameters:

NameType
folderIdstring
fileNamestring
contentBuffer | ReadableStream | ReadStream

Returns: Promise‹IFile


waitForTransferCompletion

waitForTransferCompletion(folderId: string, fileId: string, params: WaitForCompletionParams): Promise‹void›

Defined in terminal.ts:195

This function is only for basic use. Don't use this function for complicated actions.

Parameters:

NameTypeDefault
folderIdstring-
fileIdstring-
paramsWaitForCompletionParamsdefaultWaitForTransferCompletionParams

Returns: Promise‹void›


Static getFileStatusDescription

getFileStatusDescription(status: FileStatus, direction: Direction): FileStatusDescription

Inherited from Terminal.getFileStatusDescription

Defined in status.ts:29

Parameters:

NameType
statusFileStatus
directionDirection

Returns: FileStatusDescription


Static getFolderStatusDescription

getFolderStatusDescription(status: FolderStatus): FolderStatusDescription

Inherited from Terminal.getFolderStatusDescription

Defined in status.ts:36

Parameters:

NameType
statusFolderStatus

Returns: FolderStatusDescription


Static getStatuses

getStatuses(entity: "file" | "folder", params: object): Array‹FileStatusDescription | FolderStatusDescription›

Inherited from Terminal.getStatuses

Defined in status.ts:6

Parameters:

entity: "file" | "folder"

Default value params: object= {}

NameType
direction?Direction
type?StatusType

Returns: Array‹FileStatusDescription | FolderStatusDescription›


Static isAckedFolderStatus

isAckedFolderStatus(status: FolderStatus): boolean

Inherited from Terminal.isAckedFolderStatus

Defined in status.ts:55

Parameters:

NameType
statusFolderStatus

Returns: boolean


Static isFailureFileStatus

isFailureFileStatus(status: FileStatus, direction: Direction): boolean

Inherited from Terminal.isFailureFileStatus

Defined in status.ts:43

Parameters:

NameType
statusFileStatus
directionDirection

Returns: boolean


Static isInProgressFileStatus

isInProgressFileStatus(status: FileStatus, direction: Direction): boolean

Inherited from Terminal.isInProgressFileStatus

Defined in status.ts:51

Parameters:

NameType
statusFileStatus
directionDirection

Returns: boolean


Static isNackedFolderStatus

isNackedFolderStatus(status: FolderStatus): boolean

Inherited from Terminal.isNackedFolderStatus

Defined in status.ts:59

Parameters:

NameType
statusFolderStatus

Returns: boolean


Static isSuccessFileStatus

isSuccessFileStatus(status: FileStatus, direction: Direction): boolean

Inherited from Terminal.isSuccessFileStatus

Defined in status.ts:47

Parameters:

NameType
statusFileStatus
directionDirection

Returns: boolean


Static isUnackedFolderStatus

isUnackedFolderStatus(status: FolderStatus): boolean

Inherited from Terminal.isUnackedFolderStatus

Defined in status.ts:63

Parameters:

NameType
statusFolderStatus

Returns: boolean

rabaz-terminalGlobals

rabaz-terminal

Index

Classes

Interfaces

Type aliases

Variables

Functions

Object literals

Type aliases

Direction

Ƭ Direction: FolderType

Defined in config/status.ts:39


DownloadFileResponseType

Ƭ DownloadFileResponseType: "stream" | "text" | "buffer"

Defined in terminal.ts:25


FileIncomingFailedStatus

Ƭ FileIncomingFailedStatus: "FILE_INVALID_HASH" | "FILE_DROPPED" | "FILE_FAILED"

Defined in config/status.ts:7


FileIncomingInProgressStatus

Ƭ FileIncomingInProgressStatus: "FILE_PENDING" | "FILE_SCANNING"

Defined in config/status.ts:5


FileIncomingStatus

Ƭ FileIncomingStatus: FileIncomingFailedStatus | FileIncomingInProgressStatus | FileIncomingSuccessStatus

Defined in config/status.ts:25


FileIncomingSuccessStatus

Ƭ FileIncomingSuccessStatus: "FILE_FIXED" | "FILE_PASSED"

Defined in config/status.ts:9


FileOutgoingFailedStatus

Ƭ FileOutgoingFailedStatus: "FILE_INVALID_HASH" | "FILE_TRANSFER_FAILED" | "FILE_FAILED"

Defined in config/status.ts:19


FileOutgoingInProgressStatus

Ƭ FileOutgoingInProgressStatus: "FILE_UPLOADING" | "FILE_PENDING" | "FILE_SCANNING" | "FILE_FIXED" | "FILE_PASSED" | "FILE_TRANSFER_TO_OUT_FOLDER"

Defined in config/status.ts:11


FileOutgoingStatus

Ƭ FileOutgoingStatus: FileOutgoingFailedStatus | FileOutgoingInProgressStatus | FileOutgoingSuccessStatus

Defined in config/status.ts:23


FileOutgoingSuccessStatus

Ƭ FileOutgoingSuccessStatus: "FILE_TRANSFER_SUCCEEDED"

Defined in config/status.ts:21


FileStatus

Ƭ FileStatus: FileOutgoingStatus | FileIncomingStatus

Defined in config/status.ts:27


FileStatusType

Ƭ FileStatusType: "success" | "failure" | "in progress"

Defined in config/status.ts:31


FolderStatus

Ƭ FolderStatus: "SCAN_SENT" | "SCAN_INIT" | "SCAN_OK" | "SCAN_FAILED" | "SCAN_ABORTED" | "SCAN_ACKED" | "SCAN_PREPARATION" | "new"

Defined in config/status.ts:29


FolderStatusType

Ƭ FolderStatusType: "unacked" | "acked" | "nacked"

Defined in config/status.ts:33


FolderType

Ƭ FolderType: "incoming" | "outgoing"

Defined in config/status.ts:37


ReceiveFilesParams

Ƭ ReceiveFilesParams: WaitForCompletionParams & GetFolderParams

Defined in terminal.ts:29


StatusType

Ƭ StatusType: FileStatusType | FolderStatusType

Defined in config/status.ts:35


TryCatchResult

Ƭ TryCatchResult: object

Defined in utils/trycatch.ts:1

Type declaration:

  • err? : any

  • result? : any


WaitForCompletionParams

Ƭ WaitForCompletionParams: object

Defined in terminal.ts:27

Type declaration:

  • pollingInterval: number

  • timeout: number

Variables

Const allStatuses

allStatuses: (FileStatusDescription | FolderStatusDescription)[] = ...fileStatuses, ...folderStatuses

Defined in config/status.ts:212


Const defaultFileStatuses

defaultFileStatuses: FileStatusDescription[] = ...fileIncomingStatuses, ...fileOutgoingStatuses

Defined in config/status.ts:149


Const fileIncomingStatuses

fileIncomingStatuses: FileStatusDescription[] = { direction: 'incoming', type: 'success', description: 'File passed through terminal filter and was changed slightly', status: 'FILE_FIXED', }, { direction: 'incoming', type: 'success', description: 'File passed through terminal', status: 'FILE_PASSED', }, { direction: 'incoming', type: 'failure', description: 'File hash is invalid', status: 'FILE_INVALID_HASH', }, { direction: 'incoming', type: 'failure', description: 'File failed at terminal', status: 'FILE_FAILED', }, { direction: 'incoming', type: 'failure', description: 'File was dropped by terminal filter', status: 'FILE_DROPPED', }, { direction: 'incoming', type: 'in progress', description: 'File was pushed to terminal and is now waiting to be scanned or to be sent', status: 'FILE_PENDING', }, { direction: 'incoming', type: 'in progress', description: 'File is being scanned', status: 'FILE_SCANNING', },

Defined in config/status.ts:41


Const fileOutgoingStatuses

fileOutgoingStatuses: FileStatusDescription[] = { direction: 'outgoing', type: 'success', description: 'File was sent through terminal', status: 'FILE_TRANSFER_SUCCEEDED', }, { direction: 'outgoing', type: 'failure', description: 'File failed at terminal', status: 'FILE_FAILED', }, { direction: 'outgoing', type: 'failure', description: 'File hash is invalid', status: 'FILE_INVALID_HASH', }, { direction: 'outgoing', type: 'failure', description: 'Terminal failed to transfer the file to the other side', status: 'FILE_TRANSFER_FAILED', }, { direction: 'outgoing', type: 'in progress', description: 'File passed through terminal filter and was changed slightly', status: 'FILE_FIXED', }, { direction: 'outgoing', type: 'in progress', description: 'File passed through terminal', status: 'FILE_PASSED', }, { direction: 'outgoing', type: 'in progress', description: 'File was pushed to terminal and is now waiting to be scanned or to be sent', status: 'FILE_PENDING', }, { direction: 'outgoing', type: 'in progress', description: 'File is being scanned', status: 'FILE_SCANNING', }, { direction: 'outgoing', type: 'in progress', description: 'File is uploading', status: 'FILE_UPLOADING', }, { direction: 'outgoing', type: 'in progress', description: 'File is being sent through terminal', status: 'FILE_TRANSFER_TO_OUT_FOLDER', },

Defined in config/status.ts:86


Const fileStatuses

fileStatuses: FileStatusDescription[] = removeDepricatedFileStatusesFromArray(defaultFileStatuses, config.depricatedFileStatuses).concat( config.extendedFileStatuses, )

Defined in config/status.ts:164


Const folderStatuses

folderStatuses: FolderStatusDescription[] = { type: 'unacked', description: 'Folder scan sent', status: 'SCAN_SENT', }, { type: 'unacked', description: 'Folder is about to start terminal scan', status: 'SCAN_PREPARATION', }, { type: 'unacked', description: 'Folder started terminal scan', status: 'SCAN_INIT', }, { type: 'unacked', description: 'Folder passed terminal scan', status: 'SCAN_OK', }, { type: 'unacked', description: 'Folder failed terminal scan', status: 'SCAN_FAILED', }, { type: 'acked', description: 'Folder acked', status: 'SCAN_ACKED', }, { type: 'nacked', description: 'Folder nacked', status: 'SCAN_ABORTED', }, // TODO: dev: new not exist in prod { type: 'acked', description: 'Folder status only in terminal mock', status: 'new', },

Defined in config/status.ts:168

Functions

Const isFsReadStream

isFsReadStream(content: FileContentType): boolean

Defined in terminal.ts:21

Parameters:

NameType
contentFileContentType

Returns: boolean


Const removeDepricatedFileStatusesFromArray

removeDepricatedFileStatusesFromArray(fileStatuses: FileStatusDescription[], depricatedStatuses: DepricatedFileStatusDescription[]): FileStatusDescription[]

Defined in config/status.ts:151

Parameters:

NameType
fileStatusesFileStatusDescription[]
depricatedStatusesDepricatedFileStatusDescription[]

Returns: FileStatusDescription[]


Const trycatch

trycatch(func: Function, ...args: any[]): Promise‹TryCatchResult

Defined in utils/trycatch.ts:6

Parameters:

NameType
funcFunction
...argsany[]

Returns: Promise‹TryCatchResult

Object literals

Const defaultWaitForTransferCompletionParams

defaultWaitForTransferCompletionParams: object

Defined in terminal.ts:31

pollingInterval

pollingInterval: number = config.sendPollingInterval

Defined in terminal.ts:31

timeout

timeout: number = config.maxSendTerminalDelay

Defined in terminal.ts:31

Interfaces

rabaz-terminalGlobalsIFile

Interface: IFile

Hierarchy

Index

Properties

Properties

contentHash

contentHash: string

Defined in utils/userInterfaces.ts:26


fileId

fileId: string

Defined in utils/userInterfaces.ts:23


fileName

fileName: string

Defined in utils/userInterfaces.ts:24


folderId

folderId: string

Defined in utils/userInterfaces.ts:27


size

size: number

Defined in utils/userInterfaces.ts:28


status

status: FileStatusObject

Defined in utils/userInterfaces.ts:25

rabaz-terminalGlobalsIFileExtended

Interface: IFileExtended

Hierarchy

Index

Properties

Properties

contentHash

contentHash: string

Inherited from IFile.contentHash

Defined in utils/userInterfaces.ts:26


fileId

fileId: string

Inherited from IFile.fileId

Defined in utils/userInterfaces.ts:23


fileName

fileName: string

Inherited from IFile.fileName

Defined in utils/userInterfaces.ts:24


folderId

folderId: string

Overrides IFile.folderId

Defined in utils/userInterfaces.ts:34


folderStatus

folderStatus: FolderStatusObject

Defined in utils/userInterfaces.ts:35


from

from: string

Defined in utils/userInterfaces.ts:32


size

size: number

Inherited from IFile.size

Defined in utils/userInterfaces.ts:28


status

status: FileStatusObject

Inherited from IFile.status

Defined in utils/userInterfaces.ts:25


to

to: string[]

Defined in utils/userInterfaces.ts:33

rabaz-terminalGlobalsIFolder

Interface: IFolder

Hierarchy

  • IFolder

Index

Properties

Properties

acked

acked: AckedOptions

Defined in utils/userInterfaces.ts:17


dateCreated

dateCreated: string

Defined in utils/userInterfaces.ts:19


destinationNetwork

destinationNetwork: string

Defined in utils/userInterfaces.ts:12


files

files: IFile[]

Defined in utils/userInterfaces.ts:16


folderId

folderId: string

Defined in utils/userInterfaces.ts:7


from

from: string

Defined in utils/userInterfaces.ts:14


sentFiles

sentFiles: number

Defined in utils/userInterfaces.ts:18


service

service: string

Defined in utils/userInterfaces.ts:13


sourceNetwork

sourceNetwork: string

Defined in utils/userInterfaces.ts:11


status

status: FolderStatusObject

Defined in utils/userInterfaces.ts:10


title

title: string

Defined in utils/userInterfaces.ts:8


to

to: string[]

Defined in utils/userInterfaces.ts:15


type

type: FolderType

Defined in utils/userInterfaces.ts:9