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
}