mirror of https://github.com/TriliumNext/Notes
port dump-db and other tools to TS
parent
2cc34efbde
commit
b83c6023c4
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
|
|
||||||
const anonymizationService = require('../src/services/anonymization');
|
import anonymizationService from '../src/services/anonymization.js';
|
||||||
const fs = require('fs');
|
import fs from 'fs';
|
||||||
const path = require('path');
|
import path from 'path';
|
||||||
|
|
||||||
fs.writeFileSync(path.resolve(__dirname, 'tpl', 'anonymize-database.sql'), anonymizationService.getFullAnonymizationScript());
|
fs.writeFileSync(path.resolve(__dirname, 'tpl', 'anonymize-database.sql'), anonymizationService.getFullAnonymizationScript());
|
||||||
@ -1,14 +1,14 @@
|
|||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
|
|
||||||
const yargs = require('yargs/yargs')
|
import yargs from 'yargs';
|
||||||
const { hideBin } = require('yargs/helpers')
|
import { hideBin } from 'yargs/helpers';
|
||||||
const dumpService = require('./inc/dump.js');
|
import dumpService from './inc/dump.js';
|
||||||
|
|
||||||
yargs(hideBin(process.argv))
|
yargs(hideBin(process.argv))
|
||||||
.command('$0 <path_to_document> <target_directory>', 'dump the contents of document.db into the target directory', (yargs) => {
|
.command('$0 <path_to_document> <target_directory>', 'dump the contents of document.db into the target directory', (yargs) => {
|
||||||
return yargs
|
return yargs
|
||||||
.positional('path_to_document', { describe: 'path to the document.db' })
|
.option('path_to_document', { alias: 'p', describe: 'path to the document.db', type: 'string', demandOption: true })
|
||||||
.positional('target_directory', { describe: 'path of the directory into which the notes should be dumped' })
|
.option('target_directory', { alias: 't', describe: 'path of the directory into which the notes should be dumped', type: 'string', demandOption: true });
|
||||||
}, (argv) => {
|
}, (argv) => {
|
||||||
try {
|
try {
|
||||||
dumpService.dumpDocument(argv.path_to_document, argv.target_directory, {
|
dumpService.dumpDocument(argv.path_to_document, argv.target_directory, {
|
||||||
@ -1,17 +0,0 @@
|
|||||||
const Database = require("better-sqlite3");
|
|
||||||
let dbConnection;
|
|
||||||
|
|
||||||
const openDatabase = (documentPath) => { dbConnection = new Database(documentPath, { readonly: true }) };
|
|
||||||
|
|
||||||
const getRow = (query, params = []) => dbConnection.prepare(query).get(params);
|
|
||||||
const getRows = (query, params = []) => dbConnection.prepare(query).all(params);
|
|
||||||
const getValue = (query, params = []) => dbConnection.prepare(query).pluck().get(params);
|
|
||||||
const getColumn = (query, params = []) => dbConnection.prepare(query).pluck().all(params);
|
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
openDatabase,
|
|
||||||
getRow,
|
|
||||||
getRows,
|
|
||||||
getValue,
|
|
||||||
getColumn
|
|
||||||
};
|
|
||||||
@ -0,0 +1,18 @@
|
|||||||
|
import Database, { Database as DatabaseType } from "better-sqlite3";
|
||||||
|
|
||||||
|
let dbConnection: DatabaseType;
|
||||||
|
|
||||||
|
const openDatabase = (documentPath: string) => { dbConnection = new Database(documentPath, { readonly: true }) };
|
||||||
|
|
||||||
|
const getRow = (query: string, params: string[] = []): Record<string, any> => dbConnection.prepare(query).get(params) as Record<string, any>;
|
||||||
|
const getRows = (query: string, params = []) => dbConnection.prepare(query).all(params);
|
||||||
|
const getValue = (query: string, params: string[] = []) => dbConnection.prepare(query).pluck().get(params);
|
||||||
|
const getColumn = (query: string, params: string[] = []) => dbConnection.prepare(query).pluck().all(params);
|
||||||
|
|
||||||
|
export default {
|
||||||
|
openDatabase,
|
||||||
|
getRow,
|
||||||
|
getRows,
|
||||||
|
getValue,
|
||||||
|
getColumn
|
||||||
|
};
|
||||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"module": "ESNext",
|
||||||
|
"moduleResolution": "node",
|
||||||
|
"esModuleInterop": true,
|
||||||
|
"allowSyntheticDefaultImports": true,
|
||||||
|
"target": "ES6",
|
||||||
|
"strict": true
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue