feat(08-07): create domain modules admin.js, folders.js, shares.js, cloud.js — CODE-04
- admin.js: 17 functions; adminExportAuditLogCsv + adminDownloadDailyExport use fetchWithRetry - folders.js: 6 functions — import request from utils.js - shares.js: 5 functions — import request from utils.js - cloud.js: 7 functions including initiateOAuth — import request from utils.js - Blob-download retry boilerplate eliminated from admin.js (CODE-08)
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
/**
|
||||
* Folders API — listing, creation, renaming, deletion, document moves.
|
||||
*
|
||||
* Consumers: stores/folders.js, FolderTreeItem.vue, AppSidebar.vue
|
||||
*/
|
||||
|
||||
import { request } from './utils.js'
|
||||
|
||||
export function listFolders(parentId = null) {
|
||||
const params = new URLSearchParams()
|
||||
if (parentId != null) params.set('parent_id', parentId)
|
||||
const qs = params.toString()
|
||||
return request(`/api/folders${qs ? `?${qs}` : ''}`)
|
||||
}
|
||||
|
||||
export function createFolder(name, parentId = null) {
|
||||
return request('/api/folders', {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify({ name, parent_id: parentId || null }),
|
||||
})
|
||||
}
|
||||
|
||||
export function getFolder(folderId) {
|
||||
return request(`/api/folders/${folderId}`)
|
||||
}
|
||||
|
||||
export function renameFolder(folderId, name) {
|
||||
return request(`/api/folders/${folderId}`, {
|
||||
method: 'PATCH',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify({ name }),
|
||||
})
|
||||
}
|
||||
|
||||
export function deleteFolder(folderId) {
|
||||
return request(`/api/folders/${folderId}`, { method: 'DELETE' })
|
||||
}
|
||||
|
||||
export function moveDocument(docId, folderId) {
|
||||
return request(`/api/documents/${docId}/folder`, {
|
||||
method: 'PATCH',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify({ folder_id: folderId || null }),
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user