meili: fix corrupt likes index after un-like (#1011)
This commit is contained in:
@@ -85,18 +85,24 @@ func DeleteTrailLikeHandler(client meilisearch.ServiceManager) func(e *core.Reco
|
|||||||
} else if err != nil {
|
} else if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
likes, err := e.App.CountRecords("trail_like", dbx.NewExp("trail={:trail}", dbx.Params{"trail": trailId}))
|
likes, err := e.App.FindAllRecords("trail_like",
|
||||||
|
dbx.NewExp("trail={:trail}", dbx.Params{"trail": trailId}),
|
||||||
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
trail.Set("like_count", likes)
|
trail.Set("like_count", len(likes))
|
||||||
err = e.App.UnsafeWithoutHooks().Save(trail)
|
err = e.App.UnsafeWithoutHooks().Save(trail)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
err = util.UpdateTrailLikes(trailId, []string{}, client)
|
actorIds := make([]string, len(likes))
|
||||||
|
for i, r := range likes {
|
||||||
|
actorIds[i] = r.GetString("actor")
|
||||||
|
}
|
||||||
|
err = util.UpdateTrailLikes(trailId, actorIds, client)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -497,10 +497,6 @@ export async function searchResultToTrailList(hits: Hits<TrailSearchResult>): Pr
|
|||||||
permission: "view",
|
permission: "view",
|
||||||
trail: h.id,
|
trail: h.id,
|
||||||
actor: s,
|
actor: s,
|
||||||
})),
|
|
||||||
trail_like_via_trail: h.likes?.map(l => ({
|
|
||||||
trail: h.id,
|
|
||||||
actor: l,
|
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user