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 ctx := e.Request().Context()
16
17 did := e.QueryParam("did")
18 if did == "" {
19 return helpers.InputError(e, nil)
20 }
21
22 urepo, err := s.getRepoActorByDid(ctx, did)
23 if err != nil {
24 return err
25 }
26
27 c, err := cid.Cast(urepo.Root)
28 if err != nil {
29 return err
30 }
31
32 return e.JSON(200, ComAtprotoSyncGetLatestCommitResponse{
33 Cid: c.String(),
34 Rev: urepo.Rev,
35 })
36}