35 lines
830 B
PowerShell
35 lines
830 B
PowerShell
# script should be execute in current `script` directory.
|
|
|
|
# Usage: ./genApi.ps1 [-s]
|
|
# -s : also run swagger generation and convert to OpenAPI3
|
|
|
|
param(
|
|
[switch]$s
|
|
)
|
|
|
|
# Save the original location
|
|
$originalLocation = Get-Location
|
|
|
|
# Change to the target directory
|
|
Set-Location -Path (Resolve-Path "../../api")
|
|
|
|
# format api files
|
|
goctl api format -dir .
|
|
|
|
# generate go-zero code
|
|
goctl api go -api Blog.api -dir ../app --style=gozero
|
|
|
|
# generate swagger and convert to openapi3 only when -s is provided
|
|
if ($s) {
|
|
# generate swagger
|
|
goctl api swagger --api Blog.api --dir .
|
|
|
|
# swagger to openapi3
|
|
npx swagger2openapi -o Blog.yaml -p Blog.json
|
|
} else {
|
|
Write-Host "Skipping swagger and openapi conversion (pass -s to execute)."
|
|
}
|
|
|
|
# Restore original location (optional but good practice)
|
|
Set-Location -Path $originalLocation
|