diff --git a/docs/api/cozy-client/interfaces/models.file.FileUploadOptions.md b/docs/api/cozy-client/interfaces/models.file.FileUploadOptions.md index 294e684e5..2a9bd128f 100644 --- a/docs/api/cozy-client/interfaces/models.file.FileUploadOptions.md +++ b/docs/api/cozy-client/interfaces/models.file.FileUploadOptions.md @@ -14,7 +14,7 @@ Conflict options *Defined in* -[packages/cozy-client/src/models/file.js:548](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L548) +[packages/cozy-client/src/models/file.js:553](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L553) *** @@ -26,7 +26,7 @@ Erase / rename *Defined in* -[packages/cozy-client/src/models/file.js:547](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L547) +[packages/cozy-client/src/models/file.js:552](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L552) *** @@ -38,7 +38,7 @@ The file Content-Type *Defined in* -[packages/cozy-client/src/models/file.js:546](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L546) +[packages/cozy-client/src/models/file.js:551](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L551) *** @@ -50,7 +50,7 @@ The dirId to upload the file to *Defined in* -[packages/cozy-client/src/models/file.js:544](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L544) +[packages/cozy-client/src/models/file.js:549](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L549) *** @@ -62,7 +62,7 @@ ID of the shared drive in which the file should be saved *Defined in* -[packages/cozy-client/src/models/file.js:549](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L549) +[packages/cozy-client/src/models/file.js:554](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L554) *** @@ -74,7 +74,7 @@ An object containing the metadata to attach *Defined in* -[packages/cozy-client/src/models/file.js:545](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L545) +[packages/cozy-client/src/models/file.js:550](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L550) *** @@ -86,4 +86,4 @@ The file name to upload *Defined in* -[packages/cozy-client/src/models/file.js:543](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L543) +[packages/cozy-client/src/models/file.js:548](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L548) diff --git a/docs/api/cozy-client/modules/models.file.md b/docs/api/cozy-client/modules/models.file.md index 2d462165a..8ec369298 100644 --- a/docs/api/cozy-client/modules/models.file.md +++ b/docs/api/cozy-client/modules/models.file.md @@ -46,7 +46,7 @@ Copies a file to a specified destination. *Defined in* -[packages/cozy-client/src/models/file.js:666](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L666) +[packages/cozy-client/src/models/file.js:671](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L671) *** @@ -78,7 +78,7 @@ that will process the download *Defined in* -[packages/cozy-client/src/models/file.js:721](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L721) +[packages/cozy-client/src/models/file.js:726](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L726) *** @@ -126,7 +126,7 @@ file object with path attribute *Defined in* -[packages/cozy-client/src/models/file.js:647](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L647) +[packages/cozy-client/src/models/file.js:652](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L652) *** @@ -175,7 +175,7 @@ Generate a file name for a revision *Defined in* -[packages/cozy-client/src/models/file.js:533](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L533) +[packages/cozy-client/src/models/file.js:538](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L538) *** @@ -200,7 +200,7 @@ A filename with the right suffix *Defined in* -[packages/cozy-client/src/models/file.js:503](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L503) +[packages/cozy-client/src/models/file.js:508](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L508) *** @@ -228,17 +228,18 @@ Returns folder encryption reference ### getFullpath -▸ **getFullpath**(`client`, `dirId`, `name`): `Promise`<`string`> +▸ **getFullpath**(`client`, `dirId`, `name`, `driveId?`): `Promise`<`string`> async getFullpath - Gets a file's path *Parameters* -| Name | Type | Description | -| :------ | :------ | :------ | -| `client` | [`CozyClient`](../classes/CozyClient.md) | The CozyClient instance | -| `dirId` | `string` | The id of the parent directory | -| `name` | `string` | The file's name | +| Name | Type | Default value | Description | +| :------ | :------ | :------ | :------ | +| `client` | [`CozyClient`](../classes/CozyClient.md) | `undefined` | The CozyClient instance | +| `dirId` | `string` | `undefined` | The id of the parent directory | +| `name` | `string` | `undefined` | The file's name | +| `driveId` | `any` | `undefined` | - | *Returns* @@ -364,7 +365,7 @@ 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:625](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L625) +[packages/cozy-client/src/models/file.js:630](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L630) *** @@ -408,7 +409,7 @@ Whether the file's metadata attribute exists *Defined in* -[packages/cozy-client/src/models/file.js:617](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L617) +[packages/cozy-client/src/models/file.js:622](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L622) *** @@ -556,7 +557,7 @@ Whether the folder is client-side encrypted *Defined in* -[packages/cozy-client/src/models/file.js:636](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L636) +[packages/cozy-client/src/models/file.js:641](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L641) *** @@ -621,7 +622,7 @@ Whether the file is supported by Only Office *Defined in* -[packages/cozy-client/src/models/file.js:609](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L609) +[packages/cozy-client/src/models/file.js:614](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L614) *** @@ -771,7 +772,7 @@ Manage 4 cases : *Defined in* -[packages/cozy-client/src/models/file.js:371](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L371) +[packages/cozy-client/src/models/file.js:376](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L376) *** @@ -826,7 +827,7 @@ The overrided file *Defined in* -[packages/cozy-client/src/models/file.js:463](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L463) +[packages/cozy-client/src/models/file.js:468](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L468) *** @@ -938,4 +939,4 @@ If there is a conflict, then we apply the conflict strategy : `erase` or `rename *Defined in* -[packages/cozy-client/src/models/file.js:567](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L567) +[packages/cozy-client/src/models/file.js:572](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/file.js#L572) diff --git a/packages/cozy-client/src/models/file.js b/packages/cozy-client/src/models/file.js index ead6edded..2255f28c7 100644 --- a/packages/cozy-client/src/models/file.js +++ b/packages/cozy-client/src/models/file.js @@ -338,14 +338,19 @@ export const hasMetadataAttribute = ({ file, attribute }) => * @param {string} name - The file's name * @returns {Promise} The full path of the file in the cozy **/ -export const getFullpath = async (client, dirId, name) => { +export const getFullpath = async (client, dirId, name, driveId = undefined) => { if (!dirId) { throw new Error('You must provide a dirId') } - const { data: parentDir } = await client.query( - Q(DOCTYPE_FILES).getById(dirId) - ) + let query = Q(DOCTYPE_FILES).getById(dirId) + + if (driveId) { + query = query.sharingById(driveId) + } + + const { data: parentDir } = await client.query(query) + const parentDirectoryPath = trimEnd(parentDir.path, '/') return `${parentDirectoryPath}/${name}` } diff --git a/packages/cozy-client/types/models/file.d.ts b/packages/cozy-client/types/models/file.d.ts index 1d54f0132..24da57928 100644 --- a/packages/cozy-client/types/models/file.d.ts +++ b/packages/cozy-client/types/models/file.d.ts @@ -55,7 +55,7 @@ export function hasMetadataAttribute({ file, attribute }: { file: import("../types").IOCozyFile; attribute: string; }): boolean; -export function getFullpath(client: CozyClient, dirId: string, name: string): Promise; +export function getFullpath(client: CozyClient, dirId: string, name: string, driveId?: any): Promise; export function move(client: CozyClient, file: import('../types').IOCozyFile | import('../types').NextcloudFile, destination: import('../types').IOCozyFolder | import('../types').NextcloudFile, { force, driveId }?: { force: boolean; driveId: string;