feat(post): enhance post handling with channel integration
- Updated PostHandler to include channel information in post responses. - Introduced PostChannelBrief DTO to represent channel details associated with posts. - Modified post conversion functions to support channel data, ensuring proper mapping of channel IDs to channel names. - Enhanced ChannelRepository and ChannelService to facilitate batch retrieval of channels by IDs. - Updated wire generation to inject channel service into post handler for improved functionality.
This commit is contained in:
@@ -48,6 +48,19 @@ func (r *ChannelRepository) GetByID(id string) (*model.Channel, error) {
|
||||
return &channel, nil
|
||||
}
|
||||
|
||||
// ListByIDs 按 ID 列表查询频道(用于帖子列表批量填充 channel 名称)
|
||||
func (r *ChannelRepository) ListByIDs(ids []string) ([]*model.Channel, error) {
|
||||
if len(ids) == 0 {
|
||||
return nil, nil
|
||||
}
|
||||
var list []*model.Channel
|
||||
err := r.db.Where("id IN ?", ids).Find(&list).Error
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return list, nil
|
||||
}
|
||||
|
||||
func (r *ChannelRepository) Delete(id string) error {
|
||||
return r.db.Delete(&model.Channel{}, "id = ?", id).Error
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user