feat: add im kafka admin integration
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
package imconfiginternal
|
||||
|
||||
import "github.com/gogf/gf/v2/frame/g"
|
||||
|
||||
type TenantReq struct {
|
||||
g.Meta `path:"/internal/im-config/tenants/by-code/{code}" method:"get" tags:"IM内部配置" summary:"按编码获取IM租户"`
|
||||
Code string `json:"code" in:"path" dc:"租户编码"`
|
||||
}
|
||||
|
||||
type TenantByIDReq struct {
|
||||
g.Meta `path:"/internal/im-config/tenants/by-id/{id}" method:"get" tags:"IM内部配置" summary:"按ID获取IM租户"`
|
||||
Id int64 `json:"id" in:"path" dc:"租户ID"`
|
||||
}
|
||||
|
||||
type TenantListReq struct {
|
||||
g.Meta `path:"/internal/im-config/tenants" method:"get" tags:"IM内部配置" summary:"获取IM租户列表"`
|
||||
State string `json:"state" dc:"状态"`
|
||||
Limit int `json:"limit" dc:"数量"`
|
||||
}
|
||||
|
||||
type TenantRes struct {
|
||||
*TenantModel
|
||||
}
|
||||
|
||||
type TenantListRes struct {
|
||||
Items []*TenantModel `json:"items" dc:"租户列表"`
|
||||
}
|
||||
|
||||
type TenantModel struct {
|
||||
ID int64 `json:"id"`
|
||||
Code string `json:"code"`
|
||||
Name string `json:"name"`
|
||||
TenantDesc *string `json:"tenant_desc,omitempty"`
|
||||
DBName string `json:"db_name"`
|
||||
DBDSN string `json:"db_dsn"`
|
||||
State int `json:"state"`
|
||||
CreatedAt string `json:"created_at"`
|
||||
CreatedBy int64 `json:"created_by"`
|
||||
UpdatedAt string `json:"updated_at"`
|
||||
UpdatedBy int64 `json:"updated_by"`
|
||||
}
|
||||
|
||||
type RegistrationSmsReq struct {
|
||||
g.Meta `path:"/internal/im-config/registration/sms" method:"get" tags:"IM内部配置" summary:"获取注册短信开关"`
|
||||
}
|
||||
|
||||
type RegistrationSmsRes struct {
|
||||
Enabled bool `json:"enabled" dc:"是否开启"`
|
||||
}
|
||||
|
||||
type ThirdPartyReq struct {
|
||||
g.Meta `path:"/internal/im-config/third-party/{group}" method:"get" tags:"IM内部配置" summary:"获取第三方配置"`
|
||||
Group string `json:"group" in:"path" dc:"配置组"`
|
||||
Keys string `json:"keys" dc:"配置键,逗号分隔"`
|
||||
}
|
||||
|
||||
type ThirdPartyRes struct {
|
||||
Values map[string]string `json:"values" dc:"配置值"`
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
// Package imdeadletter
|
||||
// @Link https://github.com/bufanyun/hotgo
|
||||
// @Copyright Copyright (c) 2026 HotGo
|
||||
// @Author Ms <133814250@qq.com>
|
||||
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
|
||||
package imdeadletter
|
||||
|
||||
import (
|
||||
"hotgo/internal/model/input/sysin"
|
||||
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
)
|
||||
|
||||
type ListReq struct {
|
||||
g.Meta `path:"/imDeadLetter/list" method:"get" tags:"IM Kafka死信" summary:"获取IM Kafka死信列表"`
|
||||
sysin.ImDeadLetterListInp
|
||||
}
|
||||
|
||||
type ListRes struct {
|
||||
*sysin.ImDeadLetterPageModel
|
||||
}
|
||||
|
||||
type ViewReq struct {
|
||||
g.Meta `path:"/imDeadLetter/view" method:"get" tags:"IM Kafka死信" summary:"获取IM Kafka死信详情"`
|
||||
sysin.ImDeadLetterViewInp
|
||||
}
|
||||
|
||||
type ViewRes struct {
|
||||
*sysin.ImDeadLetterViewModel
|
||||
}
|
||||
|
||||
type ReplayReq struct {
|
||||
g.Meta `path:"/imDeadLetter/replay" method:"post" tags:"IM Kafka死信" summary:"重放IM Kafka死信"`
|
||||
sysin.ImDeadLetterActionInp
|
||||
}
|
||||
|
||||
type ReplayRes struct {
|
||||
*sysin.ImGroupCommandModel
|
||||
}
|
||||
|
||||
type IgnoreReq struct {
|
||||
g.Meta `path:"/imDeadLetter/ignore" method:"post" tags:"IM Kafka死信" summary:"忽略IM Kafka死信"`
|
||||
sysin.ImDeadLetterActionInp
|
||||
}
|
||||
|
||||
type IgnoreRes struct {
|
||||
*sysin.ImGroupCommandModel
|
||||
}
|
||||
|
||||
type ResolveReq struct {
|
||||
g.Meta `path:"/imDeadLetter/resolve" method:"post" tags:"IM Kafka死信" summary:"标记IM Kafka死信已处理"`
|
||||
sysin.ImDeadLetterActionInp
|
||||
}
|
||||
|
||||
type ResolveRes struct {
|
||||
*sysin.ImGroupCommandModel
|
||||
}
|
||||
@@ -108,3 +108,83 @@ type AdminLogListRes struct {
|
||||
form.PageRes
|
||||
List []*sysin.ImGroupAdminLogListModel `json:"list" dc:"数据列表"`
|
||||
}
|
||||
|
||||
// ProfileUpdateReq 通过Kafka修改IM群资料
|
||||
type ProfileUpdateReq struct {
|
||||
g.Meta `path:"/imGroup/profileUpdate" method:"post" tags:"IM群组" summary:"Kafka修改IM群资料"`
|
||||
sysin.ImGroupProfileUpdateInp
|
||||
}
|
||||
|
||||
type ProfileUpdateRes struct {
|
||||
*sysin.ImGroupCommandModel
|
||||
}
|
||||
|
||||
// GovernanceUpdateReq 通过Kafka修改IM群治理配置
|
||||
type GovernanceUpdateReq struct {
|
||||
g.Meta `path:"/imGroup/governanceUpdate" method:"post" tags:"IM群组" summary:"Kafka修改IM群治理配置"`
|
||||
sysin.ImGroupGovernanceUpdateInp
|
||||
}
|
||||
|
||||
type GovernanceUpdateRes struct {
|
||||
*sysin.ImGroupCommandModel
|
||||
}
|
||||
|
||||
// AdminSetReq 通过Kafka设置IM群管理员
|
||||
type AdminSetReq struct {
|
||||
g.Meta `path:"/imGroup/adminSet" method:"post" tags:"IM群组" summary:"Kafka设置IM群管理员"`
|
||||
sysin.ImGroupAdminSetInp
|
||||
}
|
||||
|
||||
type AdminSetRes struct {
|
||||
*sysin.ImGroupCommandModel
|
||||
}
|
||||
|
||||
// AdminRemoveReq 通过Kafka删除IM群管理员
|
||||
type AdminRemoveReq struct {
|
||||
g.Meta `path:"/imGroup/adminRemove" method:"post" tags:"IM群组" summary:"Kafka删除IM群管理员"`
|
||||
sysin.ImGroupAdminRemoveInp
|
||||
}
|
||||
|
||||
type AdminRemoveRes struct {
|
||||
*sysin.ImGroupCommandModel
|
||||
}
|
||||
|
||||
// MemberMuteReq 通过Kafka禁言IM群成员
|
||||
type MemberMuteReq struct {
|
||||
g.Meta `path:"/imGroup/memberMute" method:"post" tags:"IM群组" summary:"Kafka禁言IM群成员"`
|
||||
sysin.ImGroupMemberMuteInp
|
||||
}
|
||||
|
||||
type MemberMuteRes struct {
|
||||
*sysin.ImGroupCommandModel
|
||||
}
|
||||
|
||||
// MemberUnmuteReq 通过Kafka解除IM群成员禁言
|
||||
type MemberUnmuteReq struct {
|
||||
g.Meta `path:"/imGroup/memberUnmute" method:"post" tags:"IM群组" summary:"Kafka解除IM群成员禁言"`
|
||||
sysin.ImGroupMemberUnmuteInp
|
||||
}
|
||||
|
||||
type MemberUnmuteRes struct {
|
||||
*sysin.ImGroupCommandModel
|
||||
}
|
||||
|
||||
// MemberRemoveReq 通过Kafka移出IM群成员
|
||||
type MemberRemoveReq struct {
|
||||
g.Meta `path:"/imGroup/memberRemove" method:"post" tags:"IM群组" summary:"Kafka移出IM群成员"`
|
||||
sysin.ImGroupMemberRemoveInp
|
||||
}
|
||||
|
||||
type MemberRemoveRes struct {
|
||||
*sysin.ImGroupCommandModel
|
||||
}
|
||||
|
||||
// OwnerTransferReq 通过Kafka转让IM群主
|
||||
type OwnerTransferReq struct {
|
||||
g.Meta `path:"/imGroup/ownerTransfer" method:"post" tags:"IM群组" summary:"Kafka转让IM群主"`
|
||||
sysin.ImGroupOwnerTransferInp
|
||||
}
|
||||
|
||||
type OwnerTransferRes struct {
|
||||
*sysin.ImGroupCommandModel
|
||||
}
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
package imkafkaaudit
|
||||
|
||||
import (
|
||||
"hotgo/internal/model/input/form"
|
||||
"hotgo/internal/model/input/sysin"
|
||||
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
)
|
||||
|
||||
type ListReq struct {
|
||||
g.Meta `path:"/imKafkaAudit/list" method:"get" tags:"IM Kafka审计事件" summary:"获取IM Kafka审计事件列表"`
|
||||
sysin.ImKafkaAuditListInp
|
||||
}
|
||||
|
||||
type ListRes struct {
|
||||
form.PageRes
|
||||
List []*sysin.ImKafkaAuditListModel `json:"list" dc:"数据列表"`
|
||||
}
|
||||
|
||||
type ViewReq struct {
|
||||
g.Meta `path:"/imKafkaAudit/view" method:"get" tags:"IM Kafka审计事件" summary:"获取IM Kafka审计事件详情"`
|
||||
sysin.ImKafkaAuditViewInp
|
||||
}
|
||||
|
||||
type ViewRes struct {
|
||||
*sysin.ImKafkaAuditViewModel
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
// Package imkafkacommand
|
||||
// @Link https://github.com/bufanyun/hotgo
|
||||
// @Copyright Copyright (c) 2026 HotGo
|
||||
// @Author Ms <133814250@qq.com>
|
||||
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
|
||||
package imkafkacommand
|
||||
|
||||
import (
|
||||
"hotgo/internal/model/input/form"
|
||||
"hotgo/internal/model/input/sysin"
|
||||
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
)
|
||||
|
||||
type ListReq struct {
|
||||
g.Meta `path:"/imKafkaCommand/list" method:"get" tags:"IM后台命令" summary:"获取IM后台命令列表"`
|
||||
sysin.ImKafkaCommandListInp
|
||||
}
|
||||
|
||||
type ListRes struct {
|
||||
form.PageRes
|
||||
List []*sysin.ImKafkaCommandListModel `json:"list" dc:"数据列表"`
|
||||
}
|
||||
|
||||
type ViewReq struct {
|
||||
g.Meta `path:"/imKafkaCommand/view" method:"get" tags:"IM后台命令" summary:"获取IM后台命令详情"`
|
||||
sysin.ImKafkaCommandViewInp
|
||||
}
|
||||
|
||||
type ViewRes struct {
|
||||
*sysin.ImKafkaCommandViewModel
|
||||
}
|
||||
|
||||
type CacheInvalidateReq struct {
|
||||
g.Meta `path:"/imKafkaCommand/cacheInvalidate" method:"post" tags:"IM后台命令" summary:"发送IM缓存失效测试事件"`
|
||||
sysin.ImKafkaCacheInvalidateInp
|
||||
}
|
||||
|
||||
type CacheInvalidateRes struct {
|
||||
*sysin.ImKafkaEventModel
|
||||
}
|
||||
|
||||
type WorkbenchEventReq struct {
|
||||
g.Meta `path:"/imKafkaCommand/workbenchEvent" method:"post" tags:"IM后台命令" summary:"发送IM工作台测试事件"`
|
||||
sysin.ImKafkaWorkbenchEventInp
|
||||
}
|
||||
|
||||
type WorkbenchEventRes struct {
|
||||
*sysin.ImKafkaEventModel
|
||||
}
|
||||
@@ -32,3 +32,75 @@ type ViewReq struct {
|
||||
type ViewRes struct {
|
||||
*sysin.ImUserViewModel
|
||||
}
|
||||
|
||||
type BanReq struct {
|
||||
g.Meta `path:"/imUser/ban" method:"post" tags:"IM用户管理" summary:"封禁IM用户"`
|
||||
sysin.ImUserGovernanceInp
|
||||
}
|
||||
|
||||
type BanRes struct {
|
||||
*sysin.ImUserCommandModel
|
||||
}
|
||||
|
||||
type UnbanReq struct {
|
||||
g.Meta `path:"/imUser/unban" method:"post" tags:"IM用户管理" summary:"解封IM用户"`
|
||||
sysin.ImUserGovernanceInp
|
||||
}
|
||||
|
||||
type UnbanRes struct {
|
||||
*sysin.ImUserCommandModel
|
||||
}
|
||||
|
||||
type FreezeReq struct {
|
||||
g.Meta `path:"/imUser/freeze" method:"post" tags:"IM用户管理" summary:"冻结IM用户"`
|
||||
sysin.ImUserGovernanceInp
|
||||
}
|
||||
|
||||
type FreezeRes struct {
|
||||
*sysin.ImUserCommandModel
|
||||
}
|
||||
|
||||
type UnfreezeReq struct {
|
||||
g.Meta `path:"/imUser/unfreeze" method:"post" tags:"IM用户管理" summary:"解冻IM用户"`
|
||||
sysin.ImUserGovernanceInp
|
||||
}
|
||||
|
||||
type UnfreezeRes struct {
|
||||
*sysin.ImUserCommandModel
|
||||
}
|
||||
|
||||
type DeviceKickReq struct {
|
||||
g.Meta `path:"/imUser/deviceKick" method:"post" tags:"IM用户管理" summary:"踢出IM用户设备"`
|
||||
sysin.ImUserGovernanceInp
|
||||
}
|
||||
|
||||
type DeviceKickRes struct {
|
||||
*sysin.ImUserCommandModel
|
||||
}
|
||||
|
||||
type LogoutAllReq struct {
|
||||
g.Meta `path:"/imUser/logoutAll" method:"post" tags:"IM用户管理" summary:"踢出IM用户全部在线会话"`
|
||||
sysin.ImUserGovernanceInp
|
||||
}
|
||||
|
||||
type LogoutAllRes struct {
|
||||
*sysin.ImUserCommandModel
|
||||
}
|
||||
|
||||
type AccountCancelReq struct {
|
||||
g.Meta `path:"/imUser/accountCancel" method:"post" tags:"IM用户管理" summary:"注销IM用户账号"`
|
||||
sysin.ImUserGovernanceInp
|
||||
}
|
||||
|
||||
type AccountCancelRes struct {
|
||||
*sysin.ImUserCommandModel
|
||||
}
|
||||
|
||||
type AccountDeleteReq struct {
|
||||
g.Meta `path:"/imUser/accountDelete" method:"post" tags:"IM用户管理" summary:"删除IM用户账号"`
|
||||
sysin.ImUserGovernanceInp
|
||||
}
|
||||
|
||||
type AccountDeleteRes struct {
|
||||
*sysin.ImUserCommandModel
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user