2019-07-27 20:23:51 -07:00
|
|
|
import http from '@/api/http';
|
2020-07-11 13:38:49 -07:00
|
|
|
import { rawDataToFileObject } from '@/api/transformers';
|
2019-07-27 20:23:51 -07:00
|
|
|
|
|
|
|
export interface FileObject {
|
2020-08-01 18:48:58 -07:00
|
|
|
key: string;
|
2019-07-27 20:23:51 -07:00
|
|
|
name: string;
|
|
|
|
mode: string;
|
2020-11-29 14:46:35 -07:00
|
|
|
modeBits: string,
|
2019-07-27 20:23:51 -07:00
|
|
|
size: number;
|
|
|
|
isFile: boolean;
|
|
|
|
isSymlink: boolean;
|
|
|
|
mimetype: string;
|
|
|
|
createdAt: Date;
|
|
|
|
modifiedAt: Date;
|
2020-07-14 21:16:49 -07:00
|
|
|
isArchiveType: () => boolean;
|
2020-08-30 10:25:48 -07:00
|
|
|
isEditable: () => boolean;
|
2019-07-27 20:23:51 -07:00
|
|
|
}
|
|
|
|
|
2020-07-10 22:10:51 -07:00
|
|
|
export default async (uuid: string, directory?: string): Promise<FileObject[]> => {
|
|
|
|
const { data } = await http.get(`/api/client/servers/${uuid}/files/list`, {
|
2020-12-16 21:38:46 -08:00
|
|
|
params: { directory: directory ?? '/' },
|
2019-07-27 20:23:51 -07:00
|
|
|
});
|
2020-07-10 22:10:51 -07:00
|
|
|
|
2020-07-11 13:38:49 -07:00
|
|
|
return (data.data || []).map(rawDataToFileObject);
|
2019-07-27 20:23:51 -07:00
|
|
|
};
|