1package server
2
3import (
4 "github.com/haileyok/cocoon/internal/helpers"
5 "github.com/ipfs/go-cid"
6 "github.com/labstack/echo/v4"
7)
8
9type ComAtprotoSyncGetLatestCommitResponse struct {
10 Cid string `json:"string"`
11 Rev string `json:"rev"`
12}
13
14func (s *Server) handleSyncGetLatestCommit(e echo.Context) error {
15 did := e.QueryParam("did")
16 if did == "" {
17 return helpers.InputError(e, nil)
18 }
19
20 urepo, err := s.getRepoActorByDid(did)
21 if err != nil {
22 return err
23 }
24
25 c, err := cid.Cast(urepo.Root)
26 if err != nil {
27 return err
28 }
29
30 return e.JSON(200, ComAtprotoSyncGetLatestCommitResponse{
31 Cid: c.String(),
32 Rev: urepo.Rev,
33 })
34}