feat: add post mention
This commit is contained in:
@@ -165,7 +165,8 @@ func (s *Server) initAuth(cfg *config.Config, logger *zap.Logger) {
|
||||
// Likes: membership in Postgres, count delta batched through Redis
|
||||
// (s.redis may be nil — LikeRepo then applies counts directly).
|
||||
likeRepo := repository.NewLikeRepo(s.pg, s.redis, logger)
|
||||
postSvc := service.NewPostService(postRepo, r2, likeRepo)
|
||||
mentionRepo := repository.NewMentionRepo(s.pg)
|
||||
postSvc := service.NewPostService(postRepo, r2, likeRepo, mentionRepo)
|
||||
bookmarkSvc := service.NewBookmarkService(userRepo, bookmarkRepo)
|
||||
collectionSvc := service.NewCollectionService(userRepo, collectionRepo, postRepo, r2)
|
||||
|
||||
@@ -237,7 +238,7 @@ func (s *Server) initAuth(cfg *config.Config, logger *zap.Logger) {
|
||||
s.relationH = handler.NewRelationshipHandler(graphSvc)
|
||||
s.notificationH = handler.NewNotificationHandler(notifSvc)
|
||||
s.postH = handler.NewPostHandler(postSvc, graphSvc)
|
||||
s.profileH = handler.NewProfileHandler(userRepo, postRepo, collectionRepo, graphSvc, likeRepo)
|
||||
s.profileH = handler.NewProfileHandler(userRepo, postRepo, collectionRepo, graphSvc, likeRepo, mentionRepo)
|
||||
|
||||
// Sādhana streak: daily chanting log + the growing-plant state. Reads
|
||||
// the chanting half from sadhna_logs and the posting half from the
|
||||
@@ -643,6 +644,8 @@ func (s *Server) setupRouter() {
|
||||
r.Get("/{id}", s.postH.Get)
|
||||
// Paginated "liked by" list — public, like the count itself.
|
||||
r.Get("/{id}/likes", s.postH.ListLikes)
|
||||
// Tagged users on a post — public (read-only for non-authors).
|
||||
r.Get("/{id}/mentions", s.postH.ListMentions)
|
||||
})
|
||||
// Protected — create / delete / image presign / "my posts" /
|
||||
// reshare actions.
|
||||
@@ -662,6 +665,10 @@ func (s *Server) setupRouter() {
|
||||
// count is batched into likes_count via Redis.
|
||||
r.Post("/{id}/like", s.postH.Like)
|
||||
r.Delete("/{id}/like", s.postH.Unlike)
|
||||
// Mentions: composer suggestions + author add/remove of tags.
|
||||
r.Get("/mention-suggest", s.postH.MentionSuggest)
|
||||
r.Post("/{id}/mentions", s.postH.AddMention)
|
||||
r.Delete("/{id}/mentions/{userID}", s.postH.RemoveMention)
|
||||
// Report a post (category + optional reason) → admin email.
|
||||
r.Post("/{id}/report", s.postH.Report)
|
||||
})
|
||||
@@ -725,6 +732,7 @@ func (s *Server) setupRouter() {
|
||||
r.Use(middleware.OptionalAuth(s.authIssuer, s.userRepo))
|
||||
r.Get("/{handle}", s.profileH.Get)
|
||||
r.Get("/{handle}/feed", s.profileH.Feed)
|
||||
r.Get("/{handle}/mentions", s.profileH.MentionsFeed)
|
||||
r.Get("/{handle}/followers", s.profileH.Followers)
|
||||
r.Get("/{handle}/following", s.profileH.Following)
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user