credential_manager = $credential_manager; $this->platform_registry = $platform_registry; } /** * Sets up the credentials for a given platform. * * ## OPTIONS * * [--platform=] * : The platform to set up credentials for. Defaults to 'shopify'. * * ## EXAMPLES * * wp wc migrate setup * * @param array $args Positional arguments. * @param array $assoc_args Associative arguments. */ public function __invoke( array $args, array $assoc_args ) { // Resolve and validate the platform. $platform = $this->platform_registry->resolve_platform( $assoc_args ); $platform_display_name = $this->platform_registry->get_platform_display_name( $platform ); // Get platform-specific credential fields and set them up. $required_fields = $this->platform_registry->get_platform_credential_fields( $platform ); if ( empty( $required_fields ) ) { WP_CLI::error( "The platform '{$platform_display_name}' does not have configured credential fields." ); } $this->credential_manager->setup_credentials( $platform, $required_fields ); WP_CLI::success( 'Credentials saved successfully.' ); } }