An atproto PDS written in Go
at v0.5.1 633 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 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}