Skip to content

Commit c2e0727

Browse files
authored
Feature/openapi parameters (#97)
1 parent 56c91e8 commit c2e0727

File tree

35 files changed

+520
-134
lines changed

35 files changed

+520
-134
lines changed

samples/Aliencube.AzureFunctions.FunctionApp.Models/OrderStatus.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
using Aliencube.AzureFunctions.Extensions.OpenApi.Attributes;
2+
13
using Newtonsoft.Json;
24
using Newtonsoft.Json.Converters;
35

@@ -12,16 +14,19 @@ public enum OrderStatus
1214
/// <summary>
1315
/// Identifies as "placed".
1416
/// </summary>
17+
[Display("placed")]
1518
Placed = 1,
1619

1720
/// <summary>
1821
/// Identifies as "approved".
1922
/// </summary>
23+
[Display("approved")]
2024
Approved = 2,
2125

2226
/// <summary>
2327
/// Identifies as "delivered".
2428
/// </summary>
29+
[Display("delivered")]
2530
Delivered = 3
2631
}
2732
}

samples/Aliencube.AzureFunctions.FunctionApp.Models/PetStatus.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
using Aliencube.AzureFunctions.Extensions.OpenApi.Attributes;
2+
13
using Newtonsoft.Json;
24
using Newtonsoft.Json.Converters;
35

@@ -12,16 +14,19 @@ public enum PetStatus
1214
/// <summary>
1315
/// Identifies as "available".
1416
/// </summary>
17+
[Display("available")]
1518
Available = 1,
1619

1720
/// <summary>
1821
/// Identifies as "pending".
1922
/// </summary>
23+
[Display("pending")]
2024
Pending = 2,
2125

2226
/// <summary>
2327
/// Identifies as "sold".
2428
/// </summary>
29+
[Display("sold")]
2530
Sold = 3
2631
}
2732
}

samples/Aliencube.AzureFunctions.FunctionAppV1IoC/Aliencube.AzureFunctions.FunctionAppV1IoC.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66
</PropertyGroup>
77

88
<ItemGroup>
9-
<PackageReference Include="Aliencube.AzureFunctions.Extensions.OpenApi" Version="2.0.0.1" />
9+
<!--<PackageReference Include="Aliencube.AzureFunctions.Extensions.OpenApi" Version="2.0.0.1" />-->
1010
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.28" />
1111
</ItemGroup>
1212

1313
<ItemGroup>
14-
<!--<ProjectReference Include="..\..\src\Aliencube.AzureFunctions.Extensions.OpenApi\Aliencube.AzureFunctions.Extensions.OpenApi.csproj" />-->
14+
<ProjectReference Include="..\..\src\Aliencube.AzureFunctions.Extensions.OpenApi\Aliencube.AzureFunctions.Extensions.OpenApi.csproj" />
1515
<ProjectReference Include="..\Aliencube.AzureFunctions.FunctionApp.Functions\Aliencube.AzureFunctions.FunctionApp.Functions.csproj" />
1616
</ItemGroup>
1717

@@ -29,10 +29,10 @@
2929
</None>
3030
</ItemGroup>
3131

32-
<!--<ItemGroup Condition="'$(Configuration)'=='Debug'">
32+
<ItemGroup Condition="'$(Configuration)'=='Debug'">
3333
<Compile Include="..\..\templates\OpenApiEndpints\IOpenApiHttpTriggerContext.cs" />
3434
<Compile Include="..\..\templates\OpenApiEndpints\OpenApiHttpTriggerContext.cs" />
3535
<Compile Include="..\..\templates\OpenApiEndpints\OpenApiHttpTriggerV1.cs" />
36-
</ItemGroup>-->
36+
</ItemGroup>
3737

3838
</Project>

samples/Aliencube.AzureFunctions.FunctionAppV1IoC/PetStoreHttpTrigger.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System.Collections.Generic;
2+
using System.Diagnostics.CodeAnalysis;
23
using System.Net;
34
using System.Net.Http;
45
using System.Threading.Tasks;
@@ -21,6 +22,7 @@ public static class PetStoreHttpTrigger
2122
/// <summary>
2223
/// Gets the <see cref="IFunctionFactory"/> instance as an IoC container.
2324
/// </summary>
25+
[SuppressMessage("Style", "IDE1006:Naming Styles", Justification = "")]
2426
public static IFunctionFactory Factory = new FunctionFactory<StartUp>();
2527

2628
[FunctionName(nameof(PetStoreHttpTrigger.AddPet))]

samples/Aliencube.AzureFunctions.FunctionAppV1Static/Aliencube.AzureFunctions.FunctionAppV1Static.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66
</PropertyGroup>
77

88
<ItemGroup>
9-
<PackageReference Include="Aliencube.AzureFunctions.Extensions.OpenApi" Version="2.0.0.1" />
9+
<!--<PackageReference Include="Aliencube.AzureFunctions.Extensions.OpenApi" Version="2.0.0.1" />-->
1010
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.28" />
1111
</ItemGroup>
1212

