mirror of
https://github.com/zadam/trilium.git
synced 2024-11-14 03:40:27 +08:00
54 lines
No EOL
1.1 KiB
JavaScript
54 lines
No EOL
1.1 KiB
JavaScript
const utils = require('./utils');
|
|
const log = require('./log');
|
|
const sql = require('./sql');
|
|
|
|
async function saveSourceId(sourceId) {
|
|
await sql.doInTransaction(async () => {
|
|
await sql.insert("source_ids", {
|
|
source_id: sourceId,
|
|
date_created: utils.nowDate()
|
|
});
|
|
});
|
|
|
|
await refreshSourceIds();
|
|
}
|
|
|
|
function createSourceId() {
|
|
const sourceId = utils.randomString(12);
|
|
|
|
log.info("Generated sourceId=" + sourceId);
|
|
return sourceId;
|
|
}
|
|
|
|
async function generateSourceId() {
|
|
const sourceId = createSourceId();
|
|
|
|
await saveSourceId(sourceId);
|
|
|
|
return sourceId;
|
|
}
|
|
|
|
async function refreshSourceIds() {
|
|
allSourceIds = await sql.getFirstColumn("SELECT source_id FROM source_ids ORDER BY date_created DESC");
|
|
}
|
|
|
|
let allSourceIds = [];
|
|
|
|
function isLocalSourceId(srcId) {
|
|
return allSourceIds.includes(srcId);
|
|
}
|
|
|
|
const currentSourceId = createSourceId();
|
|
|
|
// this will also refresh source IDs
|
|
sql.dbReady.then(() => saveSourceId(currentSourceId));
|
|
|
|
function getCurrentSourceId() {
|
|
return currentSourceId;
|
|
}
|
|
|
|
module.exports = {
|
|
generateSourceId,
|
|
getCurrentSourceId,
|
|
isLocalSourceId
|
|
}; |