diff --git a/server/model/activity.go b/server/model/activity.go index 1777b9d..f72ed45 100644 --- a/server/model/activity.go +++ b/server/model/activity.go @@ -1,8 +1,9 @@ package model import ( - "gorm.io/gorm" "time" + + "gorm.io/gorm" ) type ActivityType uint @@ -22,10 +23,10 @@ type Activity struct { } type ActivityView struct { - ID uint `json:"id"` - Time time.Time `json:"time"` - Type ActivityType `json:"type"` - User UserView `json:"user"` - Comment *CommentWithResourceView `json:"comment,omitempty"` - Resource *ResourceView `json:"resource,omitempty"` + ID uint `json:"id"` + Time time.Time `json:"time"` + Type ActivityType `json:"type"` + User UserView `json:"user"` + Comment *CommentView `json:"comment,omitempty"` + Resource *ResourceView `json:"resource,omitempty"` } diff --git a/server/service/activity.go b/server/service/activity.go index 18f0eaa..22c6a15 100644 --- a/server/service/activity.go +++ b/server/service/activity.go @@ -20,19 +20,17 @@ func GetActivityList(page int) ([]model.ActivityView, int, error) { if err != nil { return nil, 0, err } - var comment *model.CommentWithResourceView + var comment *model.CommentView var resource *model.ResourceView - if activity.Type == model.ActivityTypeNewComment { + switch activity.Type { + case model.ActivityTypeNewComment: c, err := dao.GetCommentByID(activity.RefID) if err != nil { return nil, 0, err } - r, err := dao.GetResourceByID(c.RefID) - if err != nil { - return nil, 0, err - } - comment = c.ToViewWithResource(&r) - } else if activity.Type == model.ActivityTypeNewResource || activity.Type == model.ActivityTypeUpdateResource { + comment = c.ToView() + comment.Content, comment.ContentTruncated = restrictCommentLength(c.Content) + case model.ActivityTypeNewResource, model.ActivityTypeUpdateResource: r, err := dao.GetResourceByID(activity.RefID) if err != nil { return nil, 0, err