Skip to content

Commit

Permalink
Fix repetition of fields in download URLs
Browse files Browse the repository at this point in the history
Fixes #3626

Update `generateDownloadUrl` method to prevent duplicate fields in download URL.

* **Prevent duplicate fields**
  - Use `params.set` instead of `params.append` for `versionStatus` and `isRevocation` fields.
  - Add checks to ensure `versionStatus` and `isRevocation` fields are not already set before setting them.

* **General improvements**
  - Replace `params.append` with `params.set` for all fields in `downloadParameters.toUrlSearchParams()`.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/loculus-project/loculus/issues/3626?shareId=XXXX-XXXX-XXXX-XXXX).
  • Loading branch information
theosanderson committed Feb 5, 2025
1 parent 43c518b commit 50bbd57
Showing 1 changed file with 7 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,12 @@ export class DownloadUrlGenerator {
params.set('downloadAsFile', 'true');
params.set('downloadFileBasename', this.generateFilename(option.dataType));
if (!option.includeOldData) {
params.set(VERSION_STATUS_FIELD, versionStatuses.latestVersion);
params.set(IS_REVOCATION_FIELD, 'false');
if (!params.has(VERSION_STATUS_FIELD)) {
params.set(VERSION_STATUS_FIELD, versionStatuses.latestVersion);
}
if (!params.has(IS_REVOCATION_FIELD)) {
params.set(IS_REVOCATION_FIELD, 'false');
}
}
if (!option.includeRestricted) {
params.set('dataUseTerms', 'OPEN');
Expand All @@ -53,7 +57,7 @@ export class DownloadUrlGenerator {
}

downloadParameters.toUrlSearchParams().forEach(([name, value]) => {
params.append(name, value);
params.set(name, value);
});

return {
Expand Down

0 comments on commit 50bbd57

Please sign in to comment.