Notes/src/services/source_id.js

61 lines
1.2 KiB
JavaScript
Raw Normal View History

const utils = require('./utils');
2018-04-02 20:46:46 -04:00
const dateUtils = require('./date_utils');
2017-11-06 19:23:35 -05:00
const log = require('./log');
const sql = require('./sql');
2020-07-01 21:33:52 +02:00
const sqlInit = require('./sql_init');
const cls = require('./cls');
2020-06-20 12:31:38 +02:00
function saveSourceId(sourceId) {
sql.insert("source_ids", {
2018-04-01 12:45:35 -04:00
sourceId: sourceId,
utcDateCreated: dateUtils.utcNowDateTime()
});
2020-06-20 12:31:38 +02:00
refreshSourceIds();
}
function createSourceId() {
const sourceId = utils.randomString(12);
log.info("Generated sourceId=" + sourceId);
return sourceId;
}
2020-06-20 12:31:38 +02:00
function generateSourceId() {
const sourceId = createSourceId();
2020-06-20 12:31:38 +02:00
saveSourceId(sourceId);
return sourceId;
}
2020-06-20 12:31:38 +02:00
function refreshSourceIds() {
const sourceIdsArr = sql.getColumn("SELECT sourceId FROM source_ids ORDER BY utcDateCreated DESC");
allSourceIds = {};
for (const sourceId of sourceIdsArr) {
allSourceIds[sourceId] = true;
}
}
let allSourceIds = {};
function isLocalSourceId(srcId) {
return !!allSourceIds[srcId];
}
const currentSourceId = createSourceId();
2020-07-01 21:33:52 +02:00
sqlInit.dbReady.then(cls.wrap(() => saveSourceId(currentSourceId)));
function getCurrentSourceId() {
return currentSourceId;
}
module.exports = {
generateSourceId,
getCurrentSourceId,
isLocalSourceId
2020-06-20 12:31:38 +02:00
};