Skip to content

Commit

Permalink
Merge pull request #580 from Badgerati/Issue-578
Browse files Browse the repository at this point in the history
Fixes 2 bugs in the OpenAPI functions
  • Loading branch information
Badgerati committed Jun 25, 2020
2 parents 7134d80 + 0c20620 commit cd17848
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 17 deletions.
6 changes: 5 additions & 1 deletion examples/web-rest-openapi-shared.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@ Start-PodeServer {
))
}

New-PodeOAIntProperty -Name 'userId' -Required |
ConvertTo-PodeOAParameter -In Path |
Add-PodeOAComponentParameter -Name 'UserId'


Get-PodeAuthMiddleware -Name 'Validate' -Sessionless | Add-PodeMiddleware -Name 'AuthMiddleware' -Route '/api/*'
Set-PodeOAGlobalAuth -Name 'Validate'
Expand All @@ -55,7 +59,7 @@ Start-PodeServer {
} -PassThru |
Set-PodeOARouteInfo -Summary 'A cool summary' -Tags 'Users' -PassThru |
Set-PodeOARequest -Parameters @(
(New-PodeOAIntProperty -Name 'userId' -Required | ConvertTo-PodeOAParameter -In Path)
(ConvertTo-PodeOAParameter -Reference 'UserId')
) -PassThru |
Add-PodeOAResponse -StatusCode 200 -Reference 'OK'

Expand Down
13 changes: 1 addition & 12 deletions src/Private/Context.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -237,18 +237,7 @@ function New-PodeContext
$ctx.Server.Sessions = @{}

# swagger and openapi
$ctx.Server.OpenAPI = @{
Path = $null
Title = $null
components = @{
schemas = @{}
responses = @{}
securitySchemas = @{}
requestBodies = @{}
parameters = @{}
}
security = @()
}
$ctx.Server.OpenAPI = Get-PodeOABaseObject

# server metrics
$ctx.Metrics = @{
Expand Down
16 changes: 16 additions & 0 deletions src/Private/OpenApi.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -342,4 +342,20 @@ function ConvertTo-PodeOAPropertyFromCmdletParameter
}

New-PodeOAStringProperty -Name $Parameter.Name
}

function Get-PodeOABaseObject
{
return @{
Path = $null
Title = $null
components = @{
schemas = @{}
responses = @{}
securitySchemas = @{}
requestBodies = @{}
parameters = @{}
}
security = @()
}
}
2 changes: 1 addition & 1 deletion src/Private/Server.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ function Restart-PodeInternalServer
$PodeContext.Server.Endpoints = @()

# clear openapi
$PodeContext.Server.OpenAPI.Clear()
$PodeContext.Server.OpenAPI = Get-PodeOABaseObject

# clear the sockets
$PodeContext.Server.Sockets.Listeners = @()
Expand Down
6 changes: 3 additions & 3 deletions src/Public/OpenApi.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -575,7 +575,7 @@ function New-PodeOARequestBody
throw "The OpenApi component request body doesn't exist: $($Reference)"
}

return = @{
return @{
'$ref' = "#/components/requestBodies/$($Reference)"
}
}
Expand Down Expand Up @@ -700,7 +700,7 @@ function Add-PodeOAComponentParameter
$Name = $Parameter.name
}

$PodeContext.Server.OpenAPI.components.responses[$Name] = $Parameter
$PodeContext.Server.OpenAPI.components.parameters[$Name] = $Parameter
}

<#
Expand Down Expand Up @@ -1252,7 +1252,7 @@ function ConvertTo-PodeOAParameter
throw "The OpenApi component request parameter doesn't exist: $($Reference)"
}

return = @{
return @{
'$ref' = "#/components/parameters/$($Reference)"
}
}
Expand Down

0 comments on commit cd17848

Please sign in to comment.