From 633419a2fc73fab1765c7262eba4931e89fcfb95 Mon Sep 17 00:00:00 2001 From: Nilambar Sharma Date: Fri, 23 Feb 2024 12:01:45 +0545 Subject: [PATCH 1/4] Introduce ids format in user application password list --- src/User_Application_Password_Command.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/User_Application_Password_Command.php b/src/User_Application_Password_Command.php index 5203cbac5..34dec1e6f 100644 --- a/src/User_Application_Password_Command.php +++ b/src/User_Application_Password_Command.php @@ -97,6 +97,7 @@ final class User_Application_Password_Command { * - json * - count * - yaml + * - ids * --- * * [--orderby=] @@ -197,8 +198,13 @@ static function ( $application_password ) use ( $field, $value ) { $fields = explode( ',', $assoc_args['fields'] ); } - $formatter = new Formatter( $assoc_args, $fields ); - $formatter->display_items( $application_passwords ); + if ( ! empty( $assoc_args['format'] ) && 'ids' === $assoc_args['format'] ) { + $formatter = new Formatter( $assoc_args, $fields ); + $formatter->display_items( wp_list_pluck( $application_passwords, 'uuid' ) ); + } else { + $formatter = new Formatter( $assoc_args, $fields ); + $formatter->display_items( $application_passwords ); + } } /** From d5642ec007980608b2afbedaa0649d6084673c0a Mon Sep 17 00:00:00 2001 From: Nilambar Sharma Date: Fri, 23 Feb 2024 12:39:51 +0545 Subject: [PATCH 2/4] Add behat test for ids format for user application password list command --- features/user-application-password.feature | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/features/user-application-password.feature b/features/user-application-password.feature index eb30311fd..5c7e5d1cb 100644 --- a/features/user-application-password.feature +++ b/features/user-application-password.feature @@ -244,6 +244,12 @@ Feature: Manage user custom fields myapp2 """ + When I run `wp user application-password list 1 --format=ids --orderby=created --order=asc` + Then STDOUT should be: + """ + {UUID1} {UUID2} + """ + @require-wp-5.6 Scenario: Get particular user application password hash Given a WP install From 05b01989e023e866591c54ce164ace5687f7174b Mon Sep 17 00:00:00 2001 From: Nilambar Sharma Date: Tue, 27 Feb 2024 11:15:23 +0545 Subject: [PATCH 3/4] Remove unnecessary arguments in formatter --- src/User_Application_Password_Command.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/User_Application_Password_Command.php b/src/User_Application_Password_Command.php index 34dec1e6f..2598f5f69 100644 --- a/src/User_Application_Password_Command.php +++ b/src/User_Application_Password_Command.php @@ -199,7 +199,7 @@ static function ( $application_password ) use ( $field, $value ) { } if ( ! empty( $assoc_args['format'] ) && 'ids' === $assoc_args['format'] ) { - $formatter = new Formatter( $assoc_args, $fields ); + $formatter = new Formatter( $assoc_args ); $formatter->display_items( wp_list_pluck( $application_passwords, 'uuid' ) ); } else { $formatter = new Formatter( $assoc_args, $fields ); From 248cbb9ff1143dd8079510c491a870698e09f1c9 Mon Sep 17 00:00:00 2001 From: Nilambar Sharma Date: Thu, 14 Mar 2024 15:02:36 +0545 Subject: [PATCH 4/4] Initialize formatter in better way --- src/User_Application_Password_Command.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/User_Application_Password_Command.php b/src/User_Application_Password_Command.php index 2598f5f69..89cb4ea9e 100644 --- a/src/User_Application_Password_Command.php +++ b/src/User_Application_Password_Command.php @@ -198,11 +198,13 @@ static function ( $application_password ) use ( $field, $value ) { $fields = explode( ',', $assoc_args['fields'] ); } - if ( ! empty( $assoc_args['format'] ) && 'ids' === $assoc_args['format'] ) { - $formatter = new Formatter( $assoc_args ); + $format = Utils\get_flag_value( $assoc_args, 'format', 'table' ); + + $formatter = new Formatter( $assoc_args, $fields ); + + if ( 'ids' === $format ) { $formatter->display_items( wp_list_pluck( $application_passwords, 'uuid' ) ); } else { - $formatter = new Formatter( $assoc_args, $fields ); $formatter->display_items( $application_passwords ); } }