Skip to content

Commit

Permalink
Fix object properties (#4)
Browse files Browse the repository at this point in the history
* Fix schema object property definition

Reference type of properties instead of additionalProperties.

* Regenerate examples
  • Loading branch information
VojtechVitek authored Jul 10, 2023
1 parent af73392 commit 4c31643
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 20 deletions.
32 changes: 16 additions & 16 deletions _examples/openapi.gen.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -94,20 +94,18 @@ components:
description: '[]User'
items:
type: object
additionalProperties:
$ref: '#/components/schemas/User'
$ref: '#/components/schemas/User'
mapOfUsers:
type: object
description: 'map<string,User>'
additionalProperties:
type: object
additionalProperties:
$ref: '#/components/schemas/User'
$ref: '#/components/schemas/User'
user:
type: object
additionalProperties:
$ref: '#/components/schemas/User'
$ref: '#/components/schemas/User'
GetUser_Request:
type: object
properties:
header:
type: object
Expand All @@ -117,46 +115,48 @@ components:
userID:
type: number
FindUser_Request:
type: object
properties:
s:
type: object
additionalProperties:
$ref: '#/components/schemas/SearchFilter'
$ref: '#/components/schemas/SearchFilter'
ListUsers_Request:
type: object
properties:
GetComplex_Request:
type: object
properties:
GetUser_Response:
type: object
properties:
code:
type: number
user:
type: object
additionalProperties:
$ref: '#/components/schemas/User'
$ref: '#/components/schemas/User'
FindUser_Response:
type: object
properties:
name:
type: string
user:
type: object
additionalProperties:
$ref: '#/components/schemas/User'
$ref: '#/components/schemas/User'
ListUsers_Response:
type: object
properties:
users:
type: array
description: '[]User'
items:
type: object
additionalProperties:
$ref: '#/components/schemas/User'
$ref: '#/components/schemas/User'
GetComplex_Response:
type: object
properties:
complex:
type: object
additionalProperties:
$ref: '#/components/schemas/ComplexType'
$ref: '#/components/schemas/ComplexType'

paths:
/rpc/ExampleService/GetUser:
Expand Down
3 changes: 1 addition & 2 deletions fieldType.go.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@ type: {{ get $typeMap $type }}
{{- else -}}

type: object
{{ $indent }}additionalProperties:
{{ $indent }} $ref: '#/components/schemas/{{$type}}'
{{ $indent }}$ref: '#/components/schemas/{{$type}}'

{{- end -}}
{{- end -}}
6 changes: 4 additions & 2 deletions main.go.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -86,15 +86,17 @@ components:
{{- range $_, $service := $services}}
{{- range $i, $method := $service.Methods}}
{{$method.Name}}_Request:
{{if gt (len .Inputs) 0}}properties:{{else}}type: object{{end}}
type: object
properties:
{{- range $_, $input := $method.Inputs}}
{{$input.Name}}:
{{ template "fieldType" dict "Type" $input.Type "TypeMap" $typeMap "Indent" " " }}
{{- end -}}
{{- end -}}
{{- range $_, $method := .Methods}}
{{$method.Name}}_Response:
{{if gt (len $method.Outputs) 0}}properties:{{else}}type: object{{end}}
type: object
properties:
{{- range $_, $output := .Outputs}}
{{$output.Name}}:
{{ template "fieldType" dict "Type" $output.Type "TypeMap" $typeMap "Indent" " " }}
Expand Down

0 comments on commit 4c31643

Please sign in to comment.