65 lines
1.3 KiB
TypeScript
65 lines
1.3 KiB
TypeScript
import { postJSON, deleteJSON } from '../../../infrastructure/fetch-json'
|
|
|
|
export function syncRename(
|
|
projectId: string,
|
|
entityType: string,
|
|
entityId: string,
|
|
newName: string
|
|
) {
|
|
return postJSON(
|
|
`/project/${projectId}/${getEntityPathName(entityType)}/${entityId}/rename`,
|
|
{
|
|
body: {
|
|
name: newName,
|
|
},
|
|
}
|
|
)
|
|
}
|
|
|
|
export function syncDelete(
|
|
projectId: string,
|
|
entityType: string,
|
|
entityId: string
|
|
) {
|
|
return deleteJSON(
|
|
`/project/${projectId}/${getEntityPathName(entityType)}/${entityId}`
|
|
)
|
|
}
|
|
|
|
export function syncMove(
|
|
projectId: string,
|
|
entityType: string,
|
|
entityId: string,
|
|
toFolderId: string
|
|
) {
|
|
return postJSON(
|
|
`/project/${projectId}/${getEntityPathName(entityType)}/${entityId}/move`,
|
|
{
|
|
body: {
|
|
folder_id: toFolderId,
|
|
},
|
|
}
|
|
)
|
|
}
|
|
|
|
export function syncCreateEntity(
|
|
projectId: string,
|
|
parentFolderId: string,
|
|
newEntityData: {
|
|
endpoint: 'doc' | 'folder' | 'linked-file'
|
|
[key: string]: unknown
|
|
}
|
|
) {
|
|
const { endpoint, ...newEntity } = newEntityData
|
|
return postJSON(`/project/${projectId}/${endpoint}`, {
|
|
body: {
|
|
parent_folder_id: parentFolderId,
|
|
...newEntity,
|
|
},
|
|
})
|
|
}
|
|
|
|
function getEntityPathName(entityType: string) {
|
|
return entityType === 'fileRef' ? 'file' : entityType
|
|
}
|