Skip to content

cozy-client / models / file

Namespace: file

models.file

Interfaces

Variables

ALBUMS_DOCTYPE

Const ALBUMS_DOCTYPE: "io.cozy.photos.albums"

Defined in

packages/cozy-client/src/models/file.js:16

Functions

copy

copy(client, file, destination): Promise<any>

Copies a file to a specified destination.

throws {Error} - If an error occurs during the API request.

Parameters

Name Type Description
client any The client object used for making API requests.
file any The file object to be copied.
destination any The destination object where the file will be copied to.

Returns

Promise<any>

  • A promise that resolves with the response from the API.

Defined in

packages/cozy-client/src/models/file.js:695


doMobileUpload

doMobileUpload(client, fileURL, options): Promise<any>

Upload a file on a mobile

Parameters

Name Type Description
client CozyClient The CozyClient instance
fileURL string The local file path (file://)
options FileUploadOptions The upload options

Returns

Promise<any>

Defined in

packages/cozy-client/src/models/file.js:632


downloadFile

downloadFile(params): Promise<any>

Download the requested file

This method can be used in a web page context or in a WebView hosted by a Flagship app

When used in a FlagshipApp WebView context, then the action is redirected to the host app that will process the download

Parameters

Name Type Description
params Object The download parameters
params.client CozyClient Instance of CozyClient
params.file IOCozyFile io.cozy.files metadata of the document to downloaded
params.url string -
params.webviewIntent WebviewService -

Returns

Promise<any>

Defined in

packages/cozy-client/src/models/file.js:749


ensureFilePath

ensureFilePath(file, parent): any

Ensure the file has a path attribute, or build it

Parameters

Name Type Description
file any object representing the file
parent any parent directory for the file

Returns

any

file object with path attribute

Defined in

packages/cozy-client/src/models/file.js:169


fetchBlobFileById

fetchBlobFileById(client, fileId): Promise<Blob>

Parameters

Name Type Description
client CozyClient Instance of CozyClient
fileId string Id of io.cozy.files document

Returns

Promise<Blob>

Defined in

packages/cozy-client/src/models/file.js:678


fetchFilesByQualificationRules

fetchFilesByQualificationRules(client, docRules): Promise<any>

Helper to query files based on qualification rules

Parameters

Name Type Description
client any The CozyClient instance
docRules any the rules containing the searched qualification and the count

Returns

Promise<any>

The files found by the rules

Defined in

packages/cozy-client/src/models/file.js:289


generateFileNameForRevision

generateFileNameForRevision(file, revision, f): string

Generate a file name for a revision

Parameters

Name Type Description
file IOCozyFile io.cozy.files document
revision any The revision containing the updated_at
f Function A function taking a a date and a format as arguments to generate the name.

Returns

string

Defined in

packages/cozy-client/src/models/file.js:512


generateNewFileNameOnConflict

generateNewFileNameOnConflict(filenameWithoutExtension, conflictOptions): string

Method to generate a new filename if there is a conflict

Parameters

Name Type Description
filenameWithoutExtension string A filename without the extension
conflictOptions ConflictOptions -

Returns

string

A filename with the right suffix

Defined in

packages/cozy-client/src/models/file.js:482


getEncryptiondRef

getEncryptiondRef(dir): boolean

Returns folder encryption reference

Parameters

Name Type Description
dir IOCozyFile io.cozy.files document

Returns

boolean

Defined in

packages/cozy-client/src/models/file.js:86


getFullpath

getFullpath(client, dirId, name): Promise<string>

async getFullpath - Gets a file’s path

Parameters

Name Type Description
client CozyClient The CozyClient instance
dirId string The id of the parent directory
name string The file’s name

Returns

Promise<string>

The full path of the file in the cozy

Defined in

packages/cozy-client/src/models/file.js:324


getParentFolderId

getParentFolderId(file): string

Get the id of the parent folder (null for the root folder)

Parameters

Name Type Description
file any io.cozy.files document

Returns

string

id of the parent folder, if any

Defined in

packages/cozy-client/src/models/file.js:183


getSharingShortcutStatus

getSharingShortcutStatus(file): string

Returns the status of a sharing shortcut.

Parameters

Name Type Description
file IOCozyFile io.cozy.files document

Returns

string

A description of the status

Defined in

packages/cozy-client/src/models/file.js:195


getSharingShortcutTargetDoctype

getSharingShortcutTargetDoctype(file): string

Returns the doctype of the target of the sharing shortcut.

Parameters

Name Type Description
file IOCozyFile io.cozy.files document

Returns

string

A doctype

Defined in

packages/cozy-client/src/models/file.js:215


getSharingShortcutTargetMime

getSharingShortcutTargetMime(file): string

Returns the mime type of the target of the sharing shortcut, if it is a file.

Parameters

Name Type Description
file IOCozyFile io.cozy.files document

Returns

string

The mime-type of the target file, or an empty string is the target is not a file.

Defined in

packages/cozy-client/src/models/file.js:205


hasCertifications

hasCertifications(file): boolean

Parameters

Name Type Description
file IOCozyFile io.cozy.files document

Returns

boolean

Defined in

packages/cozy-client/src/models/file.js:658


hasMetadataAttribute

hasMetadataAttribute(params): boolean

Whether the file’s metadata attribute exists

Parameters

Name Type Description
params Object Param
params.attribute string Metadata attribute to check
params.file IOCozyFile An io.cozy.files document

Returns

boolean

Defined in

packages/cozy-client/src/models/file.js:313


hasQualifications

hasQualifications(file): boolean

Parameters

Name Type Description
file IOCozyFile io.cozy.files document

Returns

boolean

Defined in

packages/cozy-client/src/models/file.js:650


isDirectory

isDirectory(file): boolean

Parameters

Name Type Description
file IOCozyFile io.cozy.files

Returns

boolean

Defined in

packages/cozy-client/src/models/file.js:48


isEncrypted

isEncrypted(file): boolean

Whether the file is client-side encrypted

Parameters

Name Type Description
file IOCozyFile io.cozy.files document

Returns

boolean

Defined in

packages/cozy-client/src/models/file.js:76


isEncryptedFileOrFolder

isEncryptedFileOrFolder(fileOrdir): boolean

Whether the file or folder is client-side encrypted

Parameters

Name Type Description
fileOrdir IOCozyFile io.cozy.files document

Returns

boolean

Defined in

packages/cozy-client/src/models/file.js:107


isEncryptedFolder

isEncryptedFolder(dir): boolean

Whether the folder is client-side encrypted

Parameters

Name Type Description
dir IOCozyFile io.cozy.files document

Returns

boolean

Defined in

packages/cozy-client/src/models/file.js:97


isFile

isFile(file): boolean

Parameters

Name Type Description
file IOCozyFile io.cozy.files

Returns

boolean

Defined in

packages/cozy-client/src/models/file.js:42


isFromKonnector

isFromKonnector(file): boolean

Parameters

Name Type Description
file IOCozyFile io.cozy.files document

Returns

boolean

Defined in

packages/cozy-client/src/models/file.js:669


isNote

isNote(file): boolean

Is file param a correct note

Parameters

Name Type Description
file IOCozyFile io.cozy.files

Returns

boolean

Defined in

packages/cozy-client/src/models/file.js:56


isOnlyOfficeFile

isOnlyOfficeFile(file): boolean

Whether the file is supported by Only Office

Parameters

Name Type Description
file IOCozyFile io.cozy.file document

Returns

boolean

Defined in

packages/cozy-client/src/models/file.js:117


isPlainText

isPlainText(mimeType?, fileName?): boolean

Parameters

Name Type Default value
mimeType string ''
fileName string ''

Returns

boolean

Defined in

packages/cozy-client/src/models/file.js:642


isSharingShorcut

isSharingShorcut(file): boolean

Returns whether the file is a shortcut to a sharing

deprecated Prefer to use isSharingShortcut.

Parameters

Name Type Description
file IOCozyFile io.cozy.files document

Returns

boolean

Defined in

packages/cozy-client/src/models/file.js:235


isSharingShorcutNew

isSharingShorcutNew(file): boolean

Returns whether the sharing shortcut is new

deprecated Prefer to use isSharingShortcutNew.

Parameters

Name Type Description
file any io.cozy.files document

Returns

boolean

Defined in

packages/cozy-client/src/models/file.js:260


isSharingShortcut

isSharingShortcut(file): boolean

Returns whether the file is a shortcut to a sharing

Parameters

Name Type Description
file IOCozyFile io.cozy.files document

Returns

boolean

Defined in

packages/cozy-client/src/models/file.js:225


isSharingShortcutNew

isSharingShortcutNew(file): boolean

Returns whether the sharing shortcut is new

Parameters

Name Type Description
file IOCozyFile io.cozy.files document

Returns

boolean

Defined in

packages/cozy-client/src/models/file.js:249


isShortcut

isShortcut(file): boolean

Parameters

Name Type Description
file IOCozyFile io.cozy.files document

Returns

boolean

true if the file is a shortcut

Defined in

packages/cozy-client/src/models/file.js:142


move

move(client, file, destination, options?): Promise<{ deleted: string[] ; moved: IOCozyFile }>

Move file to destination. Manage 4 cases :

  • Move inside a Cozy server
  • Move inside a Nextcloud server
  • Move from a Nextcloud server to Cozy
  • Move from Cozy to a Nextcloud server

Parameters

Name Type Description
client CozyClient The CozyClient instance
file IOCozyFile NextcloudFile
destination NextcloudFile IOCozyFolder
options Object The options
options.force boolean Whether we should overwrite, i.e. put to trash, the destination in case of conflict (defaults to false).

Returns

Promise<{ deleted: string[] ; moved: IOCozyFile }>

} - A promise that returns the move action response (if any) and the deleted file id (if any) if resolved or an Error if rejected

