blob: 224263e1004ef4a3c1f0e48a1bf2f221bb55437e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
import { AxiosResponse } from 'axios'
import axios from '@nextcloud/axios'
import { API_ROUTES } from '../types/ApiRoutes'
export class FolderService {
/**
* Retrieves all of the folders from the Nextcloud News backend
*
* @return {AxiosResponse} Folders contained in data.folders property
*/
static fetchAllFolders(): Promise<AxiosResponse> {
return axios.get(API_ROUTES.FOLDER)
}
/**
* Creates a new Folder in the Nextcloud News backend
*
* @param param0 Folder data
* @param param0.name {String} New Folder Name
* @return {AxiosResponse} Folder info from backend in data.folders[0] property
*/
static createFolder({ name }: { name: string }): Promise<AxiosResponse> {
return axios.post(API_ROUTES.FOLDER, { folderName: name })
}
/**
* Update a folder name
*
* @param param0 Folder data
* @param param0.id {Number} ID number of folder to update
* @param param0.name {String} name to set for folder
* @return {AxiosResponse} Null value is returned on success
*/
static renameFolder({ id, name }: { id: number, name?: string }): Promise<AxiosResponse> {
return axios.post(API_ROUTES.FOLDER + `/${id}/rename`, {
folderName: name,
})
}
/**
* Deletes a folder in the Nextcloud News backend (by id number)
*
* @param param0 Folder data
* @param param0.id {number} id of folder to delete
* @return {AxiosResponse}
*/
static deleteFolder({ id }: { id: number }): Promise<AxiosResponse> {
return axios.delete(API_ROUTES.FOLDER + '/' + id)
}
}
|