Files
kim.dev.6789 b7f8db7d08 复制项目
2026-01-14 22:35:45 +08:00

519 lines
11 KiB
Go

// Copyright © 2023 OpenIM open source community. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package admin
import (
"git.imall.cloud/openim/chat/pkg/common/constant"
"github.com/openimsdk/tools/errs"
"github.com/openimsdk/tools/utils/datautil"
)
func (x *LoginReq) Check() error {
if x.Account == "" {
return errs.ErrArgs.WrapMsg("account is empty")
}
if x.Password == "" {
return errs.ErrArgs.WrapMsg("password is empty")
}
return nil
}
func (x *ChangePasswordReq) Check() error {
if x.Password == "" {
return errs.ErrArgs.WrapMsg("password is empty")
}
return nil
}
func (x *AddDefaultFriendReq) Check() error {
if x.UserIDs == nil {
return errs.ErrArgs.WrapMsg("userIDs is empty")
}
if datautil.Duplicate(x.UserIDs) {
return errs.ErrArgs.WrapMsg("userIDs has duplicate")
}
return nil
}
func (x *DelDefaultFriendReq) Check() error {
if x.UserIDs == nil {
return errs.ErrArgs.WrapMsg("userIDs is empty")
}
return nil
}
func (x *SearchDefaultFriendReq) Check() error {
if x.Pagination == nil {
return errs.ErrArgs.WrapMsg("pagination is empty")
}
if x.Pagination.PageNumber < 1 {
return errs.ErrArgs.WrapMsg("pageNumber is invalid")
}
if x.Pagination.ShowNumber < 1 {
return errs.ErrArgs.WrapMsg("showNumber is invalid")
}
return nil
}
func (x *AddDefaultGroupReq) Check() error {
if x.GroupIDs == nil {
return errs.ErrArgs.WrapMsg("GroupIDs is empty")
}
if datautil.Duplicate(x.GroupIDs) {
return errs.ErrArgs.WrapMsg("GroupIDs has duplicate")
}
return nil
}
func (x *DelDefaultGroupReq) Check() error {
if x.GroupIDs == nil {
return errs.ErrArgs.WrapMsg("GroupIDs is empty")
}
return nil
}
func (x *SearchDefaultGroupReq) Check() error {
if x.Pagination == nil {
return errs.ErrArgs.WrapMsg("pagination is empty")
}
if x.Pagination.PageNumber < 1 {
return errs.ErrArgs.WrapMsg("pageNumber is invalid")
}
if x.Pagination.ShowNumber < 1 {
return errs.ErrArgs.WrapMsg("showNumber is invalid")
}
return nil
}
func (x *AddInvitationCodeReq) Check() error {
if x.Codes == nil {
return errs.ErrArgs.WrapMsg("codes is invalid")
}
return nil
}
func (x *GenInvitationCodeReq) Check() error {
if x.Len < 1 {
return errs.ErrArgs.WrapMsg("len is invalid")
}
if x.Num < 1 {
return errs.ErrArgs.WrapMsg("num is invalid")
}
if x.Chars == "" {
return errs.ErrArgs.WrapMsg("chars is in invalid")
}
return nil
}
func (x *FindInvitationCodeReq) Check() error {
if x.Codes == nil {
return errs.ErrArgs.WrapMsg("codes is empty")
}
return nil
}
func (x *UseInvitationCodeReq) Check() error {
if x.Code == "" {
return errs.ErrArgs.WrapMsg("code is empty")
}
if x.UserID == "" {
return errs.ErrArgs.WrapMsg("userID is empty")
}
return nil
}
func (x *DelInvitationCodeReq) Check() error {
if x.Codes == nil {
return errs.ErrArgs.WrapMsg("codes is empty")
}
return nil
}
func (x *SearchInvitationCodeReq) Check() error {
if !datautil.Contain(x.Status, constant.InvitationCodeUnused, constant.InvitationCodeUsed, constant.InvitationCodeAll) {
return errs.ErrArgs.WrapMsg("state invalid")
}
if x.Pagination == nil {
return errs.ErrArgs.WrapMsg("pagination is empty")
}
if x.Pagination.PageNumber < 1 {
return errs.ErrArgs.WrapMsg("pageNumber is invalid")
}
if x.Pagination.ShowNumber < 1 {
return errs.ErrArgs.WrapMsg("showNumber is invalid")
}
return nil
}
func (x *SearchUserIPLimitLoginReq) Check() error {
if x.Pagination == nil {
return errs.ErrArgs.WrapMsg("pagination is empty")
}
if x.Pagination.PageNumber < 1 {
return errs.ErrArgs.WrapMsg("pageNumber is invalid")
}
if x.Pagination.ShowNumber < 1 {
return errs.ErrArgs.WrapMsg("showNumber is invalid")
}
return nil
}
func (x *AddUserIPLimitLoginReq) Check() error {
if x.Limits == nil {
return errs.ErrArgs.WrapMsg("limits is empty")
}
return nil
}
func (x *DelUserIPLimitLoginReq) Check() error {
if x.Limits == nil {
return errs.ErrArgs.WrapMsg("limits is empty")
}
return nil
}
func (x *SearchIPForbiddenReq) Check() error {
if x.Pagination == nil {
return errs.ErrArgs.WrapMsg("pagination is empty")
}
if x.Pagination.PageNumber < 1 {
return errs.ErrArgs.WrapMsg("pageNumber is invalid")
}
if x.Pagination.ShowNumber < 1 {
return errs.ErrArgs.WrapMsg("showNumber is invalid")
}
return nil
}
func (x *AddIPForbiddenReq) Check() error {
if x.Forbiddens == nil {
return errs.ErrArgs.WrapMsg("forbiddens is empty")
}
return nil
}
func (x *DelIPForbiddenReq) Check() error {
if x.Ips == nil {
return errs.ErrArgs.WrapMsg("ips is empty")
}
return nil
}
func (x *CheckRegisterForbiddenReq) Check() error {
if x.Ip == "" {
return errs.ErrArgs.WrapMsg("ip is empty")
}
return nil
}
func (x *CheckLoginForbiddenReq) Check() error {
if x.Ip == "" && x.UserID == "" {
return errs.ErrArgs.WrapMsg("ip and userID is empty")
}
return nil
}
func (x *CancellationUserReq) Check() error {
if x.UserID == "" {
return errs.ErrArgs.WrapMsg("userID is empty")
}
return nil
}
func (x *BlockUserReq) Check() error {
if x.UserID == "" {
return errs.ErrArgs.WrapMsg("userID is empty")
}
return nil
}
func (x *UnblockUserReq) Check() error {
if x.UserIDs == nil {
return errs.ErrArgs.WrapMsg("userIDs is empty")
}
return nil
}
func (x *SearchBlockUserReq) Check() error {
if x.Pagination == nil {
return errs.ErrArgs.WrapMsg("pagination is empty")
}
if x.Pagination.PageNumber < 1 {
return errs.ErrArgs.WrapMsg("pageNumber is invalid")
}
if x.Pagination.ShowNumber < 1 {
return errs.ErrArgs.WrapMsg("showNumber is invalid")
}
return nil
}
func (x *FindUserBlockInfoReq) Check() error {
if x.UserIDs == nil {
return errs.ErrArgs.WrapMsg("userIDs is empty")
}
return nil
}
func (x *CreateTokenReq) Check() error {
if x.UserID == "" {
return errs.ErrArgs.WrapMsg("userID is empty")
}
if x.UserType > constant.AdminUser || x.UserType < constant.NormalUser {
return errs.ErrArgs.WrapMsg("userType is invalid")
}
return nil
}
func (x *ParseTokenReq) Check() error {
if x.Token == "" {
return errs.ErrArgs.WrapMsg("token is empty")
}
return nil
}
func (x *AddAppletReq) Check() error {
if x.Name == "" {
return errs.ErrArgs.WrapMsg("name is empty")
}
if x.AppID == "" {
return errs.ErrArgs.WrapMsg("appID is empty")
}
if x.Icon == "" {
return errs.ErrArgs.WrapMsg("icon is empty")
}
if x.Url == "" {
return errs.ErrArgs.WrapMsg("url is empty")
}
if x.Md5 == "" {
return errs.ErrArgs.WrapMsg("md5 is empty")
}
if x.Size <= 0 {
return errs.ErrArgs.WrapMsg("size is invalid")
}
if x.Version == "" {
return errs.ErrArgs.WrapMsg("version is empty")
}
if x.Status < constant.StatusOnShelf || x.Status > constant.StatusUnShelf {
return errs.ErrArgs.WrapMsg("status is invalid")
}
return nil
}
func (x *DelAppletReq) Check() error {
if x.AppletIds == nil {
return errs.ErrArgs.WrapMsg("appletIds is empty")
}
return nil
}
func (x *UpdateAppletReq) Check() error {
if x.Id == "" {
return errs.ErrArgs.WrapMsg("id is empty")
}
return nil
}
func (x *SearchAppletReq) Check() error {
if x.Pagination == nil {
return errs.ErrArgs.WrapMsg("pagination is empty")
}
if x.Pagination.PageNumber < 1 {
return errs.ErrArgs.WrapMsg("pageNumber is invalid")
}
if x.Pagination.ShowNumber < 1 {
return errs.ErrArgs.WrapMsg("showNumber is invalid")
}
return nil
}
func (x *SetClientConfigReq) Check() error {
if x.Config == nil {
return errs.ErrArgs.WrapMsg("config is empty")
}
return nil
}
func (x *ChangeAdminPasswordReq) Check() error {
if x.UserID == "" {
return errs.ErrArgs.WrapMsg("userID is empty")
}
if x.CurrentPassword == "" {
return errs.ErrArgs.WrapMsg("currentPassword is empty")
}
if x.NewPassword == "" {
return errs.ErrArgs.WrapMsg("newPassword is empty")
}
if x.CurrentPassword == x.NewPassword {
return errs.ErrArgs.WrapMsg("currentPassword is equal to newPassword")
}
return nil
}
func (x *AddAdminAccountReq) Check() error {
if x.Account == "" {
return errs.ErrArgs.WrapMsg("account is empty")
}
if x.Password == "" {
return errs.ErrArgs.WrapMsg("password is empty")
}
return nil
}
func (x *DelAdminAccountReq) Check() error {
if len(x.UserIDs) == 0 {
return errs.ErrArgs.WrapMsg("userIDs is empty")
}
return nil
}
func (x *SearchAdminAccountReq) Check() error {
if x.Pagination.ShowNumber == 0 {
return errs.ErrArgs.WrapMsg("showNumber is empty")
}
if x.Pagination.PageNumber == 0 {
return errs.ErrArgs.WrapMsg("pageNumber is empty")
}
return nil
}
// ==================== 敏感词管理相关 Check() 方法 ====================
func (x *AddSensitiveWordReq) Check() error {
if x.Word == "" {
return errs.ErrArgs.WrapMsg("word is empty")
}
return nil
}
func (x *UpdateSensitiveWordReq) Check() error {
if x.Id == "" {
return errs.ErrArgs.WrapMsg("id is empty")
}
return nil
}
func (x *DeleteSensitiveWordReq) Check() error {
if len(x.Ids) == 0 {
return errs.ErrArgs.WrapMsg("ids is empty")
}
return nil
}
func (x *GetSensitiveWordReq) Check() error {
if x.Id == "" {
return errs.ErrArgs.WrapMsg("id is empty")
}
return nil
}
func (x *SearchSensitiveWordsReq) Check() error {
if x.Pagination.ShowNumber == 0 {
return errs.ErrArgs.WrapMsg("showNumber is empty")
}
if x.Pagination.PageNumber == 0 {
return errs.ErrArgs.WrapMsg("pageNumber is empty")
}
return nil
}
func (x *BatchAddSensitiveWordsReq) Check() error {
if len(x.Words) == 0 {
return errs.ErrArgs.WrapMsg("words is empty")
}
return nil
}
func (x *BatchUpdateSensitiveWordsReq) Check() error {
if len(x.Updates) == 0 {
return errs.ErrArgs.WrapMsg("updates is empty")
}
return nil
}
func (x *BatchDeleteSensitiveWordsReq) Check() error {
if len(x.Ids) == 0 {
return errs.ErrArgs.WrapMsg("ids is empty")
}
return nil
}
func (x *AddSensitiveWordGroupReq) Check() error {
if x.Name == "" {
return errs.ErrArgs.WrapMsg("name is empty")
}
return nil
}
func (x *UpdateSensitiveWordGroupReq) Check() error {
if x.Id == "" {
return errs.ErrArgs.WrapMsg("id is empty")
}
return nil
}
func (x *DeleteSensitiveWordGroupReq) Check() error {
if len(x.Ids) == 0 {
return errs.ErrArgs.WrapMsg("ids is empty")
}
return nil
}
func (x *GetSensitiveWordGroupReq) Check() error {
if x.Id == "" {
return errs.ErrArgs.WrapMsg("id is empty")
}
return nil
}
func (x *GetAllSensitiveWordGroupsReq) Check() error {
return nil
}
func (x *GetSensitiveWordConfigReq) Check() error {
return nil
}
func (x *UpdateSensitiveWordConfigReq) Check() error {
if x.Config == nil {
return errs.ErrArgs.WrapMsg("config is empty")
}
return nil
}
func (x *GetSensitiveWordLogsReq) Check() error {
if x.Pagination.ShowNumber == 0 {
return errs.ErrArgs.WrapMsg("showNumber is empty")
}
if x.Pagination.PageNumber == 0 {
return errs.ErrArgs.WrapMsg("pageNumber is empty")
}
return nil
}
func (x *DeleteSensitiveWordLogsReq) Check() error {
if len(x.Ids) == 0 {
return errs.ErrArgs.WrapMsg("ids is empty")
}
return nil
}
func (x *GetSensitiveWordStatsReq) Check() error {
return nil
}
func (x *GetSensitiveWordLogStatsReq) Check() error {
return nil
}