forked from hailey.at/cocoon
An atproto PDS written in Go
at main 669 B view raw
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}