feat: expand IM admin controls

This commit is contained in:
richjohnrambo
2026-08-21 15:09:39 +08:00
parent c3676f9744
commit 543c7b624e
29 changed files with 1308 additions and 39 deletions
@@ -87,6 +87,31 @@ func (in *ImUserPasswordResetInp) Filter(ctx context.Context) error {
return nil
}
type ImUserRevokeSessionsInp struct {
TenantId int64 `json:"tenantId" dc:"租户ID"`
UserId string `json:"userId" v:"required#用户ID不能为空" dc:"用户ID"`
}
func (in *ImUserRevokeSessionsInp) Filter(ctx context.Context) error {
if _, err := ParseOptionalInt64(in.UserId); err != nil {
return err
}
return nil
}
type ImUserStatusInp struct {
TenantId int64 `json:"tenantId" dc:"租户ID"`
UserId string `json:"userId" v:"required#用户ID不能为空" dc:"用户ID"`
State int `json:"state" dc:"账号状态"`
}
func (in *ImUserStatusInp) Filter(ctx context.Context) error {
if _, err := ParseOptionalInt64(in.UserId); err != nil {
return err
}
return nil
}
type ImUserViewModel struct {
ImUserListModel
Signature string `json:"signature" dc:"个性签名"`
@@ -97,3 +122,31 @@ type ImUserViewModel struct {
AccessJson string `json:"accessJson" dc:"访问权限"`
ProfileVersion int `json:"profileVersion" dc:"资料版本"`
}
type ImUserDeviceListInp struct {
form.PageReq
TenantId int64 `json:"tenantId" dc:"租户ID"`
UserId string `json:"userId" v:"required#用户ID不能为空" dc:"用户ID"`
}
func (in *ImUserDeviceListInp) Filter(ctx context.Context) (err error) {
if _, err = ParseOptionalInt64(in.UserId); err != nil {
return gerror.New("用户ID不能为空")
}
return
}
type ImUserDeviceListModel struct {
TenantId int64 `json:"tenantId" dc:"租户ID"`
TenantName string `json:"tenantName" dc:"租户名称"`
UserId string `json:"userId" dc:"用户ID"`
DeviceId string `json:"deviceId" dc:"设备ID"`
Platform string `json:"platform" dc:"平台"`
Lang string `json:"lang" dc:"语言"`
LastSeen *gtime.Time `json:"lastSeen" dc:"最后活跃时间"`
PushProvider string `json:"pushProvider" dc:"Push服务商"`
PushPlatform string `json:"pushPlatform" dc:"Push平台"`
PushAppVersion string `json:"pushAppVersion" dc:"App版本"`
PushTokenConfigured bool `json:"pushTokenConfigured" dc:"是否配置Push Token"`
PushUpdatedAt *gtime.Time `json:"pushUpdatedAt" dc:"Push更新时间"`
}