Merge branch 'main' of https://gitea.ndda.fr/apxtri/objects
This commit is contained in:
@@ -520,19 +520,19 @@ apx.ready(apx.update); //2nd param optional=> true mean does not wait same if ap
|
|||||||
|
|
||||||
apx.indexedDB = apx.indexedDB || {};
|
apx.indexedDB = apx.indexedDB || {};
|
||||||
|
|
||||||
apx.indexedDB.set = async (db, storeName, keyPath, key, value) => {
|
apx.indexedDB.set = async (db, storeName, value) => {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const request = indexedDB.open(db, 1);
|
const request = indexedDB.open(db, 1);
|
||||||
|
|
||||||
request.onupgradeneeded = (event) => {
|
request.onupgradeneeded = (event) => {
|
||||||
const db = event.target.result;
|
const db = event.target.result;
|
||||||
|
|
||||||
if (window.threadsObj) {
|
if (!db.objectStoreNames.contains("threads")) {
|
||||||
for (const threadId of Object.keys(window.threadsObj)) {
|
db.createObjectStore("threads", { keyPath: "uuid" });
|
||||||
if (!db.objectStoreNames.contains(threadId)) {
|
};
|
||||||
db.createObjectStore(threadId, { keyPath: keyPath });
|
|
||||||
};
|
if (!db.objectStoreNames.contains("messages")) {
|
||||||
};
|
db.createObjectStore("messages", { keyPath: "privatriid" });
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -545,8 +545,8 @@ apx.indexedDB.set = async (db, storeName, keyPath, key, value) => {
|
|||||||
|
|
||||||
const transaction = db.transaction(storeName, "readwrite");
|
const transaction = db.transaction(storeName, "readwrite");
|
||||||
const store = transaction.objectStore(storeName);
|
const store = transaction.objectStore(storeName);
|
||||||
|
|
||||||
const putRequest = store.put({ timestamp: key, value: value });
|
const putRequest = store.put(value);
|
||||||
putRequest.onsuccess = () => resolve();
|
putRequest.onsuccess = () => resolve();
|
||||||
putRequest.onerror = (error) => reject(error);
|
putRequest.onerror = (error) => reject(error);
|
||||||
};
|
};
|
||||||
@@ -555,35 +555,22 @@ apx.indexedDB.set = async (db, storeName, keyPath, key, value) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
apx.indexedDB.get = async (db, storeName, keyPath, key) => {
|
apx.indexedDB.get = async (db, storeName, key) => {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const request = indexedDB.open(db, 1);
|
const request = indexedDB.open(db, 1);
|
||||||
|
|
||||||
request.onupgradeneeded = (event) => {
|
|
||||||
const db = event.target.result;
|
|
||||||
|
|
||||||
if (window.threadsObj) {
|
|
||||||
for (const threadId of Object.keys(window.threadsObj)) {
|
|
||||||
if (!db.objectStoreNames.contains(threadId)) {
|
|
||||||
db.createObjectStore(threadId, { keyPath: keyPath });
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
request.onsuccess = (event) => {
|
request.onsuccess = (event) => {
|
||||||
const db = event.target.result;
|
const db = event.target.result;
|
||||||
|
|
||||||
if (!db.objectStoreNames.contains(storeName)) {
|
if (!db.objectStoreNames.contains(storeName)) {
|
||||||
return resolve(null);
|
return resolve(null);
|
||||||
};
|
}
|
||||||
|
|
||||||
const transaction = db.transaction(storeName, "readonly");
|
const transaction = db.transaction(storeName, "readonly");
|
||||||
const store = transaction.objectStore(storeName);
|
const store = transaction.objectStore(storeName);
|
||||||
|
|
||||||
const getRequest = store.get(key);
|
const getRequest = store.get(key);
|
||||||
|
|
||||||
getRequest.onsuccess = () => {
|
getRequest.onsuccess = () => {
|
||||||
resolve(getRequest.result ? getRequest.result.value : null);
|
resolve(getRequest.result || null);
|
||||||
};
|
};
|
||||||
|
|
||||||
getRequest.onerror = () => resolve(null);
|
getRequest.onerror = () => resolve(null);
|
||||||
@@ -593,22 +580,10 @@ apx.indexedDB.get = async (db, storeName, keyPath, key) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
apx.indexedDB.del = async (db, storeName, keyPath, key) => {
|
apx.indexedDB.del = async (db, storeName, key) => {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const request = indexedDB.open(db, 1);
|
const request = indexedDB.open(db, 1);
|
||||||
|
|
||||||
request.onupgradeneeded = (event) => {
|
|
||||||
const db = event.target.result;
|
|
||||||
|
|
||||||
if (window.threadsObj) {
|
|
||||||
for (const threadId of Object.keys(window.threadsObj)) {
|
|
||||||
if (!db.objectStoreNames.contains(threadId)) {
|
|
||||||
db.createObjectStore(threadId, { keyPath: keyPath });
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
request.onsuccess = (event) => {
|
request.onsuccess = (event) => {
|
||||||
const db = event.target.result;
|
const db = event.target.result;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user