Options
All
  • Public
  • Public/Protected
  • All
Menu

This class is the base class of drives, it defines an interface that allows browsing, reading, and writing like a filesystem on a local computer.

Exposing new drives

Exposing a new type of drive is realized by implementing the abstract methods of this class. It is possible to actually implement only a subset of them, as far as the others won't be used in applications.

There is still work in progress about the permissions part of a drive to properly exhibit only a subset of the all methods delcared here.

The implementation of the following methods is a minimum to expose new drive (they allow read access):

To provide write access, the following methods should be implemented:

Hierarchy

Index

Constructors

constructor

  • new Drive(id: string, name: string, useCache?: boolean): Drive

Properties

Readonly drive

drive: Drive = ...

Readonly events$

events$: Subject<Event> = ...

Readonly id

id: string

Readonly name

name: string

Readonly useCache

useCache: boolean = true

Methods

Abstract blob

  • blob(fileId: string, events$?: Subject<Event> | Subject<Event>[]): Observable<Blob>

Abstract createFile

  • createFile(parentFolderId: string, name: string, content: Blob, events$?: Subject<Event> | Subject<Event>[]): Observable<File>

Abstract createFolder

  • createFolder(parentFolderId: string, name: string, events$?: Subject<Event> | Subject<Event>[]): Observable<Folder>

Abstract deleteFile

  • deleteFile(fileId: string, events$?: Subject<Event> | Subject<Event>[]): Observable<any>

Abstract deleteFolder

  • deleteFolder(folderId: string, events$?: Subject<Event> | Subject<Event>[]): Observable<any>

Abstract getFile

  • getFile(fileId: string, events$?: Subject<Event> | Subject<Event>[]): Observable<File>

Abstract listItems

  • listItems(folderId: string, maxResults?: number, beginIterator?: string, events$?: Subject<Event> | Subject<Event>[]): Observable<{ endIterator: string; files: File[]; folders: Folder[] }>

read

  • read(fileId: string, events$?: Subject<Event> | Subject<Event>[]): Observable<ArrayBuffer>

readAsDataUrl

  • readAsDataUrl(fileId: string, events$?: Subject<Event> | Subject<Event>[]): Observable<string>

readAsJson

  • readAsJson(fileId: string, events$?: Subject<Event> | Subject<Event>[]): Observable<Json>

readAsText

  • readAsText(fileId: string, events$?: Subject<Event> | Subject<Event>[]): Observable<string>

Abstract renameItem

Abstract updateContent

  • updateContent(fileId: string, content: Blob, events$?: Subject<Event> | Subject<Event>[]): Observable<any>

Generated using TypeDoc