forked from Maxluli/TinderPokemon
90 lines
2.9 KiB
JavaScript
90 lines
2.9 KiB
JavaScript
function removeFromIndexDB(storename, key) {
|
|
dbRequest = indexedDB.open(storename);
|
|
|
|
dbRequest.onerror = function (event) {
|
|
reject(Error("Error text"));
|
|
};
|
|
|
|
dbRequest.onupgradeneeded = function (event) {
|
|
// Objectstore does not exist. Nothing to load
|
|
event.target.transaction.abort();
|
|
reject(Error('Not found'));
|
|
};
|
|
|
|
dbRequest.onsuccess = function (event) {
|
|
var database = event.target.result;
|
|
|
|
const request = database.transaction(storename, 'readwrite')
|
|
.objectStore(storename).delete(key);
|
|
request.onsuccess = () => {
|
|
console.log(`object deleted : ${request.result}`);
|
|
}
|
|
request.onerror = (err) => {
|
|
console.error(`Error to delete object: ${err}`)
|
|
}
|
|
}
|
|
}
|
|
function loadFromIndexedDB(storeName) {
|
|
return new Promise(
|
|
function (resolve, reject) {
|
|
dbRequest = indexedDB.open(storeName);
|
|
|
|
dbRequest.onerror = function (event) {
|
|
reject(Error("Error text"));
|
|
};
|
|
|
|
dbRequest.onupgradeneeded = function (event) {
|
|
// Objectstore does not exist. Nothing to load
|
|
event.target.transaction.abort();
|
|
reject(Error('Not found'));
|
|
};
|
|
|
|
dbRequest.onsuccess = function (event) {
|
|
var database = event.target.result;
|
|
var transaction = database.transaction([storeName]);
|
|
var objectStore = transaction.objectStore(storeName);
|
|
var objectRequest = objectStore.getAll();
|
|
|
|
objectRequest.onerror = function (event) {
|
|
reject(Error('Error text'));
|
|
console.log("Error with the indexdb");
|
|
};
|
|
|
|
objectRequest.onsuccess = function (event) {
|
|
if (objectRequest.result) {
|
|
resolve(objectRequest.result);
|
|
}
|
|
else {
|
|
reject(Error('object not found'));
|
|
console.log("object not found");
|
|
}
|
|
};
|
|
};
|
|
}
|
|
);
|
|
}
|
|
function ReadFromApi(storename){
|
|
var requestOptions = {
|
|
method: 'GET',
|
|
redirect: 'follow'
|
|
};
|
|
|
|
fetch("https://633bde0df11701a65f69abe8.mockapi.io/api/v1/"+storename+"/", requestOptions)
|
|
.then(response => response.text())
|
|
.then(result => {
|
|
let pokemons = JSON.parse(result);
|
|
console.log(pokemons)
|
|
})
|
|
.catch(error => console.log('error', error));
|
|
}
|
|
function DeleteFromApi(storeName,id) {
|
|
var requestOptions = {
|
|
method: 'DELETE',
|
|
redirect: 'follow'
|
|
};
|
|
|
|
fetch("https://633bde0df11701a65f69abe8.mockapi.io/api/v1/"+storeName+"/"+id, requestOptions)
|
|
.then(response => response.text())
|
|
.then(result => console.log(result))
|
|
.catch(error => console.log('error', error));
|
|
} |