mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 10:26:08 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			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
 | |
| }; |