1313
<ItemGroup>
14-
<!--<ProjectReference Include="..\..\src\Aliencube.AzureFunctions.Extensions.OpenApi\Aliencube.AzureFunctions.Extensions.OpenApi.csproj" />-->
14+
<ProjectReference Include="..\..\src\Aliencube.AzureFunctions.Extensions.OpenApi\Aliencube.AzureFunctions.Extensions.OpenApi.csproj" />
1515
<ProjectReference Include="..\Aliencube.AzureFunctions.FunctionApp.Models\Aliencube.AzureFunctions.FunctionApp.Models.csproj" />
1616
</ItemGroup>
1717

@@ -29,10 +29,10 @@
2929
</None>
3030
</ItemGroup>
3131

32-
<!--<ItemGroup Condition="'$(Configuration)'=='Debug'">
32+
<ItemGroup Condition="'$(Configuration)'=='Debug'">
3333
<Compile Include="..\..\templates\OpenApiEndpints\IOpenApiHttpTriggerContext.cs" />
3434
<Compile Include="..\..\templates\OpenApiEndpints\OpenApiHttpTriggerContext.cs" />
3535
<Compile Include="..\..\templates\OpenApiEndpints\OpenApiHttpTriggerV1.cs" />
36-
</ItemGroup>-->
36+
</ItemGroup>
3737

3838
</Project>

samples/Aliencube.AzureFunctions.FunctionAppV2IoC/Aliencube.AzureFunctions.FunctionAppV2IoC.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
</PropertyGroup>
77

88
<ItemGroup>
9-
<PackageReference Include="Aliencube.AzureFunctions.Extensions.OpenApi" Version="2.0.0.1" />
9+
<!--<PackageReference Include="Aliencube.AzureFunctions.Extensions.OpenApi" Version="2.0.0.1" />-->
1010
<PackageReference Include="Microsoft.Azure.Functions.Extensions" Version="1.0.0" />
1111
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.28" />
1212
</ItemGroup>
1313

1414
<ItemGroup>
15-
<!--<ProjectReference Include="..\..\src\Aliencube.AzureFunctions.Extensions.OpenApi\Aliencube.AzureFunctions.Extensions.OpenApi.csproj" />-->
15+
<ProjectReference Include="..\..\src\Aliencube.AzureFunctions.Extensions.OpenApi\Aliencube.AzureFunctions.Extensions.OpenApi.csproj" />
1616
<ProjectReference Include="..\Aliencube.AzureFunctions.FunctionApp.Services\Aliencube.AzureFunctions.FunctionApp.Services.csproj" />
1717
</ItemGroup>
1818

@@ -29,10 +29,10 @@
2929
</None>
3030
</ItemGroup>
3131

32-
<!--<ItemGroup Condition="'$(Configuration)'=='Debug'">
32+
<ItemGroup Condition="'$(Configuration)'=='Debug'">
3333
<Compile Include="..\..\templates\OpenApiEndpints\IOpenApiHttpTriggerContext.cs" />
3434
<Compile Include="..\..\templates\OpenApiEndpints\OpenApiHttpTriggerContext.cs" />
3535
<Compile Include="..\..\templates\OpenApiEndpints\OpenApiHttpTrigger.cs" />
36-
</ItemGroup>-->
36+
</ItemGroup>
3737

3838
</Project>

samples/Aliencube.AzureFunctions.FunctionAppV2Static/Aliencube.AzureFunctions.FunctionAppV2Static.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66
</PropertyGroup>
77

88
<ItemGroup>
9-
<PackageReference Include="Aliencube.AzureFunctions.Extensions.OpenApi" Version="2.0.0.1" />
9+
<!--<PackageReference Include="Aliencube.AzureFunctions.Extensions.OpenApi" Version="2.0.0.1" />-->
1010
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.28" />
1111
</ItemGroup>
1212

1313
<ItemGroup>
14-
<!--<ProjectReference Include="..\..\src\Aliencube.AzureFunctions.Extensions.OpenApi\Aliencube.AzureFunctions.Extensions.OpenApi.csproj" />-->
14+
<ProjectReference Include="..\..\src\Aliencube.AzureFunctions.Extensions.OpenApi\Aliencube.AzureFunctions.Extensions.OpenApi.csproj" />
1515
<ProjectReference Include="..\Aliencube.AzureFunctions.FunctionApp.Models\Aliencube.AzureFunctions.FunctionApp.Models.csproj" />
1616
</ItemGroup>
1717

@@ -25,10 +25,10 @@
2525
</None>
2626
</ItemGroup>
2727

28-
<!--<ItemGroup Condition="'$(Configuration)'=='Debug'">
28+
<ItemGroup Condition="'$(Configuration)'=='Debug'">
2929
<Compile Include="..\..\templates\OpenApiEndpints\IOpenApiHttpTriggerContext.cs" />
3030
<Compile Include="..\..\templates\OpenApiEndpints\OpenApiHttpTriggerContext.cs" />
3131
<Compile Include="..\..\templates\OpenApiEndpints\OpenApiHttpTrigger.cs" />
32-
</ItemGroup>-->
32+
</ItemGroup>
3333

3434
</Project>

samples/Aliencube.AzureFunctions.FunctionAppV3IoC/Aliencube.AzureFunctions.FunctionAppV3IoC.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
</PropertyGroup>
77