Defined in

packages/cozy-client/src/models/file.js:353


normalize

normalize(file): any

Normalizes an object representing a io.cozy.files object

Ensures existence of _id and _type

Parameters

Name Type Description
file any object representing the file

Returns

any

full normalized object

Defined in

packages/cozy-client/src/models/file.js:155


overrideFileForPath

overrideFileForPath(client, dirPath, file, metadata): Promise<IOCozyFile>

Method to upload a file even if a file with the same name already exists.

Parameters

Name Type Description
client CozyClient The CozyClient instance
dirPath string Fullpath of directory to upload to ex: path/to/
file any HTML Object file
metadata any An object containing the wanted metadata to attach

Returns

Promise<IOCozyFile>

The overrided file

Defined in

packages/cozy-client/src/models/file.js:448


readMobileFile

readMobileFile(fileURL): Promise<any>

Read a file on a mobile

Parameters

Name Type Description
fileURL string The local file path (file://)

Returns

Promise<any>

Defined in

packages/cozy-client/src/models/file.js:585


saveFileQualification

saveFileQualification(client, file, qualification): Promise<IOCozyFile>

Save the file with the given qualification

Parameters

Name Type Description
client CozyClient The CozyClient instance
file IOCozyFile The file to qualify
qualification any The file qualification

Returns

Promise<IOCozyFile>

The saved file

Defined in

packages/cozy-client/src/models/file.js:275


shouldBeOpenedByOnlyOffice

shouldBeOpenedByOnlyOffice(file): boolean

Whether the file should be opened by only office We want to be consistent with the stack so we check the class attributes But we want to exclude .txt and .md because the CozyUI Viewer can already show them

Parameters

Name Type Description
file IOCozyFile io.cozy.file document

Returns

boolean

Defined in

packages/cozy-client/src/models/file.js:132


splitFilename

splitFilename(file): Object

Returns base filename and extension

Parameters

Name Type Description
file IOCozyFile An io.cozy.files

Returns

Object

Name Type
extension string
filename string

Defined in

packages/cozy-client/src/models/file.js:26


uploadFileWithConflictStrategy

uploadFileWithConflictStrategy(client, file, options): any

The goal of this method is to upload a file based on a conflict strategy. Be careful: We need to check if the file exists by doing a statByPath query before trying to upload the file since if we post and the stack return a 409 conflict, we will get a SPDY_ERROR_PROTOCOL on Chrome. This is the only viable workaround If there is no conflict, then we upload the file. If there is a conflict, then we apply the conflict strategy : erase or rename:

  • The erase strategy means an upload with a new version
  • The rename strategy means a new upload with a new name

Parameters

Name Type Description
client CozyClient The CozyClient instance
file string ArrayBuffer
options FileUploadOptions The upload options

Returns

any

Defined in

packages/cozy-client/src/models/file.js:545