82 lines
3.0 KiB
TypeScript
82 lines
3.0 KiB
TypeScript
import { get, post, put, del, ApiRequestConfig, ApiRequestQuery } from '../../services/request';
|
|
|
|
|
|
const files = {
|
|
|
|
getEmpty: (flavor?: string, config?: ApiRequestConfig) => get("media/empty", { ...config, params: { flavor } }),
|
|
|
|
getById: (id: string, changeVector?: string, config?: ApiRequestConfig) => get('media/' + id, { ...config, params: { changeVector } }),
|
|
|
|
getByQuery: (query: ApiRequestQuery, config?: ApiRequestConfig) => get('media', { ...config, params: { ...query } }),
|
|
|
|
getHierarchy: (id: string, config?: ApiRequestConfig) => get(`media/${id}/hierarchy`, { ...config }),
|
|
|
|
//create: (model: any, config?: ApiRequestConfig) => post('media', model, config),
|
|
|
|
update: (model: any, config?: ApiRequestConfig) => put('media/' + model.id, model, config),
|
|
|
|
move: (id: string, parentId: string, config?: ApiRequestConfig) => put(`media/${id}/move/${parentId}`, {}, { ...config }),
|
|
|
|
delete: (id: string, config?: ApiRequestConfig) => del('media/' + id, config),
|
|
|
|
upload: async (file: File, folderId?: string, onProgress?: any) =>
|
|
{
|
|
var data = new FormData();
|
|
data.append('file', file);
|
|
|
|
if (folderId)
|
|
{
|
|
data.append('folderId', folderId);
|
|
}
|
|
|
|
return await post('media', data, {
|
|
onUploadProgress: (progressEvent) =>
|
|
{
|
|
if (typeof onProgress === 'function')
|
|
{
|
|
var percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total);
|
|
onProgress(percentCompleted);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
};
|
|
|
|
|
|
const folders = {
|
|
|
|
getEmpty: (flavor?: string, config?: ApiRequestConfig) => get("media/folders/empty", { ...config, params: { flavor } }),
|
|
|
|
getById: (id: string, changeVector?: string, config?: ApiRequestConfig) => get('media/folders/' + id, { ...config, params: { changeVector } }),
|
|
|
|
getByQuery: (query: ApiRequestQuery, config?: ApiRequestConfig) => get('media/folders', { ...config, params: { ...query } }),
|
|
|
|
getChildren: (id: string, includeFiles: boolean, query: ApiRequestQuery, config?: ApiRequestConfig) => get(`media/folders/${id}/children`, { ...config, params: { ...query, files: includeFiles } }),
|
|
|
|
getHierarchy: (id: string, config?: ApiRequestConfig) => get(`media/folders/${id}/hierarchy`, { ...config }),
|
|
|
|
create: (model: any, config?: ApiRequestConfig) => post('media/folders', model, config),
|
|
|
|
update: (model: any, config?: ApiRequestConfig) => put('media/folders/' + model.id, model, config),
|
|
|
|
move: (id: string, parentId: string, config?: ApiRequestConfig) => put(`media/folders/${id}/move/${parentId}`, {}, { ...config }),
|
|
|
|
delete: (id: string, config?: ApiRequestConfig) => del('media/folders/' + id, config)
|
|
};
|
|
|
|
|
|
const bulk = {
|
|
|
|
delete: (ids: string[], config?: ApiRequestConfig) => del(`media/bulk/delete`, { ids }, { ...config }),
|
|
|
|
move: (ids: string[], parentId: string, config?: ApiRequestConfig) => put(`media/bulk/move`, { parentId, ids }, { ...config }),
|
|
|
|
getDescendants: (ids: string[], config?: ApiRequestConfig) => get(`media/bulk/descendants`, { ...config, params: { ids } }),
|
|
};
|
|
|
|
|
|
export default {
|
|
...files,
|
|
folders,
|
|
bulk
|
|
}; |