Browse Source

Adds an initial account as long as there are no available accounts.

experimental_plugin
Matthew Aaron Raymer 2 years ago
parent
commit
c9d5ab82fd
  1. 4
      src/db/index.ts
  2. 34
      src/views/AccountViewView.vue

4
src/db/index.ts

@ -1,7 +1,6 @@
import BaseDexie from "dexie";
import { encrypted, Encryption } from "@pvermeer/dexie-encrypted-addon";
import { accountsSchema, AccountsTable } from "./tables/accounts";
type DexieTables = AccountsTable;
/**
* In order to make the next line be acceptable, the program needs to have its linter suppress a rule:
@ -11,9 +10,8 @@ type DexieTables = AccountsTable;
*
* https://9to5answer.com/how-to-bypass-warning-unexpected-any-specify-a-different-type-typescript-eslint-no-explicit-any
*/
//export type Dexie<T extends any = DexieTables> = BaseDexie & T;
type DexieTables = AccountsTable;
export type Dexie<T extends unknown = DexieTables> = BaseDexie & T;
export const db = new BaseDexie("kickStarter") as Dexie;
const schema = Object.assign({}, accountsSchema);

34
src/views/AccountViewView.vue

@ -220,22 +220,28 @@ export default class AccountViewView extends Vue {
privateHex,
UPORT_ROOT_DERIVATION_PATH
);
db.open().catch(function (err) {
console.error("Failed to open db: " + (err.stack || err));
});
db.accounts
.add({
publicKey: newId.keys[0].publicKeyHex,
identity: JSON.stringify(newId),
})
.then(function () {
db.accounts.each(function (account) {
console.log("Found close friend: " + account.publicKey);
db.open()
.then(function (odexie) {
odexie._allTables.accounts.count(function (result) {
if (result === 0) {
console.log("No accounts");
odexie._allTables.accounts
.add({
publicKey: newId.keys[0].publicKeyHex,
identity: JSON.stringify(newId),
})
.then(function () {
odexie._allTables.accounts.each(function (account) {
console.log("Found close friend: " + account.publicKey);
});
});
} else {
console.log("Skipping initial create on empty db.");
}
});
})
.catch(function (e) {
// Something failed. It may be already in the open() call.
console.error(e.stack || e);
.catch(function (err) {
console.error("Failed to open db: " + (err.stack || err));
});
//appStore.dispatch(appSlice.actions.addLog({log: false, msg: "... created new ID..."}))
accountStore.account = JSON.stringify(newId);

Loading…
Cancel
Save