88
<ItemGroup>
9-
<PackageReference Include="Aliencube.AzureFunctions.Extensions.OpenApi" Version="2.0.0.1" />
9+
<!--<PackageReference Include="Aliencube.AzureFunctions.Extensions.OpenApi" Version="2.0.0.1" />-->
1010
<PackageReference Include="Microsoft.Azure.Functions.Extensions" Version="1.0.0" />
1111
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.0.3" />
1212
</ItemGroup>
1313

1414
<ItemGroup>
15-
<!--<ProjectReference Include="..\..\src\Aliencube.AzureFunctions.Extensions.OpenApi\Aliencube.AzureFunctions.Extensions.OpenApi.csproj" />-->
15+
<ProjectReference Include="..\..\src\Aliencube.AzureFunctions.Extensions.OpenApi\Aliencube.AzureFunctions.Extensions.OpenApi.csproj" />
1616
<ProjectReference Include="..\Aliencube.AzureFunctions.FunctionApp.Services\Aliencube.AzureFunctions.FunctionApp.Services.csproj" />
1717
</ItemGroup>
1818

@@ -29,10 +29,10 @@
2929
</None>
3030
</ItemGroup>
3131

32-
<!--<ItemGroup Condition="'$(Configuration)'=='Debug'">
32+
<ItemGroup Condition="'$(Configuration)'=='Debug'">
3333
<Compile Include="..\..\templates\OpenApiEndpints\IOpenApiHttpTriggerContext.cs" />
3434
<Compile Include="..\..\templates\OpenApiEndpints\OpenApiHttpTriggerContext.cs" />
3535
<Compile Include="..\..\templates\OpenApiEndpints\OpenApiHttpTrigger.cs" />
36-
</ItemGroup>-->
36+
</ItemGroup>
3737

3838
</Project>

samples/Aliencube.AzureFunctions.FunctionAppV3Static/Aliencube.AzureFunctions.FunctionAppV3Static.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66
</PropertyGroup>
77

88
<ItemGroup>
9-
<PackageReference Include="Aliencube.AzureFunctions.Extensions.OpenApi" Version="2.0.0.1" />
9+
<!--<PackageReference Include="Aliencube.AzureFunctions.Extensions.OpenApi" Version="2.0.0.1" />-->
1010
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.0.3" />
1111
</ItemGroup>
1212

1313
<ItemGroup>
14-
<!--<ProjectReference Include="..\..\src\Aliencube.AzureFunctions.Extensions.OpenApi\Aliencube.AzureFunctions.Extensions.OpenApi.csproj" />-->
14+
<ProjectReference Include="..\..\src\Aliencube.AzureFunctions.Extensions.OpenApi\Aliencube.AzureFunctions.Extensions.OpenApi.csproj" />
1515
<ProjectReference Include="..\Aliencube.AzureFunctions.FunctionApp.Models\Aliencube.AzureFunctions.FunctionApp.Models.csproj" />
1616
</ItemGroup>
1717

@@ -25,10 +25,10 @@
2525
</None>
2626
</ItemGroup>
2727

28-
<!--<ItemGroup Condition="'$(Configuration)'=='Debug'">
28+
<ItemGroup Condition="'$(Configuration)'=='Debug'">
2929
<Compile Include="..\..\templates\OpenApiEndpints\IOpenApiHttpTriggerContext.cs" />
3030
<Compile Include="..\..\templates\OpenApiEndpints\OpenApiHttpTriggerContext.cs" />
3131
<Compile Include="..\..\templates\OpenApiEndpints\OpenApiHttpTrigger.cs" />
32-
</ItemGroup>-->
32+
</ItemGroup>
3333

3434
</Project>

samples/Aliencube.AzureFunctions.FunctionAppV3Static/PetStoreHttpTrigger.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ public static async Task<IActionResult> UpdatePet(
4545

4646
[FunctionName(nameof(PetStoreHttpTrigger.FindByStatus))]
4747
[OpenApiOperation(operationId: "findPetsByStatus", tags: new[] { "pet" }, Summary = "Finds Pets by status", Description = "Multiple status values can be provided with comma separated strings.", Visibility = OpenApiVisibilityType.Important)]
48+
//[OpenApiParameter(name: "status", In = ParameterLocation.Query, Required = true, Type = typeof(PetStatus), Summary = "Pet status value", Description = "Status values that need to be considered for filter", Visibility = OpenApiVisibilityType.Important)]
4849
[OpenApiParameter(name: "status", In = ParameterLocation.Query, Required = true, Type = typeof(List<PetStatus>), Summary = "Pet status value", Description = "Status values that need to be considered for filter", Visibility = OpenApiVisibilityType.Important)]
4950
[OpenApiResponseWithBody(statusCode: HttpStatusCode.OK, contentType: "application/json", bodyType: typeof(List<Pet>), Summary = "successful operation", Description = "successful operation")]
5051
[OpenApiResponseWithoutBody(statusCode: HttpStatusCode.BadRequest, Summary = "Invalid status value", Description = "Invalid status value")]

0 commit comments

Comments
 (0)