Skip to content

Conversation

v-jiaodi
Copy link
Member

@v-jiaodi v-jiaodi commented Aug 13, 2025

fixes #3438
image

@MaryGao MaryGao changed the title Verify that the library option is set to true for @azure-rest/purview-datamap Issue found in DPG modular generation - apiVersion parameter missing Sep 10, 2025
@v-jiaodi v-jiaodi requested a review from Copilot September 17, 2025 05:56
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR fixes an issue in DPG modular generation where the apiVersion parameter was missing by correcting the logic for determining required parameters in client parameter generation.

Key changes:

  • Restructured the condition logic in isRequired function to properly handle the apiVersionAsRequired flag
  • Moved the apiVersion special case to the beginning of the condition to ensure it takes precedence
  • Added a comprehensive test case for Azure Analytics Purview DataMap service to validate the fix

Reviewed Changes

Copilot reviewed 6 out of 48 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
packages/typespec-ts/src/modular/helpers/clientHelpers.ts Fixed parameter requirement logic to properly handle apiVersionAsRequired flag
packages/typespec-test/test/Azure.Analytics.Purview.DataMap/tspconfig.yaml Added TypeSpec configuration for new test case
packages/typespec-test/test/Azure.Analytics.Purview.DataMap/spec/routes.tsp Added comprehensive route definitions for DataMap service test
packages/typespec-test/test/Azure.Analytics.Purview.DataMap/spec/models.tsp Added model definitions for DataMap service test
packages/typespec-test/test/Azure.Analytics.Purview.DataMap/spec/main.tsp Added main service definition for DataMap test
packages/typespec-test/test/Azure.Analytics.Purview.DataMap/spec/client.tsp Added client customizations for DataMap test

Comment on lines +76 to +84
// Special case: when apiVersionAsRequired is true, apiVersion should always be considered required
(options.apiVersionAsRequired && p.isApiVersionParam) ||
(!p.optional &&
!hasDefaultValue(p) &&
!(
p.type.kind === "endpoint" &&
p.type.templateArguments[0] &&
hasDefaultValue(p.type.templateArguments[0])
)) ||
(options.apiVersionAsRequired && p.isApiVersionParam));
));
Copy link

Copilot AI Sep 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The logic structure has been improved by moving the special case for apiVersionAsRequired to the beginning, but the comment could be more descriptive about the overall evaluation order. Consider adding a comment explaining that this is an OR condition where the apiVersion special case takes precedence over the general required parameter logic.

Copilot uses AI. Check for mistakes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Property 'apiVersion' does not exist on type 'DataMapContext'

3 participants