List simple tags when detail set to false

Signed-off-by: cd1989 <chende@caicloud.io>
This commit is contained in:
cd1989 2019-04-19 21:29:28 +08:00
parent 4f7e225e69
commit da370bb331
3 changed files with 28 additions and 3 deletions

View File

@ -1263,11 +1263,16 @@ paths:
type: string
required: true
description: Relevant repository name.
- name: label_ids
- name: label_id
in: query
type: string
required: false
description: A list of comma separated label IDs.
description: A label ID.
- name: detail
in: query
type: boolean
required: false
description: Bool value indicating whether return detailed information of the tag, such as vulnerability scan info, if set to false, only tag name is returned.
tags:
- Products
responses:

View File

@ -576,11 +576,31 @@ func (ra *RepositoryAPI) GetTags() {
tags = ts
}
detail, err := ra.GetBool("detail", true)
if !detail && err == nil {
ra.Data["json"] = simpleTags(tags)
ra.ServeJSON()
return
}
ra.Data["json"] = assembleTagsInParallel(client, repoName, tags,
ra.SecurityCtx.GetUsername())
ra.ServeJSON()
}
func simpleTags(tags []string) []*models.TagResp {
var tagsResp []*models.TagResp
for _, tag := range tags {
tagsResp = append(tagsResp, &models.TagResp{
TagDetail: models.TagDetail{
Name: tag,
},
})
}
return tagsResp
}
// get config, signature and scan overview and assemble them into one
// struct for each tag in tags
func assembleTagsInParallel(client *registry.Repository, repository string,

View File

@ -140,7 +140,7 @@ export class TagDefaultService extends TagService {
queryParams = queryParams = new RequestQueryParams();
}
queryParams = queryParams.set("detail", "1");
queryParams = queryParams.set("detail", "true");
let url: string = `${this._baseUrl}/${repositoryName}/tags`;
return this.http