| 
									
										
										
										
											2022-02-10 23:37:25 +01:00
										 |  |  | #!/usr/bin/env node | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-01-09 18:07:02 +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)) | 
					
						
							| 
									
										
										
										
											2025-01-09 18:07:02 +02:00
										 |  |  |     .command( | 
					
						
							|  |  |  |         "$0 <path_to_document> <target_directory>", | 
					
						
							|  |  |  |         "dump the contents of document.db into the target directory", | 
					
						
							|  |  |  |         (yargs) => { | 
					
						
							|  |  |  |             return yargs | 
					
						
							|  |  |  |                 .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 }); | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         (argv) => { | 
					
						
							|  |  |  |             try { | 
					
						
							|  |  |  |                 dumpService.dumpDocument(argv.path_to_document, argv.target_directory, { | 
					
						
							|  |  |  |                     includeDeleted: argv.includeDeleted, | 
					
						
							|  |  |  |                     password: argv.password | 
					
						
							|  |  |  |                 }); | 
					
						
							|  |  |  |             } catch (e) { | 
					
						
							|  |  |  |                 console.error(`Unrecoverable error:`, e); | 
					
						
							|  |  |  |                 process.exit(1); | 
					
						
							|  |  |  |             } | 
					
						
							| 
									
										
										
										
											2022-02-10 23:37:25 +01:00
										 |  |  |         } | 
					
						
							| 
									
										
										
										
											2025-01-09 18:07:02 +02:00
										 |  |  |     ) | 
					
						
							|  |  |  |     .option("password", { | 
					
						
							|  |  |  |         type: "string", | 
					
						
							|  |  |  |         description: "Set password to be able to decrypt protected notes." | 
					
						
							| 
									
										
										
										
											2022-02-12 22:20:15 +01:00
										 |  |  |     }) | 
					
						
							| 
									
										
										
										
											2025-01-09 18:07:02 +02:00
										 |  |  |     .option("include-deleted", { | 
					
						
							|  |  |  |         type: "boolean", | 
					
						
							| 
									
										
										
										
											2022-02-12 22:20:15 +01:00
										 |  |  |         default: false, | 
					
						
							| 
									
										
										
										
											2025-01-09 18:07:02 +02:00
										 |  |  |         description: "If set to true, dump also deleted notes." | 
					
						
							| 
									
										
										
										
											2022-02-12 22:20:15 +01:00
										 |  |  |     }) | 
					
						
							|  |  |  |     .parse(); |