|  |  | @ -32,10 +32,12 @@ | 
			
		
	
		
			
				
					|  |  |  | import { Component, Vue } from "vue-facing-decorator"; | 
			
		
	
		
			
				
					|  |  |  | import { Router } from "vue-router"; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | import QuickNav from "@/components/QuickNav.vue"; | 
			
		
	
		
			
				
					|  |  |  | import { NotificationIface } from "@/constants/app"; | 
			
		
	
		
			
				
					|  |  |  | import { retrieveSettingsForActiveAccount } from "@/db/index"; | 
			
		
	
		
			
				
					|  |  |  | import { logConsoleAndDb, retrieveSettingsForActiveAccount } from "@/db/index"; | 
			
		
	
		
			
				
					|  |  |  | import * as serverUtil from "@/libs/endorserServer"; | 
			
		
	
		
			
				
					|  |  |  | import QuickNav from "@/components/QuickNav.vue"; | 
			
		
	
		
			
				
					|  |  |  | import * as libsUtil from "@/libs/util"; | 
			
		
	
		
			
				
					|  |  |  | import { errorStringForLog } from "@/libs/endorserServer"; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | @Component({ | 
			
		
	
		
			
				
					|  |  |  |   components: { QuickNav }, | 
			
		
	
	
		
			
				
					|  |  | @ -54,11 +56,55 @@ export default class ClaimAddRawView extends Vue { | 
			
		
	
		
			
				
					|  |  |  |     this.apiServer = settings.apiServer || ""; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     this.claimStr = (this.$route as Router).query["claim"]; | 
			
		
	
		
			
				
					|  |  |  |     try { | 
			
		
	
		
			
				
					|  |  |  |       this.veriClaim = JSON.parse(this.claimStr); | 
			
		
	
		
			
				
					|  |  |  |       this.claimStr = JSON.stringify(this.veriClaim, null, 2); | 
			
		
	
		
			
				
					|  |  |  |     } catch (e) { | 
			
		
	
		
			
				
					|  |  |  |       // ignore a parse | 
			
		
	
		
			
				
					|  |  |  |     if (this.claimStr) { | 
			
		
	
		
			
				
					|  |  |  |       try { | 
			
		
	
		
			
				
					|  |  |  |         const veriClaim = JSON.parse(this.claimStr); | 
			
		
	
		
			
				
					|  |  |  |         this.claimStr = JSON.stringify(veriClaim, null, 2); | 
			
		
	
		
			
				
					|  |  |  |       } catch (e) { | 
			
		
	
		
			
				
					|  |  |  |         // ignore a parse error | 
			
		
	
		
			
				
					|  |  |  |       } | 
			
		
	
		
			
				
					|  |  |  |     } else { | 
			
		
	
		
			
				
					|  |  |  |       // there may be no link that uses this, meaning you'd have to enter it in a browser | 
			
		
	
		
			
				
					|  |  |  |       const claimJwtId = (this.$route as Router).query["claimJwtId"]; | 
			
		
	
		
			
				
					|  |  |  |       if (claimJwtId) { | 
			
		
	
		
			
				
					|  |  |  |         const urlPath = libsUtil.isGlobalUri(claimJwtId) | 
			
		
	
		
			
				
					|  |  |  |           ? "/api/claim/byHandle/" | 
			
		
	
		
			
				
					|  |  |  |           : "/api/claim/"; | 
			
		
	
		
			
				
					|  |  |  |         const url = this.apiServer + urlPath + encodeURIComponent(claimJwtId); | 
			
		
	
		
			
				
					|  |  |  |         const headers = await serverUtil.getHeaders(this.activeDid); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         try { | 
			
		
	
		
			
				
					|  |  |  |           const response = await this.axios.get(url, { headers }); | 
			
		
	
		
			
				
					|  |  |  |           if (response.status === 200) { | 
			
		
	
		
			
				
					|  |  |  |             const claim = response.data?.claim; | 
			
		
	
		
			
				
					|  |  |  |             claim.lastClaimId = serverUtil.stripEndorserPrefix(claimJwtId); | 
			
		
	
		
			
				
					|  |  |  |             this.claimStr = JSON.stringify(claim, null, 2); | 
			
		
	
		
			
				
					|  |  |  |           } else { | 
			
		
	
		
			
				
					|  |  |  |             throw { | 
			
		
	
		
			
				
					|  |  |  |               message: "Got an error loading that claim.", | 
			
		
	
		
			
				
					|  |  |  |               response: { | 
			
		
	
		
			
				
					|  |  |  |                 status: response.status, | 
			
		
	
		
			
				
					|  |  |  |                 statusText: response.statusText, | 
			
		
	
		
			
				
					|  |  |  |                 // url is in "fetch" response but not in AxiosResponse | 
			
		
	
		
			
				
					|  |  |  |               }, | 
			
		
	
		
			
				
					|  |  |  |             }; | 
			
		
	
		
			
				
					|  |  |  |           } | 
			
		
	
		
			
				
					|  |  |  |         } catch (error: unknown) { | 
			
		
	
		
			
				
					|  |  |  |           logConsoleAndDb( | 
			
		
	
		
			
				
					|  |  |  |             "Error retrieving claim: " + errorStringForLog(error), | 
			
		
	
		
			
				
					|  |  |  |             true, | 
			
		
	
		
			
				
					|  |  |  |           ); | 
			
		
	
		
			
				
					|  |  |  |           this.$notify( | 
			
		
	
		
			
				
					|  |  |  |             { | 
			
		
	
		
			
				
					|  |  |  |               group: "alert", | 
			
		
	
		
			
				
					|  |  |  |               type: "danger", | 
			
		
	
		
			
				
					|  |  |  |               title: "Error", | 
			
		
	
		
			
				
					|  |  |  |               text: "Got an error retrieving claim data.", | 
			
		
	
		
			
				
					|  |  |  |             }, | 
			
		
	
		
			
				
					|  |  |  |             3000, | 
			
		
	
		
			
				
					|  |  |  |           ); | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |       } | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | 
 |