Refactor backend APIs to RESTful route patterns.
Align group and conversation handlers/services with path-based endpoints, and unify response/service error handling for related modules. Made-with: Cursor
This commit is contained in:
@@ -182,30 +182,24 @@ func (r *Router) setupRoutes() {
|
||||
comments.DELETE("/:id/like", authMiddleware, r.commentHandler.Unlike)
|
||||
}
|
||||
|
||||
// 会话路由(新版 RESTful action 风格)
|
||||
// 会话路由
|
||||
conversations := v1.Group("/conversations")
|
||||
conversations.Use(authMiddleware)
|
||||
{
|
||||
// 获取会话列表
|
||||
conversations.GET("/list", r.messageHandler.HandleGetConversationList)
|
||||
// 创建会话
|
||||
conversations.POST("/create", r.messageHandler.HandleCreateConversation)
|
||||
// 获取会话详情
|
||||
conversations.GET("/get", r.messageHandler.HandleGetConversation)
|
||||
// 获取会话消息
|
||||
conversations.GET("/get_messages", r.messageHandler.HandleGetMessages)
|
||||
// 发送消息
|
||||
conversations.POST("/send_message", r.messageHandler.HandleSendMessage)
|
||||
// 标记已读
|
||||
conversations.POST("/mark_read", r.messageHandler.HandleMarkRead)
|
||||
// 会话置顶
|
||||
conversations.POST("/set_pinned", r.messageHandler.HandleSetConversationPinned)
|
||||
// 获取未读消息总数
|
||||
conversations.GET("/unread/count", r.messageHandler.GetUnreadCount)
|
||||
// 上报输入状态
|
||||
conversations.POST("/typing", r.messageHandler.HandleTyping)
|
||||
// 仅自己删除会话
|
||||
conversations.DELETE("/:id/self", r.messageHandler.HandleDeleteConversationForSelf)
|
||||
// ================================================================
|
||||
// 新的 RESTful 风格路由(推荐使用)
|
||||
// ================================================================
|
||||
conversations.GET("", r.messageHandler.HandleGetConversationList) // 列表
|
||||
conversations.POST("", r.messageHandler.HandleCreateConversation) // 创建
|
||||
conversations.GET("/:id", r.messageHandler.HandleGetConversation) // 详情
|
||||
conversations.GET("/:id/messages", r.messageHandler.HandleGetMessages) // 消息列表
|
||||
conversations.POST("/:id/messages", r.messageHandler.HandleSendMessage) // 发送消息
|
||||
conversations.POST("/:id/read", r.messageHandler.HandleMarkRead) // 标记已读
|
||||
conversations.PUT("/:id/pinned", r.messageHandler.HandleSetConversationPinned) // 置顶设置
|
||||
conversations.GET("/unread/count", r.messageHandler.GetUnreadCount) // 未读数
|
||||
conversations.POST("/:id/typing", r.messageHandler.HandleTyping) // 输入状态
|
||||
conversations.DELETE("/:id/self", r.messageHandler.HandleDeleteConversationForSelf) // 删除会话(仅自己)
|
||||
|
||||
}
|
||||
|
||||
realtime := v1.Group("/realtime")
|
||||
@@ -264,43 +258,47 @@ func (r *Router) setupRoutes() {
|
||||
}
|
||||
}
|
||||
|
||||
// 群组路由(新版 RESTful action 风格)
|
||||
// 群组路由
|
||||
if r.groupHandler != nil {
|
||||
groups := v1.Group("/groups")
|
||||
groups.Use(authMiddleware)
|
||||
{
|
||||
// 群组管理
|
||||
groups.POST("/create", r.groupHandler.HandleCreateGroup)
|
||||
groups.GET("/list", r.groupHandler.HandleGetUserGroups)
|
||||
groups.GET("/get", r.groupHandler.HandleGetGroupInfo)
|
||||
groups.GET("/get_my_info", r.groupHandler.HandleGetMyMemberInfo)
|
||||
groups.POST("/dissolve", r.groupHandler.HandleDissolveGroup)
|
||||
groups.POST("/transfer", r.groupHandler.HandleTransferOwner)
|
||||
// ================================================================
|
||||
// 新的 RESTful 风格路由(推荐使用)
|
||||
// ================================================================
|
||||
// 群组基本操作
|
||||
groups.GET("", r.groupHandler.HandleGetUserGroups) // 列表
|
||||
groups.POST("", r.groupHandler.HandleCreateGroup) // 创建
|
||||
groups.GET("/:id", r.groupHandler.HandleGetGroupInfo) // 详情
|
||||
groups.GET("/:id/me", r.groupHandler.HandleGetMyMemberInfo) // 当前用户成员信息
|
||||
groups.DELETE("/:id", r.groupHandler.HandleDissolveGroup) // 解散群组
|
||||
groups.POST("/:id/transfer", r.groupHandler.HandleTransferOwner) // 转让群主
|
||||
|
||||
// 成员管理
|
||||
groups.POST("/invite_members", r.groupHandler.HandleInviteMembers)
|
||||
groups.POST("/join", r.groupHandler.HandleJoinGroup)
|
||||
groups.POST("/respond_invite", r.groupHandler.HandleRespondInvite)
|
||||
groups.POST("/set_group_leave", r.groupHandler.HandleSetGroupLeave)
|
||||
groups.GET("/get_members", r.groupHandler.HandleGetGroupMemberList)
|
||||
groups.POST("/set_group_kick", r.groupHandler.HandleSetGroupKick)
|
||||
groups.POST("/set_group_admin", r.groupHandler.HandleSetGroupAdmin)
|
||||
groups.POST("/set_nickname", r.groupHandler.HandleSetNickname)
|
||||
groups.POST("/set_group_ban", r.groupHandler.HandleSetGroupBan)
|
||||
groups.POST("/:id/invitations", r.groupHandler.HandleInviteMembers) // 邀请成员
|
||||
groups.POST("/:id/join-requests", r.groupHandler.HandleJoinGroup) // 申请加群
|
||||
groups.POST("/:id/join-requests/respond", r.groupHandler.HandleRespondInvite) // 响应加群邀请/申请
|
||||
groups.POST("/:id/leave", r.groupHandler.HandleSetGroupLeave) // 退群
|
||||
groups.GET("/:id/members", r.groupHandler.HandleGetGroupMemberList) // 成员列表
|
||||
groups.POST("/:id/members/kick", r.groupHandler.HandleSetGroupKick) // 踢出成员
|
||||
groups.PUT("/:id/members/:user_id/admin", r.groupHandler.HandleSetGroupAdmin) // 设置管理员
|
||||
groups.PUT("/:id/members/me/nickname", r.groupHandler.HandleSetNickname) // 设置群昵称
|
||||
groups.POST("/:id/members/ban", r.groupHandler.HandleSetGroupBan) // 禁言成员
|
||||
|
||||
// 群设置
|
||||
groups.POST("/set_group_whole_ban", r.groupHandler.HandleSetGroupWholeBan)
|
||||
groups.POST("/set_join_type", r.groupHandler.HandleSetJoinType)
|
||||
groups.POST("/set_group_name", r.groupHandler.HandleSetGroupName)
|
||||
groups.POST("/set_group_avatar", r.groupHandler.HandleSetGroupAvatar)
|
||||
groups.PUT("/:id/ban", r.groupHandler.HandleSetGroupWholeBan) // 全员禁言
|
||||
groups.PUT("/:id/join-type", r.groupHandler.HandleSetJoinType) // 加群方式
|
||||
groups.PUT("/:id/name", r.groupHandler.HandleSetGroupName) // 群名称
|
||||
groups.PUT("/:id/avatar", r.groupHandler.HandleSetGroupAvatar) // 群头像
|
||||
|
||||
// 群公告
|
||||
groups.POST("/create_announcement", r.groupHandler.HandleCreateAnnouncement)
|
||||
groups.GET("/get_announcements", r.groupHandler.HandleGetAnnouncements)
|
||||
groups.POST("/delete_announcement", r.groupHandler.HandleDeleteAnnouncement)
|
||||
groups.POST("/:id/announcements", r.groupHandler.HandleCreateAnnouncement) // 创建公告
|
||||
groups.GET("/:id/announcements", r.groupHandler.HandleGetAnnouncements) // 公告列表
|
||||
groups.DELETE("/:id/announcements/:announcement_id", r.groupHandler.HandleDeleteAnnouncement) // 删除公告
|
||||
|
||||
// 加群请求处理
|
||||
groups.POST("/:id/join-requests/handle", r.groupHandler.HandleSetGroupAddRequest) // 处理加群请求
|
||||
|
||||
// 加群请求处理(预留)
|
||||
groups.POST("/set_group_add_request", r.groupHandler.HandleSetGroupAddRequest)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user