Skip to content
Snippets Groups Projects

Resolve "Get access token for specific resource and passport"

3 files
+ 75
10
Compare changes
  • Side-by-side
  • Inline
Files
3
@@ -1623,7 +1623,7 @@ const connection = Penpal.connectToParent({
return response.data;
},
wopiCreateDocument: async (passportUUID, path, contentType, title) => {
wopiCreateDocument: async (passportUUID, path, title) => {
const authenticationPublicKey = localStorage.getItem(
"authenticatedIdentity"
);
@@ -1639,23 +1639,56 @@ const connection = Penpal.connectToParent({
headers: {
path,
passportuuid: passportUUID,
contentType,
title
}
};
const executeResult = await executeRestfulFunction(
const createDocumentResult = await executeRestfulFunction(
"private",
window.viamApi,
window.viamApi.documentCreateDocument,
config
);
if (executeResult.code !== "200") return executeResult;
const resourceID = executeResult.data;
const passports = await wopiAPI.getPassports(resourceID, contentType);
return passports;
if (createDocumentResult.code !== "200") {
return createDocumentResult;
}
const resourceID = createDocumentResult.data;
const accessTokenResponse = await wopiAPI.getAccessToken(passportUUID, resourceID);
if (accessTokenResponse.data.code !== "200") {
return accessTokenResponse.data;
}
const accessToken = accessTokenResponse.data.data;
const result = {
resourceID,
accessToken
};
return encodeResponse("200", result, "ok");
},
wopiGetAccessToken: async (passportUUID, resourceID, contentType) => {
const authenticationPublicKey = localStorage.getItem(
"authenticatedIdentity"
);
if (
!authenticationPublicKey ||
!window.loadedIdentities[authenticationPublicKey] ||
!extendPinCodeTtl(authenticationPublicKey)
) {
return encodeResponse("400", "", "Identity not authenticated");
}
const response = await wopiAPI.getAccessToken(passportUUID, resourceID, contentType);
return response.data;
},
wopiPutFile: async (path, accessToken, file) => {
wopiPutFile: async (resourceID, accessToken, file) => {
const authenticationPublicKey = localStorage.getItem(
"authenticatedIdentity"
);
@@ -1668,7 +1701,7 @@ const connection = Penpal.connectToParent({
return encodeResponse("400", "", "Identity not authenticated");
}
const response = await wopiAPI.putDocument(path, accessToken, file);
const response = await wopiAPI.putDocument(resourceID, accessToken, file);
return response.data;
}
}
Loading