Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions tools/azsdk-cli/Azure.Sdk.Tools.Cli/Helpers/InputSanitizer.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.

namespace Azure.Sdk.Tools.Cli.Helpers
{
public interface IInputSanitizer
{
Comment thread
praveenkuttappan marked this conversation as resolved.
public string SanitizeName(string languageId);
}
public class InputSanitizer : IInputSanitizer
{
public string SanitizeName(string languageId)
{
var lang = languageId.ToLower();
Comment thread
praveenkuttappan marked this conversation as resolved.
return lang switch
{
"dotnet" => ".NET",
"csharp" => ".NET",
".net" => ".NET",
"typescript" => "JavaScript",
"python" => "Python",
"javascript" => "JavaScript",
"java" => "Java",
"go" => "Go",
_ => languageId
};
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ public static void RegisterCommonServices(IServiceCollection services)
services.AddSingleton<ICodeownersHelper, CodeownersHelper>();
services.AddSingleton<ICodeownersValidatorHelper, CodeownersValidatorHelper>();
services.AddSingleton<IEnvironmentHelper, EnvironmentHelper>();
services.AddSingleton<IInputSanitizer, InputSanitizer>();

// Process Helper Classes
services.AddSingleton<INpxHelper, NpxHelper>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ public class SpecWorkflowTool(IGitHubService githubService,
IGitHelper gitHelper,
ITypeSpecHelper typespecHelper,
IOutputHelper output,
ILogger<SpecWorkflowTool> logger) : MCPTool
ILogger<SpecWorkflowTool> logger,
IInputSanitizer inputSanitizer) : MCPTool
{
private static readonly string PUBLIC_SPECS_REPO = "azure-rest-api-specs";
private static readonly string REPO_OWNER = "Azure";
Expand Down Expand Up @@ -232,6 +233,7 @@ public async Task<string> RunGenerateSdkAsync(string typespecProjectRoot, string
{
Status = "Success"
};
language = inputSanitizer.SanitizeName(language);
logger.LogInformation($"Generating SDK for TypeSpec project: {typespecProjectRoot}, API Version: {apiVersion}, SDK Release Type: {sdkReleaseType}, Language: {language}, Pull Request Number: {pullRequestNumber}, Work Item ID: {workItemId}");
// Is language supported for SDK generation
if (!DevOpsService.IsSDKGenerationSupported(language))
Expand Down
Loading