This commit is contained in:
mattyatea 2024-01-06 20:01:55 +09:00
parent 88965c8608
commit 14fb95c798
1 changed files with 104 additions and 112 deletions

View File

@ -146,19 +146,19 @@ function onDrop(ev: DragEvent) {
if (driveFile != null && driveFile !== '') {
const file = JSON.parse(driveFile);
emit('removeFile', file.id);
if (props.selectedFiles.length > 0) {
props.selectedFiles.forEach((e)=>{
if (props.selectedFiles.length > 0) {
props.selectedFiles.forEach((e) => {
misskeyApi('drive/files/update', {
fileId: e.id,
folderId: props.folder.id,
});
})
}else{
fileId: e.id,
folderId: props.folder.id,
});
});
} else {
misskeyApi('drive/files/update', {
fileId: file.id,
folderId: props.folder.id,
});
}
fileId: file.id,
folderId: props.folder.id,
});
}
}
//#endregion
@ -234,119 +234,111 @@ function rename() {
function deleteFolder() {
misskeyApi('drive/folders/show', {
folderId: props.folder.id,
}).then(async (r) => {
folderId: props.folder.id,
}).then(async (r) => {
if (r.foldersCount > 0) {
await os.alert({
type: 'error',
title: i18n.ts.unableToDelete,
text: 'フォルダ内にフォルダが存在するため、削除できません。 \n フォルダ内のフォルダを削除してから試してみてください。',
});
}
if (r.foldersCount > 0) {
await os.alert({
type: 'error',
title: i18n.ts.unableToDelete,
text: 'フォルダ内にフォルダが存在するため、削除できません。 \n フォルダ内のフォルダを削除してから試してみてください。',
});
}
if (r.filesCount > 0) {
const { canceled } = await os.confirm({
type: 'warning',
text: i18n.t('driveFolderDeleteConfirm', { name: props.folder.name }),
});
if (r.filesCount > 0) {
const {canceled} = await os.confirm({
type: 'warning',
text: i18n.t('driveFolderDeleteConfirm', {name: props.folder.name}),
});
if (canceled) return;
let allResults = [];
let Result = await os.api('drive/files', {folderId: props.folder.id, limit: 31});
allResults = allResults.concat(Result)
while (Result.length >= 31) {
const untilId = Result[Result.length - 1].id;
Result = await os.api('drive/files', { folderId: props.folder.id, limit: 31, untilId });
allResults = allResults.concat(Result); // pushconcat
}
allResults.forEach((r,i)=>{
os.api('drive/files/delete',{fileId: r.id})
})
if (canceled) return;
let allResults = [];
let Result = await misskeyApi('drive/files', { folderId: props.folder.id, limit: 31 });
allResults = allResults.concat(Result);
while (Result.length >= 31) {
const untilId = Result[Result.length - 1].id;
Result = await misskeyApi('drive/files', { folderId: props.folder.id, limit: 31, untilId });
allResults = allResults.concat(Result); // pushconcat
}
allResults.forEach((r, i) => {
misskeyApi('drive/files/delete', { fileId: r.id });
});
misskeyApi('drive/folders/show', {
folderId: props.folder.id,
}).then(async (r) =>{
if (r.filesCount > 0) {
let allResults = [];
let Result = await os.api('drive/files', {folderId: props.folder.id, limit: 31});
allResults = allResults.concat(Result)
while (Result.length >= 31) {
const untilId = Result[Result.length - 1].id;
Result = await os.api('drive/files', { folderId: props.folder.id, limit: 31, untilId });
allResults = allResults.concat(Result);
}
allResults.forEach((r,i)=>{
os.api('drive/files/delete',{fileId: r.id})
})
folderId: props.folder.id,
}).then(async (r) => {
if (r.filesCount > 0) {
let allResults = [];
let Result = await misskeyApi('drive/files', { folderId: props.folder.id, limit: 31 });
allResults = allResults.concat(Result);
while (Result.length >= 31) {
const untilId = Result[Result.length - 1].id;
Result = await misskeyApi('drive/files', { folderId: props.folder.id, limit: 31, untilId });
allResults = allResults.concat(Result);
}
allResults.forEach((r, i) => {
misskeyApi('drive/files/delete', { fileId: r.id });
});
misskeyApi('drive/folders/delete', {
folderId: props.folder.id,
}).then(() => {
if (defaultStore.state.uploadFolder === props.folder.id) {
defaultStore.set('uploadFolder', null);
}
}).catch(err => {
switch (err.id) {
case 'b0fc8a17-963c-405d-bfbc-859a487295e1':
os.alert({
type: 'error',
title: i18n.ts.unableToDelete,
text: i18n.ts.hasChildFilesOrFolders,
});
break;
default:
os.alert({
type: 'error',
text: i18n.ts.unableToDelete,
});
}
});
folderId: props.folder.id,
}).then(() => {
if (defaultStore.state.uploadFolder === props.folder.id) {
defaultStore.set('uploadFolder', null);
}
}).catch(err => {
switch (err.id) {
case 'b0fc8a17-963c-405d-bfbc-859a487295e1':
os.alert({
type: 'error',
title: i18n.ts.unableToDelete,
text: i18n.ts.hasChildFilesOrFolders,
});
break;
default:
os.alert({
type: 'error',
text: i18n.ts.unableToDelete,
});
}
});
misskeyApi('drive/folders/delete', {
folderId: props.folder.id,
})
}else{
folderId: props.folder.id,
});
} else {
misskeyApi('drive/folders/delete', {
folderId: props.folder.id,
})
}
})
} else {
await misskeyApi('drive/folders/delete', {
folderId: props.folder.id,
}).then(() => {
if (defaultStore.state.uploadFolder === props.folder.id) {
defaultStore.set('uploadFolder', null);
}
}).catch(err => {
switch (err.id) {
case 'b0fc8a17-963c-405d-bfbc-859a487295e1':
os.alert({
type: 'error',
title: i18n.ts.unableToDelete,
text: i18n.ts.hasChildFilesOrFolders,
});
break;
default:
os.alert({
type: 'error',
text: i18n.ts.unableToDelete,
});
}
});
}
})
folderId: props.folder.id,
});
}
});
} else {
await misskeyApi('drive/folders/delete', {
folderId: props.folder.id,
}).then(() => {
if (defaultStore.state.uploadFolder === props.folder.id) {
defaultStore.set('uploadFolder', null);
}
}).catch(err => {
switch (err.id) {
case 'b0fc8a17-963c-405d-bfbc-859a487295e1':
os.alert({
type: 'error',
title: i18n.ts.unableToDelete,
text: i18n.ts.hasChildFilesOrFolders,
});
break;
default:
os.alert({
type: 'error',
text: i18n.ts.unableToDelete,
});
}
});
}
});
}
function setAsUploadFolder() {
defaultStore.set('uploadFolder', props.folder.id);
}