mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-19 04:57:52 +00:00
add file chuck upload, file validation, redirect to home page incase route doesnt exist and refresh token interceptor
This commit is contained in:
@@ -1,46 +1,52 @@
|
||||
// inspire by https://github.com/hc-oss/use-indexeddb
|
||||
export class IndexedDBConnector {
|
||||
static connect(config) {
|
||||
return new Promise((resolve, reject) => {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
const idbInstance = indexedDB || self.indexedDB || self.mozIndexedDB || self.webkitIndexedDB || self.msIndexedDB;
|
||||
if (idbInstance) {
|
||||
const request = idbInstance.open(config.databaseName, config.version);
|
||||
request.onsuccess = () => {
|
||||
resolve(request.result);
|
||||
return resolve(request.result);
|
||||
};
|
||||
request.onerror = (e) => {
|
||||
reject(e.target.error.name);
|
||||
};
|
||||
request.onupgradeneeded = async (e) => {
|
||||
await this.migrate(config);
|
||||
return await this.connect(config);
|
||||
const db = e.target.result;
|
||||
await this.runMigrations(db, config);
|
||||
resolve(await this.connect(config))
|
||||
};
|
||||
// request.onblocked = async (e: any) => {
|
||||
// reject(e.target.error.name);
|
||||
// }
|
||||
}
|
||||
else {
|
||||
reject("IDBDatabase not supported inside webworker");
|
||||
reject("IDBDatabase not supported inside webworker");
|
||||
}
|
||||
});
|
||||
}
|
||||
static migrate(config) {
|
||||
return new Promise((resolve, reject) => {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
|
||||
const idbInstance = indexedDB || self.indexedDB || self.mozIndexedDB || self.webkitIndexedDB || self.msIndexedDB;
|
||||
if (idbInstance) {
|
||||
|
||||
const request = idbInstance.open(config.databaseName, config.version);
|
||||
request.onsuccess = () => {
|
||||
// request.result.close()
|
||||
resolve(false);
|
||||
request.onsuccess = async () => {
|
||||
resolve(false);
|
||||
|
||||
};
|
||||
request.onerror = (e) => {
|
||||
//console.log("error migrate " + config.databaseName)
|
||||
//console.log("error migrate"+ e.target.error)
|
||||
reject(e.target.error.name);
|
||||
};
|
||||
request.onupgradeneeded = async (e) => {
|
||||
const db = e.target.result;
|
||||
await this.runMigrations(db, config);
|
||||
db.close();
|
||||
resolve(true);
|
||||
// console.log("migrate create db")
|
||||
const db = e.target.result;
|
||||
await this.runMigrations(db, config);
|
||||
db.close();
|
||||
resolve(true);
|
||||
};
|
||||
}
|
||||
else {
|
||||
|
||||
Reference in New Issue
Block a user