trilium/src/services/source_id.js

53 lines
1.1 KiB
JavaScript
Raw Normal View History

const utils = require('./utils');
2017-11-07 08:23:35 +08:00
const log = require('./log');
const sql = require('./sql');
const cls = require('./cls');
async function saveSourceId(sourceId) {
2018-04-02 00:45:35 +08:00
await sql.insert("source_ids", {
sourceId: sourceId,
dateCreated: 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.getColumn("SELECT sourceId FROM source_ids ORDER BY dateCreated DESC");
}
let allSourceIds = [];
function isLocalSourceId(srcId) {
return allSourceIds.includes(srcId);
}
const currentSourceId = createSourceId();
// this will also refresh source IDs
sql.dbReady.then(cls.wrap(() => saveSourceId(currentSourceId)));
function getCurrentSourceId() {
return currentSourceId;
}
module.exports = {
generateSourceId,
getCurrentSourceId,
isLocalSourceId
};