feat(contact): Controller、Router 与 Wire 集成

- controller/contact_controller.go: 全部 17 个 REST API 端点处理器
- router.go: Contact 模块路由注册(JWT 中间件保护)
- provider.go: Wire Provider Set(DAO + Service + Controller)
- 更新全局 provider、wire.go、router.go 集成 Contact 模块

Made-with: Cursor
This commit is contained in:
bujinyuan
2026-03-02 17:07:41 +08:00
parent 978037f085
commit 632e3b9a28
7 changed files with 519 additions and 1 deletions

View File

@@ -0,0 +1,39 @@
// Package contact 提供联系人/好友管理模块
package contact
import (
"github.com/echochat/backend/app/contact/controller"
"github.com/gin-gonic/gin"
)
// RegisterRoutes 注册 contact 模块的所有路由(需要 JWT 中间件)
func RegisterRoutes(r *gin.Engine, ctrl *controller.ContactController, jwtAuth gin.HandlerFunc) {
authed := r.Group("/api/v1")
authed.Use(jwtAuth)
{
// 好友关系
authed.GET("/contacts", ctrl.GetFriendList)
authed.POST("/contacts/request", ctrl.SendFriendRequest)
authed.POST("/contacts/accept", ctrl.AcceptFriendRequest)
authed.POST("/contacts/reject", ctrl.RejectFriendRequest)
authed.DELETE("/contacts/:id", ctrl.DeleteFriend)
authed.PUT("/contacts/:id/remark", ctrl.UpdateRemark)
authed.GET("/contacts/requests", ctrl.GetPendingRequests)
// 好友分组
authed.GET("/contacts/groups", ctrl.GetGroups)
authed.POST("/contacts/groups", ctrl.CreateGroup)
authed.PUT("/contacts/groups/:id", ctrl.UpdateGroup)
authed.DELETE("/contacts/groups/:id", ctrl.DeleteGroup)
authed.PUT("/contacts/:id/group", ctrl.MoveToGroup)
// 黑名单
authed.POST("/contacts/block", ctrl.BlockUser)
authed.DELETE("/contacts/block/:user_id", ctrl.UnblockUser)
authed.GET("/contacts/block", ctrl.GetBlockList)
// 搜索与推荐
authed.GET("/users/search", ctrl.SearchUsers)
authed.GET("/contacts/recommend", ctrl.GetRecommendFriends)
}
}