From 62e3f5060ef9cc6a31b3e496dd15548c0abd07e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Fri, 15 Dec 2023 11:27:10 +0100 Subject: refactor: check if scope and package exist before publish (#21575) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Bartek IwaƄczuk Co-authored-by: Luca Casonato --- cli/tools/registry/api.rs | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'cli/tools/registry/api.rs') diff --git a/cli/tools/registry/api.rs b/cli/tools/registry/api.rs index b174ea367..2c08ef52d 100644 --- a/cli/tools/registry/api.rs +++ b/cli/tools/registry/api.rs @@ -1,5 +1,6 @@ // Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. +use deno_core::error::AnyError; use deno_core::serde_json; use deno_runtime::deno_fetch::reqwest; use serde::de::DeserializeOwned; @@ -108,3 +109,32 @@ pub async fn parse_response( x_deno_ray, }) } + +pub async fn get_scope( + client: &reqwest::Client, + registry_api_url: &str, + scope: &str, +) -> Result { + let scope_url = format!("{}scope/{}", registry_api_url, scope); + let response = client.get(&scope_url).send().await?; + Ok(response) +} + +pub fn get_package_api_url( + registry_api_url: &str, + scope: &str, + package: &str, +) -> String { + format!("{}scope/{}packages/{}", registry_api_url, scope, package) +} + +pub async fn get_package( + client: &reqwest::Client, + registry_api_url: &str, + scope: &str, + package: &str, +) -> Result { + let package_url = get_package_api_url(registry_api_url, scope, package); + let response = client.get(&package_url).send().await?; + Ok(response) +} -- cgit v1.2.3