Move constraints to query parameters for GET /extensions/:extension_id/download (#10562)

This PR fixes a bug where the constraints provided when downloading the
latest version of an extension were not being read properly.

These constraints are passed in the query string, but `collab` was
attempting to read them from the path.

This should fix https://github.com/zed-industries/zed/issues/10484, once
it is deployed.


Release Notes:

- N/A
This commit is contained in:
Marshall Bowers 2024-04-15 13:06:20 -04:00 committed by GitHub
parent d1928f084e
commit f28fde5e58
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -106,8 +106,12 @@ async fn get_extension_versions(
} }
#[derive(Debug, Deserialize)] #[derive(Debug, Deserialize)]
struct DownloadLatestExtensionParams { struct DownloadLatestExtensionPathParams {
extension_id: String, extension_id: String,
}
#[derive(Debug, Deserialize)]
struct DownloadLatestExtensionQueryParams {
min_schema_version: Option<i32>, min_schema_version: Option<i32>,
max_schema_version: Option<i32>, max_schema_version: Option<i32>,
min_wasm_api_version: Option<SemanticVersion>, min_wasm_api_version: Option<SemanticVersion>,
@ -116,13 +120,14 @@ struct DownloadLatestExtensionParams {
async fn download_latest_extension( async fn download_latest_extension(
Extension(app): Extension<Arc<AppState>>, Extension(app): Extension<Arc<AppState>>,
Path(params): Path<DownloadLatestExtensionParams>, Path(params): Path<DownloadLatestExtensionPathParams>,
Query(query): Query<DownloadLatestExtensionQueryParams>,
) -> Result<Redirect> { ) -> Result<Redirect> {
let constraints = maybe!({ let constraints = maybe!({
let min_schema_version = params.min_schema_version?; let min_schema_version = query.min_schema_version?;
let max_schema_version = params.max_schema_version?; let max_schema_version = query.max_schema_version?;
let min_wasm_api_version = params.min_wasm_api_version?; let min_wasm_api_version = query.min_wasm_api_version?;
let max_wasm_api_version = params.max_wasm_api_version?; let max_wasm_api_version = query.max_wasm_api_version?;
Some(ExtensionVersionConstraints { Some(ExtensionVersionConstraints {
schema_versions: min_schema_version..=max_schema_version, schema_versions: min_schema_version..=max_schema_version,