Added promise to saveCategories.

This commit is contained in:
Jackson D 2022-02-06 09:11:11 -05:00
parent 1aedb87bf4
commit 60a8ead973
3 changed files with 40 additions and 27 deletions

View file

@ -52,7 +52,7 @@ export const FileButton = (props: Props): JSX.Element => {
ref={imageRef}
type="file"
style={{ display: 'none' }}
accept="image/*"
accept=".html"
onChange={handleChange}
/>
{body}

View file

@ -140,7 +140,6 @@ export const importBookmark =
type: ActionType.importBookmark,
payload: res.data.data,
});
dispatch<any>(sortBookmarks(res.data.data.categoryId));
} catch (err) {
console.log(err);
}

View file

@ -1,5 +1,5 @@
const parse = require('node-bookmarks-parser');
var sqlite3 = require('sqlite3').verbose();
var sqlite3 = require('sqlite3');
const File = require('./File');
const databaseFilePath = 'data/db.sqlite';
@ -41,35 +41,46 @@ function saveBookmarks() {
}
function saveCategories() {
let db = new sqlite3.Database(databaseFilePath);
let uniqueCats = [...new Set(bookmarks.map((r) => r.category))];
const importDate = new Date().toString();
return new Promise((resolve, reject) => {
let db = new sqlite3.Database(databaseFilePath);
let uniqueCats = [...new Set(bookmarks.map((r) => r.category))];
const importDate = new Date().toString();
db.serialize(() => {
db.all(`SELECT * FROM categories`, (err, data) => {
if (err) {
console.error(err);
}
let tasks = {};
for (const newCaterory of uniqueCats) {
for (const category of data) {
if (category.name.toLowerCase() === newCaterory.toLowerCase()) {
continue;
}
db.serialize(() => {
db.all(`SELECT * FROM categories`, (err, data) => {
if (err) {
console.error(err);
return;
}
let stmt = db.prepare(
'INSERT INTO categories (name, createdAt, updatedAt) VALUES(?,?,?)'
);
stmt.run(newCaterory, importDate, importDate, (err) => {
if (err) {
console.error(err);
for (const newCaterory of uniqueCats) {
for (const category of data) {
if (category.name.toLowerCase() === newCaterory.toLowerCase()) {
continue;
}
}
});
stmt.finalize();
}
saveBookmarks();
let stmt = db.prepare(
'INSERT INTO categories (name, createdAt, updatedAt) VALUES(?,?,?)'
);
tasks[newCaterory] = false;
stmt.run(newCaterory, importDate, importDate, (err) => {
tasks[newCaterory] = true;
if (err) {
console.error(err);
reject(err);
}
if(Object.keys(tasks).every(function(k){ return tasks[k] })){
resolve();
}
});
stmt.finalize();
}
});
});
});
}
@ -99,5 +110,8 @@ module.exports = function importBookmark(path) {
crawlBookmarks(bookmark);
}
saveCategories();
saveCategories()
.then((r) => {
saveBookmarks();
})
};