Home Reference Source
import {FileBrowserFolderLinkFile} from '@fnndsc/chrisapi'
public class | source

FileBrowserFolderLinkFile

Extends:

ResourceItemResource → FileBrowserFolderLinkFile

File browser folder link file item resource object representing a link file.

Method Summary

Public Methods
public

addGroupPermission(group_name: string, permission: string, timeout: number): Promise<LinkFileGroupPermission>

Add a group permission to access the link file.

public

addUserPermission(username: string, permission: string, timeout: number): Promise<LinkFileUserPermission>

Add a user permission to access the link file.

public

delete(timeout: number): Promise

Make a DELETE request to delete this link file item resource through the REST API.

public

getFileBlob(timeout: number): Promise<Blob>

Fetch the file blob associated to this file item from the REST API.

public

Get a link file group permission given the name of the group.

public

Fetch a list of group permissions associated to this link file from the REST API.

public

Fetch the linked resource (file or folder) from the REST API.

public

Fetch the parent folder of this link file from the REST API.

public

Get a link file user permission given the username of the user.

public

Fetch a list of user permissions associated to this link file from the REST API.

public

makePublic(timeout: number): Promise<this>

Make the link file public.

public

makeUnpublic(timeout: number): Promise<this>

Make the link file unpublic.

public

put(data: Object, timeout: number): Promise<this>

Make a PUT request to modify this link file item resource through the REST API.

Inherited Summary

From class Resource
public static

cloneObj(obj: Object): *

Helper method to make a deep copy clone of the passed object resource.

public get

Return true if the resource object contains any data.

public
public
public
public
public

Make a deep copy clone of this object resource.

From class ItemResource
public get

Get the item's data object (REST API descriptors).

public
public

get(timeout: number): Promise<this>

Fetch this item resource from the REST API.

public

Get an array of parameter names that can be used as properties of the data object in PUT requests.

private

_delete(timeout: number): Promise

Internal helper method to make a DELETE request to this item resource through the REST API.

private

_getResource(linkRelation: string, ResourceClass: Object, searchParams: Object, timeout: number): Promise<ResourceClass>

Internal method to fetch a related resource from the REST API that is referenced by a link relation within the item object.

private

_put(data: Object, uploadFileObj: Object, timeout: number): Promise<this>

Internal helper method to make a PUT request to this item resource through the REST API.

Public Methods

public addGroupPermission(group_name: string, permission: string, timeout: number): Promise<LinkFileGroupPermission> source

Add a group permission to access the link file.

Params:

NameTypeAttributeDescription
group_name string

group's name

permission string

permission, can be 'r' or 'w'

timeout number
  • optional
  • default: 30000

request timeout

Return:

Promise<LinkFileGroupPermission>

JS Promise, resolves to a LinkFileGroupPermission object

public addUserPermission(username: string, permission: string, timeout: number): Promise<LinkFileUserPermission> source

Add a user permission to access the link file.

Params:

NameTypeAttributeDescription
username string

user's username

permission string

permission, can be 'r' or 'w'

timeout number
  • optional
  • default: 30000

request timeout

Return:

Promise<LinkFileUserPermission>

JS Promise, resolves to a LinkFileUserPermission object

public delete(timeout: number): Promise source

Make a DELETE request to delete this link file item resource through the REST API.

Params:

NameTypeAttributeDescription
timeout number
  • optional
  • default: 30000

request timeout

Return:

Promise

JS Promise

public getFileBlob(timeout: number): Promise<Blob> source

Fetch the file blob associated to this file item from the REST API.

Params:

NameTypeAttributeDescription
timeout number
  • optional
  • default: 30000

request timeout

Return:

Promise<Blob>

JS Promise, resolves to a Blob object

public getGroupPermission(group_name: string, timeout: number): Promise<LinkFileGroupPermission|null> source

Get a link file group permission given the name of the group.

Params:

NameTypeAttributeDescription
group_name string

link file group permission's group name

timeout number
  • optional
  • default: 30000

request timeout

Return:

Promise<LinkFileGroupPermission|null>

JS Promise, resolves to a LinkFileGroupPermission object or null

public getGroupPermissions(searchParams: Object, timeout: number): Promise<LinkFileGroupPermissionList> source

Fetch a list of group permissions associated to this link file from the REST API.

Params:

NameTypeAttributeDescription
searchParams Object
  • optional
  • default: null

search parameters object

searchParams.limit number
  • optional

page limit

searchParams.offset number
  • optional

page offset

searchParams.id number
  • optional

match link file group permission id exactly with this number

searchParams.group_name string
  • optional

match group name exactly with this string

timeout number
  • optional
  • default: 30000

request timeout

Return:

Promise<LinkFileGroupPermissionList>

JS Promise, resolves to a LinkFileGroupPermissionList object

public getLinkedResource(timeout: number): Promise<FileBrowserFolder|FileBrowserFolderFile|null> source

Fetch the linked resource (file or folder) from the REST API.

Params:

NameTypeAttributeDescription
timeout number
  • optional
  • default: 30000

request timeout

Return:

Promise<FileBrowserFolder|FileBrowserFolderFile|null>

JS Promise, resolves to either a FileBrowserFolder object or a FileBrowserFolderFileobject or null if the link is broken.

public getParentFolder(timeout: number): Promise<FileBrowserFolder> source

Fetch the parent folder of this link file from the REST API.

Params:

NameTypeAttributeDescription
timeout number
  • optional
  • default: 30000

request timeout

Return:

Promise<FileBrowserFolder>

JS Promise, resolves to a FileBrowserFolder object

public getUserPermission(username: string, timeout: number): Promise<LinkFileUserPermission|null> source

Get a link file user permission given the username of the user.

Params:

NameTypeAttributeDescription
username string

link file user permission's username

timeout number
  • optional
  • default: 30000

request timeout

Return:

Promise<LinkFileUserPermission|null>

JS Promise, resolves to a LinkFileUserPermission object or null

public getUserPermissions(searchParams: Object, timeout: number): Promise<LinkFileUserPermissionList> source

Fetch a list of user permissions associated to this link file from the REST API.

Params:

NameTypeAttributeDescription
searchParams Object
  • optional
  • default: null

search parameters object

searchParams.limit number
  • optional

page limit

searchParams.offset number
  • optional

page offset

searchParams.id number
  • optional

match link file user permission id exactly with this number

searchParams.username string
  • optional

match username exactly with this string

timeout number
  • optional
  • default: 30000

request timeout

Return:

Promise<LinkFileUserPermissionList>

JS Promise, resolves to a LinkFileUserPermissionList object

public makePublic(timeout: number): Promise<this> source

Make the link file public.

Params:

NameTypeAttributeDescription
timeout number
  • optional
  • default: 30000

request timeout

Return:

Promise<this>

JS Promise, resolves to this object

public makeUnpublic(timeout: number): Promise<this> source

Make the link file unpublic.

Params:

NameTypeAttributeDescription
timeout number
  • optional
  • default: 30000

request timeout

Return:

Promise<this>

JS Promise, resolves to this object

public put(data: Object, timeout: number): Promise<this> source

Make a PUT request to modify this link file item resource through the REST API.

Params:

NameTypeAttributeDescription
data Object

request JSON data object

data.public boolean
  • optional

public status of the link file

data.new_link_file_path string
  • optional

absolute path including file name where the link file will be uploaded on the storage service

timeout number
  • optional
  • default: 30000

request timeout

Return:

Promise<this>

JS Promise, resolves to this object