Skip to content

Commit 74dd289

Browse files
committed
trustpub: Expose trustpub_only flag in crate API responses
1 parent 97f4e8e commit 74dd289

File tree

33 files changed

+43
-1
lines changed

33 files changed

+43
-1
lines changed

crates/crates_io_api_types/src/lib.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -361,6 +361,9 @@ pub struct EncodableCrate {
361361
/// Whether the crate name was an exact match.
362362
#[schema(deprecated)]
363363
pub exact_match: bool,
364+
365+
/// Whether this crate can only be published via Trusted Publishing.
366+
pub trustpub_only: bool,
364367
}
365368

366369
impl EncodableCrate {
@@ -386,6 +389,7 @@ impl EncodableCrate {
386389
homepage,
387390
documentation,
388391
repository,
392+
trustpub_only,
389393
..
390394
} = krate;
391395
let versions_link = match versions {
@@ -451,6 +455,7 @@ impl EncodableCrate {
451455
exact_match,
452456
description,
453457
repository,
458+
trustpub_only,
454459
links: EncodableCrateLinks {
455460
version_downloads: format!("/api/v1/crates/{name}/downloads"),
456461
versions: versions_link,
@@ -1201,6 +1206,7 @@ mod tests {
12011206
reverse_dependencies: "".to_string(),
12021207
},
12031208
exact_match: false,
1209+
trustpub_only: false,
12041210
};
12051211
let json = serde_json::to_string(&crt).unwrap();
12061212
assert_some!(json.as_str().find(r#""updated_at":"2017-01-06T14:23:11Z""#));

src/tests/krate/publish/snapshots/integration__krate__publish__auth__new_krate_with_bearer_token-2.snap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ expression: response.json()
3030
"num_versions": 1,
3131
"recent_downloads": null,
3232
"repository": null,
33+
"trustpub_only": false,
3334
"updated_at": "[datetime]",
3435
"versions": null,
3536
"yanked": false

src/tests/krate/publish/snapshots/integration__krate__publish__basics__new_krate-2.snap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ expression: response.json()
3030
"num_versions": 1,
3131
"recent_downloads": null,
3232
"repository": null,
33+
"trustpub_only": false,
3334
"updated_at": "[datetime]",
3435
"versions": null,
3536
"yanked": false

src/tests/krate/publish/snapshots/integration__krate__publish__basics__new_krate_twice-2.snap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ expression: response.json()
3030
"num_versions": 2,
3131
"recent_downloads": null,
3232
"repository": null,
33+
"trustpub_only": false,
3334
"updated_at": "[datetime]",
3435
"versions": null,
3536
"yanked": false

src/tests/krate/publish/snapshots/integration__krate__publish__basics__new_krate_twice_alt-2.snap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ expression: response.json()
3030
"num_versions": 2,
3131
"recent_downloads": null,
3232
"repository": null,
33+
"trustpub_only": false,
3334
"updated_at": "[datetime]",
3435
"versions": null,
3536
"yanked": false

src/tests/krate/publish/snapshots/integration__krate__publish__basics__new_krate_weird_version-2.snap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ expression: response.json()
3030
"num_versions": 1,
3131
"recent_downloads": null,
3232
"repository": null,
33+
"trustpub_only": false,
3334
"updated_at": "[datetime]",
3435
"versions": null,
3536
"yanked": false

src/tests/krate/publish/snapshots/integration__krate__publish__basics__new_krate_with_token-2.snap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ expression: response.json()
3030
"num_versions": 1,
3131
"recent_downloads": null,
3232
"repository": null,
33+
"trustpub_only": false,
3334
"updated_at": "[datetime]",
3435
"versions": null,
3536
"yanked": false

src/tests/krate/publish/snapshots/integration__krate__publish__build_metadata__version_with_build_metadata@build_metadata_1.snap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ expression: response.json()
3030
"num_versions": 1,
3131
"recent_downloads": null,
3232
"repository": null,
33+
"trustpub_only": false,
3334
"updated_at": "[datetime]",
3435
"versions": null,
3536
"yanked": false

src/tests/krate/publish/snapshots/integration__krate__publish__build_metadata__version_with_build_metadata@build_metadata_2.snap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ expression: response.json()
3030
"num_versions": 1,
3131
"recent_downloads": null,
3232
"repository": null,
33+
"trustpub_only": false,
3334
"updated_at": "[datetime]",
3435
"versions": null,
3536
"yanked": false

src/tests/krate/publish/snapshots/integration__krate__publish__build_metadata__version_with_build_metadata@build_metadata_3.snap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ expression: response.json()
3030
"num_versions": 1,
3131
"recent_downloads": null,
3232
"repository": null,
33+
"trustpub_only": false,
3334
"updated_at": "[datetime]",
3435
"versions": null,
3536
"yanked": false

0 commit comments

Comments
 (0)