Make use of XAttr included in the Link object, rather than getting it with an extra API request.

This commit is contained in:
Lawrence Murray
2024-09-18 21:15:49 +07:00
parent cd25c0345b
commit a6d0537d37

14
file.go
View File

@@ -48,25 +48,19 @@ func (protonDrive *ProtonDrive) GetActiveRevisionAttrs(ctx context.Context, link
return nil, ErrLinkMustNotBeNil
}
revisionsMetadata, err := protonDrive.GetRevisions(ctx, link, proton.RevisionStateActive)
if err != nil {
return nil, err
}
if len(revisionsMetadata) != 1 {
return nil, ErrCantFindActiveRevision
}
revisionMetadata := link.FileProperties.ActiveRevision
revisionMetadata.XAttr = link.XAttr
nodeKR, err := protonDrive.getLinkKR(ctx, link)
if err != nil {
return nil, err
}
signatureVerificationKR, err := protonDrive.getSignatureVerificationKeyring([]string{link.FileProperties.ActiveRevision.SignatureEmail})
signatureVerificationKR, err := protonDrive.getSignatureVerificationKeyring([]string{revisionMetadata.SignatureEmail})
if err != nil {
return nil, err
}
revisionXAttrCommon, err := revisionsMetadata[0].GetDecXAttrString(signatureVerificationKR, nodeKR)
revisionXAttrCommon, err := revisionMetadata.GetDecXAttrString(signatureVerificationKR, nodeKR)
if err != nil {
return nil, err
}