delete op

This commit is contained in:
msramalho
2023-02-26 21:25:01 +01:00
parent 45491157f5
commit ba5a86e63d
3 changed files with 42 additions and 1 deletions

View File

@@ -57,6 +57,10 @@ function processMessages(request, sender) {
syncLocalTasks(resolve, reject);
break;
}
case 'deleteTask': {
deleteTask(resolve, reject, request.taskId);
break;
}
case 'getErrorMessage': {
resolve(await getErrorMessage());
break;
@@ -235,6 +239,34 @@ async function syncLocalTasks(resolve, reject) {
});
}
async function deleteTask(resolve, reject, taskId) {
console.log('API: DELETE TASK');
chrome.identity.getAuthToken({ interactive: true }, async accessToken => {
if (accessToken == undefined) {
reject(new Error(LOGIN_FAILED));
return;
}
fetch(`${API_ENDPOINT}/${taskId}?` + new URLSearchParams({ access_token: accessToken }), {
method: 'DELETE',
headers: {
'Content-Type': 'application/json',
},
})
.then(getJsonOrError)
.then(async deleteOp => {
if(deleteOp.deleted){
const storage = await optionsStorage.getAll();
delete storage.archivedUrls[taskId];
await optionsStorage.set(storage);
resolve(storage.archivedUrls);
return;
}
throw new Error(`Could not delete archive task.`);
})
.catch(e => reject(e));
});
}
async function getJsonOrError(response) {
let additionalErrorInfo = "";
if (response.status == 401) additionalErrorInfo = `Check that this email has been granted permission.`;