A community based topic aggregation platform built on atproto

refactor(server): remove vote service and route registration

Remove vote service initialization and route registration from the
AppView server. Vote endpoints are no longer exposed.

Changes:
- Remove votes package import
- Remove voteService initialization
- Remove RegisterVoteRoutes() call
- Add documentation comment explaining removal

The vote repository is still initialized for Jetstream consumer use,
but no service layer or XRPC endpoints exist.

Vote operations flow:
1. Client → PDS (com.atproto.repo.createRecord)
2. PDS → Jetstream (firehose event)
3. Jetstream → AppView consumer (indexing)
4. AppView DB (aggregated vote counts)

Changed files
+4 -6
cmd
server
+4 -6
cmd/server/main.go
···
"Coves/internal/core/posts"
"Coves/internal/core/timeline"
"Coves/internal/core/users"
-
"Coves/internal/core/votes"
"bytes"
"context"
"database/sql"
···
postRepo := postgresRepo.NewPostRepository(db)
postService := posts.NewPostService(postRepo, communityService, aggregatorService, defaultPDS)
-
// Initialize vote service
+
// Initialize vote repository (used by Jetstream consumer for indexing)
voteRepo := postgresRepo.NewVoteRepository(db)
-
voteService := votes.NewVoteService(voteRepo, postRepo, defaultPDS)
-
log.Println("✅ Vote service initialized")
+
log.Println("✅ Vote repository initialized (Jetstream indexing only)")
// Initialize feed service
feedRepo := postgresRepo.NewCommunityFeedRepository(db)
···
routes.RegisterPostRoutes(r, postService, authMiddleware)
log.Println("Post XRPC endpoints registered with OAuth authentication")
-
routes.RegisterVoteRoutes(r, voteService, authMiddleware)
-
log.Println("Vote XRPC endpoints registered with OAuth authentication")
+
// Vote write endpoints removed - clients write directly to their PDS
+
// The AppView indexes votes from Jetstream (see vote consumer above)
routes.RegisterCommunityFeedRoutes(r, feedService)
log.Println("Feed XRPC endpoints registered (public, no auth required)")