Merge branch '3.6.1-code-conventions' of https://github.com/FGadvancer/Open-IM-Server into 3.6.1-code-conventions
commit
5a151bd909
@ -0,0 +1,88 @@
|
|||||||
|
// Copyright © 2023 OpenIM. 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 servererrs
|
||||||
|
|
||||||
|
// UnknownCode represents the error code when code is not parsed or parsed code equals 0.
|
||||||
|
const UnknownCode = 1000
|
||||||
|
|
||||||
|
// Error codes for various error scenarios.
|
||||||
|
const (
|
||||||
|
FormattingError = 10001 // Error in formatting
|
||||||
|
HasRegistered = 10002 // User has already registered
|
||||||
|
NotRegistered = 10003 // User is not registered
|
||||||
|
PasswordErr = 10004 // Password error
|
||||||
|
GetIMTokenErr = 10005 // Error in getting IM token
|
||||||
|
RepeatSendCode = 10006 // Repeat sending code
|
||||||
|
MailSendCodeErr = 10007 // Error in sending code via email
|
||||||
|
SmsSendCodeErr = 10008 // Error in sending code via SMS
|
||||||
|
CodeInvalidOrExpired = 10009 // Code is invalid or expired
|
||||||
|
RegisterFailed = 10010 // Registration failed
|
||||||
|
ResetPasswordFailed = 10011 // Resetting password failed
|
||||||
|
RegisterLimit = 10012 // Registration limit exceeded
|
||||||
|
LoginLimit = 10013 // Login limit exceeded
|
||||||
|
InvitationError = 10014 // Error in invitation
|
||||||
|
)
|
||||||
|
|
||||||
|
// General error codes.
|
||||||
|
const (
|
||||||
|
NoError = 0 // No error
|
||||||
|
DatabaseError = 90002 // Database error (redis/mysql, etc.)
|
||||||
|
NetworkError = 90004 // Network error
|
||||||
|
DataError = 90007 // Data error
|
||||||
|
|
||||||
|
CallbackError = 80000
|
||||||
|
|
||||||
|
// Account error codes.
|
||||||
|
UserIDNotFoundError = 1101 // UserID does not exist or is not registered
|
||||||
|
RegisteredAlreadyError = 1102 // User is already registered
|
||||||
|
|
||||||
|
// Group error codes.
|
||||||
|
GroupIDNotFoundError = 1201 // GroupID does not exist
|
||||||
|
GroupIDExisted = 1202 // GroupID already exists
|
||||||
|
NotInGroupYetError = 1203 // Not in the group yet
|
||||||
|
DismissedAlreadyError = 1204 // Group has already been dismissed
|
||||||
|
GroupTypeNotSupport = 1205
|
||||||
|
GroupRequestHandled = 1206
|
||||||
|
|
||||||
|
// Relationship error codes.
|
||||||
|
CanNotAddYourselfError = 1301 // Cannot add yourself as a friend
|
||||||
|
BlockedByPeer = 1302 // Blocked by the peer
|
||||||
|
NotPeersFriend = 1303 // Not the peer's friend
|
||||||
|
RelationshipAlreadyError = 1304 // Already in a friend relationship
|
||||||
|
|
||||||
|
// Message error codes.
|
||||||
|
MessageHasReadDisable = 1401
|
||||||
|
MutedInGroup = 1402 // Member muted in the group
|
||||||
|
MutedGroup = 1403 // Group is muted
|
||||||
|
MsgAlreadyRevoke = 1404 // Message already revoked
|
||||||
|
|
||||||
|
// Token error codes.
|
||||||
|
TokenExpiredError = 1501
|
||||||
|
TokenInvalidError = 1502
|
||||||
|
TokenMalformedError = 1503
|
||||||
|
TokenNotValidYetError = 1504
|
||||||
|
TokenUnknownError = 1505
|
||||||
|
TokenKickedError = 1506
|
||||||
|
TokenNotExistError = 1507
|
||||||
|
|
||||||
|
// Long connection gateway error codes.
|
||||||
|
ConnOverMaxNumLimit = 1601
|
||||||
|
ConnArgsErr = 1602
|
||||||
|
PushMsgErr = 1603
|
||||||
|
IOSBackgroundPushErr = 1604
|
||||||
|
|
||||||
|
// S3 error codes.
|
||||||
|
FileUploadedExpiredError = 1701 // Upload expired
|
||||||
|
)
|
@ -0,0 +1,62 @@
|
|||||||
|
// Copyright © 2023 OpenIM. 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 servererrs
|
||||||
|
|
||||||
|
import "github.com/openimsdk/tools/errs"
|
||||||
|
|
||||||
|
var (
|
||||||
|
ErrDatabase = errs.NewCodeError(DatabaseError, "DatabaseError")
|
||||||
|
ErrNetwork = errs.NewCodeError(NetworkError, "NetworkError")
|
||||||
|
ErrCallback = errs.NewCodeError(CallbackError, "CallbackError")
|
||||||
|
ErrCallbackContinue = errs.NewCodeError(CallbackError, "ErrCallbackContinue")
|
||||||
|
|
||||||
|
ErrUserIDNotFound = errs.NewCodeError(UserIDNotFoundError, "UserIDNotFoundError")
|
||||||
|
ErrGroupIDNotFound = errs.NewCodeError(GroupIDNotFoundError, "GroupIDNotFoundError")
|
||||||
|
ErrGroupIDExisted = errs.NewCodeError(GroupIDExisted, "GroupIDExisted")
|
||||||
|
|
||||||
|
ErrNotInGroupYet = errs.NewCodeError(NotInGroupYetError, "NotInGroupYetError")
|
||||||
|
ErrDismissedAlready = errs.NewCodeError(DismissedAlreadyError, "DismissedAlreadyError")
|
||||||
|
ErrRegisteredAlready = errs.NewCodeError(RegisteredAlreadyError, "RegisteredAlreadyError")
|
||||||
|
ErrGroupTypeNotSupport = errs.NewCodeError(GroupTypeNotSupport, "")
|
||||||
|
ErrGroupRequestHandled = errs.NewCodeError(GroupRequestHandled, "GroupRequestHandled")
|
||||||
|
|
||||||
|
ErrData = errs.NewCodeError(DataError, "DataError")
|
||||||
|
ErrTokenExpired = errs.NewCodeError(TokenExpiredError, "TokenExpiredError")
|
||||||
|
ErrTokenInvalid = errs.NewCodeError(TokenInvalidError, "TokenInvalidError") //
|
||||||
|
ErrTokenMalformed = errs.NewCodeError(TokenMalformedError, "TokenMalformedError") //
|
||||||
|
ErrTokenNotValidYet = errs.NewCodeError(TokenNotValidYetError, "TokenNotValidYetError") //
|
||||||
|
ErrTokenUnknown = errs.NewCodeError(TokenUnknownError, "TokenUnknownError") //
|
||||||
|
ErrTokenKicked = errs.NewCodeError(TokenKickedError, "TokenKickedError")
|
||||||
|
ErrTokenNotExist = errs.NewCodeError(TokenNotExistError, "TokenNotExistError") //
|
||||||
|
|
||||||
|
ErrMessageHasReadDisable = errs.NewCodeError(MessageHasReadDisable, "MessageHasReadDisable")
|
||||||
|
|
||||||
|
ErrCanNotAddYourself = errs.NewCodeError(CanNotAddYourselfError, "CanNotAddYourselfError")
|
||||||
|
ErrBlockedByPeer = errs.NewCodeError(BlockedByPeer, "BlockedByPeer")
|
||||||
|
ErrNotPeersFriend = errs.NewCodeError(NotPeersFriend, "NotPeersFriend")
|
||||||
|
ErrRelationshipAlready = errs.NewCodeError(RelationshipAlreadyError, "RelationshipAlreadyError")
|
||||||
|
|
||||||
|
ErrMutedInGroup = errs.NewCodeError(MutedInGroup, "MutedInGroup")
|
||||||
|
ErrMutedGroup = errs.NewCodeError(MutedGroup, "MutedGroup")
|
||||||
|
ErrMsgAlreadyRevoke = errs.NewCodeError(MsgAlreadyRevoke, "MsgAlreadyRevoke")
|
||||||
|
|
||||||
|
ErrConnOverMaxNumLimit = errs.NewCodeError(ConnOverMaxNumLimit, "ConnOverMaxNumLimit")
|
||||||
|
|
||||||
|
ErrConnArgsErr = errs.NewCodeError(ConnArgsErr, "args err, need token, sendID, platformID")
|
||||||
|
ErrPushMsgErr = errs.NewCodeError(PushMsgErr, "push msg err")
|
||||||
|
ErrIOSBackgroundPushErr = errs.NewCodeError(IOSBackgroundPushErr, "ios background push err")
|
||||||
|
|
||||||
|
ErrFileUploadedExpired = errs.NewCodeError(FileUploadedExpiredError, "FileUploadedExpiredError")
|
||||||
|
)
|
@ -0,0 +1,58 @@
|
|||||||
|
// Copyright © 2023 OpenIM. 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 servererrs
|
||||||
|
|
||||||
|
import "github.com/openimsdk/tools/errs"
|
||||||
|
|
||||||
|
var Relation = &relation{m: make(map[int]map[int]struct{})}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
Relation.Add(errs.RecordNotFoundError, UserIDNotFoundError)
|
||||||
|
Relation.Add(errs.RecordNotFoundError, GroupIDNotFoundError)
|
||||||
|
Relation.Add(errs.DuplicateKeyError, GroupIDExisted)
|
||||||
|
}
|
||||||
|
|
||||||
|
type relation struct {
|
||||||
|
m map[int]map[int]struct{}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r *relation) Add(codes ...int) {
|
||||||
|
if len(codes) < 2 {
|
||||||
|
panic("codes length must be greater than 2")
|
||||||
|
}
|
||||||
|
for i := 1; i < len(codes); i++ {
|
||||||
|
parent := codes[i-1]
|
||||||
|
s, ok := r.m[parent]
|
||||||
|
if !ok {
|
||||||
|
s = make(map[int]struct{})
|
||||||
|
r.m[parent] = s
|
||||||
|
}
|
||||||
|
for _, code := range codes[i:] {
|
||||||
|
s[code] = struct{}{}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r *relation) Is(parent, child int) bool {
|
||||||
|
if parent == child {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
s, ok := r.m[parent]
|
||||||
|
if !ok {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
_, ok = s[child]
|
||||||
|
return ok
|
||||||
|
}
|
Loading…
Reference in new issue