From 29f67245bf8dd935175942c5f431d763ec1c5ac4 Mon Sep 17 00:00:00 2001 From: paulo-ocean Date: Tue, 25 Feb 2025 09:08:24 +0000 Subject: [PATCH] add policy server option --- docs/classes/Provider.md | 3 ++- src/services/Provider.ts | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/docs/classes/Provider.md b/docs/classes/Provider.md index 3757738dc..f337a0688 100644 --- a/docs/classes/Provider.md +++ b/docs/classes/Provider.md @@ -283,7 +283,7 @@ ___ ### getDownloadUrl -▸ **getDownloadUrl**(`did`, `serviceId`, `fileIndex`, `transferTxId`, `providerUri`, `signer`, `userCustomParameters?`): `Promise`<`any`\> +▸ **getDownloadUrl**(`did`, `serviceId`, `fileIndex`, `transferTxId`, `providerUri`, `signer`, `policyServerUrl?` `userCustomParameters?`): `Promise`<`any`\> Gets the download URL. @@ -297,6 +297,7 @@ Gets the download URL. | `transferTxId` | `string` | The transfer transaction ID. | | `providerUri` | `string` | The provider URI. | | `signer` | `Signer` | The signer. | +| `policyServerUrl` | `string` | The policy server URL (if any to be used). | | `userCustomParameters?` | [`UserCustomParameters`](../interfaces/UserCustomParameters.md) | The user custom parameters. | #### Returns diff --git a/src/services/Provider.ts b/src/services/Provider.ts index e5e497347..b46e92678 100644 --- a/src/services/Provider.ts +++ b/src/services/Provider.ts @@ -478,6 +478,7 @@ export class Provider { * @param {string} transferTxId - The transfer transaction ID. * @param {string} providerUri - The provider URI. * @param {Signer} signer - The signer. + * @param {string} policyServerUrl - The policy server url (if any is to be used). * @param {UserCustomParameters} userCustomParameters - The user custom parameters. * @returns {Promise} The download URL. */ @@ -488,6 +489,7 @@ export class Provider { transferTxId: string, providerUri: string, signer: Signer, + policyServerUrl?: string, userCustomParameters?: UserCustomParameters ): Promise { const providerEndpoints = await this.getEndpoints(providerUri) @@ -518,6 +520,10 @@ export class Provider { consumeUrl += `&serviceId=${serviceId}` consumeUrl += `&consumerAddress=${consumerAddress}` consumeUrl += `&nonce=${nonce}` + if (policyServerUrl) { + consumeUrl += `&policyServer=${policyServerUrl}` + } + consumeUrl += `&signature=${signature}` if (userCustomParameters) consumeUrl += '&userdata=' + encodeURI(JSON.stringify(userCustomParameters))