feat: add `hash_info` field to `/fs/get` (close #5259)

pull/5284/head
Andy Hsu 2023-09-22 15:20:04 +08:00
parent 2a6ab77295
commit 882112ed1c
2 changed files with 34 additions and 27 deletions

View File

@ -218,3 +218,7 @@ func FromString(str string) HashInfo {
func (hi HashInfo) GetHash(ht *HashType) string {
return hi.h[ht]
}
func (hi HashInfo) Export() map[*HashType]string {
return hi.h
}

View File

@ -41,7 +41,8 @@ type ObjResp struct {
Sign string `json:"sign"`
Thumb string `json:"thumb"`
Type int `json:"type"`
HashInfo string `json:"hashinfo"`
HashInfoStr string `json:"hashinfo"`
HashInfo map[*utils.HashType]string `json:"hash_info"`
}
type FsListResp struct {
@ -205,7 +206,8 @@ func toObjsResp(objs []model.Obj, parent string, encrypt bool) []ObjResp {
IsDir: obj.IsDir(),
Modified: obj.ModTime(),
Created: obj.CreateTime(),
HashInfo: obj.GetHash().String(),
HashInfoStr: obj.GetHash().String(),
HashInfo: obj.GetHash().Export(),
Sign: common.Sign(obj, parent, encrypt),
Thumb: thumb,
Type: utils.GetObjType(obj.GetName(), obj.IsDir()),
@ -318,7 +320,8 @@ func FsGet(c *gin.Context) {
IsDir: obj.IsDir(),
Modified: obj.ModTime(),
Created: obj.CreateTime(),
HashInfo: obj.GetHash().String(),
HashInfoStr: obj.GetHash().String(),
HashInfo: obj.GetHash().Export(),
Sign: common.Sign(obj, parentPath, isEncrypt(meta, reqPath)),
Type: utils.GetFileType(obj.GetName()),
Thumb: thumb,