Skip to content

Commit 48e6db8

Browse files
authored
Simplified naming (#60)
1 parent 95a275e commit 48e6db8

50 files changed

Lines changed: 109 additions & 108 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/build.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ on:
55
branches: [ "main" ]
66
tags: [ "**" ]
77
pull_request:
8+
workflow_dispatch:
89

910
jobs:
1011

@@ -38,7 +39,7 @@ jobs:
3839
needs:
3940
- format
4041
- build
41-
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
42+
if: github.event_name == 'workflow_dispatch' || (github.event_name == 'push' && startsWith(github.ref, 'refs/tags/'))
4243
steps:
4344
- name: Checkout
4445
uses: actions/checkout@v3

FunctionsValidationFilter.sln renamed to AzureFunctionsOpenApiFluentValidationExtensions.sln

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{8E7F3B16-8C1
1010
EndProject
1111
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{4548709D-6DFA-4CE9-A6EF-F20F2D210057}"
1212
EndProject
13-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FunctionsValidationFilter.Tests", "test\FunctionsValidationFilter.Tests\FunctionsValidationFilter.Tests.csproj", "{4314B709-63A3-466F-B849-47141DADD1CC}"
13+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AzureFunctionsOpenApiFluentValidationExtensions.Tests", "test\AzureFunctionsOpenApiFluentValidationExtensions.Tests\AzureFunctionsOpenApiFluentValidationExtensions.Tests.csproj", "{4314B709-63A3-466F-B849-47141DADD1CC}"
1414
EndProject
15-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FunctionsValidationFilter", "src\FunctionsValidationFilter\FunctionsValidationFilter.csproj", "{5AB4FFC0-D80D-41CC-A5A2-A1099B0285DB}"
15+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AzureFunctionsOpenApiFluentValidationExtensions", "src\AzureFunctionsOpenApiFluentValidationExtensions\AzureFunctionsOpenApiFluentValidationExtensions.csproj", "{5AB4FFC0-D80D-41CC-A5A2-A1099B0285DB}"
1616
EndProject
17-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FunctionsValidationFilter.DependencyInjection", "src\FunctionsValidationFilter.DependencyInjection\FunctionsValidationFilter.DependencyInjection.csproj", "{B1B902B8-EB41-413A-B96B-DAE971DAF11C}"
17+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AzureFunctionsOpenApiFluentValidationExtensions.DependencyInjection", "src\AzureFunctionsOpenApiFluentValidationExtensions.DependencyInjection\AzureFunctionsOpenApiFluentValidationExtensions.DependencyInjection.csproj", "{B1B902B8-EB41-413A-B96B-DAE971DAF11C}"
1818
EndProject
1919
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{0AA753A4-10D9-4E0E-B224-172CF16E3685}"
2020
ProjectSection(SolutionItems) = preProject

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<ImplicitUsings>enable</ImplicitUsings>
55
<Nullable>enable</Nullable>
66
<LangVersion>10</LangVersion>
7-
<AssemblyName>NewDay.Extensions.$(MSBuildProjectName)</AssemblyName>
7+
<AssemblyName>$(MSBuildProjectName)</AssemblyName>
88
<RootNamespace>$(AssemblyName.Replace(" ", "_"))</RootNamespace>
99
</PropertyGroup>
1010

README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# FunctionsValidationFilter
1+
# AzureFunctionsOpenApiFluentValidationExtensions
22

33
Decorates the [OpenApi Specification](https://swagger.io/specification/) generated using [Azure Functions OpenAPI Extension](https://github.com/Azure/azure-functions-openapi-extension) with [FluentValidation](https://docs.fluentvalidation.net/en/latest/) rules loaded at runtime.
44

@@ -17,32 +17,32 @@ Currently, only basic rules are supported and the regex dialect is not translate
1717
Add to your project:
1818

1919
```xml
20-
<PackageReference Include="NewDay.Extensions.FunctionsValidationFilter.DependencyInjection" Version="0.1.19" />
20+
<PackageReference Include="AzureFunctionsOpenApiFluentValidationExtensions.DependencyInjection" Version="0.1.19" />
2121
```
2222

2323
Add to your OpenApi configuration:
2424

2525
```csharp
26-
DocumentFilters.AddFunctionsValidationFilter<Startup>();
26+
DocumentFilters.AddAzureFunctionsOpenApiFluentValidationExtensions<Startup>();
2727
```
2828

2929
## Usage
3030

3131
Add to your project:
3232

3333
```xml
34-
<PackageReference Include="NewDay.Extensions.FunctionsValidationFilter.DependencyInjection" Version="0.1.19" />
34+
<PackageReference Include="AzureFunctionsOpenApiFluentValidationExtensions.DependencyInjection" Version="0.1.19" />
3535
```
3636

37-
In your custom object to define the OpenApi configuration, use `AddFunctionsValidationFilter` on the `DocumentFilters` property.
37+
In your custom object to define the OpenApi configuration, use `AddAzureFunctionsOpenApiFluentValidationExtensions` on the `DocumentFilters` property.
3838

3939
```csharp
4040
public class OpenApiConfigurationOptions : DefaultOpenApiConfigurationOptions
4141
{
4242
public OpenApiConfigurationOptions()
4343
{
4444
// Add all validators via reflection.
45-
DocumentFilters.AddFunctionsValidationFilter<Startup>(services =>
45+
DocumentFilters.AddAzureFunctionsOpenApiFluentValidationExtensions<Startup>(services =>
4646
{
4747
// Add dependencies required to build the validators.
4848
// Note the OpenAPI generator doesn't use the DI container.
@@ -70,7 +70,7 @@ public class OpenApiConfigurationOptions : DefaultOpenApiConfigurationOptions
7070
Add to your project:
7171

7272
```xml
73-
<PackageReference Include="NewDay.Extensions.FunctionsValidationFilter" Version="0.1.19" />
73+
<PackageReference Include="AzureFunctionsOpenApiFluentValidationExtensions" Version="0.1.19" />
7474
```
7575

7676
If you are not using DI in Azure Functions or using static Functions, you would need to manually register all the validators you are using.
@@ -107,10 +107,10 @@ public class OpenApiConfigurationOptions : DefaultOpenApiConfigurationOptions
107107

108108
### Handling new rules
109109

110-
1. Implement a new rule in [`FunctionsValidationFilter.Rules`](https://github.com/NewDayTechnology/NewDay.Extensions.FunctionsValidationFilter/tree/main/src/FunctionsValidationFilter/Rules) that extend [`Rule`](https://github.com/NewDayTechnology/NewDay.Extensions.FunctionsValidationFilter/blob/main/src/FunctionsValidationFilter/Rules/Rule.cs) and define the required properties. This represents an internal representation of a rule.
110+
1. Implement a new rule in [`AzureFunctionsOpenApiFluentValidationExtensions.Rules`](https://github.com/NewDayTechnology/AzureFunctionsOpenApiFluentValidationExtensions/tree/main/src/AzureFunctionsOpenApiFluentValidationExtensions/Rules) that extend [`Rule`](https://github.com/NewDayTechnology/AzureFunctionsOpenApiFluentValidationExtensions/blob/main/src/AzureFunctionsOpenApiFluentValidationExtensions/Rules/Rule.cs) and define the required properties. This represents an internal representation of a rule.
111111

112-
1. Add a new case in [`FunctionsValidationFilter.ValidatorMapper`](https://github.com/NewDayTechnology/NewDay.Extensions.FunctionsValidationFilter/blob/main/src/FunctionsValidationFilter/ValidatorMapper.cs) that map from a `FluentValidation` type of a rule to the new modeled rule.
112+
1. Add a new case in [`AzureFunctionsOpenApiFluentValidationExtensions.ValidatorMapper`](https://github.com/NewDayTechnology/AzureFunctionsOpenApiFluentValidationExtensions/blob/main/src/AzureFunctionsOpenApiFluentValidationExtensions/ValidatorMapper.cs) that map from a `FluentValidation` type of a rule to the new modeled rule.
113113

114-
1. Extend [`FunctionsValidationFilter.FunctionsValidationDocumentFilter`](https://github.com/NewDayTechnology/NewDay.Extensions.FunctionsValidationFilter/blob/main/src/FunctionsValidationFilter/FunctionsValidationDocumentFilter.cs):
114+
1. Extend [`AzureFunctionsOpenApiFluentValidationExtensions.FunctionsValidationDocumentFilter`](https://github.com/NewDayTechnology/AzureFunctionsOpenApiFluentValidationExtensions/blob/main/src/AzureFunctionsOpenApiFluentValidationExtensions/FunctionsValidationDocumentFilter.cs):
115115
1. Add a new case in the `ApplySchemas` method for the new rule to set the necessary properties of a field of a schema, based on the rule.
116116
1. Add a new case in the `ApplySchemasToOperations` method for the new rule to set the necessary properties of a parameter of an operation, based on the rule.

sample/SampleFunctionApp/Program.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
{
2323
Name = "sample",
2424
Email = "test@example.com",
25-
Url = new Uri("https://github.com/NewDayTechnology/NewDay.Extensions.FunctionsValidationFilter"),
25+
Url = new Uri("https://github.com/NewDayTechnology/AzureFunctionsOpenApiFluentValidationExtensions"),
2626
},
2727
License = new OpenApiLicense()
2828
{
@@ -37,7 +37,7 @@
3737
ForceHttp = DefaultOpenApiConfigurationOptions.IsHttpForced(),
3838
};
3939

40-
options.DocumentFilters.AddFunctionsValidationFilter<Program>();
40+
options.DocumentFilters.AddAzureFunctionsOpenApiFluentValidationExtensions<Program>();
4141

4242
return options;
4343
});

sample/SampleFunctionApp/SampleFunctionApp.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
<PackageReference Include="FluentValidation" Version="11.4.0" />
1616
</ItemGroup>
1717
<ItemGroup>
18-
<ProjectReference Include="..\..\src\FunctionsValidationFilter.DependencyInjection\FunctionsValidationFilter.DependencyInjection.csproj" />
19-
<ProjectReference Include="..\..\src\FunctionsValidationFilter\FunctionsValidationFilter.csproj" />
18+
<ProjectReference Include="..\..\src\AzureFunctionsOpenApiFluentValidationExtensions.DependencyInjection\AzureFunctionsOpenApiFluentValidationExtensions.DependencyInjection.csproj" />
19+
<ProjectReference Include="..\..\src\AzureFunctionsOpenApiFluentValidationExtensions\AzureFunctionsOpenApiFluentValidationExtensions.csproj" />
2020
</ItemGroup>
2121
<ItemGroup>
2222
<None Update="host.json">

sample/SampleFunctionApp/SampleInputValidator.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
using FluentValidation;
22
using SampleFunctionApp;
33

4-
namespace NewDay.Extensions.SampleFunctionApp;
4+
namespace SampleFunctionApp;
55

66
public class SampleInputValidator : AbstractValidator<SampleInput>
77
{

src/FunctionsValidationFilter.DependencyInjection/FunctionsValidationFilter.DependencyInjection.csproj renamed to src/AzureFunctionsOpenApiFluentValidationExtensions.DependencyInjection/AzureFunctionsOpenApiFluentValidationExtensions.DependencyInjection.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
</ItemGroup>
1010

1111
<ItemGroup>
12-
<ProjectReference Include="..\FunctionsValidationFilter\FunctionsValidationFilter.csproj" />
12+
<ProjectReference Include="..\AzureFunctionsOpenApiFluentValidationExtensions\AzureFunctionsOpenApiFluentValidationExtensions.csproj" />
1313
</ItemGroup>
1414

1515
</Project>

src/FunctionsValidationFilter.DependencyInjection/OpenApiConfigurationOptionsExtensions.cs renamed to src/AzureFunctionsOpenApiFluentValidationExtensions.DependencyInjection/OpenApiConfigurationOptionsExtensions.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
using System.Diagnostics;
2+
using AzureFunctionsOpenApiFluentValidationExtensions;
23
using FluentValidation;
34
using Microsoft.Azure.WebJobs.Extensions.OpenApi.Core.Abstractions;
45
using Microsoft.Extensions.DependencyInjection;
56
using Microsoft.Extensions.Options;
6-
using NewDay.Extensions.FunctionsValidationFilter;
77

88
namespace Microsoft.Azure.WebJobs.Extensions.OpenApi.Core.Configurations;
99

@@ -17,7 +17,7 @@ public static class OpenApiConfigurationOptionsExtensions
1717
/// </summary>
1818
/// <typeparam name="T">The Startup type, to be used to determine the assembly in which to discover the FluentValidation validators.</typeparam>
1919
/// <param name="filters">The <see cref="List{IDocumentFilter}"/> filters.</param>
20-
public static void AddFunctionsValidationFilter<T>(this List<IDocumentFilter> filters)
20+
public static void AddAzureFunctionsOpenApiFluentValidationExtensions<T>(this List<IDocumentFilter> filters)
2121
{
2222
filters.Add(Build<T>());
2323
}
@@ -29,7 +29,7 @@ public static void AddFunctionsValidationFilter<T>(this List<IDocumentFilter> fi
2929
/// <param name="filters">The <see cref="List{IDocumentFilter}"/> filters.</param>
3030
/// <param name="configureServices">A lambda to configure the ServiceCollection with extra services required to construct the FluentValidation validators.</param>
3131

32-
public static void AddFunctionsValidationFilter<T>(this List<IDocumentFilter> filters, Action<ServiceCollection> configureServices)
32+
public static void AddAzureFunctionsOpenApiFluentValidationExtensions<T>(this List<IDocumentFilter> filters, Action<ServiceCollection> configureServices)
3333
{
3434
filters.Add(Build<T>(configureServices));
3535
}
@@ -39,8 +39,8 @@ public static void AddFunctionsValidationFilter<T>(this List<IDocumentFilter> fi
3939
/// </summary>
4040
/// <typeparam name="T">The Startup type, to be used to determine the assembly in which to discover the FluentValidation validators.</typeparam>
4141
/// <param name="filters">The <see cref="List{IDocumentFilter}"/> filters.</param>
42-
/// <param name="configureOptions">A lambda to configure the options of FunctionsValidationFilter.</param>
43-
public static void AddFunctionsValidationFilter<T>(this List<IDocumentFilter> filters, Action<FunctionsValidationFilterOptions> configureOptions)
42+
/// <param name="configureOptions">A lambda to configure the options of AzureFunctionsOpenApiFluentValidationExtensions.</param>
43+
public static void AddAzureFunctionsOpenApiFluentValidationExtensions<T>(this List<IDocumentFilter> filters, Action<AzureFunctionsOpenApiFluentValidationExtensionsOptions> configureOptions)
4444
{
4545
filters.Add(Build<T>(configureOptions: configureOptions));
4646
}
@@ -51,24 +51,24 @@ public static void AddFunctionsValidationFilter<T>(this List<IDocumentFilter> fi
5151
/// <typeparam name="T">The Startup type, to be used to determine the assembly in which to discover the FluentValidation validators.</typeparam>
5252
/// <param name="filters">The <see cref="List{IDocumentFilter}"/> filters.</param>
5353
/// <param name="configureServices">A lambda to configure the ServiceCollection with extra services required to construct the FluentValidation validators.</param>
54-
/// <param name="configureOptions">A lambda to configure the options of FunctionsValidationFilter.</param>
55-
public static void AddFunctionsValidationFilter<T>(this List<IDocumentFilter> filters, Action<ServiceCollection> configureServices, Action<FunctionsValidationFilterOptions> configureOptions)
54+
/// <param name="configureOptions">A lambda to configure the options of AzureFunctionsOpenApiFluentValidationExtensions.</param>
55+
public static void AddAzureFunctionsOpenApiFluentValidationExtensions<T>(this List<IDocumentFilter> filters, Action<ServiceCollection> configureServices, Action<AzureFunctionsOpenApiFluentValidationExtensionsOptions> configureOptions)
5656
{
5757
filters.Add(Build<T>(configureServices, configureOptions));
5858
}
5959

60-
private static FunctionsValidationDocumentFilter Build<T>(Action<ServiceCollection>? configureServices = null, Action<FunctionsValidationFilterOptions>? configureOptions = null)
60+
private static FunctionsValidationDocumentFilter Build<T>(Action<ServiceCollection>? configureServices = null, Action<AzureFunctionsOpenApiFluentValidationExtensionsOptions>? configureOptions = null)
6161
{
6262
var services = new ServiceCollection();
6363
AddValidators<T>(services);
6464
configureServices?.Invoke(services);
65-
services.AddOptions<FunctionsValidationFilterOptions>();
65+
services.AddOptions<AzureFunctionsOpenApiFluentValidationExtensionsOptions>();
6666
if (configureOptions is not null) services.Configure(configureOptions);
6767

6868
using var serviceProvider = services.BuildServiceProvider();
6969

7070
var validators = GetValidators(services, serviceProvider);
71-
var options = serviceProvider.GetRequiredService<IOptions<FunctionsValidationFilterOptions>>();
71+
var options = serviceProvider.GetRequiredService<IOptions<AzureFunctionsOpenApiFluentValidationExtensionsOptions>>();
7272
var schemaMapper = new SchemaMapper(new RulesMapper(new ValidatorMapper()));
7373

7474
return new FunctionsValidationDocumentFilter(schemaMapper, validators, options.Value);

src/FunctionsValidationFilter/FunctionsValidationFilter.csproj renamed to src/AzureFunctionsOpenApiFluentValidationExtensions/AzureFunctionsOpenApiFluentValidationExtensions.csproj

File renamed without changes.

0 commit comments

Comments
 (0)