New Project

This commit is contained in:
Matthew Aaron Raymer
2023-01-04 17:05:08 +08:00
parent 6325bcbe35
commit f021fcdb1c
3 changed files with 32 additions and 9 deletions

View File

@@ -74,7 +74,8 @@
import { Options, Vue } from "vue-class-component";
import { AppString } from "@/constants/app";
import { db } from "../db";
import { accessToken } from "@/libs/crypto";
import { accessToken, sign } from "@/libs/crypto";
import * as didJwt from 'did-jwt'
@Options({
components: {},
@@ -95,20 +96,31 @@ export default class NewEditProjectView extends Vue {
const address = identity.did;
const vcClaim = {
"@context": "https://schema.org",
"@type": "Plan",
"@type": "PlanAction",
identifier: address,
name: this.projectName,
description: this.description,
};
const jwt = "";
const payload = JSON.stringify({ jwtEncoded: jwt});
const vcPayload = {
sub: "PlanAction",
vc: {
'@context': ['https://www.w3.org/2018/credentials/v1'],
type: ['VerifiableCredential'],
credentialSubject: vcClaim,
}
};
const signer = await sign(identity.keys[0].privateKeyHex);
const alg = undefined;
const vcJwt: string = await didJwt.createJWT(vcClaim,{ alg, issuer: identity, signer });
const payload = JSON.stringify({ jwtEncoded: vcJwt});
const endorserApiServer = AppString.DEFAULT_ENDORSER_API_SERVER;
const url = endorserApiServer + "/api/claim";
const token = await accessToken(identity)
const token = await accessToken(identity);
const headers = {
'Content-Type': 'application/json',
'Uport-Push-Token': token
}
'Authorization': "Bearer " + token
};
try {
let resp = await this.axios.post(url, payload, { headers });