| 
									
										
										
										
											2022-02-10 23:37:25 +01:00
										 |  |  | #!/usr/bin/env node | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-10 18:23:49 +02:00
										 |  |  | import yargs from 'yargs'; | 
					
						
							|  |  |  | import { hideBin } from 'yargs/helpers'; | 
					
						
							|  |  |  | import dumpService from './inc/dump.js'; | 
					
						
							| 
									
										
										
										
											2022-02-12 22:20:15 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | yargs(hideBin(process.argv)) | 
					
						
							|  |  |  |     .command('$0 <path_to_document> <target_directory>', 'dump the contents of document.db into the target directory', (yargs) => { | 
					
						
							|  |  |  |         return yargs | 
					
						
							| 
									
										
										
										
											2024-08-10 18:23:49 +02:00
										 |  |  |             .option('path_to_document', { alias: 'p', describe: 'path to the document.db', type: 'string', demandOption: true }) | 
					
						
							|  |  |  |             .option('target_directory', { alias: 't', describe: 'path of the directory into which the notes should be dumped', type: 'string', demandOption: true }); | 
					
						
							| 
									
										
										
										
											2022-02-12 22:20:15 +01:00
										 |  |  |     }, (argv) => { | 
					
						
							|  |  |  |         try { | 
					
						
							|  |  |  |             dumpService.dumpDocument(argv.path_to_document, argv.target_directory, { | 
					
						
							|  |  |  |                 includeDeleted: argv.includeDeleted, | 
					
						
							|  |  |  |                 password: argv.password | 
					
						
							|  |  |  |             }); | 
					
						
							| 
									
										
										
										
											2022-02-10 23:37:25 +01:00
										 |  |  |         } | 
					
						
							| 
									
										
										
										
											2022-02-12 22:20:15 +01:00
										 |  |  |         catch (e) { | 
					
						
							|  |  |  |             console.error(`Unrecoverable error:`, e); | 
					
						
							|  |  |  |             process.exit(1); | 
					
						
							| 
									
										
										
										
											2022-02-10 23:37:25 +01:00
										 |  |  |         } | 
					
						
							| 
									
										
										
										
											2022-02-12 22:20:15 +01:00
										 |  |  |     }) | 
					
						
							|  |  |  |     .option('password', { | 
					
						
							|  |  |  |         type: 'string', | 
					
						
							|  |  |  |         description: 'Set password to be able to decrypt protected notes.' | 
					
						
							|  |  |  |     }) | 
					
						
							|  |  |  |     .option('include-deleted', { | 
					
						
							|  |  |  |         type: 'boolean', | 
					
						
							|  |  |  |         default: false, | 
					
						
							|  |  |  |         description: 'If set to true, dump also deleted notes.' | 
					
						
							|  |  |  |     }) | 
					
						
							|  |  |  |     .parse(); |