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

@@ -6,6 +6,7 @@ import (
adminController "github.com/echochat/backend/app/admin/controller"
authController "github.com/echochat/backend/app/auth/controller"
"github.com/echochat/backend/app/auth/service"
contactController "github.com/echochat/backend/app/contact/controller"
wsApp "github.com/echochat/backend/app/ws"
"github.com/echochat/backend/config"
"github.com/echochat/backend/pkg/db"
@@ -27,6 +28,7 @@ type App struct {
WSHandler *wsApp.Handler // WebSocket 连接处理器
Hub *ws.Hub // WebSocket Hub 连接管理
PubSub *ws.PubSub // Redis Pub/Sub 消息路由
ContactController *contactController.ContactController // 联系人控制器
}
// NewApp 创建应用实例
@@ -41,6 +43,7 @@ func NewApp(
wsHandler *wsApp.Handler,
hub *ws.Hub,
pubsub *ws.PubSub,
contactCtrl *contactController.ContactController,
) *App {
return &App{
Config: cfg,
@@ -53,6 +56,7 @@ func NewApp(
WSHandler: wsHandler,
Hub: hub,
PubSub: pubsub,
ContactController: contactCtrl,
}
}

View File

@@ -6,6 +6,7 @@ package provider
import (
"github.com/echochat/backend/app/admin"
"github.com/echochat/backend/app/auth"
"github.com/echochat/backend/app/contact"
wsApp "github.com/echochat/backend/app/ws"
"github.com/echochat/backend/config"
"github.com/google/wire"
@@ -18,6 +19,7 @@ func InitializeApp(cfg *config.Config) (*App, error) {
auth.AuthSet,
admin.AdminSet,
wsApp.WSSet,
contact.ContactSet,
)
return nil, nil
}

View File

@@ -13,6 +13,9 @@ import (
"github.com/echochat/backend/app/auth/controller"
"github.com/echochat/backend/app/auth/dao"
"github.com/echochat/backend/app/auth/service"
controller3 "github.com/echochat/backend/app/contact/controller"
dao3 "github.com/echochat/backend/app/contact/dao"
service3 "github.com/echochat/backend/app/contact/service"
"github.com/echochat/backend/app/ws"
"github.com/echochat/backend/config"
"github.com/echochat/backend/pkg/db"
@@ -45,6 +48,10 @@ func InitializeApp(cfg *config.Config) (*App, error) {
hub := ws.ProvideHub()
pubSub := ws.ProvidePubSub(client, hub)
handler := ws.ProvideWSHandler(hub, pubSub, jwtConfig)
app := NewApp(cfg, gormDB, client, authService, authController, adminAuthController, userManageController, handler, hub, pubSub)
friendshipDAO := dao3.NewFriendshipDAO(gormDB)
friendGroupDAO := dao3.NewFriendGroupDAO(gormDB)
contactService := service3.NewContactService(friendshipDAO, friendGroupDAO, pubSub)
contactController := controller3.NewContactController(contactService)
app := NewApp(cfg, gormDB, client, authService, authController, adminAuthController, userManageController, handler, hub, pubSub, contactController)
return app, nil
}