Backfill group file metadata on read
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user