Provisioning: Fix OpenAPI generation (#109513)
* post-process spec * update client * fix the openapi * revert playlist change * Fix unmanaged resource counts --------- Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>
This commit is contained in:
co-authored by
Roberto Jimenez Sanchez
parent
2345da5100
commit
edcb6e6895
@@ -793,7 +793,7 @@ func (b *APIBuilder) PostProcessOpenAPI(oas *spec3.OpenAPI) (*spec3.OpenAPI, err
|
||||
repoprefix := root + "namespaces/{namespace}/repositories/{name}"
|
||||
defs := b.GetOpenAPIDefinitions()(func(path string) spec.Ref { return spec.Ref{} })
|
||||
defsBase := "github.com/grafana/grafana/apps/provisioning/pkg/apis/provisioning/v0alpha1."
|
||||
refsBase := "com.github.grafana.grafana.pkg.apis.provisioning.v0alpha1."
|
||||
refsBase := "com.github.grafana.grafana.apps.provisioning.pkg.apis.provisioning.v0alpha1."
|
||||
|
||||
sub := oas.Paths.Paths[repoprefix+"/test"]
|
||||
if sub != nil {
|
||||
@@ -1076,12 +1076,12 @@ spec:
|
||||
// Add any missing definitions
|
||||
//-----------------------------
|
||||
for k, v := range defs {
|
||||
clean := strings.Replace(k, defsBase, "com.github.grafana.grafana.pkg.apis.provisioning.v0alpha1.", 1)
|
||||
clean := strings.Replace(k, defsBase, "com.github.grafana.grafana.apps.provisioning.pkg.apis.provisioning.v0alpha1.", 1)
|
||||
if oas.Components.Schemas[clean] == nil {
|
||||
oas.Components.Schemas[clean] = &v.Schema
|
||||
}
|
||||
}
|
||||
compBase := "com.github.grafana.grafana.pkg.apis.provisioning.v0alpha1."
|
||||
compBase := "com.github.grafana.grafana.apps.provisioning.pkg.apis.provisioning.v0alpha1."
|
||||
schema := oas.Components.Schemas[compBase+"RepositoryViewList"].Properties["items"]
|
||||
schema.Items = &spec.SchemaOrArray{
|
||||
Schema: &spec.Schema{
|
||||
@@ -1128,6 +1128,10 @@ spec:
|
||||
schema.Items = countSpec
|
||||
oas.Components.Schemas[compBase+"ResourceStats"].Properties["instance"] = schema
|
||||
|
||||
schema = oas.Components.Schemas[compBase+"ResourceStats"].Properties["unmanaged"]
|
||||
schema.Items = countSpec
|
||||
oas.Components.Schemas[compBase+"ResourceStats"].Properties["unmanaged"] = schema
|
||||
|
||||
schema = oas.Components.Schemas[compBase+"ResourceStats"].Properties["managed"]
|
||||
schema.Items = managerSpec
|
||||
oas.Components.Schemas[compBase+"ResourceStats"].Properties["managed"] = schema
|
||||
|
||||
@@ -53,7 +53,7 @@ func (b *APIBuilder) GetAPIRoutes(gv schema.GroupVersion) *builder.APIRoutes {
|
||||
MediaTypeProps: spec3.MediaTypeProps{
|
||||
Schema: &spec.Schema{
|
||||
SchemaProps: spec.SchemaProps{
|
||||
Ref: spec.MustCreateRef("#/components/schemas/com.github.grafana.grafana.pkg.apis.provisioning.v0alpha1.ResourceStats"),
|
||||
Ref: spec.MustCreateRef("#/components/schemas/com.github.grafana.grafana.apps.provisioning.pkg.apis.provisioning.v0alpha1.ResourceStats"),
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -101,7 +101,7 @@ func (b *APIBuilder) GetAPIRoutes(gv schema.GroupVersion) *builder.APIRoutes {
|
||||
MediaTypeProps: spec3.MediaTypeProps{
|
||||
Schema: &spec.Schema{
|
||||
SchemaProps: spec.SchemaProps{
|
||||
Ref: spec.MustCreateRef("#/components/schemas/com.github.grafana.grafana.pkg.apis.provisioning.v0alpha1.RepositoryViewList"),
|
||||
Ref: spec.MustCreateRef("#/components/schemas/com.github.grafana.grafana.apps.provisioning.pkg.apis.provisioning.v0alpha1.RepositoryViewList"),
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user