Skip to content

Commit caad994

Browse files
Add maturity report overall level to Service (#558)
* add maturity report to service struct * add MaturityOverallLevel struct to make service listing with maturity lighter weight * changie * rename MaturityReportOnlyOverallLevel
1 parent d0fbc7d commit caad994

8 files changed

Lines changed: 94 additions & 50 deletions

File tree

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
kind: Feature
2+
body: Add maturity report Overall Level to ListServices
3+
time: 2025-05-28T07:35:38.221218-07:00

document_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111
func TestServiceApiDocSettingsUpdate(t *testing.T) {
1212
// Arrange
1313
testRequest := autopilot.NewTestRequest(
14-
`mutation ServiceApiDocSettingsUpdate($docPath:String$docSource:ApiDocumentSourceEnum$service:IdentifierInput!){serviceApiDocSettingsUpdate(service: $service, apiDocumentPath: $docPath, preferredApiDocumentSource: $docSource){service{apiDocumentPath,description,framework,htmlUrl,id,aliases,language,lifecycle{alias,description,id,index,name},locked,managedAliases,name,note,owner{alias,id},parent{id,aliases},preferredApiDocument{id,htmlUrl,source{... on ApiDocIntegration{id,name,type},... on ServiceRepository{baseDirectory,displayName,id,repository{id,defaultAlias},service{id,aliases}}},timestamps{createdAt,updatedAt}},preferredApiDocumentSource,product,repos{edges{node{id,defaultAlias},serviceRepositories{baseDirectory,displayName,id,repository{id,defaultAlias},service{id,aliases}}},{{ template "pagination_request" }}},defaultServiceRepository{baseDirectory,displayName,id,repository{id,defaultAlias},service{id,aliases}},tags{nodes{id,key,value},{{ template "pagination_request" }}},tier{alias,description,id,index,name},timestamps{createdAt,updatedAt},tools{nodes{category,categoryAlias,displayName,environment,id,service{id,aliases},url},{{ template "pagination_request" }}}},errors{message,path}}}`,
14+
`mutation ServiceApiDocSettingsUpdate($docPath:String$docSource:ApiDocumentSourceEnum$service:IdentifierInput!){serviceApiDocSettingsUpdate(service: $service, apiDocumentPath: $docPath, preferredApiDocumentSource: $docSource){service{apiDocumentPath,description,framework,htmlUrl,id,aliases,language,lifecycle{alias,description,id,index,name},locked,managedAliases,maturityReport{overallLevel{alias,description,id,index,name}},name,note,owner{alias,id},parent{id,aliases},preferredApiDocument{id,htmlUrl,source{... on ApiDocIntegration{id,name,type},... on ServiceRepository{baseDirectory,displayName,id,repository{id,defaultAlias},service{id,aliases}}},timestamps{createdAt,updatedAt}},preferredApiDocumentSource,product,repos{edges{node{id,defaultAlias},serviceRepositories{baseDirectory,displayName,id,repository{id,defaultAlias},service{id,aliases}}},{{ template "pagination_request" }}},defaultServiceRepository{baseDirectory,displayName,id,repository{id,defaultAlias},service{id,aliases}},tags{nodes{id,key,value},{{ template "pagination_request" }}},tier{alias,description,id,index,name},timestamps{createdAt,updatedAt},tools{nodes{category,categoryAlias,displayName,environment,id,service{id,aliases},url},{{ template "pagination_request" }}}},errors{message,path}}}`,
1515
`{"docPath":"/src/swagger.json", "docSource":"PULL", "service": {"alias":"service_alias" }}`,
1616
`{"data": {"serviceApiDocSettingsUpdate": {"service": {{ template "service_1" }}, "errors": [] }}}`,
1717
)
@@ -30,7 +30,7 @@ func TestServiceApiDocSettingsUpdate(t *testing.T) {
3030
func TestServiceApiDocSettingsUpdateDocSourceNull(t *testing.T) {
3131
// Arrange
3232
testRequest := autopilot.NewTestRequest(
33-
`mutation ServiceApiDocSettingsUpdate($docPath:String$docSource:ApiDocumentSourceEnum$service:IdentifierInput!){serviceApiDocSettingsUpdate(service: $service, apiDocumentPath: $docPath, preferredApiDocumentSource: $docSource){service{apiDocumentPath,description,framework,htmlUrl,id,aliases,language,lifecycle{alias,description,id,index,name},locked,managedAliases,name,note,owner{alias,id},parent{id,aliases},preferredApiDocument{id,htmlUrl,source{... on ApiDocIntegration{id,name,type},... on ServiceRepository{baseDirectory,displayName,id,repository{id,defaultAlias},service{id,aliases}}},timestamps{createdAt,updatedAt}},preferredApiDocumentSource,product,repos{edges{node{id,defaultAlias},serviceRepositories{baseDirectory,displayName,id,repository{id,defaultAlias},service{id,aliases}}},{{ template "pagination_request" }}},defaultServiceRepository{baseDirectory,displayName,id,repository{id,defaultAlias},service{id,aliases}},tags{nodes{id,key,value},{{ template "pagination_request" }}},tier{alias,description,id,index,name},timestamps{createdAt,updatedAt},tools{nodes{category,categoryAlias,displayName,environment,id,service{id,aliases},url},{{ template "pagination_request" }}}},errors{message,path}}}`,
33+
`mutation ServiceApiDocSettingsUpdate($docPath:String$docSource:ApiDocumentSourceEnum$service:IdentifierInput!){serviceApiDocSettingsUpdate(service: $service, apiDocumentPath: $docPath, preferredApiDocumentSource: $docSource){service{apiDocumentPath,description,framework,htmlUrl,id,aliases,language,lifecycle{alias,description,id,index,name},locked,managedAliases,maturityReport{overallLevel{alias,description,id,index,name}},name,note,owner{alias,id},parent{id,aliases},preferredApiDocument{id,htmlUrl,source{... on ApiDocIntegration{id,name,type},... on ServiceRepository{baseDirectory,displayName,id,repository{id,defaultAlias},service{id,aliases}}},timestamps{createdAt,updatedAt}},preferredApiDocumentSource,product,repos{edges{node{id,defaultAlias},serviceRepositories{baseDirectory,displayName,id,repository{id,defaultAlias},service{id,aliases}}},{{ template "pagination_request" }}},defaultServiceRepository{baseDirectory,displayName,id,repository{id,defaultAlias},service{id,aliases}},tags{nodes{id,key,value},{{ template "pagination_request" }}},tier{alias,description,id,index,name},timestamps{createdAt,updatedAt},tools{nodes{category,categoryAlias,displayName,environment,id,service{id,aliases},url},{{ template "pagination_request" }}}},errors{message,path}}}`,
3434
`{"docPath":"/src/swagger.json", "docSource": null, "service": {"alias":"service_alias" }}`,
3535
`{"data": { "serviceApiDocSettingsUpdate": { "service": {{ template "service_1" }}, "errors": [] }}}`,
3636
)
@@ -48,7 +48,7 @@ func TestServiceApiDocSettingsUpdateDocSourceNull(t *testing.T) {
4848
func TestServiceApiDocSettingsUpdateDocPathNull(t *testing.T) {
4949
// Arrange
5050
testRequest := autopilot.NewTestRequest(
51-
`mutation ServiceApiDocSettingsUpdate($docPath:String$docSource:ApiDocumentSourceEnum$service:IdentifierInput!){serviceApiDocSettingsUpdate(service: $service, apiDocumentPath: $docPath, preferredApiDocumentSource: $docSource){service{apiDocumentPath,description,framework,htmlUrl,id,aliases,language,lifecycle{alias,description,id,index,name},locked,managedAliases,name,note,owner{alias,id},parent{id,aliases},preferredApiDocument{id,htmlUrl,source{... on ApiDocIntegration{id,name,type},... on ServiceRepository{baseDirectory,displayName,id,repository{id,defaultAlias},service{id,aliases}}},timestamps{createdAt,updatedAt}},preferredApiDocumentSource,product,repos{edges{node{id,defaultAlias},serviceRepositories{baseDirectory,displayName,id,repository{id,defaultAlias},service{id,aliases}}},{{ template "pagination_request" }}},defaultServiceRepository{baseDirectory,displayName,id,repository{id,defaultAlias},service{id,aliases}},tags{nodes{id,key,value},{{ template "pagination_request" }}},tier{alias,description,id,index,name},timestamps{createdAt,updatedAt},tools{nodes{category,categoryAlias,displayName,environment,id,service{id,aliases},url},{{ template "pagination_request" }}}},errors{message,path}}}`,
51+
`mutation ServiceApiDocSettingsUpdate($docPath:String$docSource:ApiDocumentSourceEnum$service:IdentifierInput!){serviceApiDocSettingsUpdate(service: $service, apiDocumentPath: $docPath, preferredApiDocumentSource: $docSource){service{apiDocumentPath,description,framework,htmlUrl,id,aliases,language,lifecycle{alias,description,id,index,name},locked,managedAliases,maturityReport{overallLevel{alias,description,id,index,name}},name,note,owner{alias,id},parent{id,aliases},preferredApiDocument{id,htmlUrl,source{... on ApiDocIntegration{id,name,type},... on ServiceRepository{baseDirectory,displayName,id,repository{id,defaultAlias},service{id,aliases}}},timestamps{createdAt,updatedAt}},preferredApiDocumentSource,product,repos{edges{node{id,defaultAlias},serviceRepositories{baseDirectory,displayName,id,repository{id,defaultAlias},service{id,aliases}}},{{ template "pagination_request" }}},defaultServiceRepository{baseDirectory,displayName,id,repository{id,defaultAlias},service{id,aliases}},tags{nodes{id,key,value},{{ template "pagination_request" }}},tier{alias,description,id,index,name},timestamps{createdAt,updatedAt},tools{nodes{category,categoryAlias,displayName,environment,id,service{id,aliases},url},{{ template "pagination_request" }}}},errors{message,path}}}`,
5252
`{"docPath":null, "docSource":"PULL", "service": {"alias":"service_alias" }}`,
5353
`{"data": { "serviceApiDocSettingsUpdate": { "service": {{ template "service_1" }}, "errors": [] }}}`,
5454
)

maturity.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ type CategoryBreakdown struct {
55
Level Level
66
}
77

8+
type MaturityReportOnlyOverallLevel struct {
9+
OverallLevel Level
10+
}
11+
812
type MaturityReport struct {
913
CategoryBreakdown []CategoryBreakdown
1014
OverallLevel Level

service.go

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,23 +19,24 @@ type Service struct {
1919
Framework string `json:"framework,omitempty"`
2020
HtmlURL string `json:"htmlUrl"`
2121
ServiceId
22-
Language string `json:"language,omitempty"`
23-
Lifecycle Lifecycle `json:"lifecycle,omitempty"`
24-
Locked bool `json:"locked" graphql:"locked"`
25-
ManagedAliases []string `json:"managedAliases,omitempty"`
26-
Name string `json:"name,omitempty"`
27-
Note string `json:"note,omitempty"`
28-
Owner TeamId `json:"owner,omitempty"`
29-
Parent *SystemId `json:"parent,omitempty" graphql:"parent"`
30-
PreferredApiDocument *ServiceDocument `json:"preferredApiDocument,omitempty"`
31-
PreferredApiDocumentSource *ApiDocumentSourceEnum `json:"preferredApiDocumentSource,omitempty"`
32-
Product string `json:"product,omitempty"`
33-
Repositories *ServiceRepositoryConnection `json:"repos,omitempty" graphql:"repos"`
34-
Repository *ServiceRepository `graphql:"defaultServiceRepository" json:"defaultServiceRepository"`
35-
Tags *TagConnection `json:"tags,omitempty"`
36-
Tier Tier `json:"tier,omitempty"`
37-
Timestamps Timestamps `json:"timestamps"`
38-
Tools *ToolConnection `json:"tools,omitempty"`
22+
Language string `json:"language,omitempty"`
23+
Lifecycle Lifecycle `json:"lifecycle,omitempty"`
24+
Locked bool `json:"locked" graphql:"locked"`
25+
ManagedAliases []string `json:"managedAliases,omitempty"`
26+
MaturityReport MaturityReportOnlyOverallLevel `json:"maturityReport" graphql:"maturityReport"`
27+
Name string `json:"name,omitempty"`
28+
Note string `json:"note,omitempty"`
29+
Owner TeamId `json:"owner,omitempty"`
30+
Parent *SystemId `json:"parent,omitempty" graphql:"parent"`
31+
PreferredApiDocument *ServiceDocument `json:"preferredApiDocument,omitempty"`
32+
PreferredApiDocumentSource *ApiDocumentSourceEnum `json:"preferredApiDocumentSource,omitempty"`
33+
Product string `json:"product,omitempty"`
34+
Repositories *ServiceRepositoryConnection `json:"repos,omitempty" graphql:"repos"`
35+
Repository *ServiceRepository `graphql:"defaultServiceRepository" json:"defaultServiceRepository"`
36+
Tags *TagConnection `json:"tags,omitempty"`
37+
Tier Tier `json:"tier,omitempty"`
38+
Timestamps Timestamps `json:"timestamps"`
39+
Tools *ToolConnection `json:"tools,omitempty"`
3940

4041
Dependencies *ServiceDependenciesConnection `graphql:"-"`
4142
Dependents *ServiceDependentsConnection `graphql:"-"`

0 commit comments

Comments
 (0)