feat: add linkedMemoAmount to resource

This commit is contained in:
steven 2022-10-03 09:39:49 +08:00
parent 05e46ee4a8
commit 85dc29bfb9
3 changed files with 14 additions and 1 deletions

View file

@ -13,6 +13,9 @@ type Resource struct {
Blob []byte `json:"-"`
Type string `json:"type"`
Size int64 `json:"size"`
// Related fields
LinkedMemoAmount int `json:"linkedMemoAmount"`
}
type ResourceCreate struct {

View file

@ -80,6 +80,16 @@ func (s *Server) registerResourceRoutes(g *echo.Group) {
return echo.NewHTTPError(http.StatusInternalServerError, "Failed to fetch resource list").SetInternal(err)
}
for _, resource := range list {
memoResoureceList, err := s.Store.FindMemoResourceList(ctx, &api.MemoResourceFind{
ResourceID: &resource.ID,
})
if err != nil {
return echo.NewHTTPError(http.StatusInternalServerError, "Failed to find memo resource list").SetInternal(err)
}
resource.LinkedMemoAmount = len(memoResoureceList)
}
c.Response().Header().Set(echo.HeaderContentType, echo.MIMEApplicationJSONCharsetUTF8)
if err := json.NewEncoder(c.Response().Writer).Encode(composeResponse(list)); err != nil {
return echo.NewHTTPError(http.StatusInternalServerError, "Failed to encode resource list response").SetInternal(err)

View file

@ -223,7 +223,7 @@ func findResourceList(ctx context.Context, tx *sql.Tx, find *api.ResourceFind) (
updated_ts
FROM resource
WHERE ` + strings.Join(where, " AND ") + `
ORDER BY created_ts DESC
ORDER BY id DESC
`
rows, err := tx.QueryContext(ctx, query, args...)
if err != nil {