Skip to content

Commit 8a2e598

Browse files
authored
Merge pull request #12 from PandaTechAM/development
To kebab controllers
2 parents 27a0df2 + 5038eef commit 8a2e598

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed
Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,36 @@
11
using System.Reflection;
2+
using System.Text.RegularExpressions;
3+
using Humanizer;
24
using Microsoft.AspNetCore.Builder;
5+
using Microsoft.AspNetCore.Mvc.ApplicationModels;
36
using Microsoft.Extensions.DependencyInjection;
7+
using Microsoft.OpenApi.Models;
48

59
namespace SharedKernel.Extensions;
610

711
public static class ControllerExtensions
812
{
913
public static WebApplicationBuilder AddControllers(this WebApplicationBuilder builder, Assembly[] assemblies)
1014
{
11-
var mvcBuilder = builder.Services.AddControllers();
15+
var mvcBuilder = builder.Services.AddControllers(options => options.Conventions.Add(new ToLowerNamingConvention()));
1216
foreach (var assembly in assemblies)
1317
{
1418
mvcBuilder.AddApplicationPart(assembly);
1519
}
1620

1721
return builder;
1822
}
23+
}
24+
25+
public class ToLowerNamingConvention : IControllerModelConvention
26+
{
27+
public void Apply(ControllerModel controller)
28+
{
29+
controller.ControllerName = controller.ControllerName.Kebaberize();
30+
31+
foreach (var action in controller.Actions)
32+
{
33+
action.ActionName = action.ActionName.Kebaberize();
34+
}
35+
}
1936
}

src/SharedKernel/SharedKernel.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@
88
<PackageReadmeFile>Readme.md</PackageReadmeFile>
99
<Authors>Pandatech</Authors>
1010
<Copyright>MIT</Copyright>
11-
<Version>1.0.11</Version>
11+
<Version>1.0.12</Version>
1212
<PackageId>Pandatech.SharedKernel</PackageId>
1313
<Title>Pandatech Shared Kernel Library</Title>
1414
<PackageTags>Pandatech, shared kernel, library, OpenAPI, Swagger, utilities, scalar</PackageTags>
1515
<Description>Pandatech.SharedKernel provides centralized configurations, utilities, and extensions for ASP.NET Core projects. For more information refere to readme.md document.</Description>
1616
<RepositoryUrl>https://github.com/PandaTechAM/be-lib-sharedkernel</RepositoryUrl>
17-
<PackageReleaseNotes>OpenApi update</PackageReleaseNotes>
17+
<PackageReleaseNotes>Controller naming to kebab</PackageReleaseNotes>
1818
</PropertyGroup>
1919

2020
<ItemGroup>

0 commit comments

Comments
 (0)