chore: change related of fs get api

pull/1604/head
Noah Hsu 2022-08-10 10:48:14 +08:00
parent 358212749b
commit 669ccc40a1
1 changed files with 9 additions and 9 deletions

View File

@ -200,7 +200,7 @@ type FsGetResp struct {
RawURL string `json:"raw_url"` RawURL string `json:"raw_url"`
Readme string `json:"readme"` Readme string `json:"readme"`
Provider string `json:"provider"` Provider string `json:"provider"`
Related []string `json:"related"` Related []ObjResp `json:"related"`
} }
func FsGet(c *gin.Context) { func FsGet(c *gin.Context) {
@ -261,7 +261,7 @@ func FsGet(c *gin.Context) {
} }
} }
} }
var related []string var related []model.Obj
sameLevelFiles, err := fs.List(c, stdpath.Dir(req.Path)) sameLevelFiles, err := fs.List(c, stdpath.Dir(req.Path))
if err == nil { if err == nil {
related = filterRelated(sameLevelFiles, obj) related = filterRelated(sameLevelFiles, obj)
@ -278,19 +278,19 @@ func FsGet(c *gin.Context) {
RawURL: rawURL, RawURL: rawURL,
Readme: getReadme(meta, req.Path), Readme: getReadme(meta, req.Path),
Provider: provider, Provider: provider,
Related: related, Related: toObjResp(related),
}) })
} }
func filterRelated(objs []model.Obj, obj model.Obj) []string { func filterRelated(objs []model.Obj, obj model.Obj) []model.Obj {
var related []string var related []model.Obj
nameWithoutExt := strings.TrimSuffix(obj.GetName(), stdpath.Ext(obj.GetName())) nameWithoutExt := strings.TrimSuffix(obj.GetName(), stdpath.Ext(obj.GetName()))
for _, o := range objs { for _, o := range objs {
if o.GetName() == obj.GetName() { if o.GetName() == obj.GetName() {
continue continue
} }
if strings.HasPrefix(o.GetName(), nameWithoutExt) { if strings.HasPrefix(o.GetName(), nameWithoutExt) {
related = append(related, o.GetName()) related = append(related, o)
} }
} }
return related return related