···
7
+
"github.com/bluesky-social/indigo/atproto/syntax"
"github.com/haileyok/cocoon/internal/helpers"
"github.com/haileyok/cocoon/models"
···
func (s *Server) handleServerCheckAccountStatus(e echo.Context) error {
urepo := e.Get("repo").(*models.RepoActor)
29
+
_, didErr := syntax.ParseDID(urepo.Repo.Did)
31
+
s.logger.Error("error validating did", "err", didErr)
resp := ComAtprotoServerCheckAccountStatusResponse{
Activated: true, // TODO: should allow for deactivation etc.
27
-
ValidDid: true, // TODO: should probably verify?
36
+
ValidDid: didErr == nil,
ImportedBlobs: 0, // TODO: ???
···
s.logger.Error("error casting cid", "error", err)
return helpers.ServerError(e, nil)
resp.RepoCommit = rootcid.String()
···
var blockCtResp CountResp
44
-
if err := s.db.Raw("SELECT COUNT(*) AS ct FROM blocks WHERE did = ?", nil, urepo.Repo.Did).Scan(&blockCtResp).Error; err != nil {
45
-
s.logger.Error("error getting block count", "error", err)
46
-
return helpers.ServerError(e, nil)
48
-
resp.RepoBlocks = blockCtResp.Ct
54
+
var recCtResp CountResp
55
+
var blobCtResp CountResp
57
+
var wg sync.WaitGroup
63
+
if err := s.db.Raw("SELECT COUNT(*) AS ct FROM blocks WHERE did = ?", nil, urepo.Repo.Did).Scan(&blockCtResp).Error; err != nil {
64
+
s.logger.Error("error getting block count", "error", err)
65
+
procErr = errors.Join(procErr, err)
72
+
if err := s.db.Raw("SELECT COUNT(*) AS ct FROM records WHERE did = ?", nil, urepo.Repo.Did).Scan(&recCtResp).Error; err != nil {
73
+
s.logger.Error("error getting record count", "error", err)
74
+
procErr = errors.Join(procErr, err)
50
-
var recCtResp CountResp
51
-
if err := s.db.Raw("SELECT COUNT(*) AS ct FROM records WHERE did = ?", nil, urepo.Repo.Did).Scan(&recCtResp).Error; err != nil {
52
-
s.logger.Error("error getting record count", "error", err)
53
-
return helpers.ServerError(e, nil)
55
-
resp.IndexedRecords = recCtResp.Ct
80
+
if err := s.db.Raw("SELECT COUNT(*) AS ct FROM blobs WHERE did = ?", nil, urepo.Repo.Did).Scan(&blobCtResp).Error; err != nil {
81
+
s.logger.Error("error getting expected blobs count", "error", err)
82
+
procErr = errors.Join(procErr, err)
57
-
var blobCtResp CountResp
58
-
if err := s.db.Raw("SELECT COUNT(*) AS ct FROM blobs WHERE did = ?", nil, urepo.Repo.Did).Scan(&blobCtResp).Error; err != nil {
59
-
s.logger.Error("error getting record count", "error", err)
return helpers.ServerError(e, nil)
91
+
resp.RepoBlocks = blockCtResp.Ct
92
+
resp.IndexedRecords = recCtResp.Ct
resp.ExpectedBlobs = blobCtResp.Ct