diff --git a/components/password-prompt.js b/components/password-prompt.js index f3dcc97..796e072 100644 --- a/components/password-prompt.js +++ b/components/password-prompt.js @@ -5,7 +5,7 @@ import { AppText } from './app-text' import { hasEncryptionObservable } from '../local-storage' import styles from '../styles' import { passwordPrompt } from './labels' -import { openDbConnection, requestHash } from '../db' +import { openDbConnection, requestHash, deleteDbAndOpenNew } from '../db' import App from './app' export default class PasswordPrompt extends Component { @@ -32,6 +32,7 @@ export default class PasswordPrompt extends Component { } try { await openDbConnection(key) + this.setState({showApp: true}) } catch (err) { console.log(err) this.setState({ wrongPassword: true }) @@ -79,6 +80,17 @@ export default class PasswordPrompt extends Component { {this.state.wrongPassword && Wrong PAssword!} + { + await deleteDbAndOpenNew() + this.setState({showApp: true}) + }} + > + + {'Delete old db and make unencrypted new'} + + } diff --git a/db/index.js b/db/index.js index 74a7852..fc096a9 100644 --- a/db/index.js +++ b/db/index.js @@ -20,7 +20,7 @@ const realmConfig = { } export async function openDbConnection(key) { - realmConfig.encryptionKey = key + if(key) realmConfig.encryptionKey = key db = await Realm.open(realmConfig) } @@ -167,7 +167,6 @@ function tryToImportWithoutDelete(cycleDays) { } function requestHash(pw) { - console.log('requesting hash') nodejs.channel.send(JSON.stringify({ type: 'request-SHA512', message: pw || 'mypassword' @@ -191,6 +190,12 @@ async function encryptAndRestartApp(key) { restart.Restart() } +async function deleteDbAndOpenNew() { + const exists = await fs.exists(Realm.defaultPath) + if (exists) await fs.unlink(Realm.defaultPath) + await openDbConnection() +} + export { saveSymptom, getOrCreateCycleDay, @@ -207,5 +212,6 @@ export { tryToImportWithDelete, tryToImportWithoutDelete, requestHash, - encryptAndRestartApp + encryptAndRestartApp, + deleteDbAndOpenNew }