1
0
Fork 0
mirror of https://github.com/pawelmalak/flame.git synced 2025-07-27 14:59:37 +02:00

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} ref={imageRef}
type="file" type="file"
style={{ display: 'none' }} style={{ display: 'none' }}
accept="image/*" accept=".html"
onChange={handleChange} onChange={handleChange}
/> />
{body} {body}

View file

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

View file

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