Backfill group file metadata on read

This commit is contained in:
richjohnrambo
2026-09-08 14:17:10 +08:00
parent 20c0b92d77
commit 62e989487b
+16 -3
View File
@@ -907,6 +907,7 @@ func (a *adapter) TenantGroupFileList(id t.TenantID, topic, fileType, query, cur
next = strconv.FormatInt(file.ID, 10)
continue
}
a.enrichGroupFileFromUpload(id, file)
items = append(items, *file)
}
return items, next, rows.Err()
@@ -953,14 +954,26 @@ func (a *adapter) TenantGroupFileCreate(id t.TenantID, file *t.GroupFile) (*t.Gr
if err != nil && !isDupe(err) {
return nil, err
}
return a.groupFileByQuery(ctx, "SELECT * FROM im_group_files WHERE topic=? AND file_id=?", file.Topic, file.FileID)
created, err := a.groupFileByQuery(ctx, "SELECT * FROM im_group_files WHERE topic=? AND file_id=?", file.Topic, file.FileID)
if err != nil {
return nil, err
}
a.enrichGroupFileFromUpload(id, created)
return created, nil
}
func (a *adapter) enrichGroupFileFromUpload(id t.TenantID, file *t.GroupFile) {
if file == nil || t.ParseUid(file.FileID).IsZero() {
if file == nil {
return
}
fd, err := a.TenantFileGet(id, file.FileID)
fileID := strings.TrimSpace(file.FileID)
if dot := strings.IndexByte(fileID, '.'); dot > 0 {
fileID = fileID[:dot]
}
if t.ParseUid(fileID).IsZero() {
return
}
fd, err := a.TenantFileGet(id, fileID)
if err != nil || fd == nil {
if file.FileName == "" {
file.FileName = file.FileID