File tree Expand file tree Collapse file tree 1 file changed +7
-5
lines changed
wp_rs_cli/src/bin/wp_rs_cli Expand file tree Collapse file tree 1 file changed +7
-5
lines changed Original file line number Diff line number Diff line change @@ -420,7 +420,7 @@ async fn resolve_post_id(client: &WpApiClient, post_url: &str) -> Result<PostId>
420
420
let url = Url :: parse ( post_url) . map_err ( |e| anyhow ! ( "Invalid url: {e}" ) ) ?;
421
421
let slug_candidate = url
422
422
. path_segments ( )
423
- . and_then ( |segs| segs. filter ( |s| !s. is_empty ( ) ) . last ( ) )
423
+ . and_then ( |segs| segs. rev ( ) . find ( |s| !s. is_empty ( ) ) )
424
424
. map ( |s| s. trim_end_matches ( '/' ) )
425
425
. unwrap_or ( "" )
426
426
. to_string ( ) ;
@@ -431,11 +431,13 @@ async fn resolve_post_id(client: &WpApiClient, post_url: &str) -> Result<PostId>
431
431
432
432
// Query posts by slug; returns an array, take first match.
433
433
// Using view context to ensure public content shape.
434
- let mut params = wp_api:: posts:: PostListParams :: default ( ) ;
435
- params. slug = vec ! [ slug_candidate. clone( ) ] ;
436
- params. per_page = Some ( 1 ) ;
434
+ let params = wp_api:: posts:: PostListParams {
435
+ slug : vec ! [ slug_candidate. clone( ) ] ,
436
+ per_page : Some ( 1 ) ,
437
+ ..Default :: default ( )
438
+ } ;
437
439
let resp = client. posts ( ) . list_with_view_context ( & params) . await ?;
438
- if let Some ( p) = resp. data . into_iter ( ) . find_map ( |sp| Some ( sp. id ) ) {
440
+ if let Some ( p) = resp. data . into_iter ( ) . map ( |sp| sp. id ) . next ( ) {
439
441
return Ok ( p) ;
440
442
}
441
443
You can’t perform that action at this time.
0 commit comments