mirror of https://github.com/nextcloud/bookmarks
Import into currently open folder
This commit is contained in:
parent
e86437c93b
commit
e7eb042d7c
|
@ -52,6 +52,7 @@ return [
|
|||
['name' => 'internal_folders#edit_folder', 'url' => '/folder/{folderId}', 'verb' => 'PUT'],
|
||||
['name' => 'internal_folders#delete_folder', 'url' => '/folder/{folderId}', 'verb' => 'DELETE'],
|
||||
['name' => 'internal_folders#hash_folder', 'url' => '/folder/{folderId}/hash', 'verb' => 'GET'],
|
||||
['name' => 'internal_bookmark#import_bookmark', 'url' => '/folder/{folder}/import', 'verb' => 'POST'],
|
||||
['name' => 'internal_folders#get_folder_children', 'url' => '/folder/{folderId}/children', 'verb' => 'GET'],
|
||||
['name' => 'internal_folders#get_folder_children_order', 'url' => '/folder/{folderId}/childorder', 'verb' => 'GET'],
|
||||
['name' => 'internal_folders#set_folder_children_order', 'url' => '/folder/{folderId}/childorder', 'verb' => 'PATCH'],
|
||||
|
|
|
@ -631,6 +631,8 @@ class BookmarkController extends ApiController {
|
|||
|
||||
if ($folder !== null) {
|
||||
$folder = $this->toInternalFolderId($folder);
|
||||
}else{
|
||||
$folder = $this->_getRootFolderId();
|
||||
}
|
||||
|
||||
try {
|
||||
|
|
|
@ -157,12 +157,12 @@ class InternalBookmarkController extends ApiController {
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param int|null $folder
|
||||
* @return JSONResponse
|
||||
* @NoAdminRequired
|
||||
*/
|
||||
public function importBookmark() {
|
||||
return $this->publicController->importBookmark();
|
||||
public function importBookmark($folder = null) {
|
||||
return $this->publicController->importBookmark($folder);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -372,13 +372,8 @@ class FolderService {
|
|||
* @throws UnauthorizedAccessError
|
||||
* @throws UserLimitExceededError
|
||||
*/
|
||||
public function importFile(string $userId, $file, $folder = null): array {
|
||||
public function importFile(string $userId, $file, $folder): array {
|
||||
$importFolderId = $folder;
|
||||
if ($folder === null) {
|
||||
$rootFolder = $this->folderMapper->findRootFolder($userId);
|
||||
$newFolder = $this->create($this->l10n->t('Imported bookmarks'), $rootFolder->getId());
|
||||
$importFolderId = $newFolder->getId();
|
||||
}
|
||||
return $this->htmlImporter->importFile($userId, $file, $importFolderId);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -132,11 +132,11 @@ export default {
|
|||
async onImportSubmit(e) {
|
||||
this.importing = true
|
||||
try {
|
||||
await this.$store.dispatch(actions.IMPORT_BOOKMARKS, e.target.files[0])
|
||||
this.$router.push({ name: this.routes.HOME })
|
||||
} finally {
|
||||
this.importing = false
|
||||
await this.$store.dispatch(actions.IMPORT_BOOKMARKS, { file: e.target.files[0], folder: this.$route.params.folder })
|
||||
} catch (e) {
|
||||
console.warn(e)
|
||||
}
|
||||
this.importing = false
|
||||
},
|
||||
onExport() {
|
||||
window.location
|
||||
|
|
|
@ -232,11 +232,11 @@ export default {
|
|||
throw err
|
||||
}
|
||||
},
|
||||
[actions.IMPORT_BOOKMARKS]({ commit, dispatch, state }, file) {
|
||||
[actions.IMPORT_BOOKMARKS]({ commit, dispatch, state }, { file, folder }) {
|
||||
const data = new FormData()
|
||||
data.append('bm_import', file)
|
||||
return axios
|
||||
.post(url(state, `/bookmark/import`), data)
|
||||
.post(url(state, `/folder/${folder || -1}/import`), data)
|
||||
.then(response => {
|
||||
if (!response.data || response.data.status !== 'success') {
|
||||
if (response.status === 413) {
|
||||
|
|
Loading…
Reference in New Issue