Files
TinderPokemon/assets/JsStuff/toolbox.js

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));
}