fix many more typescript errors

This commit is contained in:
2023-09-03 21:40:40 -06:00
parent b05b602acd
commit b59bcf249a
10 changed files with 80 additions and 106 deletions

View File

@@ -88,10 +88,10 @@ import { MASTER_SETTINGS_KEY } from "@/db/tables/settings";
import { accessToken } from "@/libs/crypto";
import {
createAndSubmitGive,
CreateAndSubmitGiveResult,
GiverInputInfo,
GiverOutputInfo,
} from "@/libs/endorserServer";
import { Account } from "@/db/tables/accounts";
import { Contact } from "@/db/tables/contacts";
import QuickNav from "@/components/QuickNav";
import EntityIcon from "@/components/EntityIcon";
@@ -112,18 +112,14 @@ export default class HomeView extends Vue {
$notify!: (notification: Notification, timeout?: number) => void;
activeDid = "";
allAccounts: Array<Account> = [];
allContacts: Array<Contact> = [];
apiServer = "";
feedLastViewedId = "";
isHiddenSpinner = true;
accounts: typeof AccountsSchema;
numAccounts = 0;
async beforeCreate() {
accountsDB.open();
this.accounts = accountsDB.accounts;
this.numAccounts = await this.accounts.count();
this.numAccounts = await accountsDB.accounts.count();
}
public async getIdentity(activeDid: string) {
@@ -153,15 +149,11 @@ export default class HomeView extends Vue {
async created() {
try {
await accountsDB.open();
this.allAccounts = await accountsDB.accounts.toArray();
await db.open();
const settings = await db.settings.get(MASTER_SETTINGS_KEY);
this.apiServer = settings?.apiServer || "";
this.activeDid = settings?.activeDid || "";
this.allContacts = await db.contacts.toArray();
this.feedLastViewedId = settings?.lastViewedClaimId;
this.updateAllFeed();
} catch (err) {
this.$notify(
{
@@ -177,30 +169,6 @@ export default class HomeView extends Vue {
}
}
public async buildHeaders() {
const headers: RawAxiosRequestHeaders = {
"Content-Type": "application/json",
};
if (this.activeDid) {
await accountsDB.open();
const allAccounts = await accountsDB.accounts.toArray();
const account = allAccounts.find((acc) => acc.did === this.activeDid);
const identity = JSON.parse(account?.identity || "null");
if (!identity) {
throw new Error(
"An ID is chosen but there are no keys for it so it cannot be used to talk with the service.",
);
}
headers["Authorization"] = "Bearer " + (await accessToken(identity));
} else {
// it's OK without auth... we just won't get any identifiers
}
return headers;
}
openDialog(giver: GiverInputInfo) {
this.$refs.customDialog.open(giver);
}
@@ -208,8 +176,13 @@ export default class HomeView extends Vue {
handleDialogResult(result: GiverOutputInfo) {
if (result.action === "confirm") {
return new Promise((resolve) => {
this.recordGive(result.contact?.did, result.description, result.hours);
resolve();
this.recordGive(
result.giver?.did,
result.description,
result.hours,
).then(() => {
resolve(null);
});
});
} else {
// action was "cancel" so do nothing
@@ -288,7 +261,7 @@ export default class HomeView extends Vue {
-1,
);
}
} catch (error) {
} catch (error: any) {
console.log("Error with give caught:", error);
this.$notify(
{
@@ -306,15 +279,15 @@ export default class HomeView extends Vue {
// Helper functions for readability
isGiveCreationError(result) {
return result.status !== 201 || result.data?.error;
isGiveCreationError(result: CreateAndSubmitGiveResult) {
return result.response?.status !== 201 || result.response?.data?.error;
}
getGiveCreationErrorMessage(result) {
return result.data?.error?.message;
getGiveCreationErrorMessage(result: CreateAndSubmitGiveResult) {
return result.response?.data?.error?.message;
}
getGiveErrorMessage(error) {
getGiveErrorMessage(error: any) {
return error.userMessage || error.response?.data?.error?.message;
}
}