Add endpoint support for decompressing files

This commit is contained in:
Dane Everitt 2020-07-14 21:16:49 -07:00
parent 78c76d6df4
commit 1a6669aa5c
No known key found for this signature in database
GPG key ID: EEA66103B3D71F53
8 changed files with 91 additions and 4 deletions

View file

@ -0,0 +1,8 @@
import http from '@/api/http';
export default async (uuid: string, directory: string, file: string): Promise<void> => {
await http.post(`/api/client/servers/${uuid}/files/decompress`, { root: directory, file }, {
timeout: 300000,
timeoutErrorMessage: 'It looks like this archive is taking a long time to be unarchived. Once completed the unarchived files will appear.',
});
};

View file

@ -12,6 +12,7 @@ export interface FileObject {
mimetype: string;
createdAt: Date;
modifiedAt: Date;
isArchiveType: () => boolean;
}
export default async (uuid: string, directory?: string): Promise<FileObject[]> => {

View file

@ -23,4 +23,12 @@ export const rawDataToFileObject = (data: FractalResponseData): FileObject => ({
mimetype: data.attributes.mimetype,
createdAt: new Date(data.attributes.created_at),
modifiedAt: new Date(data.attributes.modified_at),
isArchiveType: function () {
return this.isFile && [
'application/zip',
'application/gzip',
'application/x-tar',
].indexOf(this.mimetype) >= 0;
},
});