From 629a322d1d4b7655fa45488c743864c3f2855d7a Mon Sep 17 00:00:00 2001 From: Bloomingg <37789413+Bloomingg@users.noreply.github.com> Date: Sun, 26 Sep 2021 19:37:57 +0800 Subject: [PATCH 01/40] Update README.md test fork --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c604df66c..2e0ff1891 100644 --- a/README.md +++ b/README.md @@ -154,4 +154,4 @@ All images are available at https://hub.docker.com/r/lyt1123/open_im_server ## License -Open-IM-Server is under the Apache 2.0 license. See the [LICENSE](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/LICENSE) file for details. +Open-IM-Server is under the Apache 2.0 license. See the [LICENSE](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/LICENSE) file for details From c956add8b03cc86a3bec7a0daba7403126880573 Mon Sep 17 00:00:00 2001 From: xmcy0011 Date: Sun, 10 Oct 2021 19:50:03 +0800 Subject: [PATCH 02/40] add gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..605efd510 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +bin +logs From 9367ad901d80d9b27ea5a8428375a385b4a229fc Mon Sep 17 00:00:00 2001 From: xmcy0011 Date: Mon, 11 Oct 2021 21:36:28 +0800 Subject: [PATCH 03/40] add cmd/open_im_api --- {src/api => cmd/open_im_api}/Makefile | 0 .../open_im_api.go => cmd/open_im_api/main.go | 14 ++++++------ config/config.yaml | 22 +++++++++---------- {src => internal}/api/auth/user_register.go | 0 {src => internal}/api/auth/user_token.go | 0 {src => internal}/api/chat/newest_seq.go | 0 {src => internal}/api/chat/pull_msg.go | 0 {src => internal}/api/chat/send_msg.go | 0 {src => internal}/api/friend/add_blacklist.go | 0 {src => internal}/api/friend/add_friend.go | 0 .../api/friend/add_friend_response.go | 0 {src => internal}/api/friend/delete_friend.go | 0 {src => internal}/api/friend/get_blcaklist.go | 0 .../api/friend/get_friend_apply_list.go | 0 .../api/friend/get_friend_list.go | 0 .../api/friend/get_friends_info.go | 0 {src => internal}/api/friend/is_friend.go | 0 .../api/friend/remove_blacklist.go | 0 .../api/friend/set_friend_comment.go | 0 {src => internal}/api/group/create_group.go | 0 .../api/group/get_group_applicationList.go | 0 .../api/group/get_groups_info.go | 0 {src => internal}/api/group/group.go | 0 .../api/group/group_application_response.go | 0 {src => internal}/api/group/join_group.go | 0 {src => internal}/api/group/quit_group.go | 0 {src => internal}/api/group/set_group_info.go | 0 .../api/group/transfer_group_owner.go | 0 .../api/manage/management_chat.go | 0 .../api/manage/management_user.go | 0 .../third/tencent_cloud_storage_credential.go | 0 {src => internal}/api/user/get_user_info.go | 0 .../api/user/update_user_info.go | 0 src/common/config/config.go | 2 +- src/rpc/chat/chat/send_msg.go | 2 +- 35 files changed, 20 insertions(+), 20 deletions(-) rename {src/api => cmd/open_im_api}/Makefile (100%) rename src/api/open_im_api.go => cmd/open_im_api/main.go (93%) rename {src => internal}/api/auth/user_register.go (100%) rename {src => internal}/api/auth/user_token.go (100%) rename {src => internal}/api/chat/newest_seq.go (100%) rename {src => internal}/api/chat/pull_msg.go (100%) rename {src => internal}/api/chat/send_msg.go (100%) rename {src => internal}/api/friend/add_blacklist.go (100%) rename {src => internal}/api/friend/add_friend.go (100%) rename {src => internal}/api/friend/add_friend_response.go (100%) rename {src => internal}/api/friend/delete_friend.go (100%) rename {src => internal}/api/friend/get_blcaklist.go (100%) rename {src => internal}/api/friend/get_friend_apply_list.go (100%) rename {src => internal}/api/friend/get_friend_list.go (100%) rename {src => internal}/api/friend/get_friends_info.go (100%) rename {src => internal}/api/friend/is_friend.go (100%) rename {src => internal}/api/friend/remove_blacklist.go (100%) rename {src => internal}/api/friend/set_friend_comment.go (100%) rename {src => internal}/api/group/create_group.go (100%) rename {src => internal}/api/group/get_group_applicationList.go (100%) rename {src => internal}/api/group/get_groups_info.go (100%) rename {src => internal}/api/group/group.go (100%) rename {src => internal}/api/group/group_application_response.go (100%) rename {src => internal}/api/group/join_group.go (100%) rename {src => internal}/api/group/quit_group.go (100%) rename {src => internal}/api/group/set_group_info.go (100%) rename {src => internal}/api/group/transfer_group_owner.go (100%) rename {src => internal}/api/manage/management_chat.go (100%) rename {src => internal}/api/manage/management_user.go (100%) rename {src => internal}/api/third/tencent_cloud_storage_credential.go (100%) rename {src => internal}/api/user/get_user_info.go (100%) rename {src => internal}/api/user/update_user_info.go (100%) diff --git a/src/api/Makefile b/cmd/open_im_api/Makefile similarity index 100% rename from src/api/Makefile rename to cmd/open_im_api/Makefile diff --git a/src/api/open_im_api.go b/cmd/open_im_api/main.go similarity index 93% rename from src/api/open_im_api.go rename to cmd/open_im_api/main.go index eac0a1fa5..b22ff0210 100644 --- a/src/api/open_im_api.go +++ b/cmd/open_im_api/main.go @@ -1,13 +1,13 @@ package main import ( - apiAuth "Open_IM/src/api/auth" - apiChat "Open_IM/src/api/chat" - "Open_IM/src/api/friend" - "Open_IM/src/api/group" - "Open_IM/src/api/manage" - apiThird "Open_IM/src/api/third" - "Open_IM/src/api/user" + apiAuth "Open_IM/internal/api/auth" + apiChat "Open_IM/internal/api/chat" + "Open_IM/internal/api/friend" + "Open_IM/internal/api/group" + "Open_IM/internal/api/manage" + apiThird "Open_IM/internal/api/third" + "Open_IM/internal/api/user" "Open_IM/src/utils" "flag" "github.com/gin-gonic/gin" diff --git a/config/config.yaml b/config/config.yaml index 032087cba..1aaf3c932 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -5,12 +5,12 @@ #---------------Infrastructure configuration---------------------# etcd: etcdSchema: openIM - etcdAddr: [ 127.0.0.1:2379 ] + etcdAddr: [ 81.68.126.69:2379 ] mysql: - dbMysqlAddress: [ 127.0.0.1:3306 ] - dbMysqlUserName: root - dbMysqlPassword: openIM + dbMysqlAddress: [ 81.68.126.69:13306 ] + dbMysqlUserName: openIM + dbMysqlPassword: 12345 dbMysqlDatabaseName: openIM dbTableName: eMsg dbMsgTableNum: 1 @@ -19,18 +19,18 @@ mysql: dbMaxLifeTime: 120 mongo: - dbAddress: [ 127.0.0.1:27017 ] + dbAddress: [ 81.68.126.69:27017 ] dbDirect: false dbTimeout: 10 dbDatabase: openIM - dbSource: admin - dbUserName: - dbPassword: + dbSource: openIM + dbUserName: openIM + dbPassword: 12345 dbMaxPoolSize: 20 dbRetainChatRecords: 7 redis: - dbAddress: 127.0.0.1:6379 + dbAddress: 81.68.126.69:16379 dbMaxIdle: 128 dbMaxActive: 0 dbIdleTimeout: 120 @@ -38,10 +38,10 @@ redis: kafka: ws2mschat: - addr: [ 127.0.0.1:9092 ] + addr: [ 81.68.126.69:9092 ] topic: "ws2ms_chat" ms2pschat: - addr: [ 127.0.0.1:9092 ] + addr: [ 81.68.126.69:9092 ] topic: "ms2ps_chat" consumergroupid: msgToMongo: mongo diff --git a/src/api/auth/user_register.go b/internal/api/auth/user_register.go similarity index 100% rename from src/api/auth/user_register.go rename to internal/api/auth/user_register.go diff --git a/src/api/auth/user_token.go b/internal/api/auth/user_token.go similarity index 100% rename from src/api/auth/user_token.go rename to internal/api/auth/user_token.go diff --git a/src/api/chat/newest_seq.go b/internal/api/chat/newest_seq.go similarity index 100% rename from src/api/chat/newest_seq.go rename to internal/api/chat/newest_seq.go diff --git a/src/api/chat/pull_msg.go b/internal/api/chat/pull_msg.go similarity index 100% rename from src/api/chat/pull_msg.go rename to internal/api/chat/pull_msg.go diff --git a/src/api/chat/send_msg.go b/internal/api/chat/send_msg.go similarity index 100% rename from src/api/chat/send_msg.go rename to internal/api/chat/send_msg.go diff --git a/src/api/friend/add_blacklist.go b/internal/api/friend/add_blacklist.go similarity index 100% rename from src/api/friend/add_blacklist.go rename to internal/api/friend/add_blacklist.go diff --git a/src/api/friend/add_friend.go b/internal/api/friend/add_friend.go similarity index 100% rename from src/api/friend/add_friend.go rename to internal/api/friend/add_friend.go diff --git a/src/api/friend/add_friend_response.go b/internal/api/friend/add_friend_response.go similarity index 100% rename from src/api/friend/add_friend_response.go rename to internal/api/friend/add_friend_response.go diff --git a/src/api/friend/delete_friend.go b/internal/api/friend/delete_friend.go similarity index 100% rename from src/api/friend/delete_friend.go rename to internal/api/friend/delete_friend.go diff --git a/src/api/friend/get_blcaklist.go b/internal/api/friend/get_blcaklist.go similarity index 100% rename from src/api/friend/get_blcaklist.go rename to internal/api/friend/get_blcaklist.go diff --git a/src/api/friend/get_friend_apply_list.go b/internal/api/friend/get_friend_apply_list.go similarity index 100% rename from src/api/friend/get_friend_apply_list.go rename to internal/api/friend/get_friend_apply_list.go diff --git a/src/api/friend/get_friend_list.go b/internal/api/friend/get_friend_list.go similarity index 100% rename from src/api/friend/get_friend_list.go rename to internal/api/friend/get_friend_list.go diff --git a/src/api/friend/get_friends_info.go b/internal/api/friend/get_friends_info.go similarity index 100% rename from src/api/friend/get_friends_info.go rename to internal/api/friend/get_friends_info.go diff --git a/src/api/friend/is_friend.go b/internal/api/friend/is_friend.go similarity index 100% rename from src/api/friend/is_friend.go rename to internal/api/friend/is_friend.go diff --git a/src/api/friend/remove_blacklist.go b/internal/api/friend/remove_blacklist.go similarity index 100% rename from src/api/friend/remove_blacklist.go rename to internal/api/friend/remove_blacklist.go diff --git a/src/api/friend/set_friend_comment.go b/internal/api/friend/set_friend_comment.go similarity index 100% rename from src/api/friend/set_friend_comment.go rename to internal/api/friend/set_friend_comment.go diff --git a/src/api/group/create_group.go b/internal/api/group/create_group.go similarity index 100% rename from src/api/group/create_group.go rename to internal/api/group/create_group.go diff --git a/src/api/group/get_group_applicationList.go b/internal/api/group/get_group_applicationList.go similarity index 100% rename from src/api/group/get_group_applicationList.go rename to internal/api/group/get_group_applicationList.go diff --git a/src/api/group/get_groups_info.go b/internal/api/group/get_groups_info.go similarity index 100% rename from src/api/group/get_groups_info.go rename to internal/api/group/get_groups_info.go diff --git a/src/api/group/group.go b/internal/api/group/group.go similarity index 100% rename from src/api/group/group.go rename to internal/api/group/group.go diff --git a/src/api/group/group_application_response.go b/internal/api/group/group_application_response.go similarity index 100% rename from src/api/group/group_application_response.go rename to internal/api/group/group_application_response.go diff --git a/src/api/group/join_group.go b/internal/api/group/join_group.go similarity index 100% rename from src/api/group/join_group.go rename to internal/api/group/join_group.go diff --git a/src/api/group/quit_group.go b/internal/api/group/quit_group.go similarity index 100% rename from src/api/group/quit_group.go rename to internal/api/group/quit_group.go diff --git a/src/api/group/set_group_info.go b/internal/api/group/set_group_info.go similarity index 100% rename from src/api/group/set_group_info.go rename to internal/api/group/set_group_info.go diff --git a/src/api/group/transfer_group_owner.go b/internal/api/group/transfer_group_owner.go similarity index 100% rename from src/api/group/transfer_group_owner.go rename to internal/api/group/transfer_group_owner.go diff --git a/src/api/manage/management_chat.go b/internal/api/manage/management_chat.go similarity index 100% rename from src/api/manage/management_chat.go rename to internal/api/manage/management_chat.go diff --git a/src/api/manage/management_user.go b/internal/api/manage/management_user.go similarity index 100% rename from src/api/manage/management_user.go rename to internal/api/manage/management_user.go diff --git a/src/api/third/tencent_cloud_storage_credential.go b/internal/api/third/tencent_cloud_storage_credential.go similarity index 100% rename from src/api/third/tencent_cloud_storage_credential.go rename to internal/api/third/tencent_cloud_storage_credential.go diff --git a/src/api/user/get_user_info.go b/internal/api/user/get_user_info.go similarity index 100% rename from src/api/user/get_user_info.go rename to internal/api/user/get_user_info.go diff --git a/src/api/user/update_user_info.go b/internal/api/user/update_user_info.go similarity index 100% rename from src/api/user/update_user_info.go rename to internal/api/user/update_user_info.go diff --git a/src/common/config/config.go b/src/common/config/config.go index 939cdae2b..3ee3fe823 100644 --- a/src/common/config/config.go +++ b/src/common/config/config.go @@ -146,7 +146,7 @@ type config struct { } func init() { - bytes, err := ioutil.ReadFile("../config/config.yaml") + bytes, err := ioutil.ReadFile("config/config.yaml") if err != nil { panic(err) return diff --git a/src/rpc/chat/chat/send_msg.go b/src/rpc/chat/chat/send_msg.go index 21a1a7be8..8a7366a7c 100644 --- a/src/rpc/chat/chat/send_msg.go +++ b/src/rpc/chat/chat/send_msg.go @@ -1,7 +1,7 @@ package rpcChat import ( - "Open_IM/src/api/group" + "Open_IM/internal/api/group" "Open_IM/src/common/config" "Open_IM/src/common/constant" http2 "Open_IM/src/common/http" From 5fb4ea2aa37e7e7fb7cb621b12912bf4514f579d Mon Sep 17 00:00:00 2001 From: xmcy0011 Date: Mon, 11 Oct 2021 21:39:05 +0800 Subject: [PATCH 04/40] add cmd/open_im_msg_gateway --- {src/msg_gateway => cmd/open_im_msg_gateway}/Makefile | 0 .../open_im_msg_gateway.go => cmd/open_im_msg_gateway/main.go | 2 +- {src => internal}/msg_gateway/gate/init.go | 0 {src => internal}/msg_gateway/gate/logic.go | 0 {src => internal}/msg_gateway/gate/rpc_server.go | 0 {src => internal}/msg_gateway/gate/validate.go | 0 {src => internal}/msg_gateway/gate/ws_server.go | 0 7 files changed, 1 insertion(+), 1 deletion(-) rename {src/msg_gateway => cmd/open_im_msg_gateway}/Makefile (100%) rename src/msg_gateway/open_im_msg_gateway.go => cmd/open_im_msg_gateway/main.go (88%) rename {src => internal}/msg_gateway/gate/init.go (100%) rename {src => internal}/msg_gateway/gate/logic.go (100%) rename {src => internal}/msg_gateway/gate/rpc_server.go (100%) rename {src => internal}/msg_gateway/gate/validate.go (100%) rename {src => internal}/msg_gateway/gate/ws_server.go (100%) diff --git a/src/msg_gateway/Makefile b/cmd/open_im_msg_gateway/Makefile similarity index 100% rename from src/msg_gateway/Makefile rename to cmd/open_im_msg_gateway/Makefile diff --git a/src/msg_gateway/open_im_msg_gateway.go b/cmd/open_im_msg_gateway/main.go similarity index 88% rename from src/msg_gateway/open_im_msg_gateway.go rename to cmd/open_im_msg_gateway/main.go index 364a7568d..8a022b0d8 100644 --- a/src/msg_gateway/open_im_msg_gateway.go +++ b/cmd/open_im_msg_gateway/main.go @@ -1,7 +1,7 @@ package main import ( - "Open_IM/src/msg_gateway/gate" + "Open_IM/internal/msg_gateway/gate" "flag" "sync" ) diff --git a/src/msg_gateway/gate/init.go b/internal/msg_gateway/gate/init.go similarity index 100% rename from src/msg_gateway/gate/init.go rename to internal/msg_gateway/gate/init.go diff --git a/src/msg_gateway/gate/logic.go b/internal/msg_gateway/gate/logic.go similarity index 100% rename from src/msg_gateway/gate/logic.go rename to internal/msg_gateway/gate/logic.go diff --git a/src/msg_gateway/gate/rpc_server.go b/internal/msg_gateway/gate/rpc_server.go similarity index 100% rename from src/msg_gateway/gate/rpc_server.go rename to internal/msg_gateway/gate/rpc_server.go diff --git a/src/msg_gateway/gate/validate.go b/internal/msg_gateway/gate/validate.go similarity index 100% rename from src/msg_gateway/gate/validate.go rename to internal/msg_gateway/gate/validate.go diff --git a/src/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go similarity index 100% rename from src/msg_gateway/gate/ws_server.go rename to internal/msg_gateway/gate/ws_server.go From b4195bd81c34cf89e5a6b8ae9cb80f1c42164621 Mon Sep 17 00:00:00 2001 From: xmcy0011 Date: Mon, 11 Oct 2021 21:40:31 +0800 Subject: [PATCH 05/40] add cmd/open_im_msg_transfer --- {src/msg_transfer => cmd/open_im_msg_transfer}/Makefile | 0 .../open_im_msg_transfer.go => cmd/open_im_msg_transfer/main.go | 2 +- {src => internal}/msg_transfer/logic/db.go | 0 {src => internal}/msg_transfer/logic/history_msg_handler.go | 0 {src => internal}/msg_transfer/logic/init.go | 0 {src => internal}/msg_transfer/logic/persistent_msg_handler.go | 0 6 files changed, 1 insertion(+), 1 deletion(-) rename {src/msg_transfer => cmd/open_im_msg_transfer}/Makefile (100%) rename src/msg_transfer/open_im_msg_transfer.go => cmd/open_im_msg_transfer/main.go (75%) rename {src => internal}/msg_transfer/logic/db.go (100%) rename {src => internal}/msg_transfer/logic/history_msg_handler.go (100%) rename {src => internal}/msg_transfer/logic/init.go (100%) rename {src => internal}/msg_transfer/logic/persistent_msg_handler.go (100%) diff --git a/src/msg_transfer/Makefile b/cmd/open_im_msg_transfer/Makefile similarity index 100% rename from src/msg_transfer/Makefile rename to cmd/open_im_msg_transfer/Makefile diff --git a/src/msg_transfer/open_im_msg_transfer.go b/cmd/open_im_msg_transfer/main.go similarity index 75% rename from src/msg_transfer/open_im_msg_transfer.go rename to cmd/open_im_msg_transfer/main.go index 0a3775113..c5487de26 100644 --- a/src/msg_transfer/open_im_msg_transfer.go +++ b/cmd/open_im_msg_transfer/main.go @@ -1,7 +1,7 @@ package main import ( - "Open_IM/src/msg_transfer/logic" + "Open_IM/internal/msg_transfer/logic" "sync" ) diff --git a/src/msg_transfer/logic/db.go b/internal/msg_transfer/logic/db.go similarity index 100% rename from src/msg_transfer/logic/db.go rename to internal/msg_transfer/logic/db.go diff --git a/src/msg_transfer/logic/history_msg_handler.go b/internal/msg_transfer/logic/history_msg_handler.go similarity index 100% rename from src/msg_transfer/logic/history_msg_handler.go rename to internal/msg_transfer/logic/history_msg_handler.go diff --git a/src/msg_transfer/logic/init.go b/internal/msg_transfer/logic/init.go similarity index 100% rename from src/msg_transfer/logic/init.go rename to internal/msg_transfer/logic/init.go diff --git a/src/msg_transfer/logic/persistent_msg_handler.go b/internal/msg_transfer/logic/persistent_msg_handler.go similarity index 100% rename from src/msg_transfer/logic/persistent_msg_handler.go rename to internal/msg_transfer/logic/persistent_msg_handler.go From 1a12eb97039abb9b3d37dc477ed5cecd67081e64 Mon Sep 17 00:00:00 2001 From: xmcy0011 Date: Mon, 11 Oct 2021 21:43:36 +0800 Subject: [PATCH 06/40] add cmd/open_im_push --- {src/push => cmd/open_im_push}/Makefile | 0 src/push/open_im_push.go => cmd/open_im_push/main.go | 2 +- {src => internal}/push/content_struct/content.go | 0 {src => internal}/push/logic/init.go | 0 {src => internal}/push/logic/push_handler.go | 0 {src => internal}/push/logic/push_rpc_server.go | 0 {src => internal}/push/logic/push_to_client.go | 0 {src => internal}/push/logic/tpns.go | 8 ++++---- .../push/sdk/tpns-server-sdk-go/go/auth/auth.go | 0 .../push/sdk/tpns-server-sdk-go/go/client/client.go | 0 .../push/sdk/tpns-server-sdk-go/go/common/http_helper.go | 2 +- .../push/sdk/tpns-server-sdk-go/go/common/json_helper.go | 0 {src => internal}/push/sdk/tpns-server-sdk-go/go/def.go | 0 .../push/sdk/tpns-server-sdk-go/go/req/req.go | 2 +- src/rpc/chat/chat/send_msg.go | 2 +- 15 files changed, 8 insertions(+), 8 deletions(-) rename {src/push => cmd/open_im_push}/Makefile (100%) rename src/push/open_im_push.go => cmd/open_im_push/main.go (86%) rename {src => internal}/push/content_struct/content.go (100%) rename {src => internal}/push/logic/init.go (100%) rename {src => internal}/push/logic/push_handler.go (100%) rename {src => internal}/push/logic/push_rpc_server.go (100%) rename {src => internal}/push/logic/push_to_client.go (100%) rename {src => internal}/push/logic/tpns.go (77%) rename {src => internal}/push/sdk/tpns-server-sdk-go/go/auth/auth.go (100%) rename {src => internal}/push/sdk/tpns-server-sdk-go/go/client/client.go (100%) rename {src => internal}/push/sdk/tpns-server-sdk-go/go/common/http_helper.go (95%) rename {src => internal}/push/sdk/tpns-server-sdk-go/go/common/json_helper.go (100%) rename {src => internal}/push/sdk/tpns-server-sdk-go/go/def.go (100%) rename {src => internal}/push/sdk/tpns-server-sdk-go/go/req/req.go (99%) diff --git a/src/push/Makefile b/cmd/open_im_push/Makefile similarity index 100% rename from src/push/Makefile rename to cmd/open_im_push/Makefile diff --git a/src/push/open_im_push.go b/cmd/open_im_push/main.go similarity index 86% rename from src/push/open_im_push.go rename to cmd/open_im_push/main.go index 159ecc6cb..a57a56ba0 100644 --- a/src/push/open_im_push.go +++ b/cmd/open_im_push/main.go @@ -1,7 +1,7 @@ package main import ( - "Open_IM/src/push/logic" + "Open_IM/internal/push/logic" "flag" "sync" ) diff --git a/src/push/content_struct/content.go b/internal/push/content_struct/content.go similarity index 100% rename from src/push/content_struct/content.go rename to internal/push/content_struct/content.go diff --git a/src/push/logic/init.go b/internal/push/logic/init.go similarity index 100% rename from src/push/logic/init.go rename to internal/push/logic/init.go diff --git a/src/push/logic/push_handler.go b/internal/push/logic/push_handler.go similarity index 100% rename from src/push/logic/push_handler.go rename to internal/push/logic/push_handler.go diff --git a/src/push/logic/push_rpc_server.go b/internal/push/logic/push_rpc_server.go similarity index 100% rename from src/push/logic/push_rpc_server.go rename to internal/push/logic/push_rpc_server.go diff --git a/src/push/logic/push_to_client.go b/internal/push/logic/push_to_client.go similarity index 100% rename from src/push/logic/push_to_client.go rename to internal/push/logic/push_to_client.go diff --git a/src/push/logic/tpns.go b/internal/push/logic/tpns.go similarity index 77% rename from src/push/logic/tpns.go rename to internal/push/logic/tpns.go index 616c9c099..6a5dc1e56 100644 --- a/src/push/logic/tpns.go +++ b/internal/push/logic/tpns.go @@ -1,11 +1,11 @@ package logic import ( + tpns "Open_IM/internal/push/sdk/tpns-server-sdk-go/go" + "Open_IM/internal/push/sdk/tpns-server-sdk-go/go/auth" + "Open_IM/internal/push/sdk/tpns-server-sdk-go/go/common" + "Open_IM/internal/push/sdk/tpns-server-sdk-go/go/req" "Open_IM/src/common/config" - tpns "Open_IM/src/push/sdk/tpns-server-sdk-go/go" - "Open_IM/src/push/sdk/tpns-server-sdk-go/go/auth" - "Open_IM/src/push/sdk/tpns-server-sdk-go/go/common" - "Open_IM/src/push/sdk/tpns-server-sdk-go/go/req" ) var badgeType = -2 diff --git a/src/push/sdk/tpns-server-sdk-go/go/auth/auth.go b/internal/push/sdk/tpns-server-sdk-go/go/auth/auth.go similarity index 100% rename from src/push/sdk/tpns-server-sdk-go/go/auth/auth.go rename to internal/push/sdk/tpns-server-sdk-go/go/auth/auth.go diff --git a/src/push/sdk/tpns-server-sdk-go/go/client/client.go b/internal/push/sdk/tpns-server-sdk-go/go/client/client.go similarity index 100% rename from src/push/sdk/tpns-server-sdk-go/go/client/client.go rename to internal/push/sdk/tpns-server-sdk-go/go/client/client.go diff --git a/src/push/sdk/tpns-server-sdk-go/go/common/http_helper.go b/internal/push/sdk/tpns-server-sdk-go/go/common/http_helper.go similarity index 95% rename from src/push/sdk/tpns-server-sdk-go/go/common/http_helper.go rename to internal/push/sdk/tpns-server-sdk-go/go/common/http_helper.go index 31ef387ff..6c010c4f4 100644 --- a/src/push/sdk/tpns-server-sdk-go/go/common/http_helper.go +++ b/internal/push/sdk/tpns-server-sdk-go/go/common/http_helper.go @@ -1,7 +1,7 @@ package common import ( - tpns "Open_IM/src/push/sdk/tpns-server-sdk-go/go" + tpns "Open_IM/internal/push/sdk/tpns-server-sdk-go/go" "encoding/json" "fmt" "io/ioutil" diff --git a/src/push/sdk/tpns-server-sdk-go/go/common/json_helper.go b/internal/push/sdk/tpns-server-sdk-go/go/common/json_helper.go similarity index 100% rename from src/push/sdk/tpns-server-sdk-go/go/common/json_helper.go rename to internal/push/sdk/tpns-server-sdk-go/go/common/json_helper.go diff --git a/src/push/sdk/tpns-server-sdk-go/go/def.go b/internal/push/sdk/tpns-server-sdk-go/go/def.go similarity index 100% rename from src/push/sdk/tpns-server-sdk-go/go/def.go rename to internal/push/sdk/tpns-server-sdk-go/go/def.go diff --git a/src/push/sdk/tpns-server-sdk-go/go/req/req.go b/internal/push/sdk/tpns-server-sdk-go/go/req/req.go similarity index 99% rename from src/push/sdk/tpns-server-sdk-go/go/req/req.go rename to internal/push/sdk/tpns-server-sdk-go/go/req/req.go index cc4195ec7..7afc07004 100644 --- a/src/push/sdk/tpns-server-sdk-go/go/req/req.go +++ b/internal/push/sdk/tpns-server-sdk-go/go/req/req.go @@ -1,7 +1,7 @@ package req import ( - tpns "Open_IM/src/push/sdk/tpns-server-sdk-go/go" + tpns "Open_IM/internal/push/sdk/tpns-server-sdk-go/go" "bytes" "encoding/json" "io" diff --git a/src/rpc/chat/chat/send_msg.go b/src/rpc/chat/chat/send_msg.go index 8a7366a7c..ba5f26c9c 100644 --- a/src/rpc/chat/chat/send_msg.go +++ b/src/rpc/chat/chat/send_msg.go @@ -2,6 +2,7 @@ package rpcChat import ( "Open_IM/internal/api/group" + "Open_IM/internal/push/content_struct" "Open_IM/src/common/config" "Open_IM/src/common/constant" http2 "Open_IM/src/common/http" @@ -9,7 +10,6 @@ import ( "Open_IM/src/grpc-etcdv3/getcdv3" pbChat "Open_IM/src/proto/chat" pbGroup "Open_IM/src/proto/group" - "Open_IM/src/push/content_struct" "Open_IM/src/utils" "context" "encoding/json" From 585715adbff55f52429cc2364c34f760941ece12 Mon Sep 17 00:00:00 2001 From: xmcy0011 Date: Mon, 11 Oct 2021 21:51:37 +0800 Subject: [PATCH 07/40] add cmd/rpc --- {src/rpc/auth => cmd/rpc/open_im_auth}/Makefile | 0 src/rpc/auth/open_im_auth.go => cmd/rpc/open_im_auth/main.go | 2 +- {src/rpc/friend => cmd/rpc/open_im_friend}/Makefile | 0 .../open_im_friend.go => cmd/rpc/open_im_friend/main.go | 2 +- {src/rpc/group => cmd/rpc/open_im_group}/Makefile | 0 .../group/open_im_group.go => cmd/rpc/open_im_group/main.go | 2 +- {src/rpc/chat => cmd/rpc/open_im_msg}/Makefile | 0 src/rpc/chat/open_im_msg.go => cmd/rpc/open_im_msg/main.go | 2 +- {src/rpc/user => cmd/rpc/open_im_user}/Makefile | 0 src/rpc/user/open_im_user.go => cmd/rpc/open_im_user/main.go | 2 +- internal/push/logic/push_to_client.go | 4 ++-- {src/rpc/auth => internal/rpc}/auth/rpcAuth.go | 2 +- {src/rpc/auth => internal/rpc}/auth/user_register.go | 2 +- {src/rpc/auth => internal/rpc}/auth/user_token.go | 2 +- {src/rpc/chat => internal/rpc}/chat/pull_message.go | 2 +- {src/rpc/chat => internal/rpc}/chat/rpcChat.go | 2 +- {src/rpc/chat => internal/rpc}/chat/send_msg.go | 2 +- {src/rpc/friend => internal/rpc}/friend/add_blacklist.go | 0 {src/rpc/friend => internal/rpc}/friend/add_friend.go | 4 ++-- .../rpc/friend => internal/rpc}/friend/add_friend_response.go | 0 {src/rpc/friend => internal/rpc}/friend/delete_friend.go | 0 {src/rpc/friend => internal/rpc}/friend/get_blacklist.go | 0 {src/rpc/friend => internal/rpc}/friend/get_firends_info.go | 0 .../friend => internal/rpc}/friend/get_friend_apply_list.go | 0 {src/rpc/friend => internal/rpc}/friend/get_friend_list.go | 0 {src/rpc/friend => internal/rpc}/friend/is_friend.go | 0 {src/rpc/friend => internal/rpc}/friend/is_in_blacklist.go | 0 {src/rpc/friend => internal/rpc}/friend/remove_blacklist.go | 0 {src/rpc/friend => internal/rpc}/friend/set_friend_comment.go | 0 {src/rpc/group => internal/rpc}/group/create_group.go | 4 ++-- .../group => internal/rpc}/group/get_group_applicationList.go | 0 {src/rpc/group => internal/rpc}/group/get_groups_info.go | 0 {src/rpc/group => internal/rpc}/group/group.go | 4 ++-- .../rpc}/group/group_application_response.go | 0 {src/rpc/group => internal/rpc}/group/join_group.go | 0 {src/rpc/group => internal/rpc}/group/quit_group.go | 0 {src/rpc/group => internal/rpc}/group/set_group_info.go | 0 {src/rpc/group => internal/rpc}/group/transfer_group_owner.go | 0 {src/rpc/user => internal/rpc}/user/get_user_info.go | 0 .../rpc/user/internal_service/get_user_info_to_client.go | 0 {src/rpc/user => internal/rpc}/user/management_user.go | 0 {src/rpc/user => internal/rpc}/user/update_user_info.go | 2 +- 42 files changed, 20 insertions(+), 20 deletions(-) rename {src/rpc/auth => cmd/rpc/open_im_auth}/Makefile (100%) rename src/rpc/auth/open_im_auth.go => cmd/rpc/open_im_auth/main.go (84%) rename {src/rpc/friend => cmd/rpc/open_im_friend}/Makefile (100%) rename src/rpc/friend/open_im_friend.go => cmd/rpc/open_im_friend/main.go (86%) rename {src/rpc/group => cmd/rpc/open_im_group}/Makefile (100%) rename src/rpc/group/open_im_group.go => cmd/rpc/open_im_group/main.go (87%) rename {src/rpc/chat => cmd/rpc/open_im_msg}/Makefile (100%) rename src/rpc/chat/open_im_msg.go => cmd/rpc/open_im_msg/main.go (86%) rename {src/rpc/user => cmd/rpc/open_im_user}/Makefile (100%) rename src/rpc/user/open_im_user.go => cmd/rpc/open_im_user/main.go (86%) rename {src/rpc/auth => internal/rpc}/auth/rpcAuth.go (98%) rename {src/rpc/auth => internal/rpc}/auth/user_register.go (97%) rename {src/rpc/auth => internal/rpc}/auth/user_token.go (98%) rename {src/rpc/chat => internal/rpc}/chat/pull_message.go (99%) rename {src/rpc/chat => internal/rpc}/chat/rpcChat.go (99%) rename {src/rpc/chat => internal/rpc}/chat/send_msg.go (99%) rename {src/rpc/friend => internal/rpc}/friend/add_blacklist.go (100%) rename {src/rpc/friend => internal/rpc}/friend/add_friend.go (98%) rename {src/rpc/friend => internal/rpc}/friend/add_friend_response.go (100%) rename {src/rpc/friend => internal/rpc}/friend/delete_friend.go (100%) rename {src/rpc/friend => internal/rpc}/friend/get_blacklist.go (100%) rename {src/rpc/friend => internal/rpc}/friend/get_firends_info.go (100%) rename {src/rpc/friend => internal/rpc}/friend/get_friend_apply_list.go (100%) rename {src/rpc/friend => internal/rpc}/friend/get_friend_list.go (100%) rename {src/rpc/friend => internal/rpc}/friend/is_friend.go (100%) rename {src/rpc/friend => internal/rpc}/friend/is_in_blacklist.go (100%) rename {src/rpc/friend => internal/rpc}/friend/remove_blacklist.go (100%) rename {src/rpc/friend => internal/rpc}/friend/set_friend_comment.go (100%) rename {src/rpc/group => internal/rpc}/group/create_group.go (98%) rename {src/rpc/group => internal/rpc}/group/get_group_applicationList.go (100%) rename {src/rpc/group => internal/rpc}/group/get_groups_info.go (100%) rename {src/rpc/group => internal/rpc}/group/group.go (99%) rename {src/rpc/group => internal/rpc}/group/group_application_response.go (100%) rename {src/rpc/group => internal/rpc}/group/join_group.go (100%) rename {src/rpc/group => internal/rpc}/group/quit_group.go (100%) rename {src/rpc/group => internal/rpc}/group/set_group_info.go (100%) rename {src/rpc/group => internal/rpc}/group/transfer_group_owner.go (100%) rename {src/rpc/user => internal/rpc}/user/get_user_info.go (100%) rename {src => internal}/rpc/user/internal_service/get_user_info_to_client.go (100%) rename {src/rpc/user => internal/rpc}/user/management_user.go (100%) rename {src/rpc/user => internal/rpc}/user/update_user_info.go (98%) diff --git a/src/rpc/auth/Makefile b/cmd/rpc/open_im_auth/Makefile similarity index 100% rename from src/rpc/auth/Makefile rename to cmd/rpc/open_im_auth/Makefile diff --git a/src/rpc/auth/open_im_auth.go b/cmd/rpc/open_im_auth/main.go similarity index 84% rename from src/rpc/auth/open_im_auth.go rename to cmd/rpc/open_im_auth/main.go index 765d83264..ed4656d35 100644 --- a/src/rpc/auth/open_im_auth.go +++ b/cmd/rpc/open_im_auth/main.go @@ -1,7 +1,7 @@ package main import ( - rpcAuth "Open_IM/src/rpc/auth/auth" + rpcAuth "Open_IM/internal/rpc/auth" "flag" ) diff --git a/src/rpc/friend/Makefile b/cmd/rpc/open_im_friend/Makefile similarity index 100% rename from src/rpc/friend/Makefile rename to cmd/rpc/open_im_friend/Makefile diff --git a/src/rpc/friend/open_im_friend.go b/cmd/rpc/open_im_friend/main.go similarity index 86% rename from src/rpc/friend/open_im_friend.go rename to cmd/rpc/open_im_friend/main.go index 088f5a7f4..0847699c5 100644 --- a/src/rpc/friend/open_im_friend.go +++ b/cmd/rpc/open_im_friend/main.go @@ -1,7 +1,7 @@ package main import ( - "Open_IM/src/rpc/friend/friend" + "Open_IM/internal/rpc/friend" "flag" ) diff --git a/src/rpc/group/Makefile b/cmd/rpc/open_im_group/Makefile similarity index 100% rename from src/rpc/group/Makefile rename to cmd/rpc/open_im_group/Makefile diff --git a/src/rpc/group/open_im_group.go b/cmd/rpc/open_im_group/main.go similarity index 87% rename from src/rpc/group/open_im_group.go rename to cmd/rpc/open_im_group/main.go index e5f1df690..8a3f886cb 100644 --- a/src/rpc/group/open_im_group.go +++ b/cmd/rpc/open_im_group/main.go @@ -1,7 +1,7 @@ package main import ( - "Open_IM/src/rpc/group/group" + "Open_IM/internal/rpc/group" "flag" ) diff --git a/src/rpc/chat/Makefile b/cmd/rpc/open_im_msg/Makefile similarity index 100% rename from src/rpc/chat/Makefile rename to cmd/rpc/open_im_msg/Makefile diff --git a/src/rpc/chat/open_im_msg.go b/cmd/rpc/open_im_msg/main.go similarity index 86% rename from src/rpc/chat/open_im_msg.go rename to cmd/rpc/open_im_msg/main.go index e1a0a11a4..26ca9e669 100644 --- a/src/rpc/chat/open_im_msg.go +++ b/cmd/rpc/open_im_msg/main.go @@ -1,7 +1,7 @@ package main import ( - rpcChat "Open_IM/src/rpc/chat/chat" + rpcChat "Open_IM/internal/rpc/chat" "Open_IM/src/utils" "flag" ) diff --git a/src/rpc/user/Makefile b/cmd/rpc/open_im_user/Makefile similarity index 100% rename from src/rpc/user/Makefile rename to cmd/rpc/open_im_user/Makefile diff --git a/src/rpc/user/open_im_user.go b/cmd/rpc/open_im_user/main.go similarity index 86% rename from src/rpc/user/open_im_user.go rename to cmd/rpc/open_im_user/main.go index 0625b11ee..91b6e55b5 100644 --- a/src/rpc/user/open_im_user.go +++ b/cmd/rpc/open_im_user/main.go @@ -1,7 +1,7 @@ package main import ( - "Open_IM/src/rpc/user/user" + "Open_IM/internal/rpc/user" "flag" ) diff --git a/internal/push/logic/push_to_client.go b/internal/push/logic/push_to_client.go index c52ff0a61..3eaad541d 100644 --- a/internal/push/logic/push_to_client.go +++ b/internal/push/logic/push_to_client.go @@ -7,6 +7,8 @@ package logic import ( + rpcChat "Open_IM/internal/rpc/chat" + "Open_IM/internal/rpc/user/internal_service" "Open_IM/src/common/config" "Open_IM/src/common/constant" "Open_IM/src/common/log" @@ -15,8 +17,6 @@ import ( pbGroup "Open_IM/src/proto/group" pbRelay "Open_IM/src/proto/relay" pbGetInfo "Open_IM/src/proto/user" - rpcChat "Open_IM/src/rpc/chat/chat" - "Open_IM/src/rpc/user/internal_service" "Open_IM/src/utils" "context" "encoding/json" diff --git a/src/rpc/auth/auth/rpcAuth.go b/internal/rpc/auth/rpcAuth.go similarity index 98% rename from src/rpc/auth/auth/rpcAuth.go rename to internal/rpc/auth/rpcAuth.go index 237fc9bab..6c88aee83 100644 --- a/src/rpc/auth/auth/rpcAuth.go +++ b/internal/rpc/auth/rpcAuth.go @@ -1,4 +1,4 @@ -package rpcAuth +package auth import ( "Open_IM/src/common/config" diff --git a/src/rpc/auth/auth/user_register.go b/internal/rpc/auth/user_register.go similarity index 97% rename from src/rpc/auth/auth/user_register.go rename to internal/rpc/auth/user_register.go index aa2bc40f3..feef389d5 100644 --- a/src/rpc/auth/auth/user_register.go +++ b/internal/rpc/auth/user_register.go @@ -1,4 +1,4 @@ -package rpcAuth +package auth import ( "Open_IM/src/common/db/mysql_model/im_mysql_model" diff --git a/src/rpc/auth/auth/user_token.go b/internal/rpc/auth/user_token.go similarity index 98% rename from src/rpc/auth/auth/user_token.go rename to internal/rpc/auth/user_token.go index 59e91c33b..d180caaad 100644 --- a/src/rpc/auth/auth/user_token.go +++ b/internal/rpc/auth/user_token.go @@ -1,4 +1,4 @@ -package rpcAuth +package auth import ( "Open_IM/src/common/db/mysql_model/im_mysql_model" diff --git a/src/rpc/chat/chat/pull_message.go b/internal/rpc/chat/pull_message.go similarity index 99% rename from src/rpc/chat/chat/pull_message.go rename to internal/rpc/chat/pull_message.go index 744ae1a36..bc172d32b 100644 --- a/src/rpc/chat/chat/pull_message.go +++ b/internal/rpc/chat/pull_message.go @@ -1,4 +1,4 @@ -package rpcChat +package chat import ( "context" diff --git a/src/rpc/chat/chat/rpcChat.go b/internal/rpc/chat/rpcChat.go similarity index 99% rename from src/rpc/chat/chat/rpcChat.go rename to internal/rpc/chat/rpcChat.go index ca5aeefa0..12ddac3e5 100644 --- a/src/rpc/chat/chat/rpcChat.go +++ b/internal/rpc/chat/rpcChat.go @@ -1,4 +1,4 @@ -package rpcChat +package chat import ( "Open_IM/src/common/config" diff --git a/src/rpc/chat/chat/send_msg.go b/internal/rpc/chat/send_msg.go similarity index 99% rename from src/rpc/chat/chat/send_msg.go rename to internal/rpc/chat/send_msg.go index ba5f26c9c..cac39f014 100644 --- a/src/rpc/chat/chat/send_msg.go +++ b/internal/rpc/chat/send_msg.go @@ -1,4 +1,4 @@ -package rpcChat +package chat import ( "Open_IM/internal/api/group" diff --git a/src/rpc/friend/friend/add_blacklist.go b/internal/rpc/friend/add_blacklist.go similarity index 100% rename from src/rpc/friend/friend/add_blacklist.go rename to internal/rpc/friend/add_blacklist.go diff --git a/src/rpc/friend/friend/add_friend.go b/internal/rpc/friend/add_friend.go similarity index 98% rename from src/rpc/friend/friend/add_friend.go rename to internal/rpc/friend/add_friend.go index 6fd9f4b27..1f20f8d14 100644 --- a/src/rpc/friend/friend/add_friend.go +++ b/internal/rpc/friend/add_friend.go @@ -1,14 +1,14 @@ package friend import ( + "Open_IM/internal/push/content_struct" + "Open_IM/internal/push/logic" "Open_IM/src/common/config" "Open_IM/src/common/constant" "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" pbChat "Open_IM/src/proto/chat" pbFriend "Open_IM/src/proto/friend" - "Open_IM/src/push/content_struct" - "Open_IM/src/push/logic" "Open_IM/src/utils" "context" ) diff --git a/src/rpc/friend/friend/add_friend_response.go b/internal/rpc/friend/add_friend_response.go similarity index 100% rename from src/rpc/friend/friend/add_friend_response.go rename to internal/rpc/friend/add_friend_response.go diff --git a/src/rpc/friend/friend/delete_friend.go b/internal/rpc/friend/delete_friend.go similarity index 100% rename from src/rpc/friend/friend/delete_friend.go rename to internal/rpc/friend/delete_friend.go diff --git a/src/rpc/friend/friend/get_blacklist.go b/internal/rpc/friend/get_blacklist.go similarity index 100% rename from src/rpc/friend/friend/get_blacklist.go rename to internal/rpc/friend/get_blacklist.go diff --git a/src/rpc/friend/friend/get_firends_info.go b/internal/rpc/friend/get_firends_info.go similarity index 100% rename from src/rpc/friend/friend/get_firends_info.go rename to internal/rpc/friend/get_firends_info.go diff --git a/src/rpc/friend/friend/get_friend_apply_list.go b/internal/rpc/friend/get_friend_apply_list.go similarity index 100% rename from src/rpc/friend/friend/get_friend_apply_list.go rename to internal/rpc/friend/get_friend_apply_list.go diff --git a/src/rpc/friend/friend/get_friend_list.go b/internal/rpc/friend/get_friend_list.go similarity index 100% rename from src/rpc/friend/friend/get_friend_list.go rename to internal/rpc/friend/get_friend_list.go diff --git a/src/rpc/friend/friend/is_friend.go b/internal/rpc/friend/is_friend.go similarity index 100% rename from src/rpc/friend/friend/is_friend.go rename to internal/rpc/friend/is_friend.go diff --git a/src/rpc/friend/friend/is_in_blacklist.go b/internal/rpc/friend/is_in_blacklist.go similarity index 100% rename from src/rpc/friend/friend/is_in_blacklist.go rename to internal/rpc/friend/is_in_blacklist.go diff --git a/src/rpc/friend/friend/remove_blacklist.go b/internal/rpc/friend/remove_blacklist.go similarity index 100% rename from src/rpc/friend/friend/remove_blacklist.go rename to internal/rpc/friend/remove_blacklist.go diff --git a/src/rpc/friend/friend/set_friend_comment.go b/internal/rpc/friend/set_friend_comment.go similarity index 100% rename from src/rpc/friend/friend/set_friend_comment.go rename to internal/rpc/friend/set_friend_comment.go diff --git a/src/rpc/group/group/create_group.go b/internal/rpc/group/create_group.go similarity index 98% rename from src/rpc/group/group/create_group.go rename to internal/rpc/group/create_group.go index 4aeb073d7..499522ea4 100644 --- a/src/rpc/group/group/create_group.go +++ b/internal/rpc/group/create_group.go @@ -1,6 +1,8 @@ package group import ( + "Open_IM/internal/push/content_struct" + "Open_IM/internal/push/logic" "Open_IM/src/common/config" "Open_IM/src/common/constant" "Open_IM/src/common/db" @@ -9,8 +11,6 @@ import ( "Open_IM/src/grpc-etcdv3/getcdv3" pbChat "Open_IM/src/proto/chat" pbGroup "Open_IM/src/proto/group" - "Open_IM/src/push/content_struct" - "Open_IM/src/push/logic" "Open_IM/src/utils" "context" "google.golang.org/grpc" diff --git a/src/rpc/group/group/get_group_applicationList.go b/internal/rpc/group/get_group_applicationList.go similarity index 100% rename from src/rpc/group/group/get_group_applicationList.go rename to internal/rpc/group/get_group_applicationList.go diff --git a/src/rpc/group/group/get_groups_info.go b/internal/rpc/group/get_groups_info.go similarity index 100% rename from src/rpc/group/group/get_groups_info.go rename to internal/rpc/group/get_groups_info.go diff --git a/src/rpc/group/group/group.go b/internal/rpc/group/group.go similarity index 99% rename from src/rpc/group/group/group.go rename to internal/rpc/group/group.go index e1e1426b1..b90d20726 100644 --- a/src/rpc/group/group/group.go +++ b/internal/rpc/group/group.go @@ -1,12 +1,12 @@ package group import ( + "Open_IM/internal/push/content_struct" + "Open_IM/internal/push/logic" "Open_IM/src/common/config" "Open_IM/src/common/constant" "Open_IM/src/common/db" pbChat "Open_IM/src/proto/chat" - "Open_IM/src/push/content_struct" - "Open_IM/src/push/logic" "encoding/json" imdb "Open_IM/src/common/db/mysql_model/im_mysql_model" diff --git a/src/rpc/group/group/group_application_response.go b/internal/rpc/group/group_application_response.go similarity index 100% rename from src/rpc/group/group/group_application_response.go rename to internal/rpc/group/group_application_response.go diff --git a/src/rpc/group/group/join_group.go b/internal/rpc/group/join_group.go similarity index 100% rename from src/rpc/group/group/join_group.go rename to internal/rpc/group/join_group.go diff --git a/src/rpc/group/group/quit_group.go b/internal/rpc/group/quit_group.go similarity index 100% rename from src/rpc/group/group/quit_group.go rename to internal/rpc/group/quit_group.go diff --git a/src/rpc/group/group/set_group_info.go b/internal/rpc/group/set_group_info.go similarity index 100% rename from src/rpc/group/group/set_group_info.go rename to internal/rpc/group/set_group_info.go diff --git a/src/rpc/group/group/transfer_group_owner.go b/internal/rpc/group/transfer_group_owner.go similarity index 100% rename from src/rpc/group/group/transfer_group_owner.go rename to internal/rpc/group/transfer_group_owner.go diff --git a/src/rpc/user/user/get_user_info.go b/internal/rpc/user/get_user_info.go similarity index 100% rename from src/rpc/user/user/get_user_info.go rename to internal/rpc/user/get_user_info.go diff --git a/src/rpc/user/internal_service/get_user_info_to_client.go b/internal/rpc/user/internal_service/get_user_info_to_client.go similarity index 100% rename from src/rpc/user/internal_service/get_user_info_to_client.go rename to internal/rpc/user/internal_service/get_user_info_to_client.go diff --git a/src/rpc/user/user/management_user.go b/internal/rpc/user/management_user.go similarity index 100% rename from src/rpc/user/user/management_user.go rename to internal/rpc/user/management_user.go diff --git a/src/rpc/user/user/update_user_info.go b/internal/rpc/user/update_user_info.go similarity index 98% rename from src/rpc/user/user/update_user_info.go rename to internal/rpc/user/update_user_info.go index 368c08837..9a1908757 100644 --- a/src/rpc/user/user/update_user_info.go +++ b/internal/rpc/user/update_user_info.go @@ -1,6 +1,7 @@ package user import ( + "Open_IM/internal/push/logic" "Open_IM/src/common/config" "Open_IM/src/common/constant" "Open_IM/src/common/db/mysql_model/im_mysql_model" @@ -9,7 +10,6 @@ import ( pbChat "Open_IM/src/proto/chat" pbFriend "Open_IM/src/proto/friend" pbUser "Open_IM/src/proto/user" - "Open_IM/src/push/logic" "Open_IM/src/utils" "context" "strings" From bc94d4e0b376dcbded30ff26668131bb68dec4d7 Mon Sep 17 00:00:00 2001 From: xmcy0011 Date: Mon, 11 Oct 2021 22:00:38 +0800 Subject: [PATCH 08/40] mv src/proto to pkg/proto --- internal/api/auth/user_register.go | 2 +- internal/api/auth/user_token.go | 2 +- internal/api/chat/newest_seq.go | 2 +- internal/api/chat/pull_msg.go | 2 +- internal/api/chat/send_msg.go | 2 +- internal/api/friend/add_blacklist.go | 2 +- internal/api/friend/add_friend.go | 2 +- internal/api/friend/add_friend_response.go | 2 +- internal/api/friend/delete_friend.go | 2 +- internal/api/friend/get_blcaklist.go | 2 +- internal/api/friend/get_friend_apply_list.go | 2 +- internal/api/friend/get_friend_list.go | 2 +- internal/api/friend/get_friends_info.go | 2 +- internal/api/friend/is_friend.go | 2 +- internal/api/friend/remove_blacklist.go | 2 +- internal/api/friend/set_friend_comment.go | 2 +- internal/api/group/create_group.go | 2 +- internal/api/group/get_group_applicationList.go | 2 +- internal/api/group/get_groups_info.go | 2 +- internal/api/group/group.go | 2 +- internal/api/group/group_application_response.go | 2 +- internal/api/group/join_group.go | 2 +- internal/api/group/quit_group.go | 2 +- internal/api/group/set_group_info.go | 2 +- internal/api/group/transfer_group_owner.go | 2 +- internal/api/manage/management_chat.go | 2 +- internal/api/manage/management_user.go | 2 +- internal/api/user/get_user_info.go | 2 +- internal/api/user/update_user_info.go | 2 +- internal/msg_gateway/gate/logic.go | 2 +- internal/msg_gateway/gate/rpc_server.go | 2 +- internal/msg_transfer/logic/db.go | 2 +- internal/msg_transfer/logic/history_msg_handler.go | 4 ++-- internal/msg_transfer/logic/persistent_msg_handler.go | 2 +- internal/push/logic/push_handler.go | 4 ++-- internal/push/logic/push_rpc_server.go | 4 ++-- internal/push/logic/push_to_client.go | 8 ++++---- internal/rpc/auth/rpcAuth.go | 2 +- internal/rpc/auth/user_register.go | 2 +- internal/rpc/auth/user_token.go | 2 +- internal/rpc/chat/pull_message.go | 2 +- internal/rpc/chat/rpcChat.go | 2 +- internal/rpc/chat/send_msg.go | 4 ++-- internal/rpc/friend/add_blacklist.go | 2 +- internal/rpc/friend/add_friend.go | 4 ++-- internal/rpc/friend/add_friend_response.go | 8 ++++---- internal/rpc/friend/delete_friend.go | 2 +- internal/rpc/friend/get_blacklist.go | 2 +- internal/rpc/friend/get_firends_info.go | 2 +- internal/rpc/friend/get_friend_apply_list.go | 2 +- internal/rpc/friend/get_friend_list.go | 2 +- internal/rpc/friend/is_friend.go | 2 +- internal/rpc/friend/is_in_blacklist.go | 2 +- internal/rpc/friend/remove_blacklist.go | 2 +- internal/rpc/friend/set_friend_comment.go | 2 +- internal/rpc/group/create_group.go | 4 ++-- internal/rpc/group/get_group_applicationList.go | 2 +- internal/rpc/group/get_groups_info.go | 2 +- internal/rpc/group/group.go | 4 ++-- internal/rpc/group/group_application_response.go | 2 +- internal/rpc/group/join_group.go | 2 +- internal/rpc/group/quit_group.go | 2 +- internal/rpc/group/set_group_info.go | 2 +- internal/rpc/group/transfer_group_owner.go | 2 +- internal/rpc/user/get_user_info.go | 2 +- .../rpc/user/internal_service/get_user_info_to_client.go | 2 +- internal/rpc/user/management_user.go | 2 +- internal/rpc/user/update_user_info.go | 6 +++--- {src => pkg}/proto/auth/auth.pb.go | 0 {src => pkg}/proto/auth/auth.proto | 0 {src => pkg}/proto/auto_proto.sh | 0 {src => pkg}/proto/chat/chat.pb.go | 0 {src => pkg}/proto/chat/chat.proto | 0 {src => pkg}/proto/friend/friend.pb.go | 0 {src => pkg}/proto/friend/friend.proto | 0 {src => pkg}/proto/group/group.pb.go | 0 {src => pkg}/proto/group/group.proto | 0 {src => pkg}/proto/proto_dir.cfg | 0 {src => pkg}/proto/push/push.pb.go | 0 {src => pkg}/proto/push/push.proto | 0 {src => pkg}/proto/relay/relay.pb.go | 0 {src => pkg}/proto/relay/relay.proto | 0 {src => pkg}/proto/user/user.pb.go | 0 {src => pkg}/proto/user/user.proto | 0 src/common/db/mongoModel.go | 2 +- src/common/db/mysql_model/im_mysql_model/group_model.go | 2 +- src/common/db/mysql_model/im_mysql_model/user_model.go | 2 +- .../db/mysql_model/im_mysql_msg_model/chat_log_model.go | 2 +- src/common/multi_terminal_login/multi_terminal_login.go | 6 +++--- 89 files changed, 90 insertions(+), 90 deletions(-) rename {src => pkg}/proto/auth/auth.pb.go (100%) rename {src => pkg}/proto/auth/auth.proto (100%) rename {src => pkg}/proto/auto_proto.sh (100%) rename {src => pkg}/proto/chat/chat.pb.go (100%) rename {src => pkg}/proto/chat/chat.proto (100%) rename {src => pkg}/proto/friend/friend.pb.go (100%) rename {src => pkg}/proto/friend/friend.proto (100%) rename {src => pkg}/proto/group/group.pb.go (100%) rename {src => pkg}/proto/group/group.proto (100%) rename {src => pkg}/proto/proto_dir.cfg (100%) rename {src => pkg}/proto/push/push.pb.go (100%) rename {src => pkg}/proto/push/push.proto (100%) rename {src => pkg}/proto/relay/relay.pb.go (100%) rename {src => pkg}/proto/relay/relay.proto (100%) rename {src => pkg}/proto/user/user.pb.go (100%) rename {src => pkg}/proto/user/user.proto (100%) diff --git a/internal/api/auth/user_register.go b/internal/api/auth/user_register.go index 72c567df9..b270e345f 100644 --- a/internal/api/auth/user_register.go +++ b/internal/api/auth/user_register.go @@ -1,10 +1,10 @@ package apiAuth import ( + pbAuth "Open_IM/pkg/proto/auth" "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbAuth "Open_IM/src/proto/auth" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/auth/user_token.go b/internal/api/auth/user_token.go index 7f48e7f0b..f018237f2 100644 --- a/internal/api/auth/user_token.go +++ b/internal/api/auth/user_token.go @@ -1,10 +1,10 @@ package apiAuth import ( + pbAuth "Open_IM/pkg/proto/auth" "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbAuth "Open_IM/src/proto/auth" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/chat/newest_seq.go b/internal/api/chat/newest_seq.go index 9fa7e1836..d2131b332 100644 --- a/internal/api/chat/newest_seq.go +++ b/internal/api/chat/newest_seq.go @@ -1,10 +1,10 @@ package apiChat import ( + pbMsg "Open_IM/pkg/proto/chat" "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbMsg "Open_IM/src/proto/chat" "Open_IM/src/utils" "context" "github.com/gin-gonic/gin" diff --git a/internal/api/chat/pull_msg.go b/internal/api/chat/pull_msg.go index 7e62d4f7d..19634a5fa 100644 --- a/internal/api/chat/pull_msg.go +++ b/internal/api/chat/pull_msg.go @@ -1,10 +1,10 @@ package apiChat import ( + "Open_IM/pkg/proto/chat" "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - "Open_IM/src/proto/chat" "Open_IM/src/utils" "context" "github.com/gin-gonic/gin" diff --git a/internal/api/chat/send_msg.go b/internal/api/chat/send_msg.go index ede81abdd..71042bdca 100644 --- a/internal/api/chat/send_msg.go +++ b/internal/api/chat/send_msg.go @@ -1,9 +1,9 @@ package apiChat import ( + pbChat "Open_IM/pkg/proto/chat" "Open_IM/src/common/config" "Open_IM/src/common/log" - pbChat "Open_IM/src/proto/chat" "Open_IM/src/utils" "context" diff --git a/internal/api/friend/add_blacklist.go b/internal/api/friend/add_blacklist.go index 1e03b53ec..51c6cab96 100644 --- a/internal/api/friend/add_blacklist.go +++ b/internal/api/friend/add_blacklist.go @@ -1,10 +1,10 @@ package friend import ( + pbFriend "Open_IM/pkg/proto/friend" "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbFriend "Open_IM/src/proto/friend" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/friend/add_friend.go b/internal/api/friend/add_friend.go index 40fee7dac..8f80da958 100644 --- a/internal/api/friend/add_friend.go +++ b/internal/api/friend/add_friend.go @@ -1,10 +1,10 @@ package friend import ( + pbFriend "Open_IM/pkg/proto/friend" "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbFriend "Open_IM/src/proto/friend" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/friend/add_friend_response.go b/internal/api/friend/add_friend_response.go index 762daa798..d50e520d6 100644 --- a/internal/api/friend/add_friend_response.go +++ b/internal/api/friend/add_friend_response.go @@ -1,10 +1,10 @@ package friend import ( + pbFriend "Open_IM/pkg/proto/friend" "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbFriend "Open_IM/src/proto/friend" "context" "fmt" "github.com/gin-gonic/gin" diff --git a/internal/api/friend/delete_friend.go b/internal/api/friend/delete_friend.go index 47700f423..489efad6c 100644 --- a/internal/api/friend/delete_friend.go +++ b/internal/api/friend/delete_friend.go @@ -1,10 +1,10 @@ package friend import ( + pbFriend "Open_IM/pkg/proto/friend" "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbFriend "Open_IM/src/proto/friend" "context" "fmt" "github.com/gin-gonic/gin" diff --git a/internal/api/friend/get_blcaklist.go b/internal/api/friend/get_blcaklist.go index b1eb995dd..7d0f5cc76 100644 --- a/internal/api/friend/get_blcaklist.go +++ b/internal/api/friend/get_blcaklist.go @@ -1,10 +1,10 @@ package friend import ( + pbFriend "Open_IM/pkg/proto/friend" "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbFriend "Open_IM/src/proto/friend" "context" "fmt" "github.com/gin-gonic/gin" diff --git a/internal/api/friend/get_friend_apply_list.go b/internal/api/friend/get_friend_apply_list.go index 4fb55cf50..35353d229 100644 --- a/internal/api/friend/get_friend_apply_list.go +++ b/internal/api/friend/get_friend_apply_list.go @@ -1,10 +1,10 @@ package friend import ( + pbFriend "Open_IM/pkg/proto/friend" "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbFriend "Open_IM/src/proto/friend" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/friend/get_friend_list.go b/internal/api/friend/get_friend_list.go index f7813cd6c..7fc656ad1 100644 --- a/internal/api/friend/get_friend_list.go +++ b/internal/api/friend/get_friend_list.go @@ -1,10 +1,10 @@ package friend import ( + pbFriend "Open_IM/pkg/proto/friend" "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbFriend "Open_IM/src/proto/friend" "context" "fmt" "github.com/gin-gonic/gin" diff --git a/internal/api/friend/get_friends_info.go b/internal/api/friend/get_friends_info.go index 21266d032..a2e2c21c1 100644 --- a/internal/api/friend/get_friends_info.go +++ b/internal/api/friend/get_friends_info.go @@ -1,10 +1,10 @@ package friend import ( + pbFriend "Open_IM/pkg/proto/friend" "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbFriend "Open_IM/src/proto/friend" "context" "fmt" "github.com/gin-gonic/gin" diff --git a/internal/api/friend/is_friend.go b/internal/api/friend/is_friend.go index f3a7544e2..d2c83ac2a 100644 --- a/internal/api/friend/is_friend.go +++ b/internal/api/friend/is_friend.go @@ -1,10 +1,10 @@ package friend import ( + pbFriend "Open_IM/pkg/proto/friend" "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbFriend "Open_IM/src/proto/friend" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/friend/remove_blacklist.go b/internal/api/friend/remove_blacklist.go index c5fe87132..2573064e5 100644 --- a/internal/api/friend/remove_blacklist.go +++ b/internal/api/friend/remove_blacklist.go @@ -1,10 +1,10 @@ package friend import ( + pbFriend "Open_IM/pkg/proto/friend" "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbFriend "Open_IM/src/proto/friend" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/friend/set_friend_comment.go b/internal/api/friend/set_friend_comment.go index 70816ddd4..9ec0683e8 100644 --- a/internal/api/friend/set_friend_comment.go +++ b/internal/api/friend/set_friend_comment.go @@ -1,10 +1,10 @@ package friend import ( + pbFriend "Open_IM/pkg/proto/friend" "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbFriend "Open_IM/src/proto/friend" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/group/create_group.go b/internal/api/group/create_group.go index af606b424..6b35b123f 100644 --- a/internal/api/group/create_group.go +++ b/internal/api/group/create_group.go @@ -1,10 +1,10 @@ package group import ( + pb "Open_IM/pkg/proto/group" "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pb "Open_IM/src/proto/group" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/group/get_group_applicationList.go b/internal/api/group/get_group_applicationList.go index 5995004cf..342af7a97 100644 --- a/internal/api/group/get_group_applicationList.go +++ b/internal/api/group/get_group_applicationList.go @@ -1,10 +1,10 @@ package group import ( + "Open_IM/pkg/proto/group" "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - "Open_IM/src/proto/group" "Open_IM/src/utils" "context" "github.com/gin-gonic/gin" diff --git a/internal/api/group/get_groups_info.go b/internal/api/group/get_groups_info.go index 8cf9d0fee..7ace5c47a 100644 --- a/internal/api/group/get_groups_info.go +++ b/internal/api/group/get_groups_info.go @@ -1,10 +1,10 @@ package group import ( + pb "Open_IM/pkg/proto/group" "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pb "Open_IM/src/proto/group" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/group/group.go b/internal/api/group/group.go index 1ccecfe06..c4a26c1d0 100644 --- a/internal/api/group/group.go +++ b/internal/api/group/group.go @@ -1,10 +1,10 @@ package group import ( + pb "Open_IM/pkg/proto/group" "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pb "Open_IM/src/proto/group" "context" "fmt" "github.com/gin-gonic/gin" diff --git a/internal/api/group/group_application_response.go b/internal/api/group/group_application_response.go index 76c6b6802..3c4408cb2 100644 --- a/internal/api/group/group_application_response.go +++ b/internal/api/group/group_application_response.go @@ -1,10 +1,10 @@ package group import ( + "Open_IM/pkg/proto/group" "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - "Open_IM/src/proto/group" "Open_IM/src/utils" "context" "github.com/gin-gonic/gin" diff --git a/internal/api/group/join_group.go b/internal/api/group/join_group.go index 08c58f0df..3f739c281 100644 --- a/internal/api/group/join_group.go +++ b/internal/api/group/join_group.go @@ -1,10 +1,10 @@ package group import ( + pb "Open_IM/pkg/proto/group" "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pb "Open_IM/src/proto/group" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/group/quit_group.go b/internal/api/group/quit_group.go index 06ec78686..7daaa4a7e 100644 --- a/internal/api/group/quit_group.go +++ b/internal/api/group/quit_group.go @@ -1,10 +1,10 @@ package group import ( + pb "Open_IM/pkg/proto/group" "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pb "Open_IM/src/proto/group" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/group/set_group_info.go b/internal/api/group/set_group_info.go index dde4fc6e1..9a7bea913 100644 --- a/internal/api/group/set_group_info.go +++ b/internal/api/group/set_group_info.go @@ -1,10 +1,10 @@ package group import ( + pb "Open_IM/pkg/proto/group" "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pb "Open_IM/src/proto/group" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/group/transfer_group_owner.go b/internal/api/group/transfer_group_owner.go index d01429ada..9a5c2ab4d 100644 --- a/internal/api/group/transfer_group_owner.go +++ b/internal/api/group/transfer_group_owner.go @@ -1,10 +1,10 @@ package group import ( + "Open_IM/pkg/proto/group" "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - "Open_IM/src/proto/group" "Open_IM/src/utils" "context" "github.com/gin-gonic/gin" diff --git a/internal/api/manage/management_chat.go b/internal/api/manage/management_chat.go index fd9c89b27..af4e75bce 100644 --- a/internal/api/manage/management_chat.go +++ b/internal/api/manage/management_chat.go @@ -7,11 +7,11 @@ package manage import ( + pbChat "Open_IM/pkg/proto/chat" "Open_IM/src/common/config" "Open_IM/src/common/constant" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbChat "Open_IM/src/proto/chat" "Open_IM/src/utils" "context" "github.com/gin-gonic/gin" diff --git a/internal/api/manage/management_user.go b/internal/api/manage/management_user.go index 578788c8d..4b70d606d 100644 --- a/internal/api/manage/management_user.go +++ b/internal/api/manage/management_user.go @@ -7,10 +7,10 @@ package manage import ( + pbUser "Open_IM/pkg/proto/user" "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbUser "Open_IM/src/proto/user" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/user/get_user_info.go b/internal/api/user/get_user_info.go index 79e79e26c..ed9271a63 100644 --- a/internal/api/user/get_user_info.go +++ b/internal/api/user/get_user_info.go @@ -1,10 +1,10 @@ package user import ( + pbUser "Open_IM/pkg/proto/user" "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbUser "Open_IM/src/proto/user" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/user/update_user_info.go b/internal/api/user/update_user_info.go index 0e296452e..c57da9d98 100644 --- a/internal/api/user/update_user_info.go +++ b/internal/api/user/update_user_info.go @@ -1,10 +1,10 @@ package user import ( + pbUser "Open_IM/pkg/proto/user" "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbUser "Open_IM/src/proto/user" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/msg_gateway/gate/logic.go b/internal/msg_gateway/gate/logic.go index a79fd25c6..381e9c4fe 100644 --- a/internal/msg_gateway/gate/logic.go +++ b/internal/msg_gateway/gate/logic.go @@ -1,11 +1,11 @@ package gate import ( + pbChat "Open_IM/pkg/proto/chat" "Open_IM/src/common/config" "Open_IM/src/common/constant" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbChat "Open_IM/src/proto/chat" "Open_IM/src/utils" "context" "encoding/json" diff --git a/internal/msg_gateway/gate/rpc_server.go b/internal/msg_gateway/gate/rpc_server.go index e9aa28033..90f807e87 100644 --- a/internal/msg_gateway/gate/rpc_server.go +++ b/internal/msg_gateway/gate/rpc_server.go @@ -1,11 +1,11 @@ package gate import ( + pbRelay "Open_IM/pkg/proto/relay" "Open_IM/src/common/config" "Open_IM/src/common/constant" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbRelay "Open_IM/src/proto/relay" "Open_IM/src/utils" "context" "encoding/json" diff --git a/internal/msg_transfer/logic/db.go b/internal/msg_transfer/logic/db.go index 93dccfc2b..9b641b7a4 100644 --- a/internal/msg_transfer/logic/db.go +++ b/internal/msg_transfer/logic/db.go @@ -1,9 +1,9 @@ package logic import ( + pbMsg "Open_IM/pkg/proto/chat" "Open_IM/src/common/db" "Open_IM/src/common/db/mysql_model/im_mysql_model" - pbMsg "Open_IM/src/proto/chat" ) func saveUserChat(uid string, pbMsg *pbMsg.MsgSvrToPushSvrChatMsg) error { diff --git a/internal/msg_transfer/logic/history_msg_handler.go b/internal/msg_transfer/logic/history_msg_handler.go index bea5c20b4..a661f10cf 100644 --- a/internal/msg_transfer/logic/history_msg_handler.go +++ b/internal/msg_transfer/logic/history_msg_handler.go @@ -1,13 +1,13 @@ package logic import ( + pbMsg "Open_IM/pkg/proto/chat" + pbPush "Open_IM/pkg/proto/push" "Open_IM/src/common/config" "Open_IM/src/common/constant" kfk "Open_IM/src/common/kafka" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbMsg "Open_IM/src/proto/chat" - pbPush "Open_IM/src/proto/push" "Open_IM/src/utils" "context" "github.com/Shopify/sarama" diff --git a/internal/msg_transfer/logic/persistent_msg_handler.go b/internal/msg_transfer/logic/persistent_msg_handler.go index 2c7df4b7c..2626d6fd4 100644 --- a/internal/msg_transfer/logic/persistent_msg_handler.go +++ b/internal/msg_transfer/logic/persistent_msg_handler.go @@ -7,12 +7,12 @@ package logic import ( + pbMsg "Open_IM/pkg/proto/chat" "Open_IM/src/common/config" "Open_IM/src/common/constant" "Open_IM/src/common/db/mysql_model/im_mysql_msg_model" kfk "Open_IM/src/common/kafka" "Open_IM/src/common/log" - pbMsg "Open_IM/src/proto/chat" "Open_IM/src/utils" "github.com/Shopify/sarama" "github.com/golang/protobuf/proto" diff --git a/internal/push/logic/push_handler.go b/internal/push/logic/push_handler.go index 01a6115f4..f558d6316 100644 --- a/internal/push/logic/push_handler.go +++ b/internal/push/logic/push_handler.go @@ -10,8 +10,8 @@ import ( "Open_IM/src/common/config" kfk "Open_IM/src/common/kafka" "Open_IM/src/common/log" - pbChat "Open_IM/src/proto/chat" - pbRelay "Open_IM/src/proto/relay" + pbChat "Open_IM/pkg/proto/chat" + pbRelay "Open_IM/pkg/proto/relay" "github.com/Shopify/sarama" "github.com/golang/protobuf/proto" ) diff --git a/internal/push/logic/push_rpc_server.go b/internal/push/logic/push_rpc_server.go index ed128790c..3a880ee5e 100644 --- a/internal/push/logic/push_rpc_server.go +++ b/internal/push/logic/push_rpc_server.go @@ -4,8 +4,8 @@ import ( "Open_IM/src/common/config" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - "Open_IM/src/proto/push" - pbRelay "Open_IM/src/proto/relay" + "Open_IM/pkg/proto/push" + pbRelay "Open_IM/pkg/proto/relay" "Open_IM/src/utils" "context" "google.golang.org/grpc" diff --git a/internal/push/logic/push_to_client.go b/internal/push/logic/push_to_client.go index 3eaad541d..8ee6d1a77 100644 --- a/internal/push/logic/push_to_client.go +++ b/internal/push/logic/push_to_client.go @@ -9,14 +9,14 @@ package logic import ( rpcChat "Open_IM/internal/rpc/chat" "Open_IM/internal/rpc/user/internal_service" + pbChat "Open_IM/pkg/proto/chat" + pbGroup "Open_IM/pkg/proto/group" + pbRelay "Open_IM/pkg/proto/relay" + pbGetInfo "Open_IM/pkg/proto/user" "Open_IM/src/common/config" "Open_IM/src/common/constant" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbChat "Open_IM/src/proto/chat" - pbGroup "Open_IM/src/proto/group" - pbRelay "Open_IM/src/proto/relay" - pbGetInfo "Open_IM/src/proto/user" "Open_IM/src/utils" "context" "encoding/json" diff --git a/internal/rpc/auth/rpcAuth.go b/internal/rpc/auth/rpcAuth.go index 6c88aee83..1ff599ef2 100644 --- a/internal/rpc/auth/rpcAuth.go +++ b/internal/rpc/auth/rpcAuth.go @@ -4,7 +4,7 @@ import ( "Open_IM/src/common/config" log2 "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbAuth "Open_IM/src/proto/auth" + pbAuth "Open_IM/pkg/proto/auth" "Open_IM/src/utils" "google.golang.org/grpc" "net" diff --git a/internal/rpc/auth/user_register.go b/internal/rpc/auth/user_register.go index feef389d5..62068d91a 100644 --- a/internal/rpc/auth/user_register.go +++ b/internal/rpc/auth/user_register.go @@ -3,7 +3,7 @@ package auth import ( "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" - pbAuth "Open_IM/src/proto/auth" + pbAuth "Open_IM/pkg/proto/auth" "context" ) diff --git a/internal/rpc/auth/user_token.go b/internal/rpc/auth/user_token.go index d180caaad..2e1e295bc 100644 --- a/internal/rpc/auth/user_token.go +++ b/internal/rpc/auth/user_token.go @@ -3,7 +3,7 @@ package auth import ( "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" - pbAuth "Open_IM/src/proto/auth" + pbAuth "Open_IM/pkg/proto/auth" "Open_IM/src/utils" "context" ) diff --git a/internal/rpc/chat/pull_message.go b/internal/rpc/chat/pull_message.go index bc172d32b..c5ef5e2d9 100644 --- a/internal/rpc/chat/pull_message.go +++ b/internal/rpc/chat/pull_message.go @@ -10,7 +10,7 @@ import ( "sort" "strings" - pbMsg "Open_IM/src/proto/chat" + pbMsg "Open_IM/pkg/proto/chat" ) func (rpc *rpcChat) GetNewSeq(_ context.Context, in *pbMsg.GetNewSeqReq) (*pbMsg.GetNewSeqResp, error) { diff --git a/internal/rpc/chat/rpcChat.go b/internal/rpc/chat/rpcChat.go index 12ddac3e5..eea41a51d 100644 --- a/internal/rpc/chat/rpcChat.go +++ b/internal/rpc/chat/rpcChat.go @@ -5,7 +5,7 @@ import ( "Open_IM/src/common/kafka" log2 "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbChat "Open_IM/src/proto/chat" + pbChat "Open_IM/pkg/proto/chat" "Open_IM/src/utils" "google.golang.org/grpc" "net" diff --git a/internal/rpc/chat/send_msg.go b/internal/rpc/chat/send_msg.go index cac39f014..c8a420421 100644 --- a/internal/rpc/chat/send_msg.go +++ b/internal/rpc/chat/send_msg.go @@ -8,8 +8,8 @@ import ( http2 "Open_IM/src/common/http" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbChat "Open_IM/src/proto/chat" - pbGroup "Open_IM/src/proto/group" + pbChat "Open_IM/pkg/proto/chat" + pbGroup "Open_IM/pkg/proto/group" "Open_IM/src/utils" "context" "encoding/json" diff --git a/internal/rpc/friend/add_blacklist.go b/internal/rpc/friend/add_blacklist.go index 7efe4e226..e47f62c39 100644 --- a/internal/rpc/friend/add_blacklist.go +++ b/internal/rpc/friend/add_blacklist.go @@ -4,7 +4,7 @@ import ( "Open_IM/src/common/config" "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" - pbFriend "Open_IM/src/proto/friend" + pbFriend "Open_IM/pkg/proto/friend" "Open_IM/src/utils" "context" ) diff --git a/internal/rpc/friend/add_friend.go b/internal/rpc/friend/add_friend.go index 1f20f8d14..cb1c9b3ae 100644 --- a/internal/rpc/friend/add_friend.go +++ b/internal/rpc/friend/add_friend.go @@ -7,8 +7,8 @@ import ( "Open_IM/src/common/constant" "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" - pbChat "Open_IM/src/proto/chat" - pbFriend "Open_IM/src/proto/friend" + pbChat "Open_IM/pkg/proto/chat" + pbFriend "Open_IM/pkg/proto/friend" "Open_IM/src/utils" "context" ) diff --git a/internal/rpc/friend/add_friend_response.go b/internal/rpc/friend/add_friend_response.go index f372f03a6..dee4e03bb 100644 --- a/internal/rpc/friend/add_friend_response.go +++ b/internal/rpc/friend/add_friend_response.go @@ -1,14 +1,14 @@ package friend import ( + "Open_IM/internal/push/content_struct" + "Open_IM/internal/push/logic" + pbChat "Open_IM/pkg/proto/chat" + pbFriend "Open_IM/pkg/proto/friend" "Open_IM/src/common/config" "Open_IM/src/common/constant" "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" - pbChat "Open_IM/src/proto/chat" - pbFriend "Open_IM/src/proto/friend" - "Open_IM/src/push/content_struct" - "Open_IM/src/push/logic" "Open_IM/src/utils" "context" ) diff --git a/internal/rpc/friend/delete_friend.go b/internal/rpc/friend/delete_friend.go index fba59d212..482036195 100644 --- a/internal/rpc/friend/delete_friend.go +++ b/internal/rpc/friend/delete_friend.go @@ -4,7 +4,7 @@ import ( "Open_IM/src/common/config" "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" - pbFriend "Open_IM/src/proto/friend" + pbFriend "Open_IM/pkg/proto/friend" "Open_IM/src/utils" "context" ) diff --git a/internal/rpc/friend/get_blacklist.go b/internal/rpc/friend/get_blacklist.go index 421081b1a..da2fae257 100644 --- a/internal/rpc/friend/get_blacklist.go +++ b/internal/rpc/friend/get_blacklist.go @@ -4,7 +4,7 @@ import ( "Open_IM/src/common/config" "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" - pbFriend "Open_IM/src/proto/friend" + pbFriend "Open_IM/pkg/proto/friend" "Open_IM/src/utils" "context" ) diff --git a/internal/rpc/friend/get_firends_info.go b/internal/rpc/friend/get_firends_info.go index 1da6ebaaf..1ac7f1acf 100644 --- a/internal/rpc/friend/get_firends_info.go +++ b/internal/rpc/friend/get_firends_info.go @@ -6,7 +6,7 @@ import ( "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbFriend "Open_IM/src/proto/friend" + pbFriend "Open_IM/pkg/proto/friend" "Open_IM/src/utils" "context" "fmt" diff --git a/internal/rpc/friend/get_friend_apply_list.go b/internal/rpc/friend/get_friend_apply_list.go index 5e8e15a0f..c1067b77f 100644 --- a/internal/rpc/friend/get_friend_apply_list.go +++ b/internal/rpc/friend/get_friend_apply_list.go @@ -4,7 +4,7 @@ import ( "Open_IM/src/common/config" "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" - pbFriend "Open_IM/src/proto/friend" + pbFriend "Open_IM/pkg/proto/friend" "Open_IM/src/utils" "context" "fmt" diff --git a/internal/rpc/friend/get_friend_list.go b/internal/rpc/friend/get_friend_list.go index 92809ad7f..cab4d3849 100644 --- a/internal/rpc/friend/get_friend_list.go +++ b/internal/rpc/friend/get_friend_list.go @@ -5,7 +5,7 @@ import ( "Open_IM/src/common/constant" "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" - pbFriend "Open_IM/src/proto/friend" + pbFriend "Open_IM/pkg/proto/friend" "Open_IM/src/utils" "context" ) diff --git a/internal/rpc/friend/is_friend.go b/internal/rpc/friend/is_friend.go index f64f3f00f..94233b972 100644 --- a/internal/rpc/friend/is_friend.go +++ b/internal/rpc/friend/is_friend.go @@ -5,7 +5,7 @@ import ( "Open_IM/src/common/constant" "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" - pbFriend "Open_IM/src/proto/friend" + pbFriend "Open_IM/pkg/proto/friend" "Open_IM/src/utils" "context" "fmt" diff --git a/internal/rpc/friend/is_in_blacklist.go b/internal/rpc/friend/is_in_blacklist.go index 3e3e8caa2..a62e9a999 100644 --- a/internal/rpc/friend/is_in_blacklist.go +++ b/internal/rpc/friend/is_in_blacklist.go @@ -3,7 +3,7 @@ package friend import ( "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" - pbFriend "Open_IM/src/proto/friend" + pbFriend "Open_IM/pkg/proto/friend" "context" "fmt" ) diff --git a/internal/rpc/friend/remove_blacklist.go b/internal/rpc/friend/remove_blacklist.go index 7d13d8a2f..1091e3a96 100644 --- a/internal/rpc/friend/remove_blacklist.go +++ b/internal/rpc/friend/remove_blacklist.go @@ -4,7 +4,7 @@ import ( "Open_IM/src/common/config" "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" - pbFriend "Open_IM/src/proto/friend" + pbFriend "Open_IM/pkg/proto/friend" "Open_IM/src/utils" "context" ) diff --git a/internal/rpc/friend/set_friend_comment.go b/internal/rpc/friend/set_friend_comment.go index 66c974f47..489bfe50c 100644 --- a/internal/rpc/friend/set_friend_comment.go +++ b/internal/rpc/friend/set_friend_comment.go @@ -4,7 +4,7 @@ import ( "Open_IM/src/common/config" "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" - pbFriend "Open_IM/src/proto/friend" + pbFriend "Open_IM/pkg/proto/friend" "Open_IM/src/utils" "context" ) diff --git a/internal/rpc/group/create_group.go b/internal/rpc/group/create_group.go index 499522ea4..377207608 100644 --- a/internal/rpc/group/create_group.go +++ b/internal/rpc/group/create_group.go @@ -9,8 +9,8 @@ import ( "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbChat "Open_IM/src/proto/chat" - pbGroup "Open_IM/src/proto/group" + pbChat "Open_IM/pkg/proto/chat" + pbGroup "Open_IM/pkg/proto/group" "Open_IM/src/utils" "context" "google.golang.org/grpc" diff --git a/internal/rpc/group/get_group_applicationList.go b/internal/rpc/group/get_group_applicationList.go index 72cb6e750..0a92ac593 100644 --- a/internal/rpc/group/get_group_applicationList.go +++ b/internal/rpc/group/get_group_applicationList.go @@ -3,7 +3,7 @@ package group import ( "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" - "Open_IM/src/proto/group" + "Open_IM/pkg/proto/group" "context" ) diff --git a/internal/rpc/group/get_groups_info.go b/internal/rpc/group/get_groups_info.go index a7fecc773..7df8d9a28 100644 --- a/internal/rpc/group/get_groups_info.go +++ b/internal/rpc/group/get_groups_info.go @@ -4,7 +4,7 @@ import ( "Open_IM/src/common/config" "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" - pbGroup "Open_IM/src/proto/group" + pbGroup "Open_IM/pkg/proto/group" "Open_IM/src/utils" "context" ) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index b90d20726..0ad390e8f 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -6,12 +6,12 @@ import ( "Open_IM/src/common/config" "Open_IM/src/common/constant" "Open_IM/src/common/db" - pbChat "Open_IM/src/proto/chat" + pbChat "Open_IM/pkg/proto/chat" "encoding/json" imdb "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" - pbGroup "Open_IM/src/proto/group" + pbGroup "Open_IM/pkg/proto/group" "Open_IM/src/utils" "context" diff --git a/internal/rpc/group/group_application_response.go b/internal/rpc/group/group_application_response.go index fc0da6306..9271525c8 100644 --- a/internal/rpc/group/group_application_response.go +++ b/internal/rpc/group/group_application_response.go @@ -4,7 +4,7 @@ import ( "Open_IM/src/common/db" "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" - "Open_IM/src/proto/group" + "Open_IM/pkg/proto/group" "context" ) diff --git a/internal/rpc/group/join_group.go b/internal/rpc/group/join_group.go index a3993f67d..7df09bfe4 100644 --- a/internal/rpc/group/join_group.go +++ b/internal/rpc/group/join_group.go @@ -4,7 +4,7 @@ import ( "Open_IM/src/common/config" "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" - pbGroup "Open_IM/src/proto/group" + pbGroup "Open_IM/pkg/proto/group" "Open_IM/src/utils" "context" ) diff --git a/internal/rpc/group/quit_group.go b/internal/rpc/group/quit_group.go index 9d3a35448..b16f77241 100644 --- a/internal/rpc/group/quit_group.go +++ b/internal/rpc/group/quit_group.go @@ -5,7 +5,7 @@ import ( "Open_IM/src/common/db" "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" - pbGroup "Open_IM/src/proto/group" + pbGroup "Open_IM/pkg/proto/group" "Open_IM/src/utils" "context" ) diff --git a/internal/rpc/group/set_group_info.go b/internal/rpc/group/set_group_info.go index cecec8445..fa4219022 100644 --- a/internal/rpc/group/set_group_info.go +++ b/internal/rpc/group/set_group_info.go @@ -5,7 +5,7 @@ import ( "Open_IM/src/common/constant" "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" - pbGroup "Open_IM/src/proto/group" + pbGroup "Open_IM/pkg/proto/group" "Open_IM/src/utils" "context" ) diff --git a/internal/rpc/group/transfer_group_owner.go b/internal/rpc/group/transfer_group_owner.go index 088241a46..2a989e557 100644 --- a/internal/rpc/group/transfer_group_owner.go +++ b/internal/rpc/group/transfer_group_owner.go @@ -3,7 +3,7 @@ package group import ( "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" - "Open_IM/src/proto/group" + "Open_IM/pkg/proto/group" "context" ) diff --git a/internal/rpc/user/get_user_info.go b/internal/rpc/user/get_user_info.go index 74ee468c4..45c08e899 100644 --- a/internal/rpc/user/get_user_info.go +++ b/internal/rpc/user/get_user_info.go @@ -5,7 +5,7 @@ import ( "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbUser "Open_IM/src/proto/user" + pbUser "Open_IM/pkg/proto/user" "Open_IM/src/utils" "context" "google.golang.org/grpc" diff --git a/internal/rpc/user/internal_service/get_user_info_to_client.go b/internal/rpc/user/internal_service/get_user_info_to_client.go index 8c0b93511..20a89e64f 100644 --- a/internal/rpc/user/internal_service/get_user_info_to_client.go +++ b/internal/rpc/user/internal_service/get_user_info_to_client.go @@ -1,9 +1,9 @@ package internal_service import ( + pbUser "Open_IM/pkg/proto/user" "Open_IM/src/common/config" "Open_IM/src/grpc-etcdv3/getcdv3" - pbUser "Open_IM/src/proto/user" "context" "strings" ) diff --git a/internal/rpc/user/management_user.go b/internal/rpc/user/management_user.go index 7f5e10e03..53462d69f 100644 --- a/internal/rpc/user/management_user.go +++ b/internal/rpc/user/management_user.go @@ -10,7 +10,7 @@ import ( "Open_IM/src/common/config" "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" - pbUser "Open_IM/src/proto/user" + pbUser "Open_IM/pkg/proto/user" "Open_IM/src/utils" "context" ) diff --git a/internal/rpc/user/update_user_info.go b/internal/rpc/user/update_user_info.go index 9a1908757..a0715accb 100644 --- a/internal/rpc/user/update_user_info.go +++ b/internal/rpc/user/update_user_info.go @@ -7,9 +7,9 @@ import ( "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" "Open_IM/src/grpc-etcdv3/getcdv3" - pbChat "Open_IM/src/proto/chat" - pbFriend "Open_IM/src/proto/friend" - pbUser "Open_IM/src/proto/user" + pbChat "Open_IM/pkg/proto/chat" + pbFriend "Open_IM/pkg/proto/friend" + pbUser "Open_IM/pkg/proto/user" "Open_IM/src/utils" "context" "strings" diff --git a/src/proto/auth/auth.pb.go b/pkg/proto/auth/auth.pb.go similarity index 100% rename from src/proto/auth/auth.pb.go rename to pkg/proto/auth/auth.pb.go diff --git a/src/proto/auth/auth.proto b/pkg/proto/auth/auth.proto similarity index 100% rename from src/proto/auth/auth.proto rename to pkg/proto/auth/auth.proto diff --git a/src/proto/auto_proto.sh b/pkg/proto/auto_proto.sh similarity index 100% rename from src/proto/auto_proto.sh rename to pkg/proto/auto_proto.sh diff --git a/src/proto/chat/chat.pb.go b/pkg/proto/chat/chat.pb.go similarity index 100% rename from src/proto/chat/chat.pb.go rename to pkg/proto/chat/chat.pb.go diff --git a/src/proto/chat/chat.proto b/pkg/proto/chat/chat.proto similarity index 100% rename from src/proto/chat/chat.proto rename to pkg/proto/chat/chat.proto diff --git a/src/proto/friend/friend.pb.go b/pkg/proto/friend/friend.pb.go similarity index 100% rename from src/proto/friend/friend.pb.go rename to pkg/proto/friend/friend.pb.go diff --git a/src/proto/friend/friend.proto b/pkg/proto/friend/friend.proto similarity index 100% rename from src/proto/friend/friend.proto rename to pkg/proto/friend/friend.proto diff --git a/src/proto/group/group.pb.go b/pkg/proto/group/group.pb.go similarity index 100% rename from src/proto/group/group.pb.go rename to pkg/proto/group/group.pb.go diff --git a/src/proto/group/group.proto b/pkg/proto/group/group.proto similarity index 100% rename from src/proto/group/group.proto rename to pkg/proto/group/group.proto diff --git a/src/proto/proto_dir.cfg b/pkg/proto/proto_dir.cfg similarity index 100% rename from src/proto/proto_dir.cfg rename to pkg/proto/proto_dir.cfg diff --git a/src/proto/push/push.pb.go b/pkg/proto/push/push.pb.go similarity index 100% rename from src/proto/push/push.pb.go rename to pkg/proto/push/push.pb.go diff --git a/src/proto/push/push.proto b/pkg/proto/push/push.proto similarity index 100% rename from src/proto/push/push.proto rename to pkg/proto/push/push.proto diff --git a/src/proto/relay/relay.pb.go b/pkg/proto/relay/relay.pb.go similarity index 100% rename from src/proto/relay/relay.pb.go rename to pkg/proto/relay/relay.pb.go diff --git a/src/proto/relay/relay.proto b/pkg/proto/relay/relay.proto similarity index 100% rename from src/proto/relay/relay.proto rename to pkg/proto/relay/relay.proto diff --git a/src/proto/user/user.pb.go b/pkg/proto/user/user.pb.go similarity index 100% rename from src/proto/user/user.pb.go rename to pkg/proto/user/user.pb.go diff --git a/src/proto/user/user.proto b/pkg/proto/user/user.proto similarity index 100% rename from src/proto/user/user.proto rename to pkg/proto/user/user.proto diff --git a/src/common/db/mongoModel.go b/src/common/db/mongoModel.go index 3d0a7b4aa..ea532afba 100644 --- a/src/common/db/mongoModel.go +++ b/src/common/db/mongoModel.go @@ -1,9 +1,9 @@ package db import ( + pbMsg "Open_IM/pkg/proto/chat" "Open_IM/src/common/config" "Open_IM/src/common/constant" - pbMsg "Open_IM/src/proto/chat" "errors" "github.com/golang/protobuf/proto" "gopkg.in/mgo.v2/bson" diff --git a/src/common/db/mysql_model/im_mysql_model/group_model.go b/src/common/db/mysql_model/im_mysql_model/group_model.go index 85eab55f2..971779cf2 100644 --- a/src/common/db/mysql_model/im_mysql_model/group_model.go +++ b/src/common/db/mysql_model/im_mysql_model/group_model.go @@ -1,9 +1,9 @@ package im_mysql_model import ( + "Open_IM/pkg/proto/group" "Open_IM/src/common/db" "Open_IM/src/common/log" - "Open_IM/src/proto/group" "errors" "time" ) diff --git a/src/common/db/mysql_model/im_mysql_model/user_model.go b/src/common/db/mysql_model/im_mysql_model/user_model.go index 641eb99bc..54f9df3d2 100644 --- a/src/common/db/mysql_model/im_mysql_model/user_model.go +++ b/src/common/db/mysql_model/im_mysql_model/user_model.go @@ -1,9 +1,9 @@ package im_mysql_model import ( + pbAuth "Open_IM/pkg/proto/auth" "Open_IM/src/common/config" "Open_IM/src/common/db" - pbAuth "Open_IM/src/proto/auth" "Open_IM/src/utils" _ "github.com/jinzhu/gorm/dialects/mysql" "time" diff --git a/src/common/db/mysql_model/im_mysql_msg_model/chat_log_model.go b/src/common/db/mysql_model/im_mysql_msg_model/chat_log_model.go index 58a02e751..5809dacba 100644 --- a/src/common/db/mysql_model/im_mysql_msg_model/chat_log_model.go +++ b/src/common/db/mysql_model/im_mysql_msg_model/chat_log_model.go @@ -7,8 +7,8 @@ package im_mysql_msg_model import ( + pbMsg "Open_IM/pkg/proto/chat" "Open_IM/src/common/db" - pbMsg "Open_IM/src/proto/chat" "Open_IM/src/utils" "database/sql" "time" diff --git a/src/common/multi_terminal_login/multi_terminal_login.go b/src/common/multi_terminal_login/multi_terminal_login.go index 8da527274..278dbd398 100644 --- a/src/common/multi_terminal_login/multi_terminal_login.go +++ b/src/common/multi_terminal_login/multi_terminal_login.go @@ -1,12 +1,12 @@ package multi_terminal_login import ( + "Open_IM/internal/push/content_struct" + "Open_IM/internal/push/logic" + pbChat "Open_IM/pkg/proto/chat" "Open_IM/src/common/config" "Open_IM/src/common/constant" "Open_IM/src/common/db" - pbChat "Open_IM/src/proto/chat" - "Open_IM/src/push/content_struct" - "Open_IM/src/push/logic" "Open_IM/src/utils" ) From 737edb985b3c9f8be531efb6cb26590e76b8ba43 Mon Sep 17 00:00:00 2001 From: xmcy0011 Date: Mon, 11 Oct 2021 22:12:01 +0800 Subject: [PATCH 09/40] mv src/common src/utils src/grpc-etcdv3 to pkg --- cmd/open_im_api/main.go | 2 +- cmd/rpc/open_im_msg/main.go | 2 +- internal/api/auth/user_register.go | 6 +- internal/api/auth/user_token.go | 6 +- internal/api/chat/newest_seq.go | 8 +- internal/api/chat/pull_msg.go | 8 +- internal/api/chat/send_msg.go | 8 +- internal/api/friend/add_blacklist.go | 6 +- internal/api/friend/add_friend.go | 6 +- internal/api/friend/add_friend_response.go | 6 +- internal/api/friend/delete_friend.go | 6 +- internal/api/friend/get_blcaklist.go | 6 +- internal/api/friend/get_friend_apply_list.go | 6 +- internal/api/friend/get_friend_list.go | 6 +- internal/api/friend/get_friends_info.go | 6 +- internal/api/friend/is_friend.go | 6 +- internal/api/friend/remove_blacklist.go | 6 +- internal/api/friend/set_friend_comment.go | 6 +- internal/api/group/create_group.go | 6 +- .../api/group/get_group_applicationList.go | 8 +- internal/api/group/get_groups_info.go | 6 +- internal/api/group/group.go | 6 +- .../api/group/group_application_response.go | 8 +- internal/api/group/join_group.go | 6 +- internal/api/group/quit_group.go | 6 +- internal/api/group/set_group_info.go | 6 +- internal/api/group/transfer_group_owner.go | 8 +- internal/api/manage/management_chat.go | 10 +- internal/api/manage/management_user.go | 6 +- .../third/tencent_cloud_storage_credential.go | 4 +- internal/api/user/get_user_info.go | 6 +- internal/api/user/update_user_info.go | 6 +- internal/msg_gateway/gate/init.go | 4 +- internal/msg_gateway/gate/logic.go | 10 +- internal/msg_gateway/gate/rpc_server.go | 10 +- internal/msg_gateway/gate/validate.go | 4 +- internal/msg_gateway/gate/ws_server.go | 6 +- internal/msg_transfer/logic/db.go | 4 +- .../msg_transfer/logic/history_msg_handler.go | 12 +- internal/msg_transfer/logic/init.go | 6 +- .../logic/persistent_msg_handler.go | 12 +- internal/push/logic/init.go | 8 +- internal/push/logic/push_handler.go | 6 +- internal/push/logic/push_rpc_server.go | 8 +- internal/push/logic/push_to_client.go | 10 +- internal/push/logic/tpns.go | 2 +- internal/rpc/auth/rpcAuth.go | 8 +- internal/rpc/auth/user_register.go | 4 +- internal/rpc/auth/user_token.go | 6 +- internal/rpc/chat/pull_message.go | 4 +- internal/rpc/chat/rpcChat.go | 10 +- internal/rpc/chat/send_msg.go | 12 +- internal/rpc/friend/add_blacklist.go | 8 +- internal/rpc/friend/add_friend.go | 10 +- internal/rpc/friend/add_friend_response.go | 10 +- internal/rpc/friend/delete_friend.go | 8 +- internal/rpc/friend/get_blacklist.go | 8 +- internal/rpc/friend/get_firends_info.go | 12 +- internal/rpc/friend/get_friend_apply_list.go | 8 +- internal/rpc/friend/get_friend_list.go | 10 +- internal/rpc/friend/is_friend.go | 10 +- internal/rpc/friend/is_in_blacklist.go | 4 +- internal/rpc/friend/remove_blacklist.go | 8 +- internal/rpc/friend/set_friend_comment.go | 8 +- internal/rpc/group/create_group.go | 14 +- .../rpc/group/get_group_applicationList.go | 4 +- internal/rpc/group/get_groups_info.go | 8 +- internal/rpc/group/group.go | 12 +- .../rpc/group/group_application_response.go | 6 +- internal/rpc/group/join_group.go | 8 +- internal/rpc/group/quit_group.go | 10 +- internal/rpc/group/set_group_info.go | 10 +- internal/rpc/group/transfer_group_owner.go | 4 +- internal/rpc/user/get_user_info.go | 10 +- .../get_user_info_to_client.go | 4 +- internal/rpc/user/management_user.go | 8 +- internal/rpc/user/update_user_info.go | 12 +- {src => pkg}/common/config/config.go | 0 {src => pkg}/common/config/error.go | 0 {src => pkg}/common/constant/constant.go | 0 {src => pkg}/common/db/model.go | 2 +- {src => pkg}/common/db/mongoModel.go | 4 +- {src => pkg}/common/db/mysql.go | 4 +- .../im_mysql_model/friend_model.go | 2 +- .../im_mysql_model/friend_request_model.go | 2 +- .../im_mysql_model/group_member_model.go | 2 +- .../mysql_model/im_mysql_model/group_model.go | 4 +- .../im_mysql_model/group_request_model.go | 2 +- .../im_mysql_model/model_struct.go | 0 .../im_mysql_model/user_black_list_model.go | 2 +- .../mysql_model/im_mysql_model/user_model.go | 6 +- .../im_mysql_msg_model/chat_log_model.go | 4 +- .../im_mysql_msg_model/hash_code.go | 4 +- .../im_mysql_msg_model/receive_model.go | 0 {src => pkg}/common/db/redisModel.go | 2 +- {src => pkg}/common/http/http_client.go | 0 {src => pkg}/common/kafka/consumer.go | 0 {src => pkg}/common/kafka/consumer_group.go | 0 {src => pkg}/common/kafka/producer.go | 2 +- .../multi_terminal_login.go | 8 +- {src => pkg}/grpc-etcdv3/getcdv3/pool.go | 0 {src => pkg}/grpc-etcdv3/getcdv3/register.go | 0 {src => pkg}/grpc-etcdv3/getcdv3/resolver.go | 0 {src => pkg}/utils/cors_middleware.go | 0 {src => pkg}/utils/file.go | 0 {src => pkg}/utils/get_server_ip.go | 2 +- {src => pkg}/utils/image.go | 0 {src => pkg}/utils/jwt_token.go | 4 +- {src => pkg}/utils/map.go | 0 {src => pkg}/utils/md5.go | 0 .../utils/platform_number_id_to_name.go | 0 {src => pkg}/utils/strings.go | 0 {src => pkg}/utils/time_format.go | 0 src/common/log/es_hk.go | 108 ----------- src/common/log/file_line_hk.go | 60 ------- src/common/log/logrus.go | 167 ------------------ src/common/log/time_format.go | 57 ------ src/timed_task/open_im_timed_task.go | 4 +- src/timed_task/timed_task/timed_task.go | 2 +- 119 files changed, 310 insertions(+), 702 deletions(-) rename {src => pkg}/common/config/config.go (100%) rename {src => pkg}/common/config/error.go (100%) rename {src => pkg}/common/constant/constant.go (100%) rename {src => pkg}/common/db/model.go (98%) rename {src => pkg}/common/db/mongoModel.go (98%) rename {src => pkg}/common/db/mysql.go (99%) rename {src => pkg}/common/db/mysql_model/im_mysql_model/friend_model.go (98%) rename {src => pkg}/common/db/mysql_model/im_mysql_model/friend_request_model.go (98%) rename {src => pkg}/common/db/mysql_model/im_mysql_model/group_member_model.go (99%) rename {src => pkg}/common/db/mysql_model/im_mysql_model/group_model.go (99%) rename {src => pkg}/common/db/mysql_model/im_mysql_model/group_request_model.go (98%) rename {src => pkg}/common/db/mysql_model/im_mysql_model/model_struct.go (100%) rename {src => pkg}/common/db/mysql_model/im_mysql_model/user_black_list_model.go (98%) rename {src => pkg}/common/db/mysql_model/im_mysql_model/user_model.go (97%) rename {src => pkg}/common/db/mysql_model/im_mysql_msg_model/chat_log_model.go (97%) rename {src => pkg}/common/db/mysql_model/im_mysql_msg_model/hash_code.go (94%) rename {src => pkg}/common/db/mysql_model/im_mysql_msg_model/receive_model.go (100%) rename {src => pkg}/common/db/redisModel.go (98%) rename {src => pkg}/common/http/http_client.go (100%) rename {src => pkg}/common/kafka/consumer.go (100%) rename {src => pkg}/common/kafka/consumer_group.go (100%) rename {src => pkg}/common/kafka/producer.go (97%) rename {src => pkg}/common/multi_terminal_login/multi_terminal_login.go (95%) rename {src => pkg}/grpc-etcdv3/getcdv3/pool.go (100%) rename {src => pkg}/grpc-etcdv3/getcdv3/register.go (100%) rename {src => pkg}/grpc-etcdv3/getcdv3/resolver.go (100%) rename {src => pkg}/utils/cors_middleware.go (100%) rename {src => pkg}/utils/file.go (100%) rename {src => pkg}/utils/get_server_ip.go (96%) rename {src => pkg}/utils/image.go (100%) rename {src => pkg}/utils/jwt_token.go (99%) rename {src => pkg}/utils/map.go (100%) rename {src => pkg}/utils/md5.go (100%) rename {src => pkg}/utils/platform_number_id_to_name.go (100%) rename {src => pkg}/utils/strings.go (100%) rename {src => pkg}/utils/time_format.go (100%) delete mode 100644 src/common/log/es_hk.go delete mode 100644 src/common/log/file_line_hk.go delete mode 100644 src/common/log/logrus.go delete mode 100644 src/common/log/time_format.go diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index b22ff0210..cf51724de 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -8,7 +8,7 @@ import ( "Open_IM/internal/api/manage" apiThird "Open_IM/internal/api/third" "Open_IM/internal/api/user" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "flag" "github.com/gin-gonic/gin" "strconv" diff --git a/cmd/rpc/open_im_msg/main.go b/cmd/rpc/open_im_msg/main.go index 26ca9e669..68f5c8931 100644 --- a/cmd/rpc/open_im_msg/main.go +++ b/cmd/rpc/open_im_msg/main.go @@ -2,7 +2,7 @@ package main import ( rpcChat "Open_IM/internal/rpc/chat" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "flag" ) diff --git a/internal/api/auth/user_register.go b/internal/api/auth/user_register.go index b270e345f..55f0a477e 100644 --- a/internal/api/auth/user_register.go +++ b/internal/api/auth/user_register.go @@ -2,9 +2,9 @@ package apiAuth import ( pbAuth "Open_IM/pkg/proto/auth" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/auth/user_token.go b/internal/api/auth/user_token.go index f018237f2..1d6036458 100644 --- a/internal/api/auth/user_token.go +++ b/internal/api/auth/user_token.go @@ -2,9 +2,9 @@ package apiAuth import ( pbAuth "Open_IM/pkg/proto/auth" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/chat/newest_seq.go b/internal/api/chat/newest_seq.go index d2131b332..03d0cee32 100644 --- a/internal/api/chat/newest_seq.go +++ b/internal/api/chat/newest_seq.go @@ -2,10 +2,10 @@ package apiChat import ( pbMsg "Open_IM/pkg/proto/chat" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" - "Open_IM/src/utils" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/chat/pull_msg.go b/internal/api/chat/pull_msg.go index 19634a5fa..0e1c85df3 100644 --- a/internal/api/chat/pull_msg.go +++ b/internal/api/chat/pull_msg.go @@ -2,10 +2,10 @@ package apiChat import ( "Open_IM/pkg/proto/chat" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" - "Open_IM/src/utils" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/chat/send_msg.go b/internal/api/chat/send_msg.go index 71042bdca..46264b867 100644 --- a/internal/api/chat/send_msg.go +++ b/internal/api/chat/send_msg.go @@ -2,12 +2,12 @@ package apiChat import ( pbChat "Open_IM/pkg/proto/chat" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/utils" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/common" "context" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "github.com/gin-gonic/gin" "net/http" "strings" diff --git a/internal/api/friend/add_blacklist.go b/internal/api/friend/add_blacklist.go index 51c6cab96..e0969faf3 100644 --- a/internal/api/friend/add_blacklist.go +++ b/internal/api/friend/add_blacklist.go @@ -2,9 +2,9 @@ package friend import ( pbFriend "Open_IM/pkg/proto/friend" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/friend/add_friend.go b/internal/api/friend/add_friend.go index 8f80da958..63f8be35b 100644 --- a/internal/api/friend/add_friend.go +++ b/internal/api/friend/add_friend.go @@ -2,9 +2,9 @@ package friend import ( pbFriend "Open_IM/pkg/proto/friend" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/friend/add_friend_response.go b/internal/api/friend/add_friend_response.go index d50e520d6..37e801b3e 100644 --- a/internal/api/friend/add_friend_response.go +++ b/internal/api/friend/add_friend_response.go @@ -2,9 +2,9 @@ package friend import ( pbFriend "Open_IM/pkg/proto/friend" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "context" "fmt" "github.com/gin-gonic/gin" diff --git a/internal/api/friend/delete_friend.go b/internal/api/friend/delete_friend.go index 489efad6c..4bdbedeee 100644 --- a/internal/api/friend/delete_friend.go +++ b/internal/api/friend/delete_friend.go @@ -2,9 +2,9 @@ package friend import ( pbFriend "Open_IM/pkg/proto/friend" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "context" "fmt" "github.com/gin-gonic/gin" diff --git a/internal/api/friend/get_blcaklist.go b/internal/api/friend/get_blcaklist.go index 7d0f5cc76..5e875a5e8 100644 --- a/internal/api/friend/get_blcaklist.go +++ b/internal/api/friend/get_blcaklist.go @@ -2,9 +2,9 @@ package friend import ( pbFriend "Open_IM/pkg/proto/friend" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "context" "fmt" "github.com/gin-gonic/gin" diff --git a/internal/api/friend/get_friend_apply_list.go b/internal/api/friend/get_friend_apply_list.go index 35353d229..d7ca192e4 100644 --- a/internal/api/friend/get_friend_apply_list.go +++ b/internal/api/friend/get_friend_apply_list.go @@ -2,9 +2,9 @@ package friend import ( pbFriend "Open_IM/pkg/proto/friend" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/friend/get_friend_list.go b/internal/api/friend/get_friend_list.go index 7fc656ad1..db1361572 100644 --- a/internal/api/friend/get_friend_list.go +++ b/internal/api/friend/get_friend_list.go @@ -2,9 +2,9 @@ package friend import ( pbFriend "Open_IM/pkg/proto/friend" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "context" "fmt" "github.com/gin-gonic/gin" diff --git a/internal/api/friend/get_friends_info.go b/internal/api/friend/get_friends_info.go index a2e2c21c1..47ee88a10 100644 --- a/internal/api/friend/get_friends_info.go +++ b/internal/api/friend/get_friends_info.go @@ -2,9 +2,9 @@ package friend import ( pbFriend "Open_IM/pkg/proto/friend" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "context" "fmt" "github.com/gin-gonic/gin" diff --git a/internal/api/friend/is_friend.go b/internal/api/friend/is_friend.go index d2c83ac2a..e10c969f3 100644 --- a/internal/api/friend/is_friend.go +++ b/internal/api/friend/is_friend.go @@ -2,9 +2,9 @@ package friend import ( pbFriend "Open_IM/pkg/proto/friend" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/friend/remove_blacklist.go b/internal/api/friend/remove_blacklist.go index 2573064e5..57a018513 100644 --- a/internal/api/friend/remove_blacklist.go +++ b/internal/api/friend/remove_blacklist.go @@ -2,9 +2,9 @@ package friend import ( pbFriend "Open_IM/pkg/proto/friend" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/friend/set_friend_comment.go b/internal/api/friend/set_friend_comment.go index 9ec0683e8..e16f7e598 100644 --- a/internal/api/friend/set_friend_comment.go +++ b/internal/api/friend/set_friend_comment.go @@ -2,9 +2,9 @@ package friend import ( pbFriend "Open_IM/pkg/proto/friend" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/group/create_group.go b/internal/api/group/create_group.go index 6b35b123f..fd9cc14f7 100644 --- a/internal/api/group/create_group.go +++ b/internal/api/group/create_group.go @@ -2,9 +2,9 @@ package group import ( pb "Open_IM/pkg/proto/group" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/group/get_group_applicationList.go b/internal/api/group/get_group_applicationList.go index 342af7a97..faceb921e 100644 --- a/internal/api/group/get_group_applicationList.go +++ b/internal/api/group/get_group_applicationList.go @@ -1,11 +1,11 @@ package group import ( + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "Open_IM/pkg/proto/group" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/group/get_groups_info.go b/internal/api/group/get_groups_info.go index 7ace5c47a..b2825485a 100644 --- a/internal/api/group/get_groups_info.go +++ b/internal/api/group/get_groups_info.go @@ -2,9 +2,9 @@ package group import ( pb "Open_IM/pkg/proto/group" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/group/group.go b/internal/api/group/group.go index c4a26c1d0..e26d235b2 100644 --- a/internal/api/group/group.go +++ b/internal/api/group/group.go @@ -2,9 +2,9 @@ package group import ( pb "Open_IM/pkg/proto/group" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "context" "fmt" "github.com/gin-gonic/gin" diff --git a/internal/api/group/group_application_response.go b/internal/api/group/group_application_response.go index 3c4408cb2..70dd966eb 100644 --- a/internal/api/group/group_application_response.go +++ b/internal/api/group/group_application_response.go @@ -1,11 +1,11 @@ package group import ( + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "Open_IM/pkg/proto/group" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/group/join_group.go b/internal/api/group/join_group.go index 3f739c281..5e85e288e 100644 --- a/internal/api/group/join_group.go +++ b/internal/api/group/join_group.go @@ -2,9 +2,9 @@ package group import ( pb "Open_IM/pkg/proto/group" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/group/quit_group.go b/internal/api/group/quit_group.go index 7daaa4a7e..1caea9d0a 100644 --- a/internal/api/group/quit_group.go +++ b/internal/api/group/quit_group.go @@ -2,9 +2,9 @@ package group import ( pb "Open_IM/pkg/proto/group" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/group/set_group_info.go b/internal/api/group/set_group_info.go index 9a7bea913..03a3f8c43 100644 --- a/internal/api/group/set_group_info.go +++ b/internal/api/group/set_group_info.go @@ -2,9 +2,9 @@ package group import ( pb "Open_IM/pkg/proto/group" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/group/transfer_group_owner.go b/internal/api/group/transfer_group_owner.go index 9a5c2ab4d..f7baaba3f 100644 --- a/internal/api/group/transfer_group_owner.go +++ b/internal/api/group/transfer_group_owner.go @@ -1,11 +1,11 @@ package group import ( + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "Open_IM/pkg/proto/group" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/manage/management_chat.go b/internal/api/manage/management_chat.go index af4e75bce..99ad3e73a 100644 --- a/internal/api/manage/management_chat.go +++ b/internal/api/manage/management_chat.go @@ -8,11 +8,11 @@ package manage import ( pbChat "Open_IM/pkg/proto/chat" - "Open_IM/src/common/config" - "Open_IM/src/common/constant" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" - "Open_IM/src/utils" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common" "context" "github.com/gin-gonic/gin" "github.com/go-playground/validator/v10" diff --git a/internal/api/manage/management_user.go b/internal/api/manage/management_user.go index 4b70d606d..cd43fd59b 100644 --- a/internal/api/manage/management_user.go +++ b/internal/api/manage/management_user.go @@ -8,9 +8,9 @@ package manage import ( pbUser "Open_IM/pkg/proto/user" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/third/tencent_cloud_storage_credential.go b/internal/api/third/tencent_cloud_storage_credential.go index 5c6628d02..af68d8fd8 100644 --- a/internal/api/third/tencent_cloud_storage_credential.go +++ b/internal/api/third/tencent_cloud_storage_credential.go @@ -1,8 +1,8 @@ package apiThird import ( - "Open_IM/src/common/config" - log2 "Open_IM/src/common/log" + "Open_IM/pkg/common/config" + log2 "Open_IM/pkg/common/log" "github.com/gin-gonic/gin" sts "github.com/tencentyun/qcloud-cos-sts-sdk/go" "net/http" diff --git a/internal/api/user/get_user_info.go b/internal/api/user/get_user_info.go index ed9271a63..4e93787b5 100644 --- a/internal/api/user/get_user_info.go +++ b/internal/api/user/get_user_info.go @@ -2,9 +2,9 @@ package user import ( pbUser "Open_IM/pkg/proto/user" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/user/update_user_info.go b/internal/api/user/update_user_info.go index c57da9d98..1bcc32117 100644 --- a/internal/api/user/update_user_info.go +++ b/internal/api/user/update_user_info.go @@ -2,9 +2,9 @@ package user import ( pbUser "Open_IM/pkg/proto/user" - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/msg_gateway/gate/init.go b/internal/msg_gateway/gate/init.go index 510cdaefc..03f82f3ad 100644 --- a/internal/msg_gateway/gate/init.go +++ b/internal/msg_gateway/gate/init.go @@ -1,8 +1,8 @@ package gate import ( - "Open_IM/src/common/config" - "Open_IM/src/common/log" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" "github.com/go-playground/validator/v10" "sync" ) diff --git a/internal/msg_gateway/gate/logic.go b/internal/msg_gateway/gate/logic.go index 381e9c4fe..ab20158cd 100644 --- a/internal/msg_gateway/gate/logic.go +++ b/internal/msg_gateway/gate/logic.go @@ -1,12 +1,12 @@ package gate import ( + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" pbChat "Open_IM/pkg/proto/chat" - "Open_IM/src/common/config" - "Open_IM/src/common/constant" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" "encoding/json" "github.com/gorilla/websocket" diff --git a/internal/msg_gateway/gate/rpc_server.go b/internal/msg_gateway/gate/rpc_server.go index 90f807e87..fc43493e3 100644 --- a/internal/msg_gateway/gate/rpc_server.go +++ b/internal/msg_gateway/gate/rpc_server.go @@ -1,12 +1,12 @@ package gate import ( + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" pbRelay "Open_IM/pkg/proto/relay" - "Open_IM/src/common/config" - "Open_IM/src/common/constant" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" "encoding/json" "fmt" diff --git a/internal/msg_gateway/gate/validate.go b/internal/msg_gateway/gate/validate.go index a7a75f8e8..8c701576e 100644 --- a/internal/msg_gateway/gate/validate.go +++ b/internal/msg_gateway/gate/validate.go @@ -7,8 +7,8 @@ package gate import ( - "Open_IM/src/common/constant" - "Open_IM/src/common/log" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/log" "github.com/mitchellh/mapstructure" ) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index ffc14680d..1a0f5a1a2 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -1,9 +1,9 @@ package gate import ( - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/utils" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/utils" "github.com/gorilla/websocket" "net/http" "time" diff --git a/internal/msg_transfer/logic/db.go b/internal/msg_transfer/logic/db.go index 9b641b7a4..d88d6d452 100644 --- a/internal/msg_transfer/logic/db.go +++ b/internal/msg_transfer/logic/db.go @@ -2,8 +2,8 @@ package logic import ( pbMsg "Open_IM/pkg/proto/chat" - "Open_IM/src/common/db" - "Open_IM/src/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/db" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" ) func saveUserChat(uid string, pbMsg *pbMsg.MsgSvrToPushSvrChatMsg) error { diff --git a/internal/msg_transfer/logic/history_msg_handler.go b/internal/msg_transfer/logic/history_msg_handler.go index a661f10cf..9833bf05b 100644 --- a/internal/msg_transfer/logic/history_msg_handler.go +++ b/internal/msg_transfer/logic/history_msg_handler.go @@ -1,14 +1,14 @@ package logic import ( + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" + kfk "Open_IM/pkg/common/kafka" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" pbMsg "Open_IM/pkg/proto/chat" pbPush "Open_IM/pkg/proto/push" - "Open_IM/src/common/config" - "Open_IM/src/common/constant" - kfk "Open_IM/src/common/kafka" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" "github.com/Shopify/sarama" "github.com/golang/protobuf/proto" diff --git a/internal/msg_transfer/logic/init.go b/internal/msg_transfer/logic/init.go index 03a7d2c33..cce434d99 100644 --- a/internal/msg_transfer/logic/init.go +++ b/internal/msg_transfer/logic/init.go @@ -1,9 +1,9 @@ package logic import ( - "Open_IM/src/common/config" - "Open_IM/src/common/kafka" - "Open_IM/src/common/log" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/kafka" + "Open_IM/pkg/common/log" ) var ( diff --git a/internal/msg_transfer/logic/persistent_msg_handler.go b/internal/msg_transfer/logic/persistent_msg_handler.go index 2626d6fd4..88039041c 100644 --- a/internal/msg_transfer/logic/persistent_msg_handler.go +++ b/internal/msg_transfer/logic/persistent_msg_handler.go @@ -7,13 +7,13 @@ package logic import ( + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/db/mysql_model/im_mysql_msg_model" + kfk "Open_IM/pkg/common/kafka" + "Open_IM/pkg/common/log" pbMsg "Open_IM/pkg/proto/chat" - "Open_IM/src/common/config" - "Open_IM/src/common/constant" - "Open_IM/src/common/db/mysql_model/im_mysql_msg_model" - kfk "Open_IM/src/common/kafka" - "Open_IM/src/common/log" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "github.com/Shopify/sarama" "github.com/golang/protobuf/proto" "strings" diff --git a/internal/push/logic/init.go b/internal/push/logic/init.go index a7be054b8..be36469b2 100644 --- a/internal/push/logic/init.go +++ b/internal/push/logic/init.go @@ -7,10 +7,10 @@ package logic import ( - "Open_IM/src/common/config" - "Open_IM/src/common/kafka" - "Open_IM/src/common/log" - "Open_IM/src/utils" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/kafka" + "Open_IM/pkg/common/log" + "Open_IM/pkg/utils" ) var ( diff --git a/internal/push/logic/push_handler.go b/internal/push/logic/push_handler.go index f558d6316..22382a5b9 100644 --- a/internal/push/logic/push_handler.go +++ b/internal/push/logic/push_handler.go @@ -7,9 +7,9 @@ package logic import ( - "Open_IM/src/common/config" - kfk "Open_IM/src/common/kafka" - "Open_IM/src/common/log" + "Open_IM/pkg/common/config" + kfk "Open_IM/pkg/common/kafka" + "Open_IM/pkg/common/log" pbChat "Open_IM/pkg/proto/chat" pbRelay "Open_IM/pkg/proto/relay" "github.com/Shopify/sarama" diff --git a/internal/push/logic/push_rpc_server.go b/internal/push/logic/push_rpc_server.go index 3a880ee5e..ca0e93880 100644 --- a/internal/push/logic/push_rpc_server.go +++ b/internal/push/logic/push_rpc_server.go @@ -1,12 +1,12 @@ package logic import ( - "Open_IM/src/common/config" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "Open_IM/pkg/proto/push" pbRelay "Open_IM/pkg/proto/relay" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" "google.golang.org/grpc" "net" diff --git a/internal/push/logic/push_to_client.go b/internal/push/logic/push_to_client.go index 8ee6d1a77..17ac47076 100644 --- a/internal/push/logic/push_to_client.go +++ b/internal/push/logic/push_to_client.go @@ -9,15 +9,15 @@ package logic import ( rpcChat "Open_IM/internal/rpc/chat" "Open_IM/internal/rpc/user/internal_service" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/log" pbChat "Open_IM/pkg/proto/chat" pbGroup "Open_IM/pkg/proto/group" pbRelay "Open_IM/pkg/proto/relay" pbGetInfo "Open_IM/pkg/proto/user" - "Open_IM/src/common/config" - "Open_IM/src/common/constant" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" - "Open_IM/src/utils" + "Open_IM/pkg/utils" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "context" "encoding/json" "fmt" diff --git a/internal/push/logic/tpns.go b/internal/push/logic/tpns.go index 6a5dc1e56..3d737f4a7 100644 --- a/internal/push/logic/tpns.go +++ b/internal/push/logic/tpns.go @@ -5,7 +5,7 @@ import ( "Open_IM/internal/push/sdk/tpns-server-sdk-go/go/auth" "Open_IM/internal/push/sdk/tpns-server-sdk-go/go/common" "Open_IM/internal/push/sdk/tpns-server-sdk-go/go/req" - "Open_IM/src/common/config" + "Open_IM/pkg/common/config" ) var badgeType = -2 diff --git a/internal/rpc/auth/rpcAuth.go b/internal/rpc/auth/rpcAuth.go index 1ff599ef2..414603d1a 100644 --- a/internal/rpc/auth/rpcAuth.go +++ b/internal/rpc/auth/rpcAuth.go @@ -1,11 +1,11 @@ package auth import ( - "Open_IM/src/common/config" - log2 "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + log2 "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" pbAuth "Open_IM/pkg/proto/auth" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "google.golang.org/grpc" "net" "strconv" diff --git a/internal/rpc/auth/user_register.go b/internal/rpc/auth/user_register.go index 62068d91a..3f5de7032 100644 --- a/internal/rpc/auth/user_register.go +++ b/internal/rpc/auth/user_register.go @@ -1,8 +1,8 @@ package auth import ( - "Open_IM/src/common/db/mysql_model/im_mysql_model" - "Open_IM/src/common/log" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" pbAuth "Open_IM/pkg/proto/auth" "context" ) diff --git a/internal/rpc/auth/user_token.go b/internal/rpc/auth/user_token.go index 2e1e295bc..73b544d64 100644 --- a/internal/rpc/auth/user_token.go +++ b/internal/rpc/auth/user_token.go @@ -1,10 +1,10 @@ package auth import ( - "Open_IM/src/common/db/mysql_model/im_mysql_model" - "Open_IM/src/common/log" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" pbAuth "Open_IM/pkg/proto/auth" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" ) diff --git a/internal/rpc/chat/pull_message.go b/internal/rpc/chat/pull_message.go index c5ef5e2d9..941c3a9b1 100644 --- a/internal/rpc/chat/pull_message.go +++ b/internal/rpc/chat/pull_message.go @@ -4,8 +4,8 @@ import ( "context" "github.com/garyburd/redigo/redis" - commonDB "Open_IM/src/common/db" - "Open_IM/src/common/log" + commonDB "Open_IM/pkg/common/db" + "Open_IM/pkg/common/log" "sort" "strings" diff --git a/internal/rpc/chat/rpcChat.go b/internal/rpc/chat/rpcChat.go index eea41a51d..0ea261946 100644 --- a/internal/rpc/chat/rpcChat.go +++ b/internal/rpc/chat/rpcChat.go @@ -1,12 +1,12 @@ package chat import ( - "Open_IM/src/common/config" - "Open_IM/src/common/kafka" - log2 "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/kafka" + log2 "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" pbChat "Open_IM/pkg/proto/chat" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "google.golang.org/grpc" "net" "strconv" diff --git a/internal/rpc/chat/send_msg.go b/internal/rpc/chat/send_msg.go index c8a420421..87f363a8f 100644 --- a/internal/rpc/chat/send_msg.go +++ b/internal/rpc/chat/send_msg.go @@ -3,14 +3,14 @@ package chat import ( "Open_IM/internal/api/group" "Open_IM/internal/push/content_struct" - "Open_IM/src/common/config" - "Open_IM/src/common/constant" - http2 "Open_IM/src/common/http" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" + http2 "Open_IM/pkg/common/http" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" pbChat "Open_IM/pkg/proto/chat" pbGroup "Open_IM/pkg/proto/group" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" "encoding/json" "math/rand" diff --git a/internal/rpc/friend/add_blacklist.go b/internal/rpc/friend/add_blacklist.go index e47f62c39..f490a2934 100644 --- a/internal/rpc/friend/add_blacklist.go +++ b/internal/rpc/friend/add_blacklist.go @@ -1,11 +1,11 @@ package friend import ( - "Open_IM/src/common/config" - "Open_IM/src/common/db/mysql_model/im_mysql_model" - "Open_IM/src/common/log" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" pbFriend "Open_IM/pkg/proto/friend" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" ) diff --git a/internal/rpc/friend/add_friend.go b/internal/rpc/friend/add_friend.go index cb1c9b3ae..1540f9a8b 100644 --- a/internal/rpc/friend/add_friend.go +++ b/internal/rpc/friend/add_friend.go @@ -3,13 +3,13 @@ package friend import ( "Open_IM/internal/push/content_struct" "Open_IM/internal/push/logic" - "Open_IM/src/common/config" - "Open_IM/src/common/constant" - "Open_IM/src/common/db/mysql_model/im_mysql_model" - "Open_IM/src/common/log" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" pbChat "Open_IM/pkg/proto/chat" pbFriend "Open_IM/pkg/proto/friend" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" ) diff --git a/internal/rpc/friend/add_friend_response.go b/internal/rpc/friend/add_friend_response.go index dee4e03bb..048110a23 100644 --- a/internal/rpc/friend/add_friend_response.go +++ b/internal/rpc/friend/add_friend_response.go @@ -3,13 +3,13 @@ package friend import ( "Open_IM/internal/push/content_struct" "Open_IM/internal/push/logic" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" pbChat "Open_IM/pkg/proto/chat" pbFriend "Open_IM/pkg/proto/friend" - "Open_IM/src/common/config" - "Open_IM/src/common/constant" - "Open_IM/src/common/db/mysql_model/im_mysql_model" - "Open_IM/src/common/log" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" ) diff --git a/internal/rpc/friend/delete_friend.go b/internal/rpc/friend/delete_friend.go index 482036195..2b11988b8 100644 --- a/internal/rpc/friend/delete_friend.go +++ b/internal/rpc/friend/delete_friend.go @@ -1,11 +1,11 @@ package friend import ( - "Open_IM/src/common/config" - "Open_IM/src/common/db/mysql_model/im_mysql_model" - "Open_IM/src/common/log" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" pbFriend "Open_IM/pkg/proto/friend" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" ) diff --git a/internal/rpc/friend/get_blacklist.go b/internal/rpc/friend/get_blacklist.go index da2fae257..99d57fb25 100644 --- a/internal/rpc/friend/get_blacklist.go +++ b/internal/rpc/friend/get_blacklist.go @@ -1,11 +1,11 @@ package friend import ( - "Open_IM/src/common/config" - "Open_IM/src/common/db/mysql_model/im_mysql_model" - "Open_IM/src/common/log" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" pbFriend "Open_IM/pkg/proto/friend" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" ) diff --git a/internal/rpc/friend/get_firends_info.go b/internal/rpc/friend/get_firends_info.go index 1ac7f1acf..5c449d91f 100644 --- a/internal/rpc/friend/get_firends_info.go +++ b/internal/rpc/friend/get_firends_info.go @@ -1,13 +1,13 @@ package friend import ( - "Open_IM/src/common/config" - "Open_IM/src/common/constant" - "Open_IM/src/common/db/mysql_model/im_mysql_model" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" pbFriend "Open_IM/pkg/proto/friend" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" "fmt" "google.golang.org/grpc" diff --git a/internal/rpc/friend/get_friend_apply_list.go b/internal/rpc/friend/get_friend_apply_list.go index c1067b77f..556576f71 100644 --- a/internal/rpc/friend/get_friend_apply_list.go +++ b/internal/rpc/friend/get_friend_apply_list.go @@ -1,11 +1,11 @@ package friend import ( - "Open_IM/src/common/config" - "Open_IM/src/common/db/mysql_model/im_mysql_model" - "Open_IM/src/common/log" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" pbFriend "Open_IM/pkg/proto/friend" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" "fmt" "strconv" diff --git a/internal/rpc/friend/get_friend_list.go b/internal/rpc/friend/get_friend_list.go index cab4d3849..0674cdc53 100644 --- a/internal/rpc/friend/get_friend_list.go +++ b/internal/rpc/friend/get_friend_list.go @@ -1,12 +1,12 @@ package friend import ( - "Open_IM/src/common/config" - "Open_IM/src/common/constant" - "Open_IM/src/common/db/mysql_model/im_mysql_model" - "Open_IM/src/common/log" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" pbFriend "Open_IM/pkg/proto/friend" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" ) diff --git a/internal/rpc/friend/is_friend.go b/internal/rpc/friend/is_friend.go index 94233b972..3690423e7 100644 --- a/internal/rpc/friend/is_friend.go +++ b/internal/rpc/friend/is_friend.go @@ -1,12 +1,12 @@ package friend import ( - "Open_IM/src/common/config" - "Open_IM/src/common/constant" - "Open_IM/src/common/db/mysql_model/im_mysql_model" - "Open_IM/src/common/log" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" pbFriend "Open_IM/pkg/proto/friend" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" "fmt" ) diff --git a/internal/rpc/friend/is_in_blacklist.go b/internal/rpc/friend/is_in_blacklist.go index a62e9a999..6275f5300 100644 --- a/internal/rpc/friend/is_in_blacklist.go +++ b/internal/rpc/friend/is_in_blacklist.go @@ -1,8 +1,8 @@ package friend import ( - "Open_IM/src/common/db/mysql_model/im_mysql_model" - "Open_IM/src/common/log" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" pbFriend "Open_IM/pkg/proto/friend" "context" "fmt" diff --git a/internal/rpc/friend/remove_blacklist.go b/internal/rpc/friend/remove_blacklist.go index 1091e3a96..af163e86d 100644 --- a/internal/rpc/friend/remove_blacklist.go +++ b/internal/rpc/friend/remove_blacklist.go @@ -1,11 +1,11 @@ package friend import ( - "Open_IM/src/common/config" - "Open_IM/src/common/db/mysql_model/im_mysql_model" - "Open_IM/src/common/log" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" pbFriend "Open_IM/pkg/proto/friend" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" ) diff --git a/internal/rpc/friend/set_friend_comment.go b/internal/rpc/friend/set_friend_comment.go index 489bfe50c..8b7331935 100644 --- a/internal/rpc/friend/set_friend_comment.go +++ b/internal/rpc/friend/set_friend_comment.go @@ -1,11 +1,11 @@ package friend import ( - "Open_IM/src/common/config" - "Open_IM/src/common/db/mysql_model/im_mysql_model" - "Open_IM/src/common/log" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" pbFriend "Open_IM/pkg/proto/friend" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" ) diff --git a/internal/rpc/group/create_group.go b/internal/rpc/group/create_group.go index 377207608..40f3d3af2 100644 --- a/internal/rpc/group/create_group.go +++ b/internal/rpc/group/create_group.go @@ -3,15 +3,15 @@ package group import ( "Open_IM/internal/push/content_struct" "Open_IM/internal/push/logic" - "Open_IM/src/common/config" - "Open_IM/src/common/constant" - "Open_IM/src/common/db" - "Open_IM/src/common/db/mysql_model/im_mysql_model" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/db" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" pbChat "Open_IM/pkg/proto/chat" pbGroup "Open_IM/pkg/proto/group" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" "google.golang.org/grpc" "net" diff --git a/internal/rpc/group/get_group_applicationList.go b/internal/rpc/group/get_group_applicationList.go index 0a92ac593..a08b32f8e 100644 --- a/internal/rpc/group/get_group_applicationList.go +++ b/internal/rpc/group/get_group_applicationList.go @@ -1,8 +1,8 @@ package group import ( - "Open_IM/src/common/db/mysql_model/im_mysql_model" - "Open_IM/src/common/log" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" "Open_IM/pkg/proto/group" "context" ) diff --git a/internal/rpc/group/get_groups_info.go b/internal/rpc/group/get_groups_info.go index 7df8d9a28..667e3c84f 100644 --- a/internal/rpc/group/get_groups_info.go +++ b/internal/rpc/group/get_groups_info.go @@ -1,11 +1,11 @@ package group import ( - "Open_IM/src/common/config" - "Open_IM/src/common/db/mysql_model/im_mysql_model" - "Open_IM/src/common/log" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" pbGroup "Open_IM/pkg/proto/group" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" ) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 0ad390e8f..7a3f954f9 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -3,16 +3,16 @@ package group import ( "Open_IM/internal/push/content_struct" "Open_IM/internal/push/logic" - "Open_IM/src/common/config" - "Open_IM/src/common/constant" - "Open_IM/src/common/db" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/db" pbChat "Open_IM/pkg/proto/chat" "encoding/json" - imdb "Open_IM/src/common/db/mysql_model/im_mysql_model" - "Open_IM/src/common/log" + imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" pbGroup "Open_IM/pkg/proto/group" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" "fmt" diff --git a/internal/rpc/group/group_application_response.go b/internal/rpc/group/group_application_response.go index 9271525c8..4282de51b 100644 --- a/internal/rpc/group/group_application_response.go +++ b/internal/rpc/group/group_application_response.go @@ -1,9 +1,9 @@ package group import ( - "Open_IM/src/common/db" - "Open_IM/src/common/db/mysql_model/im_mysql_model" - "Open_IM/src/common/log" + "Open_IM/pkg/common/db" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" "Open_IM/pkg/proto/group" "context" ) diff --git a/internal/rpc/group/join_group.go b/internal/rpc/group/join_group.go index 7df09bfe4..4b1c88c89 100644 --- a/internal/rpc/group/join_group.go +++ b/internal/rpc/group/join_group.go @@ -1,11 +1,11 @@ package group import ( - "Open_IM/src/common/config" - "Open_IM/src/common/db/mysql_model/im_mysql_model" - "Open_IM/src/common/log" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" pbGroup "Open_IM/pkg/proto/group" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" ) diff --git a/internal/rpc/group/quit_group.go b/internal/rpc/group/quit_group.go index b16f77241..5906832a2 100644 --- a/internal/rpc/group/quit_group.go +++ b/internal/rpc/group/quit_group.go @@ -1,12 +1,12 @@ package group import ( - "Open_IM/src/common/config" - "Open_IM/src/common/db" - "Open_IM/src/common/db/mysql_model/im_mysql_model" - "Open_IM/src/common/log" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/db" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" pbGroup "Open_IM/pkg/proto/group" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" ) diff --git a/internal/rpc/group/set_group_info.go b/internal/rpc/group/set_group_info.go index fa4219022..046f8bc4f 100644 --- a/internal/rpc/group/set_group_info.go +++ b/internal/rpc/group/set_group_info.go @@ -1,12 +1,12 @@ package group import ( - "Open_IM/src/common/config" - "Open_IM/src/common/constant" - "Open_IM/src/common/db/mysql_model/im_mysql_model" - "Open_IM/src/common/log" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" pbGroup "Open_IM/pkg/proto/group" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" ) diff --git a/internal/rpc/group/transfer_group_owner.go b/internal/rpc/group/transfer_group_owner.go index 2a989e557..4595fa1f1 100644 --- a/internal/rpc/group/transfer_group_owner.go +++ b/internal/rpc/group/transfer_group_owner.go @@ -1,8 +1,8 @@ package group import ( - "Open_IM/src/common/db/mysql_model/im_mysql_model" - "Open_IM/src/common/log" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" "Open_IM/pkg/proto/group" "context" ) diff --git a/internal/rpc/user/get_user_info.go b/internal/rpc/user/get_user_info.go index 45c08e899..6b884c05b 100644 --- a/internal/rpc/user/get_user_info.go +++ b/internal/rpc/user/get_user_info.go @@ -1,12 +1,12 @@ package user import ( - "Open_IM/src/common/config" - "Open_IM/src/common/db/mysql_model/im_mysql_model" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" pbUser "Open_IM/pkg/proto/user" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" "google.golang.org/grpc" "net" diff --git a/internal/rpc/user/internal_service/get_user_info_to_client.go b/internal/rpc/user/internal_service/get_user_info_to_client.go index 20a89e64f..4cd0d0d2d 100644 --- a/internal/rpc/user/internal_service/get_user_info_to_client.go +++ b/internal/rpc/user/internal_service/get_user_info_to_client.go @@ -2,8 +2,8 @@ package internal_service import ( pbUser "Open_IM/pkg/proto/user" - "Open_IM/src/common/config" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/grpc-etcdv3/getcdv3" "context" "strings" ) diff --git a/internal/rpc/user/management_user.go b/internal/rpc/user/management_user.go index 53462d69f..f9d5b75a1 100644 --- a/internal/rpc/user/management_user.go +++ b/internal/rpc/user/management_user.go @@ -7,11 +7,11 @@ package user import ( - "Open_IM/src/common/config" - "Open_IM/src/common/db/mysql_model/im_mysql_model" - "Open_IM/src/common/log" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" pbUser "Open_IM/pkg/proto/user" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" ) diff --git a/internal/rpc/user/update_user_info.go b/internal/rpc/user/update_user_info.go index a0715accb..bd60c7742 100644 --- a/internal/rpc/user/update_user_info.go +++ b/internal/rpc/user/update_user_info.go @@ -2,15 +2,15 @@ package user import ( "Open_IM/internal/push/logic" - "Open_IM/src/common/config" - "Open_IM/src/common/constant" - "Open_IM/src/common/db/mysql_model/im_mysql_model" - "Open_IM/src/common/log" - "Open_IM/src/grpc-etcdv3/getcdv3" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" pbChat "Open_IM/pkg/proto/chat" pbFriend "Open_IM/pkg/proto/friend" pbUser "Open_IM/pkg/proto/user" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "context" "strings" ) diff --git a/src/common/config/config.go b/pkg/common/config/config.go similarity index 100% rename from src/common/config/config.go rename to pkg/common/config/config.go diff --git a/src/common/config/error.go b/pkg/common/config/error.go similarity index 100% rename from src/common/config/error.go rename to pkg/common/config/error.go diff --git a/src/common/constant/constant.go b/pkg/common/constant/constant.go similarity index 100% rename from src/common/constant/constant.go rename to pkg/common/constant/constant.go diff --git a/src/common/db/model.go b/pkg/common/db/model.go similarity index 98% rename from src/common/db/model.go rename to pkg/common/db/model.go index f34b4c305..a8a790576 100644 --- a/src/common/db/model.go +++ b/pkg/common/db/model.go @@ -1,7 +1,7 @@ package db import ( - "Open_IM/src/common/config" + "Open_IM/pkg/common/config" "github.com/garyburd/redigo/redis" "gopkg.in/mgo.v2" "time" diff --git a/src/common/db/mongoModel.go b/pkg/common/db/mongoModel.go similarity index 98% rename from src/common/db/mongoModel.go rename to pkg/common/db/mongoModel.go index ea532afba..f75843a4c 100644 --- a/src/common/db/mongoModel.go +++ b/pkg/common/db/mongoModel.go @@ -2,8 +2,8 @@ package db import ( pbMsg "Open_IM/pkg/proto/chat" - "Open_IM/src/common/config" - "Open_IM/src/common/constant" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" "errors" "github.com/golang/protobuf/proto" "gopkg.in/mgo.v2/bson" diff --git a/src/common/db/mysql.go b/pkg/common/db/mysql.go similarity index 99% rename from src/common/db/mysql.go rename to pkg/common/db/mysql.go index a7a163686..05006ffab 100644 --- a/src/common/db/mysql.go +++ b/pkg/common/db/mysql.go @@ -1,8 +1,8 @@ package db import ( - "Open_IM/src/common/config" - "Open_IM/src/common/log" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" "fmt" "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/mysql" diff --git a/src/common/db/mysql_model/im_mysql_model/friend_model.go b/pkg/common/db/mysql_model/im_mysql_model/friend_model.go similarity index 98% rename from src/common/db/mysql_model/im_mysql_model/friend_model.go rename to pkg/common/db/mysql_model/im_mysql_model/friend_model.go index 5a1378465..ce029a0bb 100644 --- a/src/common/db/mysql_model/im_mysql_model/friend_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/friend_model.go @@ -1,7 +1,7 @@ package im_mysql_model import ( - "Open_IM/src/common/db" + "Open_IM/pkg/common/db" _ "github.com/jinzhu/gorm/dialects/mysql" "time" ) diff --git a/src/common/db/mysql_model/im_mysql_model/friend_request_model.go b/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go similarity index 98% rename from src/common/db/mysql_model/im_mysql_model/friend_request_model.go rename to pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go index 5125b62bd..1a7308cb9 100644 --- a/src/common/db/mysql_model/im_mysql_model/friend_request_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go @@ -1,7 +1,7 @@ package im_mysql_model import ( - "Open_IM/src/common/db" + "Open_IM/pkg/common/db" "time" ) diff --git a/src/common/db/mysql_model/im_mysql_model/group_member_model.go b/pkg/common/db/mysql_model/im_mysql_model/group_member_model.go similarity index 99% rename from src/common/db/mysql_model/im_mysql_model/group_member_model.go rename to pkg/common/db/mysql_model/im_mysql_model/group_member_model.go index 19a3cd2c4..60ad86e85 100644 --- a/src/common/db/mysql_model/im_mysql_model/group_member_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/group_member_model.go @@ -1,7 +1,7 @@ package im_mysql_model import ( - "Open_IM/src/common/db" + "Open_IM/pkg/common/db" "time" ) diff --git a/src/common/db/mysql_model/im_mysql_model/group_model.go b/pkg/common/db/mysql_model/im_mysql_model/group_model.go similarity index 99% rename from src/common/db/mysql_model/im_mysql_model/group_model.go rename to pkg/common/db/mysql_model/im_mysql_model/group_model.go index 971779cf2..436260f68 100644 --- a/src/common/db/mysql_model/im_mysql_model/group_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/group_model.go @@ -2,8 +2,8 @@ package im_mysql_model import ( "Open_IM/pkg/proto/group" - "Open_IM/src/common/db" - "Open_IM/src/common/log" + "Open_IM/pkg/common/db" + "Open_IM/pkg/common/log" "errors" "time" ) diff --git a/src/common/db/mysql_model/im_mysql_model/group_request_model.go b/pkg/common/db/mysql_model/im_mysql_model/group_request_model.go similarity index 98% rename from src/common/db/mysql_model/im_mysql_model/group_request_model.go rename to pkg/common/db/mysql_model/im_mysql_model/group_request_model.go index 6451ed863..da793d331 100644 --- a/src/common/db/mysql_model/im_mysql_model/group_request_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/group_request_model.go @@ -1,7 +1,7 @@ package im_mysql_model import ( - "Open_IM/src/common/db" + "Open_IM/pkg/common/db" "time" ) diff --git a/src/common/db/mysql_model/im_mysql_model/model_struct.go b/pkg/common/db/mysql_model/im_mysql_model/model_struct.go similarity index 100% rename from src/common/db/mysql_model/im_mysql_model/model_struct.go rename to pkg/common/db/mysql_model/im_mysql_model/model_struct.go diff --git a/src/common/db/mysql_model/im_mysql_model/user_black_list_model.go b/pkg/common/db/mysql_model/im_mysql_model/user_black_list_model.go similarity index 98% rename from src/common/db/mysql_model/im_mysql_model/user_black_list_model.go rename to pkg/common/db/mysql_model/im_mysql_model/user_black_list_model.go index 9d2e54f9d..907b0f223 100644 --- a/src/common/db/mysql_model/im_mysql_model/user_black_list_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/user_black_list_model.go @@ -1,7 +1,7 @@ package im_mysql_model import ( - "Open_IM/src/common/db" + "Open_IM/pkg/common/db" "time" ) diff --git a/src/common/db/mysql_model/im_mysql_model/user_model.go b/pkg/common/db/mysql_model/im_mysql_model/user_model.go similarity index 97% rename from src/common/db/mysql_model/im_mysql_model/user_model.go rename to pkg/common/db/mysql_model/im_mysql_model/user_model.go index 54f9df3d2..ad0430c3a 100644 --- a/src/common/db/mysql_model/im_mysql_model/user_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/user_model.go @@ -1,10 +1,10 @@ package im_mysql_model import ( + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/db" pbAuth "Open_IM/pkg/proto/auth" - "Open_IM/src/common/config" - "Open_IM/src/common/db" - "Open_IM/src/utils" + "Open_IM/pkg/utils" _ "github.com/jinzhu/gorm/dialects/mysql" "time" ) diff --git a/src/common/db/mysql_model/im_mysql_msg_model/chat_log_model.go b/pkg/common/db/mysql_model/im_mysql_msg_model/chat_log_model.go similarity index 97% rename from src/common/db/mysql_model/im_mysql_msg_model/chat_log_model.go rename to pkg/common/db/mysql_model/im_mysql_msg_model/chat_log_model.go index 5809dacba..73defd89d 100644 --- a/src/common/db/mysql_model/im_mysql_msg_model/chat_log_model.go +++ b/pkg/common/db/mysql_model/im_mysql_msg_model/chat_log_model.go @@ -7,9 +7,9 @@ package im_mysql_msg_model import ( + "Open_IM/pkg/common/db" pbMsg "Open_IM/pkg/proto/chat" - "Open_IM/src/common/db" - "Open_IM/src/utils" + "Open_IM/pkg/utils" "database/sql" "time" ) diff --git a/src/common/db/mysql_model/im_mysql_msg_model/hash_code.go b/pkg/common/db/mysql_model/im_mysql_msg_model/hash_code.go similarity index 94% rename from src/common/db/mysql_model/im_mysql_msg_model/hash_code.go rename to pkg/common/db/mysql_model/im_mysql_msg_model/hash_code.go index b349e7787..a631462ce 100644 --- a/src/common/db/mysql_model/im_mysql_msg_model/hash_code.go +++ b/pkg/common/db/mysql_model/im_mysql_msg_model/hash_code.go @@ -1,8 +1,8 @@ package im_mysql_msg_model import ( - "Open_IM/src/common/config" - "Open_IM/src/common/db" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/db" "hash/crc32" "strconv" ) diff --git a/src/common/db/mysql_model/im_mysql_msg_model/receive_model.go b/pkg/common/db/mysql_model/im_mysql_msg_model/receive_model.go similarity index 100% rename from src/common/db/mysql_model/im_mysql_msg_model/receive_model.go rename to pkg/common/db/mysql_model/im_mysql_msg_model/receive_model.go diff --git a/src/common/db/redisModel.go b/pkg/common/db/redisModel.go similarity index 98% rename from src/common/db/redisModel.go rename to pkg/common/db/redisModel.go index f86dbb638..7e7028b39 100644 --- a/src/common/db/redisModel.go +++ b/pkg/common/db/redisModel.go @@ -1,7 +1,7 @@ package db import ( - log2 "Open_IM/src/common/log" + log2 "Open_IM/pkg/common/log" "github.com/garyburd/redigo/redis" ) diff --git a/src/common/http/http_client.go b/pkg/common/http/http_client.go similarity index 100% rename from src/common/http/http_client.go rename to pkg/common/http/http_client.go diff --git a/src/common/kafka/consumer.go b/pkg/common/kafka/consumer.go similarity index 100% rename from src/common/kafka/consumer.go rename to pkg/common/kafka/consumer.go diff --git a/src/common/kafka/consumer_group.go b/pkg/common/kafka/consumer_group.go similarity index 100% rename from src/common/kafka/consumer_group.go rename to pkg/common/kafka/consumer_group.go diff --git a/src/common/kafka/producer.go b/pkg/common/kafka/producer.go similarity index 97% rename from src/common/kafka/producer.go rename to pkg/common/kafka/producer.go index 2d9299b60..c82df975f 100644 --- a/src/common/kafka/producer.go +++ b/pkg/common/kafka/producer.go @@ -1,7 +1,7 @@ package kafka import ( - log2 "Open_IM/src/common/log" + log2 "Open_IM/pkg/common/log" "github.com/Shopify/sarama" "github.com/golang/protobuf/proto" ) diff --git a/src/common/multi_terminal_login/multi_terminal_login.go b/pkg/common/multi_terminal_login/multi_terminal_login.go similarity index 95% rename from src/common/multi_terminal_login/multi_terminal_login.go rename to pkg/common/multi_terminal_login/multi_terminal_login.go index 278dbd398..e65e473d4 100644 --- a/src/common/multi_terminal_login/multi_terminal_login.go +++ b/pkg/common/multi_terminal_login/multi_terminal_login.go @@ -4,10 +4,10 @@ import ( "Open_IM/internal/push/content_struct" "Open_IM/internal/push/logic" pbChat "Open_IM/pkg/proto/chat" - "Open_IM/src/common/config" - "Open_IM/src/common/constant" - "Open_IM/src/common/db" - "Open_IM/src/utils" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/db" + "Open_IM/pkg/common" ) func MultiTerminalLoginChecker(uid, token string, platformID int32) error { diff --git a/src/grpc-etcdv3/getcdv3/pool.go b/pkg/grpc-etcdv3/getcdv3/pool.go similarity index 100% rename from src/grpc-etcdv3/getcdv3/pool.go rename to pkg/grpc-etcdv3/getcdv3/pool.go diff --git a/src/grpc-etcdv3/getcdv3/register.go b/pkg/grpc-etcdv3/getcdv3/register.go similarity index 100% rename from src/grpc-etcdv3/getcdv3/register.go rename to pkg/grpc-etcdv3/getcdv3/register.go diff --git a/src/grpc-etcdv3/getcdv3/resolver.go b/pkg/grpc-etcdv3/getcdv3/resolver.go similarity index 100% rename from src/grpc-etcdv3/getcdv3/resolver.go rename to pkg/grpc-etcdv3/getcdv3/resolver.go diff --git a/src/utils/cors_middleware.go b/pkg/utils/cors_middleware.go similarity index 100% rename from src/utils/cors_middleware.go rename to pkg/utils/cors_middleware.go diff --git a/src/utils/file.go b/pkg/utils/file.go similarity index 100% rename from src/utils/file.go rename to pkg/utils/file.go diff --git a/src/utils/get_server_ip.go b/pkg/utils/get_server_ip.go similarity index 96% rename from src/utils/get_server_ip.go rename to pkg/utils/get_server_ip.go index 21092ffa1..f5978b79c 100644 --- a/src/utils/get_server_ip.go +++ b/pkg/utils/get_server_ip.go @@ -1,7 +1,7 @@ package utils import ( - "Open_IM/src/common/config" + "Open_IM/pkg/common/config" "net" ) diff --git a/src/utils/image.go b/pkg/utils/image.go similarity index 100% rename from src/utils/image.go rename to pkg/utils/image.go diff --git a/src/utils/jwt_token.go b/pkg/utils/jwt_token.go similarity index 99% rename from src/utils/jwt_token.go rename to pkg/utils/jwt_token.go index 264da2483..604ee2400 100644 --- a/src/utils/jwt_token.go +++ b/pkg/utils/jwt_token.go @@ -1,8 +1,8 @@ package utils import ( - "Open_IM/src/common/config" - "Open_IM/src/common/db" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/db" "errors" "github.com/dgrijalva/jwt-go" "time" diff --git a/src/utils/map.go b/pkg/utils/map.go similarity index 100% rename from src/utils/map.go rename to pkg/utils/map.go diff --git a/src/utils/md5.go b/pkg/utils/md5.go similarity index 100% rename from src/utils/md5.go rename to pkg/utils/md5.go diff --git a/src/utils/platform_number_id_to_name.go b/pkg/utils/platform_number_id_to_name.go similarity index 100% rename from src/utils/platform_number_id_to_name.go rename to pkg/utils/platform_number_id_to_name.go diff --git a/src/utils/strings.go b/pkg/utils/strings.go similarity index 100% rename from src/utils/strings.go rename to pkg/utils/strings.go diff --git a/src/utils/time_format.go b/pkg/utils/time_format.go similarity index 100% rename from src/utils/time_format.go rename to pkg/utils/time_format.go diff --git a/src/common/log/es_hk.go b/src/common/log/es_hk.go deleted file mode 100644 index c54130968..000000000 --- a/src/common/log/es_hk.go +++ /dev/null @@ -1,108 +0,0 @@ -/* -** description("将日志发送到elasticsearch的hook"). -** copyright('tuoyun,www.tuoyun.net'). -** author("fg,Gordon@tuoyun.net"). -** time(2021/3/26 17:05). - */ -package log - -import ( - "Open_IM/src/common/config" - "context" - "fmt" - elasticV7 "github.com/olivere/elastic/v7" - "github.com/sirupsen/logrus" - "log" - "os" - "strings" - "time" -) - -//esHook 自定义的ES hook -type esHook struct { - moduleName string - client *elasticV7.Client -} - -//newEsHook 初始化 -func newEsHook(moduleName string) *esHook { - //https://github.com/sohlich/elogrus - //client, err := elastic.NewClient(elastic.SetURL("http://localhost:9200")) - //if err != nil { - // log.Panic(err) - //} - //hook, err := elogrus.NewAsyncElasticHook(client, "localhost", logrus.DebugLevel, "mylog") - //if err != nil { - // log.Panic(err) - //} - es, err := elasticV7.NewClient( - elasticV7.SetURL(config.Config.Log.ElasticSearchAddr...), - elasticV7.SetBasicAuth(config.Config.Log.ElasticSearchUser, config.Config.Log.ElasticSearchPassword), - elasticV7.SetSniff(false), - elasticV7.SetHealthcheckInterval(60*time.Second), - elasticV7.SetErrorLog(log.New(os.Stderr, "ES:", log.LstdFlags)), - ) - - if err != nil { - log.Fatal("failed to create Elastic V7 Client: ", err) - } - - //info, code, err := es.Ping(logConfig.ElasticSearch.EsAddr[0]).Do(context.Background()) - //if err != nil { - // panic(err) - //} - //fmt.Printf("Elasticsearch returned with code %d and version %s\n", code, info.Version.Number) - // - //esversion, err := es.ElasticsearchVersion(logConfig.ElasticSearch.EsAddr[0]) - //if err != nil { - // panic(err) - //} - //fmt.Printf("Elasticsearch version %s\n", esversion) - return &esHook{client: es, moduleName: moduleName} -} - -//Fire log hook interface 方法 -func (hook *esHook) Fire(entry *logrus.Entry) error { - doc := newEsLog(entry) - go hook.sendEs(doc) - return nil -} - -//Levels log hook interface 方法,此hook影响的日志 -func (hook *esHook) Levels() []logrus.Level { - return logrus.AllLevels -} - -//sendEs 异步发送日志到es -func (hook *esHook) sendEs(doc appLogDocModel) { - defer func() { - if r := recover(); r != nil { - fmt.Println("send entry to es failed: ", r) - } - }() - _, err := hook.client.Index().Index(hook.moduleName).Type(doc.indexName()).BodyJson(doc).Do(context.Background()) - if err != nil { - log.Println(err) - } - -} - -//appLogDocModel es model -type appLogDocModel map[string]interface{} - -func newEsLog(e *logrus.Entry) appLogDocModel { - ins := make(map[string]interface{}) - ins["level"] = strings.ToUpper(e.Level.String()) - ins["time"] = e.Time.Format("2006-01-02 15:04:05") - for kk, vv := range e.Data { - ins[kk] = vv - } - ins["tipInfo"] = e.Message - - return ins -} - -// indexName es index name 时间分割 -func (m *appLogDocModel) indexName() string { - return time.Now().Format("2006-01-02") -} diff --git a/src/common/log/file_line_hk.go b/src/common/log/file_line_hk.go deleted file mode 100644 index e6b690eb7..000000000 --- a/src/common/log/file_line_hk.go +++ /dev/null @@ -1,60 +0,0 @@ -/* -** description("得到调用文件名字和行号的hook"). -** copyright('tuoyun,www.tuoyun.net'). -** author("fg,Gordon@tuoyun.net"). -** time(2021/3/16 11:26). - */ -package log - -import ( - "fmt" - "github.com/sirupsen/logrus" - "runtime" - "strings" -) - -type fileHook struct{} - -func newFileHook() *fileHook { - return &fileHook{} -} - -func (f *fileHook) Levels() []logrus.Level { - return logrus.AllLevels -} - -func (f *fileHook) Fire(entry *logrus.Entry) error { - entry.Data["FilePath"] = findCaller(5) - return nil -} - -func findCaller(skip int) string { - file := "" - line := 0 - for i := 0; i < 10; i++ { - file, line = getCaller(skip + i) - if !strings.HasPrefix(file, "log") { - break - } - } - return fmt.Sprintf("%s:%d", file, line) -} - -func getCaller(skip int) (string, int) { - _, file, line, ok := runtime.Caller(skip) - if !ok { - return "", 0 - } - - n := 0 - for i := len(file) - 1; i > 0; i-- { - if file[i] == '/' { - n++ - if n >= 2 { - file = file[i+1:] - break - } - } - } - return file, line -} diff --git a/src/common/log/logrus.go b/src/common/log/logrus.go deleted file mode 100644 index 48c781c68..000000000 --- a/src/common/log/logrus.go +++ /dev/null @@ -1,167 +0,0 @@ -package log - -import ( - "Open_IM/src/common/config" - "fmt" - nested "github.com/antonfisher/nested-logrus-formatter" - rotatelogs "github.com/lestrrat-go/file-rotatelogs" - "github.com/rifflock/lfshook" - "github.com/sirupsen/logrus" - "os" - "time" -) - -var logger *Logger - -type Logger struct { - *logrus.Logger - Pid int -} - -func init() { - logger = loggerInit("") - -} -func NewPrivateLog(moduleName string) { - logger = loggerInit(moduleName) -} - -func loggerInit(moduleName string) *Logger { - var logger = logrus.New() - //All logs will be printed - logger.SetLevel(logrus.TraceLevel) - //Log Style Setting - logger.SetFormatter(&nested.Formatter{ - TimestampFormat: "2006-01-02 15:04:05.000", - HideKeys: false, - FieldsOrder: []string{"PID"}, - }) - //File name and line number display hook - logger.AddHook(newFileHook()) - - //Send logs to elasticsearch hook - if config.Config.Log.ElasticSearchSwitch == true { - logger.AddHook(newEsHook(moduleName)) - } - //Log file segmentation hook - hook := NewLfsHook(time.Duration(config.Config.Log.RotationTime)*time.Hour, config.Config.Log.RemainRotationCount, moduleName) - logger.AddHook(hook) - return &Logger{ - logger, - os.Getpid(), - } -} -func NewLfsHook(rotationTime time.Duration, maxRemainNum uint, moduleName string) logrus.Hook { - lfsHook := lfshook.NewHook(lfshook.WriterMap{ - logrus.DebugLevel: initRotateLogs(rotationTime, maxRemainNum, "debug", moduleName), - logrus.InfoLevel: initRotateLogs(rotationTime, maxRemainNum, "info", moduleName), - logrus.WarnLevel: initRotateLogs(rotationTime, maxRemainNum, "warn", moduleName), - logrus.ErrorLevel: initRotateLogs(rotationTime, maxRemainNum, "error", moduleName), - }, &nested.Formatter{ - TimestampFormat: "2006-01-02 15:04:05.000", - HideKeys: false, - FieldsOrder: []string{"PID"}, - }) - return lfsHook -} -func initRotateLogs(rotationTime time.Duration, maxRemainNum uint, level string, moduleName string) *rotatelogs.RotateLogs { - writer, err := rotatelogs.New( - config.Config.Log.StorageLocation+moduleName+"/"+level+"."+"%Y-%m-%d_%H-%M-%S", - rotatelogs.WithRotationTime(rotationTime), - rotatelogs.WithRotationCount(maxRemainNum), - ) - if err != nil { - panic(err) - } else { - return writer - } -} - -func Info(token, OperationID, format string, args ...interface{}) { - if token == "" && OperationID == "" { - logger.WithFields(logrus.Fields{}).Infof(format, args...) - } else { - logger.WithFields(logrus.Fields{ - "token": token, - "OperationID": OperationID, - }).Infof(format, args...) - } -} - -func Error(token, OperationID, format string, args ...interface{}) { - if token == "" && OperationID == "" { - logger.WithFields(logrus.Fields{}).Errorf(format, args...) - } else { - logger.WithFields(logrus.Fields{ - "token": token, - "OperationID": OperationID, - }).Errorf(format, args...) - } -} - -func Debug(token, OperationID, format string, args ...interface{}) { - if token == "" && OperationID == "" { - logger.WithFields(logrus.Fields{}).Debugf(format, args...) - } else { - logger.WithFields(logrus.Fields{ - "token": token, - "OperationID": OperationID, - }).Debugf(format, args...) - } -} - -func Warning(token, OperationID, format string, args ...interface{}) { - if token == "" && OperationID == "" { - logger.WithFields(logrus.Fields{}).Warningf(format, args...) - } else { - logger.WithFields(logrus.Fields{ - "token": token, - "OperationID": OperationID, - }).Warningf(format, args...) - } -} - -func InfoByArgs(format string, args ...interface{}) { - logger.WithFields(logrus.Fields{}).Infof(format, args) -} - -func ErrorByArgs(format string, args ...interface{}) { - logger.WithFields(logrus.Fields{}).Errorf(format, args...) -} - -//Print log information in k, v format, -//kv is best to appear in pairs. tipInfo is the log prompt information for printing, -//and kv is the key and value for printing. -func InfoByKv(tipInfo, OperationID string, args ...interface{}) { - fields := make(logrus.Fields) - argsHandle(OperationID, fields, args) - logger.WithFields(fields).Info(tipInfo) -} -func ErrorByKv(tipInfo, OperationID string, args ...interface{}) { - fields := make(logrus.Fields) - argsHandle(OperationID, fields, args) - logger.WithFields(fields).Error(tipInfo) -} -func DebugByKv(tipInfo, OperationID string, args ...interface{}) { - fields := make(logrus.Fields) - argsHandle(OperationID, fields, args) - logger.WithFields(fields).Debug(tipInfo) -} -func WarnByKv(tipInfo, OperationID string, args ...interface{}) { - fields := make(logrus.Fields) - argsHandle(OperationID, fields, args) - logger.WithFields(fields).Warn(tipInfo) -} - -//internal method -func argsHandle(OperationID string, fields logrus.Fields, args []interface{}) { - for i := 0; i < len(args); i += 2 { - if i+1 < len(args) { - fields[fmt.Sprintf("%v", args[i])] = args[i+1] - } else { - fields[fmt.Sprintf("%v", args[i])] = "" - } - } - fields["operationID"] = OperationID - fields["PID"] = logger.Pid -} diff --git a/src/common/log/time_format.go b/src/common/log/time_format.go deleted file mode 100644 index 4ae1c56ef..000000000 --- a/src/common/log/time_format.go +++ /dev/null @@ -1,57 +0,0 @@ -/* -** description(""). -** copyright('tuoyun,www.tuoyun.net'). -** author("fg,Gordon@tuoyun.net"). -** time(2021/2/22 11:52). - */ -package log - -import ( - "strconv" - "time" -) - -const ( - TimeOffset = 8 * 3600 //8个小时的偏移量 - HalfOffset = 12 * 3600 //半天的小时偏移量 -) - -//获取当前的时间戳 -func GetCurrentTimestamp() int64 { - return time.Now().Unix() -} - -//获取当天0点的时间戳 -func GetCurDayZeroTimestamp() int64 { - timeStr := time.Now().Format("2006-01-02") - t, _ := time.Parse("2006-01-02", timeStr) - return t.Unix() - TimeOffset -} - -//获取当天12点的时间戳 -func GetCurDayHalfTimestamp() int64 { - return GetCurDayZeroTimestamp() + HalfOffset - -} - -//获取当天0点格式化时间,格式为"2006-01-02_00-00-00" -func GetCurDayZeroTimeFormat() string { - return time.Unix(GetCurDayZeroTimestamp(), 0).Format("2006-01-02_15-04-05") -} - -//获取当天12点格式化时间,格式为"2006-01-02_12-00-00" -func GetCurDayHalfTimeFormat() string { - return time.Unix(GetCurDayZeroTimestamp()+HalfOffset, 0).Format("2006-01-02_15-04-05") -} -func GetTimeStampByFormat(datetime string) string { - timeLayout := "2006-01-02 15:04:05" //转化所需模板 - loc, _ := time.LoadLocation("Local") //获取时区 - tmp, _ := time.ParseInLocation(timeLayout, datetime, loc) - timestamp := tmp.Unix() //转化为时间戳 类型是int64 - return strconv.FormatInt(timestamp, 10) -} - -func TimeStringFormatTimeUnix(timeFormat string, timeSrc string) int64 { - tm, _ := time.Parse(timeFormat, timeSrc) - return tm.Unix() -} diff --git a/src/timed_task/open_im_timed_task.go b/src/timed_task/open_im_timed_task.go index f6cd87a67..1119ce577 100644 --- a/src/timed_task/open_im_timed_task.go +++ b/src/timed_task/open_im_timed_task.go @@ -1,8 +1,8 @@ package main import ( - "Open_IM/src/common/config" - "Open_IM/src/common/db" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/db" "fmt" "time" ) diff --git a/src/timed_task/timed_task/timed_task.go b/src/timed_task/timed_task/timed_task.go index a2626dd6e..bda907ea7 100644 --- a/src/timed_task/timed_task/timed_task.go +++ b/src/timed_task/timed_task/timed_task.go @@ -1,7 +1,7 @@ package timed_task import ( - "Open_IM/src/common/db" + "Open_IM/pkg/common/db" "time" ) From 3169900f80c53ad5982eb012037a89e7323c328a Mon Sep 17 00:00:00 2001 From: xmcy0011 Date: Mon, 11 Oct 2021 22:13:36 +0800 Subject: [PATCH 10/40] mv src/timed_task to internal/timed_task --- .../open_im_timed_task.go => cmd/open_im_timed_task/main.go | 0 {src/timed_task => internal}/timed_task/init.go | 0 {src/timed_task => internal}/timed_task/timed_task.go | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename src/timed_task/open_im_timed_task.go => cmd/open_im_timed_task/main.go (100%) rename {src/timed_task => internal}/timed_task/init.go (100%) rename {src/timed_task => internal}/timed_task/timed_task.go (100%) diff --git a/src/timed_task/open_im_timed_task.go b/cmd/open_im_timed_task/main.go similarity index 100% rename from src/timed_task/open_im_timed_task.go rename to cmd/open_im_timed_task/main.go diff --git a/src/timed_task/timed_task/init.go b/internal/timed_task/init.go similarity index 100% rename from src/timed_task/timed_task/init.go rename to internal/timed_task/init.go diff --git a/src/timed_task/timed_task/timed_task.go b/internal/timed_task/timed_task.go similarity index 100% rename from src/timed_task/timed_task/timed_task.go rename to internal/timed_task/timed_task.go From 2b66aafdba01f9def757e4ef77bd48205655de87 Mon Sep 17 00:00:00 2001 From: xmcy0011 Date: Mon, 11 Oct 2021 22:19:34 +0800 Subject: [PATCH 11/40] change Open-IM-SDK-Core to cmd/ --- .gitmodules | 2 +- src/Open-IM-SDK-Core | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) delete mode 160000 src/Open-IM-SDK-Core diff --git a/.gitmodules b/.gitmodules index 446b7535e..27c2f554e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ [submodule "src/Open-IM-SDK-Core"] - path = src/Open-IM-SDK-Core + path = cmd/Open-IM-SDK-Core url = https://github.com/OpenIMSDK/Open-IM-SDK-Core.git diff --git a/src/Open-IM-SDK-Core b/src/Open-IM-SDK-Core deleted file mode 160000 index 3d956a1a4..000000000 --- a/src/Open-IM-SDK-Core +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 3d956a1a40024f0a5f4959d6e46f6f503a1618ce From 1ec94864529846947de6fd29ac2044a54d63feff Mon Sep 17 00:00:00 2001 From: xmcy0011 Date: Mon, 11 Oct 2021 22:42:10 +0800 Subject: [PATCH 12/40] fixed build error --- cmd/open_im_api/Makefile | 4 +--- cmd/open_im_msg_gateway/Makefile | 4 +--- cmd/open_im_msg_transfer/Makefile | 4 +--- cmd/open_im_push/Makefile | 4 +--- cmd/rpc/open_im_auth/Makefile | 4 +--- cmd/rpc/open_im_friend/Makefile | 4 +--- cmd/rpc/open_im_group/Makefile | 4 +--- cmd/rpc/open_im_msg/Makefile | 4 +--- cmd/rpc/open_im_user/Makefile | 4 +--- internal/api/chat/newest_seq.go | 4 ++-- internal/api/chat/pull_msg.go | 4 ++-- internal/api/chat/send_msg.go | 4 ++-- internal/api/manage/management_chat.go | 4 ++-- script/path_info.cfg | 20 ++++++++++---------- 14 files changed, 27 insertions(+), 45 deletions(-) diff --git a/cmd/open_im_api/Makefile b/cmd/open_im_api/Makefile index 5ea7e5742..d8fe26099 100644 --- a/cmd/open_im_api/Makefile +++ b/cmd/open_im_api/Makefile @@ -2,13 +2,11 @@ BINARY_NAME=open_im_api BIN_DIR=../../bin/ -LAN_FILE=.go -GO_FILE:=${BINARY_NAME}${LAN_FILE} all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o ${BINARY_NAME} ${GO_FILE} + CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build run: @go run ./ diff --git a/cmd/open_im_msg_gateway/Makefile b/cmd/open_im_msg_gateway/Makefile index 1b6e67e9c..566d8d9c2 100644 --- a/cmd/open_im_msg_gateway/Makefile +++ b/cmd/open_im_msg_gateway/Makefile @@ -2,13 +2,11 @@ BINARY_NAME=open_im_msg_gateway BIN_DIR=../../bin/ -LAN_FILE=.go -GO_FILE:=${BINARY_NAME}${LAN_FILE} all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" -o ${BINARY_NAME} ${GO_FILE} + CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" run: @go run ./ diff --git a/cmd/open_im_msg_transfer/Makefile b/cmd/open_im_msg_transfer/Makefile index 1813594d5..fb4946585 100644 --- a/cmd/open_im_msg_transfer/Makefile +++ b/cmd/open_im_msg_transfer/Makefile @@ -2,13 +2,11 @@ BINARY_NAME=open_im_msg_transfer BIN_DIR=../../bin/ -LAN_FILE=.go -GO_FILE:=${BINARY_NAME}${LAN_FILE} all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" -o ${BINARY_NAME} ${GO_FILE} + CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" run: @go run ./ diff --git a/cmd/open_im_push/Makefile b/cmd/open_im_push/Makefile index 73f1fdd35..df7b9e88a 100644 --- a/cmd/open_im_push/Makefile +++ b/cmd/open_im_push/Makefile @@ -2,13 +2,11 @@ BINARY_NAME=open_im_push BIN_DIR=../../bin/ -LAN_FILE=.go -GO_FILE:=${BINARY_NAME}${LAN_FILE} all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" -o ${BINARY_NAME} ${GO_FILE} + CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" run: @go run ./ diff --git a/cmd/rpc/open_im_auth/Makefile b/cmd/rpc/open_im_auth/Makefile index 12c10351d..845503757 100644 --- a/cmd/rpc/open_im_auth/Makefile +++ b/cmd/rpc/open_im_auth/Makefile @@ -2,13 +2,11 @@ BINARY_NAME=open_im_auth BIN_DIR=../../../bin/ -LAN_FILE=.go -GO_FILE:=${BINARY_NAME}${LAN_FILE} all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o ${BINARY_NAME} ${GO_FILE} + CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build run: @go run ./ diff --git a/cmd/rpc/open_im_friend/Makefile b/cmd/rpc/open_im_friend/Makefile index c1291dc82..8720ed80f 100644 --- a/cmd/rpc/open_im_friend/Makefile +++ b/cmd/rpc/open_im_friend/Makefile @@ -2,13 +2,11 @@ BINARY_NAME=open_im_friend BIN_DIR=../../../bin/ -LAN_FILE=.go -GO_FILE:=${BINARY_NAME}${LAN_FILE} all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o ${BINARY_NAME} ${GO_FILE} + CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build run: @go run ./ diff --git a/cmd/rpc/open_im_group/Makefile b/cmd/rpc/open_im_group/Makefile index 2ada2e2a6..6cd93dfd4 100644 --- a/cmd/rpc/open_im_group/Makefile +++ b/cmd/rpc/open_im_group/Makefile @@ -2,13 +2,11 @@ BINARY_NAME=open_im_group BIN_DIR=../../../bin/ -LAN_FILE=.go -GO_FILE:=${BINARY_NAME}${LAN_FILE} all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o ${BINARY_NAME} ${GO_FILE} + CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build run: @go run ./ diff --git a/cmd/rpc/open_im_msg/Makefile b/cmd/rpc/open_im_msg/Makefile index 2a2d08918..7214d3fe1 100644 --- a/cmd/rpc/open_im_msg/Makefile +++ b/cmd/rpc/open_im_msg/Makefile @@ -2,13 +2,11 @@ BINARY_NAME=open_im_msg BIN_DIR=../../../bin/ -LAN_FILE=.go -GO_FILE:=${BINARY_NAME}${LAN_FILE} all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" -o ${BINARY_NAME} ${GO_FILE} + CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" run: @go run ./ diff --git a/cmd/rpc/open_im_user/Makefile b/cmd/rpc/open_im_user/Makefile index d3f837791..4e124cc3a 100644 --- a/cmd/rpc/open_im_user/Makefile +++ b/cmd/rpc/open_im_user/Makefile @@ -2,13 +2,11 @@ BINARY_NAME=open_im_user BIN_DIR=../../../bin/ -LAN_FILE=.go -GO_FILE:=${BINARY_NAME}${LAN_FILE} all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o ${BINARY_NAME} ${GO_FILE} + CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build run: @go run ./ diff --git a/internal/api/chat/newest_seq.go b/internal/api/chat/newest_seq.go index 03d0cee32..06dad284e 100644 --- a/internal/api/chat/newest_seq.go +++ b/internal/api/chat/newest_seq.go @@ -1,11 +1,11 @@ package apiChat import ( - pbMsg "Open_IM/pkg/proto/chat" "Open_IM/pkg/common/config" "Open_IM/pkg/common/log" "Open_IM/pkg/grpc-etcdv3/getcdv3" - "Open_IM/pkg/common" + pbMsg "Open_IM/pkg/proto/chat" + "Open_IM/pkg/utils" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/chat/pull_msg.go b/internal/api/chat/pull_msg.go index 0e1c85df3..b8224064d 100644 --- a/internal/api/chat/pull_msg.go +++ b/internal/api/chat/pull_msg.go @@ -1,11 +1,11 @@ package apiChat import ( - "Open_IM/pkg/proto/chat" "Open_IM/pkg/common/config" "Open_IM/pkg/common/log" "Open_IM/pkg/grpc-etcdv3/getcdv3" - "Open_IM/pkg/common" + "Open_IM/pkg/proto/chat" + "Open_IM/pkg/utils" "context" "github.com/gin-gonic/gin" "net/http" diff --git a/internal/api/chat/send_msg.go b/internal/api/chat/send_msg.go index 46264b867..e2975e759 100644 --- a/internal/api/chat/send_msg.go +++ b/internal/api/chat/send_msg.go @@ -1,10 +1,10 @@ package apiChat import ( - pbChat "Open_IM/pkg/proto/chat" "Open_IM/pkg/common/config" "Open_IM/pkg/common/log" - "Open_IM/pkg/common" + pbChat "Open_IM/pkg/proto/chat" + "Open_IM/pkg/utils" "context" "Open_IM/pkg/grpc-etcdv3/getcdv3" diff --git a/internal/api/manage/management_chat.go b/internal/api/manage/management_chat.go index 99ad3e73a..8430c7470 100644 --- a/internal/api/manage/management_chat.go +++ b/internal/api/manage/management_chat.go @@ -7,12 +7,12 @@ package manage import ( - pbChat "Open_IM/pkg/proto/chat" "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/log" "Open_IM/pkg/grpc-etcdv3/getcdv3" - "Open_IM/pkg/common" + pbChat "Open_IM/pkg/proto/chat" + "Open_IM/pkg/utils" "context" "github.com/gin-gonic/gin" "github.com/go-playground/validator/v10" diff --git a/script/path_info.cfg b/script/path_info.cfg index ed250d29d..30e5b4491 100644 --- a/script/path_info.cfg +++ b/script/path_info.cfg @@ -1,26 +1,26 @@ #Don't put the space between "=" msg_gateway_name="open_im_msg_gateway" msg_gateway_binary_root="../bin/" -msg_gateway_source_root="../src/msg_gateway/" +msg_gateway_source_root="../cmd/open_im_msg_gateway/" msg_name="open_im_msg" msg_binary_root="../bin/" -msg_source_root="../src/rpc/chat/" +msg_source_root="../cmd/rpc/open_im_msg/" push_name="open_im_push" push_binary_root="../bin/" -push_source_root="../src/push/" +push_source_root="../cmd/open_im_push/" msg_transfer_name="open_im_msg_transfer" msg_transfer_binary_root="../bin/" -msg_transfer_source_root="../src/msg_transfer/" +msg_transfer_source_root="../cmd/open_im_msg_transfer/" sdk_server_name="open_im_sdk_server" sdk_server_binary_root="../bin/" -sdk_server_source_root="../src/Open-IM-SDK-Core/" +sdk_server_source_root="../cmd/Open-IM-SDK-Core/" #Global configuration file default dir @@ -29,12 +29,12 @@ config_path="../config/config.yaml" #servicefile dir path service_source_root=( #api service file - ../src/api/ + ../cmd/open_im_api/ #rpc service file - ../src/rpc/user/ - ../src/rpc/friend/ - ../src/rpc/group/ - ../src/rpc/auth/ + ../cmd/rpc/open_im_user/ + ../cmd/rpc/open_im_friend/ + ../cmd/rpc/open_im_group/ + ../cmd/rpc/open_im_auth/ ${msg_gateway_source_root} ${msg_transfer_source_root} ${msg_source_root} From f21623e1b85e7d22b104416d0e2811c01b7b0b53 Mon Sep 17 00:00:00 2001 From: xmcy0011 Date: Mon, 11 Oct 2021 22:52:06 +0800 Subject: [PATCH 13/40] fixed submodule path --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index 27c2f554e..be3279250 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ -[submodule "src/Open-IM-SDK-Core"] +[submodule "cmd/Open-IM-SDK-Core"] path = cmd/Open-IM-SDK-Core url = https://github.com/OpenIMSDK/Open-IM-SDK-Core.git From 1871b616ba89b8869f001452180069f644c732bb Mon Sep 17 00:00:00 2001 From: brennanli Date: Sun, 17 Oct 2021 13:25:10 +0800 Subject: [PATCH 14/40] Modify bug for getting lastest seq --- src/common/db/redisModel.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/db/redisModel.go b/src/common/db/redisModel.go index f86dbb638..2e3277914 100644 --- a/src/common/db/redisModel.go +++ b/src/common/db/redisModel.go @@ -66,7 +66,7 @@ func (d *DataBases) SetLastGetSeq(uid string) (err error) { //获取用户上一次主动拉取Seq的值 func (d *DataBases) GetLastGetSeq(uid string) (int64, error) { - key := userIncrSeq + uid + key := lastGetSeq + uid return redis.Int64(d.Exec("GET", key)) } From 72b23ca2358089f693394e86450bb94b3f0967ff Mon Sep 17 00:00:00 2001 From: Zzr Date: Thu, 21 Oct 2021 12:10:38 +0800 Subject: [PATCH 15/40] fix issue#15 (#18) Co-authored-by: Gordon <46924906+FGadvancer@users.noreply.github.com> --- .gitignore | 4 +- src/rpc/chat/chat/send_msg.go | 123 ++++++++++++++++------------------ 2 files changed, 61 insertions(+), 66 deletions(-) diff --git a/.gitignore b/.gitignore index 6913e8f09..6726c686a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ + components -logs \ No newline at end of file +logs + diff --git a/src/rpc/chat/chat/send_msg.go b/src/rpc/chat/chat/send_msg.go index 21a1a7be8..602ad03e3 100644 --- a/src/rpc/chat/chat/send_msg.go +++ b/src/rpc/chat/chat/send_msg.go @@ -88,84 +88,77 @@ func (rpc *rpcChat) UserSendMsg(_ context.Context, pb *pbChat.UserSendMsgReq) (* return returnMsg(&replay, pb, m.ResponseErrCode, m.ErrMsg, "", 0) } else { pbData.Content = m.ResponseResult.ModifiedMsg - err1 := rpc.sendMsgToKafka(&pbData, pbData.RecvID) - err2 := rpc.sendMsgToKafka(&pbData, pbData.SendID) - if err1 != nil || err2 != nil { - return returnMsg(&replay, pb, 201, "kafka send msg err", "", 0) - } - return returnMsg(&replay, pb, 0, "", serverMsgID, pbData.SendTime) } } - } else { - switch pbData.SessionType { - case constant.SingleChatType: - err1 := rpc.sendMsgToKafka(&pbData, pbData.RecvID) - err2 := rpc.sendMsgToKafka(&pbData, pbData.SendID) - if err1 != nil || err2 != nil { - return returnMsg(&replay, pb, 201, "kafka send msg err", "", 0) - } - return returnMsg(&replay, pb, 0, "", serverMsgID, pbData.SendTime) - case constant.GroupChatType: - etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName) - client := pbGroup.NewGroupClient(etcdConn) - req := &pbGroup.GetGroupAllMemberReq{ - GroupID: pbData.RecvID, - Token: pbData.Token, - OperationID: pbData.OperationID, - } - reply, err := client.GetGroupAllMember(context.Background(), req) + } + switch pbData.SessionType { + case constant.SingleChatType: + err1 := rpc.sendMsgToKafka(&pbData, pbData.RecvID) + err2 := rpc.sendMsgToKafka(&pbData, pbData.SendID) + if err1 != nil || err2 != nil { + return returnMsg(&replay, pb, 201, "kafka send msg err", "", 0) + } + return returnMsg(&replay, pb, 0, "", serverMsgID, pbData.SendTime) + case constant.GroupChatType: + etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName) + client := pbGroup.NewGroupClient(etcdConn) + req := &pbGroup.GetGroupAllMemberReq{ + GroupID: pbData.RecvID, + Token: pbData.Token, + OperationID: pbData.OperationID, + } + reply, err := client.GetGroupAllMember(context.Background(), req) + if err != nil { + log.Error(pbData.Token, pbData.OperationID, "rpc send_msg getGroupInfo failed, err = %s", err.Error()) + return returnMsg(&replay, pb, 201, err.Error(), "", 0) + } + if reply.ErrorCode != 0 { + log.Error(pbData.Token, pbData.OperationID, "rpc send_msg getGroupInfo failed, err = %s", reply.ErrorMsg) + return returnMsg(&replay, pb, reply.ErrorCode, reply.ErrorMsg, "", 0) + } + var addUidList []string + switch pbData.ContentType { + case constant.KickGroupMemberTip: + var notification content_struct.NotificationContent + var kickContent group.KickGroupMemberReq + err := utils.JsonStringToStruct(pbData.Content, ¬ification) if err != nil { - log.Error(pbData.Token, pbData.OperationID, "rpc send_msg getGroupInfo failed, err = %s", err.Error()) - return returnMsg(&replay, pb, 201, err.Error(), "", 0) - } - if reply.ErrorCode != 0 { - log.Error(pbData.Token, pbData.OperationID, "rpc send_msg getGroupInfo failed, err = %s", reply.ErrorMsg) - return returnMsg(&replay, pb, reply.ErrorCode, reply.ErrorMsg, "", 0) - } - var addUidList []string - switch pbData.ContentType { - case constant.KickGroupMemberTip: - var notification content_struct.NotificationContent - var kickContent group.KickGroupMemberReq - err := utils.JsonStringToStruct(pbData.Content, ¬ification) + log.ErrorByKv("json unmarshall err", pbData.OperationID, "err", err.Error()) + return returnMsg(&replay, pb, 200, err.Error(), "", 0) + } else { + err := utils.JsonStringToStruct(notification.Detail, &kickContent) if err != nil { log.ErrorByKv("json unmarshall err", pbData.OperationID, "err", err.Error()) return returnMsg(&replay, pb, 200, err.Error(), "", 0) - } else { - err := utils.JsonStringToStruct(notification.Detail, &kickContent) - if err != nil { - log.ErrorByKv("json unmarshall err", pbData.OperationID, "err", err.Error()) - return returnMsg(&replay, pb, 200, err.Error(), "", 0) - } - for _, v := range kickContent.UidListInfo { - addUidList = append(addUidList, v.UserId) - } - } - case constant.QuitGroupTip: - addUidList = append(addUidList, pbData.SendID) - default: - } - groupID := pbData.RecvID - for i, v := range reply.MemberList { - pbData.RecvID = v.UserId + " " + groupID - err := rpc.sendMsgToKafka(&pbData, utils.IntToString(i)) - if err != nil { - return returnMsg(&replay, pb, 201, "kafka send msg err", "", 0) } - } - for i, v := range addUidList { - pbData.RecvID = v + " " + groupID - err := rpc.sendMsgToKafka(&pbData, utils.IntToString(i+1)) - if err != nil { - return returnMsg(&replay, pb, 201, "kafka send msg err", "", 0) + for _, v := range kickContent.UidListInfo { + addUidList = append(addUidList, v.UserId) } } - return returnMsg(&replay, pb, 0, "", serverMsgID, pbData.SendTime) + case constant.QuitGroupTip: + addUidList = append(addUidList, pbData.SendID) default: - } + groupID := pbData.RecvID + for i, v := range reply.MemberList { + pbData.RecvID = v.UserId + " " + groupID + err := rpc.sendMsgToKafka(&pbData, utils.IntToString(i)) + if err != nil { + return returnMsg(&replay, pb, 201, "kafka send msg err", "", 0) + } + } + for i, v := range addUidList { + pbData.RecvID = v + " " + groupID + err := rpc.sendMsgToKafka(&pbData, utils.IntToString(i+1)) + if err != nil { + return returnMsg(&replay, pb, 201, "kafka send msg err", "", 0) + } + } + return returnMsg(&replay, pb, 0, "", serverMsgID, pbData.SendTime) + default: } + return returnMsg(&replay, pb, 203, "unkonwn sessionType", "", 0) } From 0dfaa49c97edccb8e76b7313aa6705d91c354232 Mon Sep 17 00:00:00 2001 From: Away <42713450+memory-qianxiao@users.noreply.github.com> Date: Fri, 22 Oct 2021 10:14:32 +0800 Subject: [PATCH 16/40] Reduce the MongoDB version to adapt to a few machine (#22) --- docker-compose.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index a9fa9a1c9..1d64dcd9f 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -15,7 +15,7 @@ services: restart: always mongodb: - image: mongo + image: mongo:4.0 ports: - 27017:27017 container_name: mongo From 0e6432f95a55544dedb4b4e77f1854cfe70f3cc7 Mon Sep 17 00:00:00 2001 From: Yaxian Date: Fri, 22 Oct 2021 18:49:44 +0800 Subject: [PATCH 17/40] Feature/optimise jwt token (#24) --- go.mod | 1 + go.sum | 2 + src/utils/jwt_token.go | 155 ++++++++++++++---------------------- src/utils/jwt_token_test.go | 86 ++++++++++++++++++++ 4 files changed, 150 insertions(+), 94 deletions(-) create mode 100644 src/utils/jwt_token_test.go diff --git a/go.mod b/go.mod index ac0c9edf0..e70c37bda 100644 --- a/go.mod +++ b/go.mod @@ -32,6 +32,7 @@ require ( github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5 github.com/sirupsen/logrus v1.6.0 + github.com/stretchr/testify v1.7.0 github.com/tencentyun/qcloud-cos-sts-sdk v0.0.0-20210325043845-84a0811633ca github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 // indirect go.etcd.io/etcd v0.0.0-20200402134248-51bdeb39e698 diff --git a/go.sum b/go.sum index fbbe5ea96..3cfde6ff6 100644 --- a/go.sum +++ b/go.sum @@ -233,6 +233,8 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/tencentyun/qcloud-cos-sts-sdk v0.0.0-20210325043845-84a0811633ca h1:G/aIr3WiUesWHL2YGYgEqjM5tCAJ43Ml+0C18wDkWWs= github.com/tencentyun/qcloud-cos-sts-sdk v0.0.0-20210325043845-84a0811633ca/go.mod h1:b18KQa4IxHbxeseW1GcZox53d7J0z39VNONTxvvlkXw= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= diff --git a/src/utils/jwt_token.go b/src/utils/jwt_token.go index 264da2483..938cf6ede 100644 --- a/src/utils/jwt_token.go +++ b/src/utils/jwt_token.go @@ -4,8 +4,9 @@ import ( "Open_IM/src/common/config" "Open_IM/src/common/db" "errors" - "github.com/dgrijalva/jwt-go" "time" + + "github.com/dgrijalva/jwt-go" ) var ( @@ -25,21 +26,16 @@ type Claims struct { func BuildClaims(uid, accountAddr, platform string, ttl int64) Claims { now := time.Now().Unix() //if ttl=-1 Permanent token - if ttl == -1 { - return Claims{ - UID: uid, - Platform: platform, - StandardClaims: jwt.StandardClaims{ - ExpiresAt: -1, - IssuedAt: now, - NotBefore: now, - }} + expiresAt := int64(-1) + if ttl != -1 { + expiresAt = now + ttl } + return Claims{ UID: uid, Platform: platform, StandardClaims: jwt.StandardClaims{ - ExpiresAt: now + ttl, //Expiration time + ExpiresAt: expiresAt, //Expiration time IssuedAt: now, //Issuing time NotBefore: now, //Begin Effective time }} @@ -59,7 +55,7 @@ func secret() jwt.Keyfunc { } } -func ParseToken(tokensString string) (claims *Claims, err error) { +func getClaimFromToken(tokensString string) (*Claims, error) { token, err := jwt.ParseWithClaims(tokensString, &Claims{}, secret()) if err != nil { if ve, ok := err.(*jwt.ValidationError); ok { @@ -75,73 +71,63 @@ func ParseToken(tokensString string) (claims *Claims, err error) { } } if claims, ok := token.Claims.(*Claims); ok && token.Valid { - // 1.check userid and platform class 0 not exists and 1 exists - existsInterface, err := db.DB.ExistsUserIDAndPlatform(claims.UID, Platform2class[claims.Platform]) + return claims, nil + } + return nil, err +} + +func ParseToken(tokensString string) (claims *Claims, err error) { + claims, err = getClaimFromToken(tokensString) + + if err != nil { + return nil, err + } + + // 1.check userid and platform class 0 not exists and 1 exists + existsInterface, err := db.DB.ExistsUserIDAndPlatform(claims.UID, Platform2class[claims.Platform]) + if err != nil { + return nil, err + } + exists := existsInterface.(int64) + //get config multi login policy + if config.Config.MultiLoginPolicy.OnlyOneTerminalAccess { + //OnlyOneTerminalAccess policy need to check all terminal + //When only one end is allowed to log in, there is a situation that needs to be paid attention to. After PC login, + //mobile login should check two platform times. One of them is less than the redis storage time, which is the invalid token. + platform := "PC" + if Platform2class[claims.Platform] == "PC" { + platform = "Mobile" + } + + existsInterface, err = db.DB.ExistsUserIDAndPlatform(claims.UID, platform) if err != nil { return nil, err } - exists := existsInterface.(int64) - //get config multi login policy - if config.Config.MultiLoginPolicy.OnlyOneTerminalAccess { - //OnlyOneTerminalAccess policy need to check all terminal - //When only one end is allowed to log in, there is a situation that needs to be paid attention to. After PC login, - //mobile login should check two platform times. One of them is less than the redis storage time, which is the invalid token. - if Platform2class[claims.Platform] == "PC" { - existsInterface, err = db.DB.ExistsUserIDAndPlatform(claims.UID, "Mobile") - if err != nil { - return nil, err - } - exists = existsInterface.(int64) - if exists == 1 { - res, err := MakeTheTokenInvalid(*claims, "Mobile") - if err != nil { - return nil, err - } - if res { - return nil, TokenInvalid - } - } - } else { - existsInterface, err = db.DB.ExistsUserIDAndPlatform(claims.UID, "PC") - if err != nil { - return nil, err - } - exists = existsInterface.(int64) - if exists == 1 { - res, err := MakeTheTokenInvalid(*claims, "PC") - if err != nil { - return nil, err - } - if res { - return nil, TokenInvalid - } - } - } - if exists == 1 { - res, err := MakeTheTokenInvalid(*claims, Platform2class[claims.Platform]) - if err != nil { - return nil, err - } - if res { - return nil, TokenInvalid - } + exists = existsInterface.(int64) + if exists == 1 { + res, err := MakeTheTokenInvalid(*claims, platform) + if err != nil { + return nil, err } - - } else if config.Config.MultiLoginPolicy.MobileAndPCTerminalAccessButOtherTerminalKickEachOther { - if exists == 1 { - res, err := MakeTheTokenInvalid(*claims, Platform2class[claims.Platform]) - if err != nil { - return nil, err - } - if res { - return nil, TokenInvalid - } + if res { + return nil, TokenInvalid } } - return claims, nil } - return nil, TokenUnknown + // config.Config.MultiLoginPolicy.MobileAndPCTerminalAccessButOtherTerminalKickEachOther == true + // or PC/Mobile validate success + // final check + if exists == 1 { + res, err := MakeTheTokenInvalid(*claims, Platform2class[claims.Platform]) + if err != nil { + return nil, err + } + if res { + return nil, TokenInvalid + } + } + return claims, nil } func MakeTheTokenInvalid(currentClaims Claims, platformClass string) (bool, error) { @@ -159,35 +145,16 @@ func MakeTheTokenInvalid(currentClaims Claims, platformClass string) (bool, erro } return false, nil } + func ParseRedisInterfaceToken(redisToken interface{}) (*Claims, error) { - token, err := jwt.ParseWithClaims(string(redisToken.([]uint8)), &Claims{}, secret()) - if err != nil { - if ve, ok := err.(*jwt.ValidationError); ok { - if ve.Errors&jwt.ValidationErrorMalformed != 0 { - return nil, TokenMalformed - } else if ve.Errors&jwt.ValidationErrorExpired != 0 { - return nil, TokenExpired - } else if ve.Errors&jwt.ValidationErrorNotValidYet != 0 { - return nil, TokenNotValidYet - } else { - return nil, TokenInvalid - } - } - } - if claims, ok := token.Claims.(*Claims); ok && token.Valid { - return claims, nil - } - return nil, err + return getClaimFromToken(string(redisToken.([]uint8))) } //Validation token, false means failure, true means successful verification func VerifyToken(token, uid string) bool { claims, err := ParseToken(token) - if err != nil { - return false - } else if claims.UID != uid { + if err != nil || claims.UID != uid { return false - } else { - return true } + return true } diff --git a/src/utils/jwt_token_test.go b/src/utils/jwt_token_test.go new file mode 100644 index 000000000..0d5ac7463 --- /dev/null +++ b/src/utils/jwt_token_test.go @@ -0,0 +1,86 @@ +package utils + +import ( + "Open_IM/src/common/config" + "testing" + "time" + + "github.com/stretchr/testify/assert" +) + +func Test_BuildClaims(t *testing.T) { + uid := "1" + accountAddr := "accountAddr" + platform := "PC" + ttl := int64(-1) + claim := BuildClaims(uid, accountAddr, platform, ttl) + now := time.Now().Unix() + + assert.Equal(t, claim.UID, uid, "uid should equal") + assert.Equal(t, claim.Platform, platform, "platform should equal") + assert.Equal(t, claim.StandardClaims.ExpiresAt, int64(-1), "StandardClaims.ExpiresAt should be equal") + // time difference within 1s + assert.Equal(t, claim.StandardClaims.IssuedAt, now, "StandardClaims.IssuedAt should be equal") + assert.Equal(t, claim.StandardClaims.NotBefore, now, "StandardClaims.NotBefore should be equal") + + ttl = int64(60) + now = time.Now().Unix() + claim = BuildClaims(uid, accountAddr, platform, ttl) + // time difference within 1s + assert.Equal(t, claim.StandardClaims.ExpiresAt, int64(60)+now, "StandardClaims.ExpiresAt should be equal") + assert.Equal(t, claim.StandardClaims.IssuedAt, now, "StandardClaims.IssuedAt should be equal") + assert.Equal(t, claim.StandardClaims.NotBefore, now, "StandardClaims.NotBefore should be equal") +} + +func Test_CreateToken(t *testing.T) { + uid := "1" + accountAddr := "accountAddr" + platform := int32(1) + now := time.Now().Unix() + + tokenString, expiresAt, err := CreateToken(uid, accountAddr, platform) + + assert.NotEmpty(t, tokenString) + assert.Equal(t, expiresAt, 604800+now) + assert.Nil(t, err) +} + +func Test_VerifyToken(t *testing.T) { + uid := "1" + accountAddr := "accountAddr" + platform := int32(1) + tokenString, _, _ := CreateToken(uid, accountAddr, platform) + result := VerifyToken(tokenString, uid) + assert.True(t, result) + result = VerifyToken(tokenString, "2") + assert.False(t, result) +} + +func Test_ParseRedisInterfaceToken(t *testing.T) { + uid := "1" + accountAddr := "accountAddr" + platform := int32(1) + tokenString, _, _ := CreateToken(uid, accountAddr, platform) + + claims, err := ParseRedisInterfaceToken([]uint8(tokenString)) + assert.Nil(t, err) + assert.Equal(t, claims.UID, uid) + + // timeout + config.Config.TokenPolicy.AccessExpire = -80 + tokenString, _, _ = CreateToken(uid, accountAddr, platform) + claims, err = ParseRedisInterfaceToken([]uint8(tokenString)) + assert.Equal(t, err, TokenExpired) + assert.Nil(t, claims) +} + +func Test_ParseToken(t *testing.T) { + uid := "1" + accountAddr := "accountAddr" + platform := int32(1) + tokenString, _, _ := CreateToken(uid, accountAddr, platform) + claims, err := ParseToken(tokenString) + if err == nil { + assert.Equal(t, claims.UID, uid) + } +} From d6ba0a803d4488cb9230983b8f3cdf1936391ed8 Mon Sep 17 00:00:00 2001 From: Away <42713450+memory-qianxiao@users.noreply.github.com> Date: Fri, 22 Oct 2021 21:20:31 +0800 Subject: [PATCH 18/40] Pr branch (#25) * fix update jwt-token version to avoid attackers to bypass intended access restrictions in situations with []string{} for m["aud"] * del accountAddr --- go.mod | 2 +- go.sum | 2 ++ src/rpc/auth/auth/user_token.go | 2 +- src/utils/jwt_token.go | 9 ++++----- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/go.mod b/go.mod index e70c37bda..00fe22cb0 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,6 @@ require ( github.com/Shopify/toxiproxy v2.1.4+incompatible // indirect github.com/antonfisher/nested-logrus-formatter v1.3.0 github.com/coreos/go-semver v0.3.0 // indirect - github.com/dgrijalva/jwt-go v3.2.0+incompatible github.com/dustin/go-humanize v1.0.0 // indirect github.com/eapache/go-resiliency v1.2.0 // indirect github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 // indirect @@ -16,6 +15,7 @@ require ( github.com/garyburd/redigo v1.6.2 github.com/gin-gonic/gin v1.7.0 github.com/go-playground/validator/v10 v10.4.1 + github.com/golang-jwt/jwt/v4 v4.1.0 // indirect github.com/golang/protobuf v1.5.2 github.com/golang/snappy v0.0.3 // indirect github.com/gorilla/websocket v1.4.2 diff --git a/go.sum b/go.sum index 3cfde6ff6..664a73e93 100644 --- a/go.sum +++ b/go.sum @@ -74,6 +74,8 @@ github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5x github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1 h1:/s5zKNz0uPFCZ5hddgPdo2TK2TVrUNMn0OOX8/aZMTE= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/golang-jwt/jwt/v4 v4.1.0 h1:XUgk2Ex5veyVFVeLm0xhusUTQybEbexJXrvPNOKkSY0= +github.com/golang-jwt/jwt/v4 v4.1.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= diff --git a/src/rpc/auth/auth/user_token.go b/src/rpc/auth/auth/user_token.go index 59e91c33b..c89e4312d 100644 --- a/src/rpc/auth/auth/user_token.go +++ b/src/rpc/auth/auth/user_token.go @@ -18,7 +18,7 @@ func (rpc *rpcAuth) UserToken(_ context.Context, pb *pbAuth.UserTokenReq) (*pbAu } log.Info("", "", "rpc user_token call..., im_mysql_model.AppServerFindFromUserByUserID") - tokens, expTime, err := utils.CreateToken(pb.UID, "", pb.Platform) + tokens, expTime, err := utils.CreateToken(pb.UID, pb.Platform) if err != nil { log.Error("", "", "rpc user_token call..., utils.CreateToken fail [uid: %s] [err: %s]", pb.UID, err.Error()) return &pbAuth.UserTokenResp{ErrCode: 500, ErrMsg: err.Error()}, err diff --git a/src/utils/jwt_token.go b/src/utils/jwt_token.go index 938cf6ede..19fdb9a3b 100644 --- a/src/utils/jwt_token.go +++ b/src/utils/jwt_token.go @@ -4,9 +4,8 @@ import ( "Open_IM/src/common/config" "Open_IM/src/common/db" "errors" + "github.com/golang-jwt/jwt/v4" "time" - - "github.com/dgrijalva/jwt-go" ) var ( @@ -23,7 +22,7 @@ type Claims struct { jwt.StandardClaims } -func BuildClaims(uid, accountAddr, platform string, ttl int64) Claims { +func BuildClaims(uid, platform string, ttl int64) Claims { now := time.Now().Unix() //if ttl=-1 Permanent token expiresAt := int64(-1) @@ -41,8 +40,8 @@ func BuildClaims(uid, accountAddr, platform string, ttl int64) Claims { }} } -func CreateToken(userID, accountAddr string, platform int32) (string, int64, error) { - claims := BuildClaims(userID, accountAddr, PlatformIDToName(platform), config.Config.TokenPolicy.AccessExpire) +func CreateToken(userID string, platform int32) (string, int64, error) { + claims := BuildClaims(userID, PlatformIDToName(platform), config.Config.TokenPolicy.AccessExpire) token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims) tokenString, err := token.SignedString([]byte(config.Config.TokenPolicy.AccessSecret)) From b2cc5977557cbaafe97d0f9f5505d88b02733f49 Mon Sep 17 00:00:00 2001 From: Away <42713450+memory-qianxiao@users.noreply.github.com> Date: Sat, 23 Oct 2021 09:21:05 +0800 Subject: [PATCH 19/40] Create codeql-analysis.yml --- .github/workflows/codeql-analysis.yml | 71 +++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 .github/workflows/codeql-analysis.yml diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 000000000..f106438e3 --- /dev/null +++ b/.github/workflows/codeql-analysis.yml @@ -0,0 +1,71 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL" + +on: + push: + branches: [ main ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ main ] + schedule: + - cron: '23 2 * * 2' + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'go' ] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] + # Learn more: + # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v1 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + # queries: ./path/to/local/query, your-org/your-repo/queries@main + + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v1 + + # ℹ️ Command-line programs to run using the OS shell. + # 📚 https://git.io/JvXDl + + # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines + # and modify them (or add more) to build your code if your project + # uses a compiled language + + #- run: | + # make bootstrap + # make release + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v1 From 3d7fd2c19214ca7a4aaea8e3d96a2069a777e5b5 Mon Sep 17 00:00:00 2001 From: senyu <1819625428@qq.com> Date: Sat, 23 Oct 2021 10:51:57 +0800 Subject: [PATCH 20/40] del unuse filed --- src/utils/jwt_token_test.go | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/src/utils/jwt_token_test.go b/src/utils/jwt_token_test.go index 0d5ac7463..31e5a4d4a 100644 --- a/src/utils/jwt_token_test.go +++ b/src/utils/jwt_token_test.go @@ -10,10 +10,9 @@ import ( func Test_BuildClaims(t *testing.T) { uid := "1" - accountAddr := "accountAddr" platform := "PC" ttl := int64(-1) - claim := BuildClaims(uid, accountAddr, platform, ttl) + claim := BuildClaims(uid, platform, ttl) now := time.Now().Unix() assert.Equal(t, claim.UID, uid, "uid should equal") @@ -25,7 +24,7 @@ func Test_BuildClaims(t *testing.T) { ttl = int64(60) now = time.Now().Unix() - claim = BuildClaims(uid, accountAddr, platform, ttl) + claim = BuildClaims(uid, platform, ttl) // time difference within 1s assert.Equal(t, claim.StandardClaims.ExpiresAt, int64(60)+now, "StandardClaims.ExpiresAt should be equal") assert.Equal(t, claim.StandardClaims.IssuedAt, now, "StandardClaims.IssuedAt should be equal") @@ -34,11 +33,10 @@ func Test_BuildClaims(t *testing.T) { func Test_CreateToken(t *testing.T) { uid := "1" - accountAddr := "accountAddr" platform := int32(1) now := time.Now().Unix() - tokenString, expiresAt, err := CreateToken(uid, accountAddr, platform) + tokenString, expiresAt, err := CreateToken(uid, platform) assert.NotEmpty(t, tokenString) assert.Equal(t, expiresAt, 604800+now) @@ -47,9 +45,8 @@ func Test_CreateToken(t *testing.T) { func Test_VerifyToken(t *testing.T) { uid := "1" - accountAddr := "accountAddr" platform := int32(1) - tokenString, _, _ := CreateToken(uid, accountAddr, platform) + tokenString, _, _ := CreateToken(uid, platform) result := VerifyToken(tokenString, uid) assert.True(t, result) result = VerifyToken(tokenString, "2") @@ -58,9 +55,8 @@ func Test_VerifyToken(t *testing.T) { func Test_ParseRedisInterfaceToken(t *testing.T) { uid := "1" - accountAddr := "accountAddr" platform := int32(1) - tokenString, _, _ := CreateToken(uid, accountAddr, platform) + tokenString, _, _ := CreateToken(uid, platform) claims, err := ParseRedisInterfaceToken([]uint8(tokenString)) assert.Nil(t, err) @@ -68,7 +64,7 @@ func Test_ParseRedisInterfaceToken(t *testing.T) { // timeout config.Config.TokenPolicy.AccessExpire = -80 - tokenString, _, _ = CreateToken(uid, accountAddr, platform) + tokenString, _, _ = CreateToken(uid, platform) claims, err = ParseRedisInterfaceToken([]uint8(tokenString)) assert.Equal(t, err, TokenExpired) assert.Nil(t, claims) @@ -76,9 +72,8 @@ func Test_ParseRedisInterfaceToken(t *testing.T) { func Test_ParseToken(t *testing.T) { uid := "1" - accountAddr := "accountAddr" platform := int32(1) - tokenString, _, _ := CreateToken(uid, accountAddr, platform) + tokenString, _, _ := CreateToken(uid, platform) claims, err := ParseToken(tokenString) if err == nil { assert.Equal(t, claims.UID, uid) From 8913ca161f1726435b9d69bb24dc601833c8517c Mon Sep 17 00:00:00 2001 From: Zzr Date: Sat, 23 Oct 2021 14:18:55 +0800 Subject: [PATCH 21/40] Fix #21 (#23) * fix issue#15 * fix #21 Co-authored-by: Gordon <46924906+FGadvancer@users.noreply.github.com> --- .gitignore | 2 +- src/msg_gateway/gate/rpc_server.go | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 6726c686a..74a748ab0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ - +.devcontainer components logs diff --git a/src/msg_gateway/gate/rpc_server.go b/src/msg_gateway/gate/rpc_server.go index e9aa28033..54bb78076 100644 --- a/src/msg_gateway/gate/rpc_server.go +++ b/src/msg_gateway/gate/rpc_server.go @@ -10,10 +10,11 @@ import ( "context" "encoding/json" "fmt" - "github.com/gorilla/websocket" - "google.golang.org/grpc" "net" "strings" + + "github.com/gorilla/websocket" + "google.golang.org/grpc" ) type RPCServer struct { @@ -41,7 +42,7 @@ func (r *RPCServer) run() { srv := grpc.NewServer() defer srv.GracefulStop() pbRelay.RegisterOnlineMessageRelayServiceServer(srv, r) - err = getcdv3.RegisterEtcd4Unique(r.etcdSchema, strings.Join(r.etcdAddr, ","), ip, r.rpcPort, r.rpcRegisterName, 10) + err = getcdv3.RegisterEtcd(r.etcdSchema, strings.Join(r.etcdAddr, ","), ip, r.rpcPort, r.rpcRegisterName, 10) if err != nil { log.ErrorByKv("register push message rpc to etcd err", "", "err", err.Error()) } From 65157ede231b90f7b392de2e97b396aa16fd67d1 Mon Sep 17 00:00:00 2001 From: Away <42713450+memory-qianxiao@users.noreply.github.com> Date: Mon, 25 Oct 2021 11:08:10 +0800 Subject: [PATCH 22/40] Update jwt token version (#27) * add sdk svr to docker script * panic handle * fix build from dockerfile on docker-compose * Update deploy.Dockerfile * log and scripts optimization * ci: ignore files created by docker-compose (#19) * feat: optimise get server ip (#20) * feat: optimise get server ip * feat: test ServerIP * fix issue#15 (#18) Co-authored-by: Gordon <46924906+FGadvancer@users.noreply.github.com> * Modify bug for getting lastest seq * Reduce the MongoDB version to adapt to a few machine (#22) * Feature/optimise jwt token (#24) * Pr branch (#25) * fix update jwt-token version to avoid attackers to bypass intended access restrictions in situations with []string{} for m["aud"] * del accountAddr * Create codeql-analysis.yml * del unuse filed * fix update jwt-token version to avoid attackers to bypass intended access restrictions in situations with []string{} for m["aud"] Co-authored-by: Gordon <1432970085@qq.com> Co-authored-by: Yaxian Co-authored-by: Zzr Co-authored-by: Gordon <46924906+FGadvancer@users.noreply.github.com> Co-authored-by: brennanli --- config/config.yaml | 4 ++-- src/utils/jwt_token.go | 28 +++++++++++----------------- src/utils/jwt_token_test.go | 12 ++++++------ 3 files changed, 19 insertions(+), 25 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index 9e8741b48..d7becbbb4 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -134,8 +134,8 @@ multiloginpolicy: tokenpolicy: accessSecret: "open_im_server" # Token effective time seconds as a unit - #Seven days 7*24*60*60 - accessExpire: 604800 + #Seven days + accessExpire: 7 messagecallback: callbackSwitch: false diff --git a/src/utils/jwt_token.go b/src/utils/jwt_token.go index 19fdb9a3b..14977f7ae 100644 --- a/src/utils/jwt_token.go +++ b/src/utils/jwt_token.go @@ -19,24 +19,18 @@ var ( type Claims struct { UID string Platform string //login platform - jwt.StandardClaims + jwt.RegisteredClaims } func BuildClaims(uid, platform string, ttl int64) Claims { - now := time.Now().Unix() - //if ttl=-1 Permanent token - expiresAt := int64(-1) - if ttl != -1 { - expiresAt = now + ttl - } - + now := time.Now() return Claims{ UID: uid, Platform: platform, - StandardClaims: jwt.StandardClaims{ - ExpiresAt: expiresAt, //Expiration time - IssuedAt: now, //Issuing time - NotBefore: now, //Begin Effective time + RegisteredClaims: jwt.RegisteredClaims{ + ExpiresAt: jwt.NewNumericDate(now.Add(time.Duration(ttl*24) * time.Hour)), //Expiration time + IssuedAt: jwt.NewNumericDate(now), //Issuing time + NotBefore: jwt.NewNumericDate(now), //Begin Effective time }} } @@ -45,7 +39,7 @@ func CreateToken(userID string, platform int32) (string, int64, error) { token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims) tokenString, err := token.SignedString([]byte(config.Config.TokenPolicy.AccessSecret)) - return tokenString, claims.ExpiresAt, err + return tokenString, claims.ExpiresAt.Time.Unix(), err } func secret() jwt.Keyfunc { @@ -105,7 +99,7 @@ func ParseToken(tokensString string) (claims *Claims, err error) { exists = existsInterface.(int64) if exists == 1 { - res, err := MakeTheTokenInvalid(*claims, platform) + res, err := MakeTheTokenInvalid(claims, platform) if err != nil { return nil, err } @@ -118,7 +112,7 @@ func ParseToken(tokensString string) (claims *Claims, err error) { // or PC/Mobile validate success // final check if exists == 1 { - res, err := MakeTheTokenInvalid(*claims, Platform2class[claims.Platform]) + res, err := MakeTheTokenInvalid(claims, Platform2class[claims.Platform]) if err != nil { return nil, err } @@ -129,7 +123,7 @@ func ParseToken(tokensString string) (claims *Claims, err error) { return claims, nil } -func MakeTheTokenInvalid(currentClaims Claims, platformClass string) (bool, error) { +func MakeTheTokenInvalid(currentClaims *Claims, platformClass string) (bool, error) { storedRedisTokenInterface, err := db.DB.GetPlatformToken(currentClaims.UID, platformClass) if err != nil { return false, err @@ -139,7 +133,7 @@ func MakeTheTokenInvalid(currentClaims Claims, platformClass string) (bool, erro return false, err } //if issue time less than redis token then make this token invalid - if currentClaims.IssuedAt < storedRedisPlatformClaims.IssuedAt { + if currentClaims.IssuedAt.Time.Unix() < storedRedisPlatformClaims.IssuedAt.Time.Unix() { return true, TokenInvalid } return false, nil diff --git a/src/utils/jwt_token_test.go b/src/utils/jwt_token_test.go index 31e5a4d4a..83b9bb91c 100644 --- a/src/utils/jwt_token_test.go +++ b/src/utils/jwt_token_test.go @@ -17,18 +17,18 @@ func Test_BuildClaims(t *testing.T) { assert.Equal(t, claim.UID, uid, "uid should equal") assert.Equal(t, claim.Platform, platform, "platform should equal") - assert.Equal(t, claim.StandardClaims.ExpiresAt, int64(-1), "StandardClaims.ExpiresAt should be equal") + assert.Equal(t, claim.RegisteredClaims.ExpiresAt, int64(-1), "StandardClaims.ExpiresAt should be equal") // time difference within 1s - assert.Equal(t, claim.StandardClaims.IssuedAt, now, "StandardClaims.IssuedAt should be equal") - assert.Equal(t, claim.StandardClaims.NotBefore, now, "StandardClaims.NotBefore should be equal") + assert.Equal(t, claim.RegisteredClaims.IssuedAt, now, "StandardClaims.IssuedAt should be equal") + assert.Equal(t, claim.RegisteredClaims.NotBefore, now, "StandardClaims.NotBefore should be equal") ttl = int64(60) now = time.Now().Unix() claim = BuildClaims(uid, platform, ttl) // time difference within 1s - assert.Equal(t, claim.StandardClaims.ExpiresAt, int64(60)+now, "StandardClaims.ExpiresAt should be equal") - assert.Equal(t, claim.StandardClaims.IssuedAt, now, "StandardClaims.IssuedAt should be equal") - assert.Equal(t, claim.StandardClaims.NotBefore, now, "StandardClaims.NotBefore should be equal") + assert.Equal(t, claim.RegisteredClaims.ExpiresAt, int64(60)+now, "StandardClaims.ExpiresAt should be equal") + assert.Equal(t, claim.RegisteredClaims.IssuedAt, now, "StandardClaims.IssuedAt should be equal") + assert.Equal(t, claim.RegisteredClaims.NotBefore, now, "StandardClaims.NotBefore should be equal") } func Test_CreateToken(t *testing.T) { From 7c3aa7ee0b6321e7888d484ec87947dde671378e Mon Sep 17 00:00:00 2001 From: antcorp <527455294@qq.com> Date: Mon, 25 Oct 2021 16:42:56 +0800 Subject: [PATCH 23/40] fix: Startup error (#11) * fix: Startup error Fixed a path error that prompted that the configuration file could not be found at startup * Update config.go Co-authored-by: Gordon <46924906+FGadvancer@users.noreply.github.com> --- src/common/config/config.go | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/common/config/config.go b/src/common/config/config.go index 6294a031c..5d7084653 100644 --- a/src/common/config/config.go +++ b/src/common/config/config.go @@ -2,17 +2,15 @@ package config import ( "io/ioutil" + + "os" + "path/filepath" "runtime" "gopkg.in/yaml.v3" ) -var ( - _, b, _, _ = runtime.Caller(0) - // Root folder of this project - Root = filepath.Join(filepath.Dir(b), "../../..") -) var Config config @@ -156,9 +154,8 @@ type config struct { } func init() { - // if we cd Open-IM-Server/src/utils and run go test - // it will panic cannot find config/config.yaml - bytes, err := ioutil.ReadFile(Root + "/config/config.yaml") + path, _ := os.Getwd() + bytes, err := ioutil.ReadFile(path + "/config/config.yaml") if err != nil { panic(err) } From 37a8ddbae61f431a2e38001d9503ed027c986660 Mon Sep 17 00:00:00 2001 From: skiffer-git <72860476+skiffer-git@users.noreply.github.com> Date: Fri, 29 Oct 2021 15:02:52 +0800 Subject: [PATCH 24/40] Update README.md (#30) * Update README.md * Add files via upload update config * Add files via upload update script --- README.md | 2 +- docs/config.yaml | 146 +++++++++++++++++++++++++++++++++ script/build_all_service.sh | 60 +++++++------- script/check_all.sh | 74 ++++++++++------- script/docker_check_service.sh | 66 +++++++-------- script/docker_start_all.sh | 46 +++++------ script/function.sh | 20 ++--- script/msg_gateway_start.sh | 96 +++++++++++----------- script/msg_transfer_start.sh | 74 ++++++++--------- script/mysql_database_init.sh | 76 ++++++++--------- script/path_info.cfg | 125 ++++++++++++++-------------- script/push_start.sh | 90 ++++++++++---------- script/sdk_svr_start.sh | 94 ++++++++++----------- script/start_all.sh | 36 ++++---- script/start_rpc_service.sh | 118 +++++++++++++------------- script/stop_all.sh | 38 ++++----- script/style_info.cfg | 18 ++-- 17 files changed, 668 insertions(+), 511 deletions(-) create mode 100644 docs/config.yaml diff --git a/README.md b/README.md index 8b32d0903..669b57926 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Open-IM-Server +# Open-IM-Server ![avatar](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/docs/open-im-logo.png) diff --git a/docs/config.yaml b/docs/config.yaml new file mode 100644 index 000000000..765cbb21b --- /dev/null +++ b/docs/config.yaml @@ -0,0 +1,146 @@ +# The class cannot be named by Pascal or camel case. +# If it is not used, the corresponding structure will not be set, +# and it will not be read naturally. +serverversion: 1.0.0 +#---------------Infrastructure configuration---------------------# +etcd: + etcdSchema: openIM + etcdAddr: [ 127.0.0.1:2379 ] + +mysql: + dbMysqlAddress: [ 127.0.0.1:3306 ] + dbMysqlUserName: root + dbMysqlPassword: openIM + dbMysqlDatabaseName: openIM + dbTableName: eMsg + dbMsgTableNum: 1 + dbMaxOpenConns: 20 + dbMaxIdleConns: 10 + dbMaxLifeTime: 120 + +mongo: + dbAddress: [ 127.0.0.1:27017 ] + dbDirect: false + dbTimeout: 10 + dbDatabase: openIM + dbSource: admin + dbUserName: + dbPassword: + dbMaxPoolSize: 20 + dbRetainChatRecords: 7 + +redis: + dbAddress: 127.0.0.1:6379 + dbMaxIdle: 128 + dbMaxActive: 0 + dbIdleTimeout: 120 + dbPassWord: openIM + +kafka: + ws2mschat: + addr: [ 127.0.0.1:9092 ] + topic: "ws2ms_chat" + ms2pschat: + addr: [ 127.0.0.1:9092 ] + topic: "ms2ps_chat" + consumergroupid: + msgToMongo: mongo + msgToMySql: mysql + msgToPush: push + + + +#---------------Internal service configuration---------------------# + +# The service ip default is empty, +# automatically obtain the machine's valid network card ip as the service ip, +# otherwise the configuration ip is preferred +serverip: + +api: + openImApiPort: [ 10000 ] +sdk: + openImSdkWsPort: [ 30000 ] + +credential: + tencent: + appID: 1302656840 + region: ap-chengdu + bucket: echat-1302656840 + secretID: AKIDGNYVChzIQinu7QEgtNp0hnNgqcV8vZTC + secretKey: kz15vW83qM6dBUWIq681eBZA0c0vlIbe + + +rpcport: + openImUserPort: [ 10100 ] + openImFriendPort: [ 10200 ] + openImOfflineMessagePort: [ 10300 ] + openImOnlineRelayPort: [ 10400 ] + openImGroupPort: [ 10500 ] + openImAuthPort: [ 10600 ] + openImPushPort: [ 10700 ] + + +rpcregistername: + openImUserName: User + openImFriendName: Friend + openImOfflineMessageName: OfflineMessage + openImPushName: Push + openImOnlineMessageRelayName: OnlineMessageRelay + openImGroupName: Group + openImAuthName: Auth + +log: + storageLocation: ../logs/ + rotationTime: 24 + remainRotationCount: 5 + remainLogLevel: 6 + elasticSearchSwitch: false + elasticSearchAddr: [ 127.0.0.1:9201 ] + elasticSearchUser: "" + elasticSearchPassword: "" + +modulename: + longConnSvrName: msg_gateway + msgTransferName: msg_transfer + pushName: push + +longconnsvr: + openImWsPort: [ 17778 ] + websocketMaxConnNum: 10000 + websocketMaxMsgLen: 4096 + websocketTimeOut: 10 + +push: + tpns: + ios: + accessID: 1600018281 + secretKey: 3cd68a77a95b89e5089a1aca523f318f + android: + accessID: 111 + secretKey: 111 + jpns: + appKey: 2783339cee4de379cc798fe1 + masterSecret: 66e5f309e032c68cc668c28a + pushUrl: "https://api.jpush.cn/v3/push" +manager: + appManagerUid: ["openIM123456","openIM654321"] + secrets: ["openIM1","openIM2"] + +secret: tuoyun + +multiloginpolicy: + onlyOneTerminalAccess: false + mobileAndPCTerminalAccessButOtherTerminalKickEachOther: true + allTerminalAccess: false + +#token config +tokenpolicy: + accessSecret: "open_im_server" + # Token effective time seconds as a unit + #Seven days 7*24*60*60 + accessExpire: 604800 + +messagecallback: + callbackSwitch: false + callbackUrl: "http://www.xxx.com/msg/judge" \ No newline at end of file diff --git a/script/build_all_service.sh b/script/build_all_service.sh index 07a34bb08..6f563b6f6 100644 --- a/script/build_all_service.sh +++ b/script/build_all_service.sh @@ -1,30 +1,30 @@ -#!/usr/bin/env bash - -source ./style_info.cfg -source ./path_info.cfg -source ./function.sh - -bin_dir="../bin" -logs_dir="../logs" -sdk_db_dir="../db/sdk/" -#Automatically created when there is no bin, logs folder -if [ ! -d $bin_dir ]; then - mkdir -p $bin_dir -fi -if [ ! -d $logs_dir ]; then - mkdir -p $logs_dir -fi -if [ ! -d $sdk_db_dir ]; then - mkdir -p $sdk_db_dir -fi - -#begin path -begin_path=$PWD - -for ((i = 0; i < ${#service_source_root[*]}; i++)); do - cd $begin_path - service_path=${service_source_root[$i]} - cd $service_path && echo -e "${SKY_BLUE_PREFIX}Current directory: $PWD $COLOR_SUFFIX" - make install && echo -e "${SKY_BLUE_PREFIX}build ${service_names[$i]} success,moving binary file to the bin directory${COLOR_SUFFIX}" && - echo -e "${SKY_BLUE_PREFIX}Successful moved ${service_names[$i]} to the bin directory${COLOR_SUFFIX}\n" -done +#!/usr/bin/env bash + +source ./style_info.cfg +source ./path_info.cfg +source ./function.sh + +bin_dir="../bin" +logs_dir="../logs" +sdk_db_dir="../db/sdk/" +#Automatically created when there is no bin, logs folder +if [ ! -d $bin_dir ]; then + mkdir -p $bin_dir +fi +if [ ! -d $logs_dir ]; then + mkdir -p $logs_dir +fi +if [ ! -d $sdk_db_dir ]; then + mkdir -p $sdk_db_dir +fi + +#begin path +begin_path=$PWD + +for ((i = 0; i < ${#service_source_root[*]}; i++)); do + cd $begin_path + service_path=${service_source_root[$i]} + cd $service_path && echo -e "${SKY_BLUE_PREFIX}Current directory: $PWD $COLOR_SUFFIX" + make install && echo -e "${SKY_BLUE_PREFIX}build ${service_names[$i]} success,moving binary file to the bin directory${COLOR_SUFFIX}" && + echo -e "${SKY_BLUE_PREFIX}Successful moved ${service_names[$i]} to the bin directory${COLOR_SUFFIX}\n" +done diff --git a/script/check_all.sh b/script/check_all.sh index dd8042fde..b984cc10a 100644 --- a/script/check_all.sh +++ b/script/check_all.sh @@ -1,31 +1,43 @@ -#!/usr/bin/env bash - -source ./style_info.cfg -source ./path_info.cfg -source ./function.sh -service_port_name=( - openImApiPort - openImUserPort - openImFriendPort - openImOfflineMessagePort - openImOnlineRelayPort - openImGroupPort - openImAuthPort - openImPushPort - openImWsPort - openImSdkWsPort -) - for i in ${service_port_name[*]};do - list=$(cat $config_path | grep -w ${i} | awk -F '[:]' '{print $NF}') - list_to_string $list - for j in ${ports_array};do - port=`netstat -netulp |grep ./open_im| awk '{print $4}'|grep -w ${j}|awk -F '[:]' '{print $NF}'` - if [[ ${port} -ne ${j} ]]; then - echo -e ${YELLOW_PREFIX}${i}${COLOR_SUFFIX}${RED_PREFIX}" service does not start normally,not initiated port is "${COLOR_SUFFIX}${YELLOW_PREFIX}${j}${COLOR_SUFFIX} - exit 1 - else - echo -e ${j}${GREEN_PREFIX}" port has been listening,belongs service is "${i}${COLOR_SUFFIX} - fi - done - done - echo -e ${YELLOW_PREFIX}"all services launch success"${COLOR_SUFFIX} +#!/usr/bin/env bash + +source ./style_info.cfg +source ./path_info.cfg +source ./function.sh +service_port_name=( + openImApiPort + openImUserPort + openImFriendPort + openImOfflineMessagePort + openImOnlineRelayPort + openImGroupPort + openImAuthPort + openImPushPort + openImWsPort + openImSdkWsPort +) +for i in ${service_port_name[*]}; do + list=$(cat $config_path | grep -w ${i} | awk -F '[:]' '{print $NF}') + list_to_string $list + for j in ${ports_array}; do + port=$(netstat -netulp | grep ./open_im | awk '{print $4}' | grep -w ${j} | awk -F '[:]' '{print $NF}') + if [[ ${port} -ne ${j} ]]; then + echo -e ${YELLOW_PREFIX}${i}${COLOR_SUFFIX}${RED_PREFIX}" service does not start normally,not initiated port is "${COLOR_SUFFIX}${YELLOW_PREFIX}${j}${COLOR_SUFFIX} + echo -e ${RED_PREFIX}"please check ../logs/openIM.log "${COLOR_SUFFIX} + exit -1 + else + echo -e ${j}${GREEN_PREFIX}" port has been listening,belongs service is "${i}${COLOR_SUFFIX} + fi + done +done + +#Check launched service process +check=$(ps aux | grep -w ./${msg_transfer_name} | grep -v grep | wc -l) +if [ $check -eq ${msg_transfer_service_num} ]; then + echo -e ${GREEN_PREFIX}"service has been starting,belongs service is openImMsgTransfer"${COLOR_SUFFIX} +else + echo -e ${RED_PREFIX}"openImMsgTransfer service does not start normally, num err"${COLOR_SUFFIX} + echo -e ${RED_PREFIX}"please check ../logs/openIM.log "${COLOR_SUFFIX} + exit -1 +fi + +echo -e ${YELLOW_PREFIX}"all services launch success"${COLOR_SUFFIX} diff --git a/script/docker_check_service.sh b/script/docker_check_service.sh index e380cb3fb..c9fd54ec8 100644 --- a/script/docker_check_service.sh +++ b/script/docker_check_service.sh @@ -1,33 +1,33 @@ -#!/usr/bin/env bash - -source ./style_info.cfg - -docker_compose_components=( - etcd - mongo - mysql - open-im-server - redis - kafka - zookeeper -) - -component_server_count=0 - -for ((i = 0; i < ${#docker_compose_components[*]}; i++)); do - component_server="docker-compose ps|grep -w ${docker_compose_components[$i]}|grep Up" - count="${component_server}|wc -l" - - if [ $(eval ${count}) -gt 0 ]; then - echo -e "${SKY_BLUE_PREFIX}docker-compose ${docker_compose_components[$i]} is Up!${COLOR_SUFFIX}" - let component_server_count+=1 - else - echo -e "${RED_PREFIX} ${docker_compose_components[$i]} start failed!${COLOR_SUFFIX}" - fi -done - -if [ ${component_server_count} -eq 7 ]; then - echo -e "${YELLOW_PREFIX}\ndocker-compose all services is Up!${COLOR_SUFFIX}" -else - echo -e "${RED_PREFIX}\nsome docker-compose services start failed,please check red logs on console ${COLOR_SUFFIX}" -fi +#!/usr/bin/env bash + +source ./style_info.cfg + +docker_compose_components=( + etcd + mongo + mysql + open-im-server + redis + kafka + zookeeper +) + +component_server_count=0 + +for ((i = 0; i < ${#docker_compose_components[*]}; i++)); do + component_server="docker-compose ps|grep -w ${docker_compose_components[$i]}|grep Up" + count="${component_server}|wc -l" + + if [ $(eval ${count}) -gt 0 ]; then + echo -e "${SKY_BLUE_PREFIX}docker-compose ${docker_compose_components[$i]} is Up!${COLOR_SUFFIX}" + let component_server_count+=1 + else + echo -e "${RED_PREFIX} ${docker_compose_components[$i]} start failed!${COLOR_SUFFIX}" + fi +done + +if [ ${component_server_count} -eq 7 ]; then + echo -e "${YELLOW_PREFIX}\ndocker-compose all services is Up!${COLOR_SUFFIX}" +else + echo -e "${RED_PREFIX}\nsome docker-compose services start failed,please check red logs on console ${COLOR_SUFFIX}" +fi diff --git a/script/docker_start_all.sh b/script/docker_start_all.sh index 740b88e85..fce59c41a 100644 --- a/script/docker_start_all.sh +++ b/script/docker_start_all.sh @@ -1,23 +1,23 @@ -#!/usr/bin/env bash -#fixme This script is the total startup script -#fixme The full name of the shell script that needs to be started is placed in the need_to_start_server_shell array - -#fixme Put the shell script name here -need_to_start_server_shell=( - start_rpc_service.sh - msg_gateway_start.sh - push_start.sh - msg_transfer_start.sh - sdk_svr_start.sh -) - -#fixme The 10 second delay to start the project is for the docker-compose one-click to start openIM when the infrastructure dependencies are not started -sleep 10 - -for i in ${need_to_start_server_shell[*]}; do - chmod +x $i - ./$i -done - -#fixme prevents the openIM service exit after execution in the docker container -tail -f /dev/null +#!/usr/bin/env bash +#fixme This script is the total startup script +#fixme The full name of the shell script that needs to be started is placed in the need_to_start_server_shell array + +#fixme Put the shell script name here +need_to_start_server_shell=( + start_rpc_service.sh + msg_gateway_start.sh + push_start.sh + msg_transfer_start.sh + sdk_svr_start.sh +) + +#fixme The 10 second delay to start the project is for the docker-compose one-click to start openIM when the infrastructure dependencies are not started +sleep 10 + +for i in ${need_to_start_server_shell[*]}; do + chmod +x $i + ./$i +done + +#fixme prevents the openIM service exit after execution in the docker container +tail -f /dev/null diff --git a/script/function.sh b/script/function.sh index 0deb52b38..b57373c72 100644 --- a/script/function.sh +++ b/script/function.sh @@ -1,11 +1,11 @@ -#!/usr/bin/env bash -#input:[10023,2323,3434] -#output:10023 2323 3434 -list_to_string(){ -ports_list=$* -sub_s1=`echo $ports_list | sed 's/ //g'` -sub_s2=${sub_s1//,/ } -sub_s3=${sub_s2#*[} -sub_s4=${sub_s3%]*} -ports_array=$sub_s4 +#!/usr/bin/env bash +#input:[10023,2323,3434] +#output:10023 2323 3434 +list_to_string(){ +ports_list=$* +sub_s1=`echo $ports_list | sed 's/ //g'` +sub_s2=${sub_s1//,/ } +sub_s3=${sub_s2#*[} +sub_s4=${sub_s3%]*} +ports_array=$sub_s4 } \ No newline at end of file diff --git a/script/msg_gateway_start.sh b/script/msg_gateway_start.sh index 197c28743..c21d335ca 100644 --- a/script/msg_gateway_start.sh +++ b/script/msg_gateway_start.sh @@ -1,48 +1,48 @@ -#!/usr/bin/env bash -#Include shell font styles and some basic information -source ./style_info.cfg -source ./path_info.cfg -source ./function.sh -list1=$(cat $config_path | grep openImOnlineRelayPort | awk -F '[:]' '{print $NF}') -list2=$(cat $config_path | grep openImWsPort | awk -F '[:]' '{print $NF}') -list_to_string $list1 -rpc_ports=($ports_array) -list_to_string $list2 -ws_ports=($ports_array) -if [ ${#rpc_ports[@]} -ne ${#ws_ports[@]} ]; then - - echo -e ${RED_PREFIX}"ws_ports does not match push_rpc_ports in quantity!!!"${COLOR_SUFFIX} - exit 0 - -fi -#Check if the service exists -#If it is exists,kill this process -check=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | wc -l) -if [ $check -ge 1 ]; then - oldPid=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | awk '{print $2}') - kill -9 ${oldPid} -fi -#Waiting port recycling -sleep 1 -cd ${msg_gateway_binary_root} -for ((i = 0; i < ${#ws_ports[@]}; i++)); do - nohup ./${msg_gateway_name} -rpc_port ${rpc_ports[$i]} -ws_port ${ws_ports[$i]} >>../logs/openIM.log 2>&1 & -done - -#Check launched service process -sleep 3 -check=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | wc -l) -allPorts="" -if [ $check -ge 1 ]; then - allNewPid=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | awk '{print $2}') - for i in $allNewPid; do - ports=$(netstat -netulp | grep -w ${i} | awk '{print $4}' | awk -F '[:]' '{print $NF}') - allPorts=${allPorts}"$ports " - done - echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS"${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${msg_gateway_name}${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allNewPid}${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX} -else - echo -e ${YELLOW_PREFIX}${msg_gateway_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR !!! PLEASE CHECK ERROR LOG"${COLOR_SUFFIX} -fi +#!/usr/bin/env bash +#Include shell font styles and some basic information +source ./style_info.cfg +source ./path_info.cfg +source ./function.sh +list1=$(cat $config_path | grep openImOnlineRelayPort | awk -F '[:]' '{print $NF}') +list2=$(cat $config_path | grep openImWsPort | awk -F '[:]' '{print $NF}') +list_to_string $list1 +rpc_ports=($ports_array) +list_to_string $list2 +ws_ports=($ports_array) +if [ ${#rpc_ports[@]} -ne ${#ws_ports[@]} ]; then + + echo -e ${RED_PREFIX}"ws_ports does not match push_rpc_ports in quantity!!!"${COLOR_SUFFIX} + exit 0 + +fi +#Check if the service exists +#If it is exists,kill this process +check=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | wc -l) +if [ $check -ge 1 ]; then + oldPid=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | awk '{print $2}') + kill -9 ${oldPid} +fi +#Waiting port recycling +sleep 1 +cd ${msg_gateway_binary_root} +for ((i = 0; i < ${#ws_ports[@]}; i++)); do + nohup ./${msg_gateway_name} -rpc_port ${rpc_ports[$i]} -ws_port ${ws_ports[$i]} >>../logs/openIM.log 2>&1 & +done + +#Check launched service process +sleep 3 +check=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | wc -l) +allPorts="" +if [ $check -ge 1 ]; then + allNewPid=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | awk '{print $2}') + for i in $allNewPid; do + ports=$(netstat -netulp | grep -w ${i} | awk '{print $4}' | awk -F '[:]' '{print $NF}') + allPorts=${allPorts}"$ports " + done + echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS"${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${msg_gateway_name}${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allNewPid}${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX} +else + echo -e ${YELLOW_PREFIX}${msg_gateway_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR, PLEASE CHECK openIM.log"${COLOR_SUFFIX} +fi diff --git a/script/msg_transfer_start.sh b/script/msg_transfer_start.sh index 30caeb466..0b645596c 100644 --- a/script/msg_transfer_start.sh +++ b/script/msg_transfer_start.sh @@ -1,38 +1,36 @@ -#!/usr/bin/env bash -#Include shell font styles and some basic information -source ./style_info.cfg -source ./path_info.cfg - - - -#Check if the service exists -#If it is exists,kill this process -check=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep| wc -l` -if [ $check -eq 1 ] -then -oldPid=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep|awk '{print $2}'` - kill -9 $oldPid -fi -#Waiting port recycling -sleep 1 -cd ${msg_transfer_binary_root} - nohup ./${msg_transfer_name} >>../logs/openIM.log 2>&1 & -#Check launched service process -check=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep| wc -l` -if [ $check -eq 1 ] -then -newPid=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep|awk '{print $2}'` -ports=`netstat -netulp | grep -w ${newPid}|awk '{print $4}'|awk -F '[:]' '{print $NF}'` -allPorts="" - -for i in $ports ; -do - allPorts=${allPorts}"$i " -done - echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS "${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${msg_transfer_name}${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${newPid}${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX} -else - echo -e ${YELLOW_PREFIX}${msg_transfer_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR !!! PLEASE CHECK ERROR LOG"${COLOR_SUFFIX} -fi +#!/usr/bin/env bash +#Include shell font styles and some basic information +source ./style_info.cfg +source ./path_info.cfg + + + +#Check if the service exists +#If it is exists,kill this process +check=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep| wc -l` +if [ $check -ge 1 ] +then +oldPid=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep|awk '{print $2}'` + kill -9 $oldPid +fi +#Waiting port recycling +sleep 1 + +cd ${msg_transfer_binary_root} +for ((i = 0; i < ${msg_transfer_service_num}; i++)); do + nohup ./${msg_transfer_name} >>../logs/openIM.log 2>&1 & +done + +#Check launched service process +check=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep| wc -l` +if [ $check -ge 1 ] +then +newPid=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep|awk '{print $2}'` +allPorts="" + echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS "${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${msg_transfer_name}${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${newPid}${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX} +else + echo -e ${YELLOW_PREFIX}${msg_transfer_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR, PLEASE CHECK openIM.log"${COLOR_SUFFIX} +fi diff --git a/script/mysql_database_init.sh b/script/mysql_database_init.sh index 2a5135e8e..f8e4caa59 100644 --- a/script/mysql_database_init.sh +++ b/script/mysql_database_init.sh @@ -1,38 +1,38 @@ -#!/usr/bin/env bash - -source ./style_info.cfg -source ./path_info.cfg -source ./function.sh - -#define database attributes -address=$(cat $config_path | grep -w dbMysqlAddress) -list_to_string ${address} -hostAndPort=($ports_array) -DATABASE_HOST=$(echo $hostAndPort | awk -F '[:]' '{print $1}') -DATABASE_PORT=$(echo $hostAndPort | awk -F '[:]' '{print $NF}') -DATABASE_USERNAME=$(cat $config_path | grep -w dbMysqlUserName | awk -F '[:]' '{print $NF}') -DATABASE_PWD=`eval echo $(cat $config_path | grep -w dbMysqlPassword | awk -F '[:]' '{print $NF}')` -DATABASE_NAME=$(cat $config_path | grep -w dbMysqlDatabaseName | awk -F '[:]' '{print $NF}') -SQL_FILE="../config/mysql_sql_file/openIM.sql" - - -create_data_sql="create database IF NOT EXISTS $DATABASE_NAME" -set_character_code_sql="alter database $DATABASE_NAME character set utf8mb4 collate utf8mb4_general_ci" - -echo -e "${SKY_BLUE_PREFIX}start to create database.....$COLOR_SUFFIX" -mysql -h $DATABASE_HOST -P $DATABASE_PORT -u $DATABASE_USERNAME -p$DATABASE_PWD -e "$create_data_sql" - -if [ $? -eq 0 ]; then - echo -e "${SKY_BLUE_PREFIX}create database ${DATABASE_NAME} successfully$COLOR_SUFFIX" - mysql -h $DATABASE_HOST -P $DATABASE_PORT -u $DATABASE_USERNAME -p$DATABASE_PWD -e "$set_character_code_sql" -else - echo -e "${RED_PREFIX}create database failed or exists the database$COLOR_SUFFIX\n" -fi - -echo -e "${SKY_BLUE_PREFIX}start to source openIM.sql .....$COLOR_SUFFIX" -mysql -h $DATABASE_HOST -P $DATABASE_PORT -u $DATABASE_USERNAME -p$DATABASE_PWD -D $DATABASE_NAME <$SQL_FILE -if [ $? -eq 0 ]; then - echo -e "${SKY_BLUE_PREFIX}source openIM.sql successfully$COLOR_SUFFIX" -else - echo -e "${RED_PREFIX}source openIM.sql failed$COLOR_SUFFIX\n" -fi +#!/usr/bin/env bash + +source ./style_info.cfg +source ./path_info.cfg +source ./function.sh + +#define database attributes +address=$(cat $config_path | grep -w dbMysqlAddress) +list_to_string ${address} +hostAndPort=($ports_array) +DATABASE_HOST=$(echo $hostAndPort | awk -F '[:]' '{print $1}') +DATABASE_PORT=$(echo $hostAndPort | awk -F '[:]' '{print $NF}') +DATABASE_USERNAME=$(cat $config_path | grep -w dbMysqlUserName | awk -F '[:]' '{print $NF}') +DATABASE_PWD=`eval echo $(cat $config_path | grep -w dbMysqlPassword | awk -F '[:]' '{print $NF}')` +DATABASE_NAME=$(cat $config_path | grep -w dbMysqlDatabaseName | awk -F '[:]' '{print $NF}') +SQL_FILE="../config/mysql_sql_file/openIM.sql" + + +create_data_sql="create database IF NOT EXISTS $DATABASE_NAME" +set_character_code_sql="alter database $DATABASE_NAME character set utf8mb4 collate utf8mb4_general_ci" + +echo -e "${SKY_BLUE_PREFIX}start to create database.....$COLOR_SUFFIX" +mysql -h $DATABASE_HOST -P $DATABASE_PORT -u $DATABASE_USERNAME -p$DATABASE_PWD -e "$create_data_sql" + +if [ $? -eq 0 ]; then + echo -e "${SKY_BLUE_PREFIX}create database ${DATABASE_NAME} successfully$COLOR_SUFFIX" + mysql -h $DATABASE_HOST -P $DATABASE_PORT -u $DATABASE_USERNAME -p$DATABASE_PWD -e "$set_character_code_sql" +else + echo -e "${RED_PREFIX}create database failed or exists the database$COLOR_SUFFIX\n" +fi + +echo -e "${SKY_BLUE_PREFIX}start to source openIM.sql .....$COLOR_SUFFIX" +mysql -h $DATABASE_HOST -P $DATABASE_PORT -u $DATABASE_USERNAME -p$DATABASE_PWD -D $DATABASE_NAME <$SQL_FILE +if [ $? -eq 0 ]; then + echo -e "${SKY_BLUE_PREFIX}source openIM.sql successfully$COLOR_SUFFIX" +else + echo -e "${RED_PREFIX}source openIM.sql failed$COLOR_SUFFIX\n" +fi diff --git a/script/path_info.cfg b/script/path_info.cfg index ed250d29d..4529c93d6 100644 --- a/script/path_info.cfg +++ b/script/path_info.cfg @@ -1,62 +1,63 @@ -#Don't put the space between "=" -msg_gateway_name="open_im_msg_gateway" -msg_gateway_binary_root="../bin/" -msg_gateway_source_root="../src/msg_gateway/" - -msg_name="open_im_msg" -msg_binary_root="../bin/" -msg_source_root="../src/rpc/chat/" - -push_name="open_im_push" -push_binary_root="../bin/" -push_source_root="../src/push/" - - - -msg_transfer_name="open_im_msg_transfer" -msg_transfer_binary_root="../bin/" -msg_transfer_source_root="../src/msg_transfer/" - - -sdk_server_name="open_im_sdk_server" -sdk_server_binary_root="../bin/" -sdk_server_source_root="../src/Open-IM-SDK-Core/" - - -#Global configuration file default dir -config_path="../config/config.yaml" - -#servicefile dir path -service_source_root=( - #api service file - ../src/api/ - #rpc service file - ../src/rpc/user/ - ../src/rpc/friend/ - ../src/rpc/group/ - ../src/rpc/auth/ - ${msg_gateway_source_root} - ${msg_transfer_source_root} - ${msg_source_root} - ${push_source_root} - ${sdk_server_source_root} -) -#service filename -service_names=( - #api service filename - open_im_api - #rpc service filename - open_im_user - open_im_friend - open_im_group - open_im_auth - ${msg_gateway_name} - ${msg_transfer_name} - ${msg_name} - ${push_name} - ${sdk_server_name} -) - - - - +#Don't put the space between "=" +msg_gateway_name="open_im_msg_gateway" +msg_gateway_binary_root="../bin/" +msg_gateway_source_root="../src/msg_gateway/" + +msg_name="open_im_msg" +msg_binary_root="../bin/" +msg_source_root="../src/rpc/chat/" + +push_name="open_im_push" +push_binary_root="../bin/" +push_source_root="../src/push/" + + + +msg_transfer_name="open_im_msg_transfer" +msg_transfer_binary_root="../bin/" +msg_transfer_source_root="../src/msg_transfer/" +msg_transfer_service_num=2 + + +sdk_server_name="open_im_sdk_server" +sdk_server_binary_root="../bin/" +sdk_server_source_root="../src/Open-IM-SDK-Core/" + + +#Global configuration file default dir +config_path="../config/config.yaml" + +#servicefile dir path +service_source_root=( + #api service file + ../src/api/ + #rpc service file + ../src/rpc/user/ + ../src/rpc/friend/ + ../src/rpc/group/ + ../src/rpc/auth/ + ${msg_gateway_source_root} + ${msg_transfer_source_root} + ${msg_source_root} + ${push_source_root} + ${sdk_server_source_root} +) +#service filename +service_names=( + #api service filename + open_im_api + #rpc service filename + open_im_user + open_im_friend + open_im_group + open_im_auth + ${msg_gateway_name} + ${msg_transfer_name} + ${msg_name} + ${push_name} + ${sdk_server_name} +) + + + + diff --git a/script/push_start.sh b/script/push_start.sh index 668c0068f..51ec1d6ba 100644 --- a/script/push_start.sh +++ b/script/push_start.sh @@ -1,45 +1,45 @@ -#!/usr/bin/env bash -#Include shell font styles and some basic information -source ./style_info.cfg -source ./path_info.cfg -source ./function.sh - - - -list1=$(cat $config_path | grep openImPushPort | awk -F '[:]' '{print $NF}') -list_to_string $list1 -rpc_ports=($ports_array) - -#Check if the service exists -#If it is exists,kill this process -check=$(ps aux | grep -w ./${push_name} | grep -v grep | wc -l) -if [ $check -eq 1 ]; then - oldPid=$(ps aux | grep -w ./${push_name} | grep -v grep | awk '{print $2}') - kill -9 $oldPid -fi -#Waiting port recycling -sleep 1 -cd ${push_binary_root} - -for ((i = 0; i < ${#rpc_ports[@]}; i++)); do - nohup ./${push_name} -port ${rpc_ports[$i]} >>../logs/openIM.log 2>&1 & -done - -sleep 3 -#Check launched service process -check=$(ps aux | grep -w ./${push_name} | grep -v grep | wc -l) -if [ $check -eq 1 ]; then - newPid=$(ps aux | grep -w ./${push_name} | grep -v grep | awk '{print $2}') - ports=$(netstat -netulp | grep -w ${newPid} | awk '{print $4}' | awk -F '[:]' '{print $NF}') - allPorts="" - - for i in $ports; do - allPorts=${allPorts}"$i " - done - echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS "${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${push_name}${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${newPid}${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX} -else - echo -e ${YELLOW_PREFIX}${push_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR !!! PLEASE CHECK ERROR LOG"${COLOR_SUFFIX} -fi +#!/usr/bin/env bash +#Include shell font styles and some basic information +source ./style_info.cfg +source ./path_info.cfg +source ./function.sh + + + +list1=$(cat $config_path | grep openImPushPort | awk -F '[:]' '{print $NF}') +list_to_string $list1 +rpc_ports=($ports_array) + +#Check if the service exists +#If it is exists,kill this process +check=$(ps aux | grep -w ./${push_name} | grep -v grep | wc -l) +if [ $check -ge 1 ]; then + oldPid=$(ps aux | grep -w ./${push_name} | grep -v grep | awk '{print $2}') + kill -9 $oldPid +fi +#Waiting port recycling +sleep 1 +cd ${push_binary_root} + +for ((i = 0; i < ${#rpc_ports[@]}; i++)); do + nohup ./${push_name} -port ${rpc_ports[$i]} >>../logs/openIM.log 2>&1 & +done + +sleep 3 +#Check launched service process +check=$(ps aux | grep -w ./${push_name} | grep -v grep | wc -l) +if [ $check -ge 1 ]; then + newPid=$(ps aux | grep -w ./${push_name} | grep -v grep | awk '{print $2}') + ports=$(netstat -netulp | grep -w ${newPid} | awk '{print $4}' | awk -F '[:]' '{print $NF}') + allPorts="" + + for i in $ports; do + allPorts=${allPorts}"$i " + done + echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS "${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${push_name}${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${newPid}${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX} +else + echo -e ${YELLOW_PREFIX}${push_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR, PLEASE CHECK openIM.log"${COLOR_SUFFIX} +fi diff --git a/script/sdk_svr_start.sh b/script/sdk_svr_start.sh index 28d764b73..4d6af3999 100644 --- a/script/sdk_svr_start.sh +++ b/script/sdk_svr_start.sh @@ -1,47 +1,47 @@ -#!/usr/bin/env bash -#Include shell font styles and some basic information -source ./style_info.cfg -source ./path_info.cfg -source ./function.sh -list1=$(cat $config_path | grep openImApiPort | awk -F '[:]' '{print $NF}') -list2=$(cat $config_path | grep openImWsPort | awk -F '[:]' '{print $NF}') -list3=$(cat $config_path | grep openImSdkWsPort | awk -F '[:]' '{print $NF}') -list_to_string $list1 -api_ports=($ports_array) -list_to_string $list2 -ws_ports=($ports_array) -list_to_string $list3 -sdk_ws_ports=($ports_array) - - - - -#Check if the service exists -#If it is exists,kill this process -check=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | wc -l) -if [ $check -ge 1 ]; then - oldPid=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | awk '{print $2}') - kill -9 ${oldPid} -fi -#Waiting port recycling -sleep 1 -cd ${sdk_server_binary_root} - nohup ./${sdk_server_name} -openIM_api_port ${api_ports[0]} -openIM_ws_port ${ws_ports[0]} -sdk_ws_port ${sdk_ws_ports[0]} >>../logs/openIM.log 2>&1 & - -#Check launched service process -sleep 3 -check=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | wc -l) -allPorts="" -if [ $check -ge 1 ]; then - allNewPid=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | awk '{print $2}') - for i in $allNewPid; do - ports=$(netstat -netulp | grep -w ${i} | awk '{print $4}' | awk -F '[:]' '{print $NF}') - allPorts=${allPorts}"$ports " - done - echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS "${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${sdk_server_name}${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allNewPid}${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX} -else - echo -e ${YELLOW_PREFIX}${sdk_server_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR !!! PLEASE CHECK ERROR LOG"${COLOR_SUFFIX} -fi +#!/usr/bin/env bash +#Include shell font styles and some basic information +source ./style_info.cfg +source ./path_info.cfg +source ./function.sh +list1=$(cat $config_path | grep openImApiPort | awk -F '[:]' '{print $NF}') +list2=$(cat $config_path | grep openImWsPort | awk -F '[:]' '{print $NF}') +list3=$(cat $config_path | grep openImSdkWsPort | awk -F '[:]' '{print $NF}') +list_to_string $list1 +api_ports=($ports_array) +list_to_string $list2 +ws_ports=($ports_array) +list_to_string $list3 +sdk_ws_ports=($ports_array) + + + + +#Check if the service exists +#If it is exists,kill this process +check=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | wc -l) +if [ $check -ge 1 ]; then + oldPid=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | awk '{print $2}') + kill -9 ${oldPid} +fi +#Waiting port recycling +sleep 1 +cd ${sdk_server_binary_root} + nohup ./${sdk_server_name} -openIM_api_port ${api_ports[0]} -openIM_ws_port ${ws_ports[0]} -sdk_ws_port ${sdk_ws_ports[0]} >>../logs/openIM.log 2>&1 & + +#Check launched service process +sleep 3 +check=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | wc -l) +allPorts="" +if [ $check -ge 1 ]; then + allNewPid=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | awk '{print $2}') + for i in $allNewPid; do + ports=$(netstat -netulp | grep -w ${i} | awk '{print $4}' | awk -F '[:]' '{print $NF}') + allPorts=${allPorts}"$ports " + done + echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS "${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${sdk_server_name}${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allNewPid}${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX} +else + echo -e ${YELLOW_PREFIX}${sdk_server_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR PLEASE CHECK openIM.log"${COLOR_SUFFIX} +fi diff --git a/script/start_all.sh b/script/start_all.sh index 43a02b34d..9990cb6c8 100644 --- a/script/start_all.sh +++ b/script/start_all.sh @@ -1,18 +1,18 @@ -#!/usr/bin/env bash -#fixme This script is the total startup script -#fixme The full name of the shell script that needs to be started is placed in the need_to_start_server_shell array - -#fixme Put the shell script name here -need_to_start_server_shell=( - start_rpc_service.sh - msg_gateway_start.sh - push_start.sh - msg_transfer_start.sh - sdk_svr_start.sh -) - -for i in ${need_to_start_server_shell[*]}; do - chmod +x $i - ./$i -done - +#!/usr/bin/env bash +#fixme This script is the total startup script +#fixme The full name of the shell script that needs to be started is placed in the need_to_start_server_shell array + +#fixme Put the shell script name here +need_to_start_server_shell=( + start_rpc_service.sh + msg_gateway_start.sh + push_start.sh + msg_transfer_start.sh + sdk_svr_start.sh +) + +for i in ${need_to_start_server_shell[*]}; do + chmod +x $i + ./$i +done + diff --git a/script/start_rpc_service.sh b/script/start_rpc_service.sh index 74f00a3f4..6307ca1c0 100644 --- a/script/start_rpc_service.sh +++ b/script/start_rpc_service.sh @@ -1,59 +1,59 @@ -#!/usr/bin/env bash - -source ./style_info.cfg -source ./path_info.cfg -source ./function.sh - -#service filename -service_filename=( - #api - open_im_api - #rpc - open_im_user - open_im_friend - open_im_group - open_im_auth - ${msg_name} -) - -#service config port name -service_port_name=( - #api port name - openImApiPort - #rpc port name - openImUserPort - openImFriendPort - openImGroupPort - openImAuthPort - openImOfflineMessagePort - -) - -for ((i = 0; i < ${#service_filename[*]}; i++)); do - #Check whether the service exists - service_name="ps -aux |grep -w ${service_filename[$i]} |grep -v grep" - count="${service_name}| wc -l" - - if [ $(eval ${count}) -gt 0 ]; then - pid="${service_name}| awk '{print \$2}'" - echo -e "${SKY_BLUE_PREFIX}${service_filename[$i]} service has been started,pid:$(eval $pid)$COLOR_SUFFIX" - echo -e "${SKY_BLUE_PREFIX}Killing the service ${service_filename[$i]} pid:$(eval $pid)${COLOR_SUFFIX}" - #kill the service that existed - kill -9 $(eval $pid) - sleep 0.5 - fi - cd ../bin && echo -e "${SKY_BLUE_PREFIX}${service_filename[$i]} service is starting${COLOR_SUFFIX}" - #Get the rpc port in the configuration file - portList=$(cat $config_path | grep ${service_port_name[$i]} | awk -F '[:]' '{print $NF}') - list_to_string ${portList} - #Start related rpc services based on the number of ports - for j in ${ports_array}; do - echo -e "${SKY_BLUE_PREFIX}${service_filename[$i]} Service is starting,port number:$j $COLOR_SUFFIX" - #Start the service in the background - # ./${service_filename[$i]} -port $j & - nohup ./${service_filename[$i]} -port $j >>../logs/openIM.log 2>&1 & - sleep 1 - pid="netstat -ntlp|grep $j |awk '{printf \$7}'|cut -d/ -f1" - echo -e "${RED_PREFIX}${service_filename[$i]} Service is started,port number:$j pid:$(eval $pid)$COLOR_SUFFIX" - done -done +#!/usr/bin/env bash + +source ./style_info.cfg +source ./path_info.cfg +source ./function.sh + +#service filename +service_filename=( + #api + open_im_api + #rpc + open_im_user + open_im_friend + open_im_group + open_im_auth + ${msg_name} +) + +#service config port name +service_port_name=( + #api port name + openImApiPort + #rpc port name + openImUserPort + openImFriendPort + openImGroupPort + openImAuthPort + openImOfflineMessagePort + +) + +for ((i = 0; i < ${#service_filename[*]}; i++)); do + #Check whether the service exists + service_name="ps -aux |grep -w ${service_filename[$i]} |grep -v grep" + count="${service_name}| wc -l" + + if [ $(eval ${count}) -gt 0 ]; then + pid="${service_name}| awk '{print \$2}'" + echo -e "${SKY_BLUE_PREFIX}${service_filename[$i]} service has been started,pid:$(eval $pid)$COLOR_SUFFIX" + echo -e "${SKY_BLUE_PREFIX}Killing the service ${service_filename[$i]} pid:$(eval $pid)${COLOR_SUFFIX}" + #kill the service that existed + kill -9 $(eval $pid) + sleep 0.5 + fi + cd ../bin && echo -e "${SKY_BLUE_PREFIX}${service_filename[$i]} service is starting${COLOR_SUFFIX}" + #Get the rpc port in the configuration file + portList=$(cat $config_path | grep ${service_port_name[$i]} | awk -F '[:]' '{print $NF}') + list_to_string ${portList} + #Start related rpc services based on the number of ports + for j in ${ports_array}; do + echo -e "${SKY_BLUE_PREFIX}${service_filename[$i]} Service is starting,port number:$j $COLOR_SUFFIX" + #Start the service in the background + # ./${service_filename[$i]} -port $j & + nohup ./${service_filename[$i]} -port $j >>../logs/openIM.log 2>&1 & + sleep 1 + pid="netstat -ntlp|grep $j |awk '{printf \$7}'|cut -d/ -f1" + echo -e "${RED_PREFIX}${service_filename[$i]} Service is started,port number:$j pid:$(eval $pid)$COLOR_SUFFIX" + done +done diff --git a/script/stop_all.sh b/script/stop_all.sh index 2e1e119c1..ef7237ab5 100644 --- a/script/stop_all.sh +++ b/script/stop_all.sh @@ -1,19 +1,19 @@ -#!/usr/bin/env bash -#fixme This script is to stop the service - -source ./style_info.cfg -source ./path_info.cfg - - -for i in ${service_names[*]}; do - #Check whether the service exists - name="ps -aux |grep -w $i |grep -v grep" - count="${name}| wc -l" - if [ $(eval ${count}) -gt 0 ]; then - pid="${name}| awk '{print \$2}'" - echo -e "${SKY_BLUE_PREFIX}Killing service:$i pid:$(eval $pid)${COLOR_SUFFIX}" - #kill the service that existed - kill -9 $(eval $pid) - echo -e "${SKY_BLUE_PREFIX}service:$i was killed ${COLOR_SUFFIX}" - fi -done +#!/usr/bin/env bash +#fixme This script is to stop the service + +source ./style_info.cfg +source ./path_info.cfg + + +for i in ${service_names[*]}; do + #Check whether the service exists + name="ps -aux |grep -w $i |grep -v grep" + count="${name}| wc -l" + if [ $(eval ${count}) -gt 0 ]; then + pid="${name}| awk '{print \$2}'" + echo -e "${SKY_BLUE_PREFIX}Killing service:$i pid:$(eval $pid)${COLOR_SUFFIX}" + #kill the service that existed + kill -9 $(eval $pid) + echo -e "${SKY_BLUE_PREFIX}service:$i was killed ${COLOR_SUFFIX}" + fi +done diff --git a/script/style_info.cfg b/script/style_info.cfg index ff28dcb88..92cc5da49 100644 --- a/script/style_info.cfg +++ b/script/style_info.cfg @@ -1,9 +1,9 @@ -#Shell font formatting information -COLOR_SUFFIX="\033[0m" -BLACK_PREFIX="\033[30m" -RED_PREFIX="\033[31m" -GREEN_PREFIX="\033[32m" -YELLOW_PREFIX="\033[33m" -BLUE_PREFIX="\033[34m" -PURPLE_PREFIX="\033[35m" -SKY_BLUE_PREFIX="\033[36m" +#Shell font formatting information +COLOR_SUFFIX="\033[0m" +BLACK_PREFIX="\033[30m" +RED_PREFIX="\033[31m" +GREEN_PREFIX="\033[32m" +YELLOW_PREFIX="\033[33m" +BLUE_PREFIX="\033[34m" +PURPLE_PREFIX="\033[35m" +SKY_BLUE_PREFIX="\033[36m" From 76f2ea01bf3bf55ff239180029ca5aab1a55d1e6 Mon Sep 17 00:00:00 2001 From: skiffer-git <72860476+skiffer-git@users.noreply.github.com> Date: Fri, 29 Oct 2021 15:08:43 +0800 Subject: [PATCH 25/40] update config (#31) * Update README.md * Add files via upload update config * Add files via upload update script * update config Co-authored-by: Gordon <46924906+FGadvancer@users.noreply.github.com> --- config/config.yaml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index d7becbbb4..bdc5b4528 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -1,7 +1,8 @@ + # The class cannot be named by Pascal or camel case. # If it is not used, the corresponding structure will not be set, # and it will not be read naturally. - +serverversion: 1.0.0 #---------------Infrastructure configuration---------------------# etcd: etcdSchema: openIM @@ -119,6 +120,10 @@ push: android: accessID: 111 secretKey: 111 + jpns: + appKey: 2783339cee4de379cc798fe1 + masterSecret: 66e5f309e032c68cc668c28a + pushUrl: "https://api.jpush.cn/v3/push" manager: appManagerUid: ["openIM123456","openIM654321"] secrets: ["openIM1","openIM2"] @@ -134,8 +139,8 @@ multiloginpolicy: tokenpolicy: accessSecret: "open_im_server" # Token effective time seconds as a unit - #Seven days - accessExpire: 7 + #Seven days 7*24*60*60 + accessExpire: 604800 messagecallback: callbackSwitch: false From d6168cbad9abe52f1a75233170ab11906ed31b23 Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Fri, 29 Oct 2021 20:48:43 +0800 Subject: [PATCH 26/40] Add files via upload update script --- build_all_service.sh | 30 ++++++++++++++++++++ check_all.sh | 43 ++++++++++++++++++++++++++++ docker_check_service.sh | 33 +++++++++++++++++++++ docker_start_all.sh | 23 +++++++++++++++ function.sh | 11 +++++++ msg_gateway_start.sh | 48 +++++++++++++++++++++++++++++++ msg_transfer_start.sh | 36 +++++++++++++++++++++++ mysql_database_init.sh | 38 +++++++++++++++++++++++++ path_info.cfg | 63 +++++++++++++++++++++++++++++++++++++++++ push_start.sh | 45 +++++++++++++++++++++++++++++ sdk_svr_start.sh | 47 ++++++++++++++++++++++++++++++ start_all.sh | 18 ++++++++++++ start_rpc_service.sh | 59 ++++++++++++++++++++++++++++++++++++++ stop_all.sh | 19 +++++++++++++ style_info.cfg | 9 ++++++ 15 files changed, 522 insertions(+) create mode 100644 build_all_service.sh create mode 100644 check_all.sh create mode 100644 docker_check_service.sh create mode 100644 docker_start_all.sh create mode 100644 function.sh create mode 100644 msg_gateway_start.sh create mode 100644 msg_transfer_start.sh create mode 100644 mysql_database_init.sh create mode 100644 path_info.cfg create mode 100644 push_start.sh create mode 100644 sdk_svr_start.sh create mode 100644 start_all.sh create mode 100644 start_rpc_service.sh create mode 100644 stop_all.sh create mode 100644 style_info.cfg diff --git a/build_all_service.sh b/build_all_service.sh new file mode 100644 index 000000000..6f563b6f6 --- /dev/null +++ b/build_all_service.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +source ./style_info.cfg +source ./path_info.cfg +source ./function.sh + +bin_dir="../bin" +logs_dir="../logs" +sdk_db_dir="../db/sdk/" +#Automatically created when there is no bin, logs folder +if [ ! -d $bin_dir ]; then + mkdir -p $bin_dir +fi +if [ ! -d $logs_dir ]; then + mkdir -p $logs_dir +fi +if [ ! -d $sdk_db_dir ]; then + mkdir -p $sdk_db_dir +fi + +#begin path +begin_path=$PWD + +for ((i = 0; i < ${#service_source_root[*]}; i++)); do + cd $begin_path + service_path=${service_source_root[$i]} + cd $service_path && echo -e "${SKY_BLUE_PREFIX}Current directory: $PWD $COLOR_SUFFIX" + make install && echo -e "${SKY_BLUE_PREFIX}build ${service_names[$i]} success,moving binary file to the bin directory${COLOR_SUFFIX}" && + echo -e "${SKY_BLUE_PREFIX}Successful moved ${service_names[$i]} to the bin directory${COLOR_SUFFIX}\n" +done diff --git a/check_all.sh b/check_all.sh new file mode 100644 index 000000000..b984cc10a --- /dev/null +++ b/check_all.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash + +source ./style_info.cfg +source ./path_info.cfg +source ./function.sh +service_port_name=( + openImApiPort + openImUserPort + openImFriendPort + openImOfflineMessagePort + openImOnlineRelayPort + openImGroupPort + openImAuthPort + openImPushPort + openImWsPort + openImSdkWsPort +) +for i in ${service_port_name[*]}; do + list=$(cat $config_path | grep -w ${i} | awk -F '[:]' '{print $NF}') + list_to_string $list + for j in ${ports_array}; do + port=$(netstat -netulp | grep ./open_im | awk '{print $4}' | grep -w ${j} | awk -F '[:]' '{print $NF}') + if [[ ${port} -ne ${j} ]]; then + echo -e ${YELLOW_PREFIX}${i}${COLOR_SUFFIX}${RED_PREFIX}" service does not start normally,not initiated port is "${COLOR_SUFFIX}${YELLOW_PREFIX}${j}${COLOR_SUFFIX} + echo -e ${RED_PREFIX}"please check ../logs/openIM.log "${COLOR_SUFFIX} + exit -1 + else + echo -e ${j}${GREEN_PREFIX}" port has been listening,belongs service is "${i}${COLOR_SUFFIX} + fi + done +done + +#Check launched service process +check=$(ps aux | grep -w ./${msg_transfer_name} | grep -v grep | wc -l) +if [ $check -eq ${msg_transfer_service_num} ]; then + echo -e ${GREEN_PREFIX}"service has been starting,belongs service is openImMsgTransfer"${COLOR_SUFFIX} +else + echo -e ${RED_PREFIX}"openImMsgTransfer service does not start normally, num err"${COLOR_SUFFIX} + echo -e ${RED_PREFIX}"please check ../logs/openIM.log "${COLOR_SUFFIX} + exit -1 +fi + +echo -e ${YELLOW_PREFIX}"all services launch success"${COLOR_SUFFIX} diff --git a/docker_check_service.sh b/docker_check_service.sh new file mode 100644 index 000000000..c9fd54ec8 --- /dev/null +++ b/docker_check_service.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +source ./style_info.cfg + +docker_compose_components=( + etcd + mongo + mysql + open-im-server + redis + kafka + zookeeper +) + +component_server_count=0 + +for ((i = 0; i < ${#docker_compose_components[*]}; i++)); do + component_server="docker-compose ps|grep -w ${docker_compose_components[$i]}|grep Up" + count="${component_server}|wc -l" + + if [ $(eval ${count}) -gt 0 ]; then + echo -e "${SKY_BLUE_PREFIX}docker-compose ${docker_compose_components[$i]} is Up!${COLOR_SUFFIX}" + let component_server_count+=1 + else + echo -e "${RED_PREFIX} ${docker_compose_components[$i]} start failed!${COLOR_SUFFIX}" + fi +done + +if [ ${component_server_count} -eq 7 ]; then + echo -e "${YELLOW_PREFIX}\ndocker-compose all services is Up!${COLOR_SUFFIX}" +else + echo -e "${RED_PREFIX}\nsome docker-compose services start failed,please check red logs on console ${COLOR_SUFFIX}" +fi diff --git a/docker_start_all.sh b/docker_start_all.sh new file mode 100644 index 000000000..fce59c41a --- /dev/null +++ b/docker_start_all.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash +#fixme This script is the total startup script +#fixme The full name of the shell script that needs to be started is placed in the need_to_start_server_shell array + +#fixme Put the shell script name here +need_to_start_server_shell=( + start_rpc_service.sh + msg_gateway_start.sh + push_start.sh + msg_transfer_start.sh + sdk_svr_start.sh +) + +#fixme The 10 second delay to start the project is for the docker-compose one-click to start openIM when the infrastructure dependencies are not started +sleep 10 + +for i in ${need_to_start_server_shell[*]}; do + chmod +x $i + ./$i +done + +#fixme prevents the openIM service exit after execution in the docker container +tail -f /dev/null diff --git a/function.sh b/function.sh new file mode 100644 index 000000000..b57373c72 --- /dev/null +++ b/function.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +#input:[10023,2323,3434] +#output:10023 2323 3434 +list_to_string(){ +ports_list=$* +sub_s1=`echo $ports_list | sed 's/ //g'` +sub_s2=${sub_s1//,/ } +sub_s3=${sub_s2#*[} +sub_s4=${sub_s3%]*} +ports_array=$sub_s4 +} \ No newline at end of file diff --git a/msg_gateway_start.sh b/msg_gateway_start.sh new file mode 100644 index 000000000..c21d335ca --- /dev/null +++ b/msg_gateway_start.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash +#Include shell font styles and some basic information +source ./style_info.cfg +source ./path_info.cfg +source ./function.sh +list1=$(cat $config_path | grep openImOnlineRelayPort | awk -F '[:]' '{print $NF}') +list2=$(cat $config_path | grep openImWsPort | awk -F '[:]' '{print $NF}') +list_to_string $list1 +rpc_ports=($ports_array) +list_to_string $list2 +ws_ports=($ports_array) +if [ ${#rpc_ports[@]} -ne ${#ws_ports[@]} ]; then + + echo -e ${RED_PREFIX}"ws_ports does not match push_rpc_ports in quantity!!!"${COLOR_SUFFIX} + exit 0 + +fi +#Check if the service exists +#If it is exists,kill this process +check=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | wc -l) +if [ $check -ge 1 ]; then + oldPid=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | awk '{print $2}') + kill -9 ${oldPid} +fi +#Waiting port recycling +sleep 1 +cd ${msg_gateway_binary_root} +for ((i = 0; i < ${#ws_ports[@]}; i++)); do + nohup ./${msg_gateway_name} -rpc_port ${rpc_ports[$i]} -ws_port ${ws_ports[$i]} >>../logs/openIM.log 2>&1 & +done + +#Check launched service process +sleep 3 +check=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | wc -l) +allPorts="" +if [ $check -ge 1 ]; then + allNewPid=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | awk '{print $2}') + for i in $allNewPid; do + ports=$(netstat -netulp | grep -w ${i} | awk '{print $4}' | awk -F '[:]' '{print $NF}') + allPorts=${allPorts}"$ports " + done + echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS"${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${msg_gateway_name}${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allNewPid}${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX} +else + echo -e ${YELLOW_PREFIX}${msg_gateway_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR, PLEASE CHECK openIM.log"${COLOR_SUFFIX} +fi diff --git a/msg_transfer_start.sh b/msg_transfer_start.sh new file mode 100644 index 000000000..0b645596c --- /dev/null +++ b/msg_transfer_start.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash +#Include shell font styles and some basic information +source ./style_info.cfg +source ./path_info.cfg + + + +#Check if the service exists +#If it is exists,kill this process +check=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep| wc -l` +if [ $check -ge 1 ] +then +oldPid=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep|awk '{print $2}'` + kill -9 $oldPid +fi +#Waiting port recycling +sleep 1 + +cd ${msg_transfer_binary_root} +for ((i = 0; i < ${msg_transfer_service_num}; i++)); do + nohup ./${msg_transfer_name} >>../logs/openIM.log 2>&1 & +done + +#Check launched service process +check=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep| wc -l` +if [ $check -ge 1 ] +then +newPid=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep|awk '{print $2}'` +allPorts="" + echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS "${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${msg_transfer_name}${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${newPid}${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX} +else + echo -e ${YELLOW_PREFIX}${msg_transfer_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR, PLEASE CHECK openIM.log"${COLOR_SUFFIX} +fi diff --git a/mysql_database_init.sh b/mysql_database_init.sh new file mode 100644 index 000000000..f8e4caa59 --- /dev/null +++ b/mysql_database_init.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +source ./style_info.cfg +source ./path_info.cfg +source ./function.sh + +#define database attributes +address=$(cat $config_path | grep -w dbMysqlAddress) +list_to_string ${address} +hostAndPort=($ports_array) +DATABASE_HOST=$(echo $hostAndPort | awk -F '[:]' '{print $1}') +DATABASE_PORT=$(echo $hostAndPort | awk -F '[:]' '{print $NF}') +DATABASE_USERNAME=$(cat $config_path | grep -w dbMysqlUserName | awk -F '[:]' '{print $NF}') +DATABASE_PWD=`eval echo $(cat $config_path | grep -w dbMysqlPassword | awk -F '[:]' '{print $NF}')` +DATABASE_NAME=$(cat $config_path | grep -w dbMysqlDatabaseName | awk -F '[:]' '{print $NF}') +SQL_FILE="../config/mysql_sql_file/openIM.sql" + + +create_data_sql="create database IF NOT EXISTS $DATABASE_NAME" +set_character_code_sql="alter database $DATABASE_NAME character set utf8mb4 collate utf8mb4_general_ci" + +echo -e "${SKY_BLUE_PREFIX}start to create database.....$COLOR_SUFFIX" +mysql -h $DATABASE_HOST -P $DATABASE_PORT -u $DATABASE_USERNAME -p$DATABASE_PWD -e "$create_data_sql" + +if [ $? -eq 0 ]; then + echo -e "${SKY_BLUE_PREFIX}create database ${DATABASE_NAME} successfully$COLOR_SUFFIX" + mysql -h $DATABASE_HOST -P $DATABASE_PORT -u $DATABASE_USERNAME -p$DATABASE_PWD -e "$set_character_code_sql" +else + echo -e "${RED_PREFIX}create database failed or exists the database$COLOR_SUFFIX\n" +fi + +echo -e "${SKY_BLUE_PREFIX}start to source openIM.sql .....$COLOR_SUFFIX" +mysql -h $DATABASE_HOST -P $DATABASE_PORT -u $DATABASE_USERNAME -p$DATABASE_PWD -D $DATABASE_NAME <$SQL_FILE +if [ $? -eq 0 ]; then + echo -e "${SKY_BLUE_PREFIX}source openIM.sql successfully$COLOR_SUFFIX" +else + echo -e "${RED_PREFIX}source openIM.sql failed$COLOR_SUFFIX\n" +fi diff --git a/path_info.cfg b/path_info.cfg new file mode 100644 index 000000000..4529c93d6 --- /dev/null +++ b/path_info.cfg @@ -0,0 +1,63 @@ +#Don't put the space between "=" +msg_gateway_name="open_im_msg_gateway" +msg_gateway_binary_root="../bin/" +msg_gateway_source_root="../src/msg_gateway/" + +msg_name="open_im_msg" +msg_binary_root="../bin/" +msg_source_root="../src/rpc/chat/" + +push_name="open_im_push" +push_binary_root="../bin/" +push_source_root="../src/push/" + + + +msg_transfer_name="open_im_msg_transfer" +msg_transfer_binary_root="../bin/" +msg_transfer_source_root="../src/msg_transfer/" +msg_transfer_service_num=2 + + +sdk_server_name="open_im_sdk_server" +sdk_server_binary_root="../bin/" +sdk_server_source_root="../src/Open-IM-SDK-Core/" + + +#Global configuration file default dir +config_path="../config/config.yaml" + +#servicefile dir path +service_source_root=( + #api service file + ../src/api/ + #rpc service file + ../src/rpc/user/ + ../src/rpc/friend/ + ../src/rpc/group/ + ../src/rpc/auth/ + ${msg_gateway_source_root} + ${msg_transfer_source_root} + ${msg_source_root} + ${push_source_root} + ${sdk_server_source_root} +) +#service filename +service_names=( + #api service filename + open_im_api + #rpc service filename + open_im_user + open_im_friend + open_im_group + open_im_auth + ${msg_gateway_name} + ${msg_transfer_name} + ${msg_name} + ${push_name} + ${sdk_server_name} +) + + + + diff --git a/push_start.sh b/push_start.sh new file mode 100644 index 000000000..51ec1d6ba --- /dev/null +++ b/push_start.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash +#Include shell font styles and some basic information +source ./style_info.cfg +source ./path_info.cfg +source ./function.sh + + + +list1=$(cat $config_path | grep openImPushPort | awk -F '[:]' '{print $NF}') +list_to_string $list1 +rpc_ports=($ports_array) + +#Check if the service exists +#If it is exists,kill this process +check=$(ps aux | grep -w ./${push_name} | grep -v grep | wc -l) +if [ $check -ge 1 ]; then + oldPid=$(ps aux | grep -w ./${push_name} | grep -v grep | awk '{print $2}') + kill -9 $oldPid +fi +#Waiting port recycling +sleep 1 +cd ${push_binary_root} + +for ((i = 0; i < ${#rpc_ports[@]}; i++)); do + nohup ./${push_name} -port ${rpc_ports[$i]} >>../logs/openIM.log 2>&1 & +done + +sleep 3 +#Check launched service process +check=$(ps aux | grep -w ./${push_name} | grep -v grep | wc -l) +if [ $check -ge 1 ]; then + newPid=$(ps aux | grep -w ./${push_name} | grep -v grep | awk '{print $2}') + ports=$(netstat -netulp | grep -w ${newPid} | awk '{print $4}' | awk -F '[:]' '{print $NF}') + allPorts="" + + for i in $ports; do + allPorts=${allPorts}"$i " + done + echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS "${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${push_name}${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${newPid}${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX} +else + echo -e ${YELLOW_PREFIX}${push_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR, PLEASE CHECK openIM.log"${COLOR_SUFFIX} +fi diff --git a/sdk_svr_start.sh b/sdk_svr_start.sh new file mode 100644 index 000000000..4d6af3999 --- /dev/null +++ b/sdk_svr_start.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash +#Include shell font styles and some basic information +source ./style_info.cfg +source ./path_info.cfg +source ./function.sh +list1=$(cat $config_path | grep openImApiPort | awk -F '[:]' '{print $NF}') +list2=$(cat $config_path | grep openImWsPort | awk -F '[:]' '{print $NF}') +list3=$(cat $config_path | grep openImSdkWsPort | awk -F '[:]' '{print $NF}') +list_to_string $list1 +api_ports=($ports_array) +list_to_string $list2 +ws_ports=($ports_array) +list_to_string $list3 +sdk_ws_ports=($ports_array) + + + + +#Check if the service exists +#If it is exists,kill this process +check=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | wc -l) +if [ $check -ge 1 ]; then + oldPid=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | awk '{print $2}') + kill -9 ${oldPid} +fi +#Waiting port recycling +sleep 1 +cd ${sdk_server_binary_root} + nohup ./${sdk_server_name} -openIM_api_port ${api_ports[0]} -openIM_ws_port ${ws_ports[0]} -sdk_ws_port ${sdk_ws_ports[0]} >>../logs/openIM.log 2>&1 & + +#Check launched service process +sleep 3 +check=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | wc -l) +allPorts="" +if [ $check -ge 1 ]; then + allNewPid=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | awk '{print $2}') + for i in $allNewPid; do + ports=$(netstat -netulp | grep -w ${i} | awk '{print $4}' | awk -F '[:]' '{print $NF}') + allPorts=${allPorts}"$ports " + done + echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS "${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${sdk_server_name}${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allNewPid}${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX} +else + echo -e ${YELLOW_PREFIX}${sdk_server_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR PLEASE CHECK openIM.log"${COLOR_SUFFIX} +fi diff --git a/start_all.sh b/start_all.sh new file mode 100644 index 000000000..9990cb6c8 --- /dev/null +++ b/start_all.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash +#fixme This script is the total startup script +#fixme The full name of the shell script that needs to be started is placed in the need_to_start_server_shell array + +#fixme Put the shell script name here +need_to_start_server_shell=( + start_rpc_service.sh + msg_gateway_start.sh + push_start.sh + msg_transfer_start.sh + sdk_svr_start.sh +) + +for i in ${need_to_start_server_shell[*]}; do + chmod +x $i + ./$i +done + diff --git a/start_rpc_service.sh b/start_rpc_service.sh new file mode 100644 index 000000000..6307ca1c0 --- /dev/null +++ b/start_rpc_service.sh @@ -0,0 +1,59 @@ +#!/usr/bin/env bash + +source ./style_info.cfg +source ./path_info.cfg +source ./function.sh + +#service filename +service_filename=( + #api + open_im_api + #rpc + open_im_user + open_im_friend + open_im_group + open_im_auth + ${msg_name} +) + +#service config port name +service_port_name=( + #api port name + openImApiPort + #rpc port name + openImUserPort + openImFriendPort + openImGroupPort + openImAuthPort + openImOfflineMessagePort + +) + +for ((i = 0; i < ${#service_filename[*]}; i++)); do + #Check whether the service exists + service_name="ps -aux |grep -w ${service_filename[$i]} |grep -v grep" + count="${service_name}| wc -l" + + if [ $(eval ${count}) -gt 0 ]; then + pid="${service_name}| awk '{print \$2}'" + echo -e "${SKY_BLUE_PREFIX}${service_filename[$i]} service has been started,pid:$(eval $pid)$COLOR_SUFFIX" + echo -e "${SKY_BLUE_PREFIX}Killing the service ${service_filename[$i]} pid:$(eval $pid)${COLOR_SUFFIX}" + #kill the service that existed + kill -9 $(eval $pid) + sleep 0.5 + fi + cd ../bin && echo -e "${SKY_BLUE_PREFIX}${service_filename[$i]} service is starting${COLOR_SUFFIX}" + #Get the rpc port in the configuration file + portList=$(cat $config_path | grep ${service_port_name[$i]} | awk -F '[:]' '{print $NF}') + list_to_string ${portList} + #Start related rpc services based on the number of ports + for j in ${ports_array}; do + echo -e "${SKY_BLUE_PREFIX}${service_filename[$i]} Service is starting,port number:$j $COLOR_SUFFIX" + #Start the service in the background + # ./${service_filename[$i]} -port $j & + nohup ./${service_filename[$i]} -port $j >>../logs/openIM.log 2>&1 & + sleep 1 + pid="netstat -ntlp|grep $j |awk '{printf \$7}'|cut -d/ -f1" + echo -e "${RED_PREFIX}${service_filename[$i]} Service is started,port number:$j pid:$(eval $pid)$COLOR_SUFFIX" + done +done diff --git a/stop_all.sh b/stop_all.sh new file mode 100644 index 000000000..ef7237ab5 --- /dev/null +++ b/stop_all.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash +#fixme This script is to stop the service + +source ./style_info.cfg +source ./path_info.cfg + + +for i in ${service_names[*]}; do + #Check whether the service exists + name="ps -aux |grep -w $i |grep -v grep" + count="${name}| wc -l" + if [ $(eval ${count}) -gt 0 ]; then + pid="${name}| awk '{print \$2}'" + echo -e "${SKY_BLUE_PREFIX}Killing service:$i pid:$(eval $pid)${COLOR_SUFFIX}" + #kill the service that existed + kill -9 $(eval $pid) + echo -e "${SKY_BLUE_PREFIX}service:$i was killed ${COLOR_SUFFIX}" + fi +done diff --git a/style_info.cfg b/style_info.cfg new file mode 100644 index 000000000..92cc5da49 --- /dev/null +++ b/style_info.cfg @@ -0,0 +1,9 @@ +#Shell font formatting information +COLOR_SUFFIX="\033[0m" +BLACK_PREFIX="\033[30m" +RED_PREFIX="\033[31m" +GREEN_PREFIX="\033[32m" +YELLOW_PREFIX="\033[33m" +BLUE_PREFIX="\033[34m" +PURPLE_PREFIX="\033[35m" +SKY_BLUE_PREFIX="\033[36m" From 51cef0bc53611b9aa3df10e047634dbc293d359e Mon Sep 17 00:00:00 2001 From: Yaxian Date: Fri, 29 Oct 2021 20:51:15 +0800 Subject: [PATCH 27/40] feat: test utils (#26) --- .gitignore | 2 +- src/utils/cors_middleware.go | 3 +- src/utils/cors_middleware_test.go | 67 ++++++++++++++++++++ src/utils/image.go | 15 +++-- src/utils/image_test.go | 27 ++++++++ src/utils/md5_test.go | 15 +++++ src/utils/platform_number_id_to_name_test.go | 45 +++++++++++++ 7 files changed, 167 insertions(+), 7 deletions(-) create mode 100644 src/utils/cors_middleware_test.go create mode 100644 src/utils/image_test.go create mode 100644 src/utils/md5_test.go create mode 100644 src/utils/platform_number_id_to_name_test.go diff --git a/.gitignore b/.gitignore index 74a748ab0..3f1a36dca 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ .devcontainer components logs - +out-test diff --git a/src/utils/cors_middleware.go b/src/utils/cors_middleware.go index 1d75c4ead..6809d786d 100644 --- a/src/utils/cors_middleware.go +++ b/src/utils/cors_middleware.go @@ -1,8 +1,9 @@ package utils import ( - "github.com/gin-gonic/gin" "net/http" + + "github.com/gin-gonic/gin" ) func CorsHandler() gin.HandlerFunc { diff --git a/src/utils/cors_middleware_test.go b/src/utils/cors_middleware_test.go new file mode 100644 index 000000000..0abfe3f3a --- /dev/null +++ b/src/utils/cors_middleware_test.go @@ -0,0 +1,67 @@ +package utils + +import ( + "net/http" + "net/http/httptest" + "testing" + + "github.com/gin-gonic/gin" + "github.com/stretchr/testify/assert" +) + +func init() { + gin.SetMode(gin.TestMode) +} + +func performRequest(r http.Handler, method, origin string) *httptest.ResponseRecorder { + return performRequestWithHeaders(r, method, origin, http.Header{}) +} + +func performRequestWithHeaders(r http.Handler, method, origin string, header http.Header) *httptest.ResponseRecorder { + req, _ := http.NewRequest(method, "/", nil) + // From go/net/http/request.go: + // For incoming requests, the Host header is promoted to the + // Request.Host field and removed from the Header map. + req.Host = header.Get("Host") + header.Del("Host") + if len(origin) > 0 { + header.Set("Origin", origin) + } + req.Header = header + w := httptest.NewRecorder() + r.ServeHTTP(w, req) + return w +} + +func newTestRouter() *gin.Engine { + router := gin.New() + router.Use(CorsHandler()) + router.GET("/", func(c *gin.Context) { + c.String(http.StatusOK, "get") + }) + router.POST("/", func(c *gin.Context) { + c.String(http.StatusOK, "post") + }) + router.PATCH("/", func(c *gin.Context) { + c.String(http.StatusOK, "patch") + }) + + return router +} + +func Test_CorsHandler(t *testing.T) { + router := newTestRouter() + // no CORS request, origin == "" + w := performRequest(router, "GET", "") + assert.Equal(t, "get", w.Body.String()) + assert.Equal(t, w.Header().Get("Access-Control-Allow-Origin"), "*") + assert.Equal(t, w.Header().Get("Access-Control-Allow-Methods"), "*") + assert.Equal(t, w.Header().Get("Access-Control-Allow-Headers"), "*") + assert.Equal(t, w.Header().Get("Access-Control-Expose-Headers"), "Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers,Cache-Control,Content-Language,Content-Type,Expires,Last-Modified,Pragma,FooBar") + assert.Equal(t, w.Header().Get("Access-Control-Max-Age"), "172800") + assert.Equal(t, w.Header().Get("Access-Control-Allow-Credentials"), "false") + assert.Equal(t, w.Header().Get("content-type"), "application/json") + + w = performRequest(router, "OPTIONS", "") + assert.Equal(t, w.Body.String(), "\"Options Request!\"") +} diff --git a/src/utils/image.go b/src/utils/image.go index 393136e63..685c509b4 100644 --- a/src/utils/image.go +++ b/src/utils/image.go @@ -2,20 +2,27 @@ package utils import ( "errors" - "github.com/nfnt/resize" - "golang.org/x/image/bmp" "image" "image/gif" "image/jpeg" "image/png" "io" "os" + "path/filepath" + + "github.com/nfnt/resize" + "golang.org/x/image/bmp" ) func GenSmallImage(src, dst string) error { fIn, _ := os.Open(src) defer fIn.Close() + distDir := filepath.Dir(dst) + if _, err := os.Stat(distDir); os.IsNotExist(err) { + os.MkdirAll(distDir, os.ModePerm) + } + fOut, _ := os.Create(dst) defer fOut.Close() @@ -41,7 +48,7 @@ func scale(in io.Reader, out io.Writer, width, height, quality int) error { switch fm { case "jpeg": - return jpeg.Encode(out, canvas, &jpeg.Options{quality}) + return jpeg.Encode(out, canvas, &jpeg.Options{Quality: quality}) case "png": return png.Encode(out, canvas) case "gif": @@ -51,6 +58,4 @@ func scale(in io.Reader, out io.Writer, width, height, quality int) error { default: return errors.New("ERROR FORMAT") } - - return nil } diff --git a/src/utils/image_test.go b/src/utils/image_test.go new file mode 100644 index 000000000..f28cfc89d --- /dev/null +++ b/src/utils/image_test.go @@ -0,0 +1,27 @@ +package utils + +import ( + "path/filepath" + "runtime" + "testing" + + "github.com/stretchr/testify/assert" +) + +var ( + _, b, _, _ = runtime.Caller(0) + // Root folder of this project + Root = filepath.Join(filepath.Dir(b), "../..") +) + +func Test_GenSmallImage(t *testing.T) { + println(Root) + err := GenSmallImage(Root+"/docs/open-im-logo.png", Root+"/out-test/open-im-logo-test.png") + assert.Nil(t, err) + + err = GenSmallImage(Root+"/docs/open-im-logo.png", "out-test/open-im-logo-test.png") + assert.Nil(t, err) + + err = GenSmallImage(Root+"/docs/Architecture.jpg", "out-test/Architecture-test.jpg") + assert.Nil(t, err) +} diff --git a/src/utils/md5_test.go b/src/utils/md5_test.go new file mode 100644 index 000000000..63eec8077 --- /dev/null +++ b/src/utils/md5_test.go @@ -0,0 +1,15 @@ +package utils + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func Test_Md5(t *testing.T) { + result := Md5("go") + assert.Equal(t, result, "34d1f91fb2e514b8576fab1a75a89a6b") + + result2 := Md5("go") + assert.Equal(t, result, result2) +} diff --git a/src/utils/platform_number_id_to_name_test.go b/src/utils/platform_number_id_to_name_test.go new file mode 100644 index 000000000..fefe39091 --- /dev/null +++ b/src/utils/platform_number_id_to_name_test.go @@ -0,0 +1,45 @@ +package utils + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func Test_PlatformIDToName(t *testing.T) { + assert.Equal(t, PlatformIDToName(1), "IOS") + assert.Equal(t, PlatformIDToName(2), "Android") + assert.Equal(t, PlatformIDToName(3), "Windows") + assert.Equal(t, PlatformIDToName(4), "OSX") + assert.Equal(t, PlatformIDToName(5), "Web") + assert.Equal(t, PlatformIDToName(6), "MiniWeb") + assert.Equal(t, PlatformIDToName(7), "Linux") + + assert.Equal(t, PlatformIDToName(0), "") +} + +func Test_PlatformNameToID(t *testing.T) { + assert.Equal(t, PlatformNameToID("IOS"), int32(1)) + assert.Equal(t, PlatformNameToID("Android"), int32(2)) + assert.Equal(t, PlatformNameToID("Windows"), int32(3)) + assert.Equal(t, PlatformNameToID("OSX"), int32(4)) + assert.Equal(t, PlatformNameToID("Web"), int32(5)) + assert.Equal(t, PlatformNameToID("MiniWeb"), int32(6)) + assert.Equal(t, PlatformNameToID("Linux"), int32(7)) + + assert.Equal(t, PlatformNameToID("UnknownDevice"), int32(0)) + assert.Equal(t, PlatformNameToID(""), int32(0)) +} + +func Test_PlatformNameToClass(t *testing.T) { + assert.Equal(t, PlatformNameToClass("IOS"), "Mobile") + assert.Equal(t, PlatformNameToClass("Android"), "Mobile") + assert.Equal(t, PlatformNameToClass("OSX"), "PC") + assert.Equal(t, PlatformNameToClass("Windows"), "PC") + assert.Equal(t, PlatformNameToClass("Web"), "PC") + assert.Equal(t, PlatformNameToClass("MiniWeb"), "Mobile") + assert.Equal(t, PlatformNameToClass("Linux"), "PC") + + assert.Equal(t, PlatformNameToClass("UnknownDevice"), "") + assert.Equal(t, PlatformNameToClass(""), "") +} From 0cc641d1f82680d5deb78c62be266254067ae001 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 29 Oct 2021 21:00:59 +0800 Subject: [PATCH 28/40] script --- build_all_service.sh | 30 -------- check_all.sh | 43 ----------- docker_check_service.sh | 33 --------- docker_start_all.sh | 23 ------ function.sh | 11 --- msg_gateway_start.sh | 48 ------------- msg_transfer_start.sh | 36 ---------- mysql_database_init.sh | 38 ---------- path_info.cfg | 63 ----------------- push_start.sh | 45 ------------ script/build_all_service.sh | 60 ++++++++-------- script/check_all.sh | 86 +++++++++++----------- script/docker_check_service.sh | 66 ++++++++--------- script/docker_start_all.sh | 46 ++++++------ script/function.sh | 20 +++--- script/msg_gateway_start.sh | 96 ++++++++++++------------- script/msg_transfer_start.sh | 72 +++++++++---------- script/mysql_database_init.sh | 76 ++++++++++---------- script/path_info.cfg | 126 ++++++++++++++++----------------- script/push_start.sh | 90 +++++++++++------------ script/sdk_svr_start.sh | 94 ++++++++++++------------ script/start_all.sh | 36 +++++----- script/start_rpc_service.sh | 118 +++++++++++++++--------------- script/stop_all.sh | 38 +++++----- script/style_info.cfg | 18 ++--- sdk_svr_start.sh | 47 ------------ src/Open-IM-SDK-Core | 2 +- src/api/friend/add_friend.go | 2 + start_all.sh | 18 ----- start_rpc_service.sh | 59 --------------- stop_all.sh | 19 ----- style_info.cfg | 9 --- 32 files changed, 524 insertions(+), 1044 deletions(-) delete mode 100644 build_all_service.sh delete mode 100644 check_all.sh delete mode 100644 docker_check_service.sh delete mode 100644 docker_start_all.sh delete mode 100644 function.sh delete mode 100644 msg_gateway_start.sh delete mode 100644 msg_transfer_start.sh delete mode 100644 mysql_database_init.sh delete mode 100644 path_info.cfg delete mode 100644 push_start.sh delete mode 100644 sdk_svr_start.sh delete mode 100644 start_all.sh delete mode 100644 start_rpc_service.sh delete mode 100644 stop_all.sh delete mode 100644 style_info.cfg diff --git a/build_all_service.sh b/build_all_service.sh deleted file mode 100644 index 6f563b6f6..000000000 --- a/build_all_service.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env bash - -source ./style_info.cfg -source ./path_info.cfg -source ./function.sh - -bin_dir="../bin" -logs_dir="../logs" -sdk_db_dir="../db/sdk/" -#Automatically created when there is no bin, logs folder -if [ ! -d $bin_dir ]; then - mkdir -p $bin_dir -fi -if [ ! -d $logs_dir ]; then - mkdir -p $logs_dir -fi -if [ ! -d $sdk_db_dir ]; then - mkdir -p $sdk_db_dir -fi - -#begin path -begin_path=$PWD - -for ((i = 0; i < ${#service_source_root[*]}; i++)); do - cd $begin_path - service_path=${service_source_root[$i]} - cd $service_path && echo -e "${SKY_BLUE_PREFIX}Current directory: $PWD $COLOR_SUFFIX" - make install && echo -e "${SKY_BLUE_PREFIX}build ${service_names[$i]} success,moving binary file to the bin directory${COLOR_SUFFIX}" && - echo -e "${SKY_BLUE_PREFIX}Successful moved ${service_names[$i]} to the bin directory${COLOR_SUFFIX}\n" -done diff --git a/check_all.sh b/check_all.sh deleted file mode 100644 index b984cc10a..000000000 --- a/check_all.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env bash - -source ./style_info.cfg -source ./path_info.cfg -source ./function.sh -service_port_name=( - openImApiPort - openImUserPort - openImFriendPort - openImOfflineMessagePort - openImOnlineRelayPort - openImGroupPort - openImAuthPort - openImPushPort - openImWsPort - openImSdkWsPort -) -for i in ${service_port_name[*]}; do - list=$(cat $config_path | grep -w ${i} | awk -F '[:]' '{print $NF}') - list_to_string $list - for j in ${ports_array}; do - port=$(netstat -netulp | grep ./open_im | awk '{print $4}' | grep -w ${j} | awk -F '[:]' '{print $NF}') - if [[ ${port} -ne ${j} ]]; then - echo -e ${YELLOW_PREFIX}${i}${COLOR_SUFFIX}${RED_PREFIX}" service does not start normally,not initiated port is "${COLOR_SUFFIX}${YELLOW_PREFIX}${j}${COLOR_SUFFIX} - echo -e ${RED_PREFIX}"please check ../logs/openIM.log "${COLOR_SUFFIX} - exit -1 - else - echo -e ${j}${GREEN_PREFIX}" port has been listening,belongs service is "${i}${COLOR_SUFFIX} - fi - done -done - -#Check launched service process -check=$(ps aux | grep -w ./${msg_transfer_name} | grep -v grep | wc -l) -if [ $check -eq ${msg_transfer_service_num} ]; then - echo -e ${GREEN_PREFIX}"service has been starting,belongs service is openImMsgTransfer"${COLOR_SUFFIX} -else - echo -e ${RED_PREFIX}"openImMsgTransfer service does not start normally, num err"${COLOR_SUFFIX} - echo -e ${RED_PREFIX}"please check ../logs/openIM.log "${COLOR_SUFFIX} - exit -1 -fi - -echo -e ${YELLOW_PREFIX}"all services launch success"${COLOR_SUFFIX} diff --git a/docker_check_service.sh b/docker_check_service.sh deleted file mode 100644 index c9fd54ec8..000000000 --- a/docker_check_service.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env bash - -source ./style_info.cfg - -docker_compose_components=( - etcd - mongo - mysql - open-im-server - redis - kafka - zookeeper -) - -component_server_count=0 - -for ((i = 0; i < ${#docker_compose_components[*]}; i++)); do - component_server="docker-compose ps|grep -w ${docker_compose_components[$i]}|grep Up" - count="${component_server}|wc -l" - - if [ $(eval ${count}) -gt 0 ]; then - echo -e "${SKY_BLUE_PREFIX}docker-compose ${docker_compose_components[$i]} is Up!${COLOR_SUFFIX}" - let component_server_count+=1 - else - echo -e "${RED_PREFIX} ${docker_compose_components[$i]} start failed!${COLOR_SUFFIX}" - fi -done - -if [ ${component_server_count} -eq 7 ]; then - echo -e "${YELLOW_PREFIX}\ndocker-compose all services is Up!${COLOR_SUFFIX}" -else - echo -e "${RED_PREFIX}\nsome docker-compose services start failed,please check red logs on console ${COLOR_SUFFIX}" -fi diff --git a/docker_start_all.sh b/docker_start_all.sh deleted file mode 100644 index fce59c41a..000000000 --- a/docker_start_all.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash -#fixme This script is the total startup script -#fixme The full name of the shell script that needs to be started is placed in the need_to_start_server_shell array - -#fixme Put the shell script name here -need_to_start_server_shell=( - start_rpc_service.sh - msg_gateway_start.sh - push_start.sh - msg_transfer_start.sh - sdk_svr_start.sh -) - -#fixme The 10 second delay to start the project is for the docker-compose one-click to start openIM when the infrastructure dependencies are not started -sleep 10 - -for i in ${need_to_start_server_shell[*]}; do - chmod +x $i - ./$i -done - -#fixme prevents the openIM service exit after execution in the docker container -tail -f /dev/null diff --git a/function.sh b/function.sh deleted file mode 100644 index b57373c72..000000000 --- a/function.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env bash -#input:[10023,2323,3434] -#output:10023 2323 3434 -list_to_string(){ -ports_list=$* -sub_s1=`echo $ports_list | sed 's/ //g'` -sub_s2=${sub_s1//,/ } -sub_s3=${sub_s2#*[} -sub_s4=${sub_s3%]*} -ports_array=$sub_s4 -} \ No newline at end of file diff --git a/msg_gateway_start.sh b/msg_gateway_start.sh deleted file mode 100644 index c21d335ca..000000000 --- a/msg_gateway_start.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env bash -#Include shell font styles and some basic information -source ./style_info.cfg -source ./path_info.cfg -source ./function.sh -list1=$(cat $config_path | grep openImOnlineRelayPort | awk -F '[:]' '{print $NF}') -list2=$(cat $config_path | grep openImWsPort | awk -F '[:]' '{print $NF}') -list_to_string $list1 -rpc_ports=($ports_array) -list_to_string $list2 -ws_ports=($ports_array) -if [ ${#rpc_ports[@]} -ne ${#ws_ports[@]} ]; then - - echo -e ${RED_PREFIX}"ws_ports does not match push_rpc_ports in quantity!!!"${COLOR_SUFFIX} - exit 0 - -fi -#Check if the service exists -#If it is exists,kill this process -check=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | wc -l) -if [ $check -ge 1 ]; then - oldPid=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | awk '{print $2}') - kill -9 ${oldPid} -fi -#Waiting port recycling -sleep 1 -cd ${msg_gateway_binary_root} -for ((i = 0; i < ${#ws_ports[@]}; i++)); do - nohup ./${msg_gateway_name} -rpc_port ${rpc_ports[$i]} -ws_port ${ws_ports[$i]} >>../logs/openIM.log 2>&1 & -done - -#Check launched service process -sleep 3 -check=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | wc -l) -allPorts="" -if [ $check -ge 1 ]; then - allNewPid=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | awk '{print $2}') - for i in $allNewPid; do - ports=$(netstat -netulp | grep -w ${i} | awk '{print $4}' | awk -F '[:]' '{print $NF}') - allPorts=${allPorts}"$ports " - done - echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS"${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${msg_gateway_name}${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allNewPid}${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX} -else - echo -e ${YELLOW_PREFIX}${msg_gateway_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR, PLEASE CHECK openIM.log"${COLOR_SUFFIX} -fi diff --git a/msg_transfer_start.sh b/msg_transfer_start.sh deleted file mode 100644 index 0b645596c..000000000 --- a/msg_transfer_start.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env bash -#Include shell font styles and some basic information -source ./style_info.cfg -source ./path_info.cfg - - - -#Check if the service exists -#If it is exists,kill this process -check=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep| wc -l` -if [ $check -ge 1 ] -then -oldPid=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep|awk '{print $2}'` - kill -9 $oldPid -fi -#Waiting port recycling -sleep 1 - -cd ${msg_transfer_binary_root} -for ((i = 0; i < ${msg_transfer_service_num}; i++)); do - nohup ./${msg_transfer_name} >>../logs/openIM.log 2>&1 & -done - -#Check launched service process -check=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep| wc -l` -if [ $check -ge 1 ] -then -newPid=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep|awk '{print $2}'` -allPorts="" - echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS "${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${msg_transfer_name}${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${newPid}${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX} -else - echo -e ${YELLOW_PREFIX}${msg_transfer_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR, PLEASE CHECK openIM.log"${COLOR_SUFFIX} -fi diff --git a/mysql_database_init.sh b/mysql_database_init.sh deleted file mode 100644 index f8e4caa59..000000000 --- a/mysql_database_init.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env bash - -source ./style_info.cfg -source ./path_info.cfg -source ./function.sh - -#define database attributes -address=$(cat $config_path | grep -w dbMysqlAddress) -list_to_string ${address} -hostAndPort=($ports_array) -DATABASE_HOST=$(echo $hostAndPort | awk -F '[:]' '{print $1}') -DATABASE_PORT=$(echo $hostAndPort | awk -F '[:]' '{print $NF}') -DATABASE_USERNAME=$(cat $config_path | grep -w dbMysqlUserName | awk -F '[:]' '{print $NF}') -DATABASE_PWD=`eval echo $(cat $config_path | grep -w dbMysqlPassword | awk -F '[:]' '{print $NF}')` -DATABASE_NAME=$(cat $config_path | grep -w dbMysqlDatabaseName | awk -F '[:]' '{print $NF}') -SQL_FILE="../config/mysql_sql_file/openIM.sql" - - -create_data_sql="create database IF NOT EXISTS $DATABASE_NAME" -set_character_code_sql="alter database $DATABASE_NAME character set utf8mb4 collate utf8mb4_general_ci" - -echo -e "${SKY_BLUE_PREFIX}start to create database.....$COLOR_SUFFIX" -mysql -h $DATABASE_HOST -P $DATABASE_PORT -u $DATABASE_USERNAME -p$DATABASE_PWD -e "$create_data_sql" - -if [ $? -eq 0 ]; then - echo -e "${SKY_BLUE_PREFIX}create database ${DATABASE_NAME} successfully$COLOR_SUFFIX" - mysql -h $DATABASE_HOST -P $DATABASE_PORT -u $DATABASE_USERNAME -p$DATABASE_PWD -e "$set_character_code_sql" -else - echo -e "${RED_PREFIX}create database failed or exists the database$COLOR_SUFFIX\n" -fi - -echo -e "${SKY_BLUE_PREFIX}start to source openIM.sql .....$COLOR_SUFFIX" -mysql -h $DATABASE_HOST -P $DATABASE_PORT -u $DATABASE_USERNAME -p$DATABASE_PWD -D $DATABASE_NAME <$SQL_FILE -if [ $? -eq 0 ]; then - echo -e "${SKY_BLUE_PREFIX}source openIM.sql successfully$COLOR_SUFFIX" -else - echo -e "${RED_PREFIX}source openIM.sql failed$COLOR_SUFFIX\n" -fi diff --git a/path_info.cfg b/path_info.cfg deleted file mode 100644 index 4529c93d6..000000000 --- a/path_info.cfg +++ /dev/null @@ -1,63 +0,0 @@ -#Don't put the space between "=" -msg_gateway_name="open_im_msg_gateway" -msg_gateway_binary_root="../bin/" -msg_gateway_source_root="../src/msg_gateway/" - -msg_name="open_im_msg" -msg_binary_root="../bin/" -msg_source_root="../src/rpc/chat/" - -push_name="open_im_push" -push_binary_root="../bin/" -push_source_root="../src/push/" - - - -msg_transfer_name="open_im_msg_transfer" -msg_transfer_binary_root="../bin/" -msg_transfer_source_root="../src/msg_transfer/" -msg_transfer_service_num=2 - - -sdk_server_name="open_im_sdk_server" -sdk_server_binary_root="../bin/" -sdk_server_source_root="../src/Open-IM-SDK-Core/" - - -#Global configuration file default dir -config_path="../config/config.yaml" - -#servicefile dir path -service_source_root=( - #api service file - ../src/api/ - #rpc service file - ../src/rpc/user/ - ../src/rpc/friend/ - ../src/rpc/group/ - ../src/rpc/auth/ - ${msg_gateway_source_root} - ${msg_transfer_source_root} - ${msg_source_root} - ${push_source_root} - ${sdk_server_source_root} -) -#service filename -service_names=( - #api service filename - open_im_api - #rpc service filename - open_im_user - open_im_friend - open_im_group - open_im_auth - ${msg_gateway_name} - ${msg_transfer_name} - ${msg_name} - ${push_name} - ${sdk_server_name} -) - - - - diff --git a/push_start.sh b/push_start.sh deleted file mode 100644 index 51ec1d6ba..000000000 --- a/push_start.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env bash -#Include shell font styles and some basic information -source ./style_info.cfg -source ./path_info.cfg -source ./function.sh - - - -list1=$(cat $config_path | grep openImPushPort | awk -F '[:]' '{print $NF}') -list_to_string $list1 -rpc_ports=($ports_array) - -#Check if the service exists -#If it is exists,kill this process -check=$(ps aux | grep -w ./${push_name} | grep -v grep | wc -l) -if [ $check -ge 1 ]; then - oldPid=$(ps aux | grep -w ./${push_name} | grep -v grep | awk '{print $2}') - kill -9 $oldPid -fi -#Waiting port recycling -sleep 1 -cd ${push_binary_root} - -for ((i = 0; i < ${#rpc_ports[@]}; i++)); do - nohup ./${push_name} -port ${rpc_ports[$i]} >>../logs/openIM.log 2>&1 & -done - -sleep 3 -#Check launched service process -check=$(ps aux | grep -w ./${push_name} | grep -v grep | wc -l) -if [ $check -ge 1 ]; then - newPid=$(ps aux | grep -w ./${push_name} | grep -v grep | awk '{print $2}') - ports=$(netstat -netulp | grep -w ${newPid} | awk '{print $4}' | awk -F '[:]' '{print $NF}') - allPorts="" - - for i in $ports; do - allPorts=${allPorts}"$i " - done - echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS "${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${push_name}${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${newPid}${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX} -else - echo -e ${YELLOW_PREFIX}${push_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR, PLEASE CHECK openIM.log"${COLOR_SUFFIX} -fi diff --git a/script/build_all_service.sh b/script/build_all_service.sh index 6f563b6f6..07a34bb08 100644 --- a/script/build_all_service.sh +++ b/script/build_all_service.sh @@ -1,30 +1,30 @@ -#!/usr/bin/env bash - -source ./style_info.cfg -source ./path_info.cfg -source ./function.sh - -bin_dir="../bin" -logs_dir="../logs" -sdk_db_dir="../db/sdk/" -#Automatically created when there is no bin, logs folder -if [ ! -d $bin_dir ]; then - mkdir -p $bin_dir -fi -if [ ! -d $logs_dir ]; then - mkdir -p $logs_dir -fi -if [ ! -d $sdk_db_dir ]; then - mkdir -p $sdk_db_dir -fi - -#begin path -begin_path=$PWD - -for ((i = 0; i < ${#service_source_root[*]}; i++)); do - cd $begin_path - service_path=${service_source_root[$i]} - cd $service_path && echo -e "${SKY_BLUE_PREFIX}Current directory: $PWD $COLOR_SUFFIX" - make install && echo -e "${SKY_BLUE_PREFIX}build ${service_names[$i]} success,moving binary file to the bin directory${COLOR_SUFFIX}" && - echo -e "${SKY_BLUE_PREFIX}Successful moved ${service_names[$i]} to the bin directory${COLOR_SUFFIX}\n" -done +#!/usr/bin/env bash + +source ./style_info.cfg +source ./path_info.cfg +source ./function.sh + +bin_dir="../bin" +logs_dir="../logs" +sdk_db_dir="../db/sdk/" +#Automatically created when there is no bin, logs folder +if [ ! -d $bin_dir ]; then + mkdir -p $bin_dir +fi +if [ ! -d $logs_dir ]; then + mkdir -p $logs_dir +fi +if [ ! -d $sdk_db_dir ]; then + mkdir -p $sdk_db_dir +fi + +#begin path +begin_path=$PWD + +for ((i = 0; i < ${#service_source_root[*]}; i++)); do + cd $begin_path + service_path=${service_source_root[$i]} + cd $service_path && echo -e "${SKY_BLUE_PREFIX}Current directory: $PWD $COLOR_SUFFIX" + make install && echo -e "${SKY_BLUE_PREFIX}build ${service_names[$i]} success,moving binary file to the bin directory${COLOR_SUFFIX}" && + echo -e "${SKY_BLUE_PREFIX}Successful moved ${service_names[$i]} to the bin directory${COLOR_SUFFIX}\n" +done diff --git a/script/check_all.sh b/script/check_all.sh index b984cc10a..3c57577c4 100644 --- a/script/check_all.sh +++ b/script/check_all.sh @@ -1,43 +1,43 @@ -#!/usr/bin/env bash - -source ./style_info.cfg -source ./path_info.cfg -source ./function.sh -service_port_name=( - openImApiPort - openImUserPort - openImFriendPort - openImOfflineMessagePort - openImOnlineRelayPort - openImGroupPort - openImAuthPort - openImPushPort - openImWsPort - openImSdkWsPort -) -for i in ${service_port_name[*]}; do - list=$(cat $config_path | grep -w ${i} | awk -F '[:]' '{print $NF}') - list_to_string $list - for j in ${ports_array}; do - port=$(netstat -netulp | grep ./open_im | awk '{print $4}' | grep -w ${j} | awk -F '[:]' '{print $NF}') - if [[ ${port} -ne ${j} ]]; then - echo -e ${YELLOW_PREFIX}${i}${COLOR_SUFFIX}${RED_PREFIX}" service does not start normally,not initiated port is "${COLOR_SUFFIX}${YELLOW_PREFIX}${j}${COLOR_SUFFIX} - echo -e ${RED_PREFIX}"please check ../logs/openIM.log "${COLOR_SUFFIX} - exit -1 - else - echo -e ${j}${GREEN_PREFIX}" port has been listening,belongs service is "${i}${COLOR_SUFFIX} - fi - done -done - -#Check launched service process -check=$(ps aux | grep -w ./${msg_transfer_name} | grep -v grep | wc -l) -if [ $check -eq ${msg_transfer_service_num} ]; then - echo -e ${GREEN_PREFIX}"service has been starting,belongs service is openImMsgTransfer"${COLOR_SUFFIX} -else - echo -e ${RED_PREFIX}"openImMsgTransfer service does not start normally, num err"${COLOR_SUFFIX} - echo -e ${RED_PREFIX}"please check ../logs/openIM.log "${COLOR_SUFFIX} - exit -1 -fi - -echo -e ${YELLOW_PREFIX}"all services launch success"${COLOR_SUFFIX} +#!/usr/bin/env bash + +source ./style_info.cfg +source ./path_info.cfg +source ./function.sh +service_port_name=( + openImApiPort + openImUserPort + openImFriendPort + openImOfflineMessagePort + openImOnlineRelayPort + openImGroupPort + openImAuthPort + openImPushPort + openImWsPort + openImSdkWsPort +) +for i in ${service_port_name[*]}; do + list=$(cat $config_path | grep -w ${i} | awk -F '[:]' '{print $NF}') + list_to_string $list + for j in ${ports_array}; do + port=$(netstat -netulp | grep ./open_im | awk '{print $4}' | grep -w ${j} | awk -F '[:]' '{print $NF}') + if [[ ${port} -ne ${j} ]]; then + echo -e ${YELLOW_PREFIX}${i}${COLOR_SUFFIX}${RED_PREFIX}" service does not start normally,not initiated port is "${COLOR_SUFFIX}${YELLOW_PREFIX}${j}${COLOR_SUFFIX} + echo -e ${RED_PREFIX}"please check ../logs/openIM.log "${COLOR_SUFFIX} + exit -1 + else + echo -e ${j}${GREEN_PREFIX}" port has been listening,belongs service is "${i}${COLOR_SUFFIX} + fi + done +done + +#Check launched service process +check=$(ps aux | grep -w ./${msg_transfer_name} | grep -v grep | wc -l) +if [ $check -eq ${msg_transfer_service_num} ]; then + echo -e ${GREEN_PREFIX}"service has been starting,belongs service is openImMsgTransfer"${COLOR_SUFFIX} +else + echo -e ${RED_PREFIX}"openImMsgTransfer service does not start normally, num err"${COLOR_SUFFIX} + echo -e ${RED_PREFIX}"please check ../logs/openIM.log "${COLOR_SUFFIX} + exit -1 +fi + +echo -e ${YELLOW_PREFIX}"all services launch success"${COLOR_SUFFIX} diff --git a/script/docker_check_service.sh b/script/docker_check_service.sh index c9fd54ec8..e380cb3fb 100644 --- a/script/docker_check_service.sh +++ b/script/docker_check_service.sh @@ -1,33 +1,33 @@ -#!/usr/bin/env bash - -source ./style_info.cfg - -docker_compose_components=( - etcd - mongo - mysql - open-im-server - redis - kafka - zookeeper -) - -component_server_count=0 - -for ((i = 0; i < ${#docker_compose_components[*]}; i++)); do - component_server="docker-compose ps|grep -w ${docker_compose_components[$i]}|grep Up" - count="${component_server}|wc -l" - - if [ $(eval ${count}) -gt 0 ]; then - echo -e "${SKY_BLUE_PREFIX}docker-compose ${docker_compose_components[$i]} is Up!${COLOR_SUFFIX}" - let component_server_count+=1 - else - echo -e "${RED_PREFIX} ${docker_compose_components[$i]} start failed!${COLOR_SUFFIX}" - fi -done - -if [ ${component_server_count} -eq 7 ]; then - echo -e "${YELLOW_PREFIX}\ndocker-compose all services is Up!${COLOR_SUFFIX}" -else - echo -e "${RED_PREFIX}\nsome docker-compose services start failed,please check red logs on console ${COLOR_SUFFIX}" -fi +#!/usr/bin/env bash + +source ./style_info.cfg + +docker_compose_components=( + etcd + mongo + mysql + open-im-server + redis + kafka + zookeeper +) + +component_server_count=0 + +for ((i = 0; i < ${#docker_compose_components[*]}; i++)); do + component_server="docker-compose ps|grep -w ${docker_compose_components[$i]}|grep Up" + count="${component_server}|wc -l" + + if [ $(eval ${count}) -gt 0 ]; then + echo -e "${SKY_BLUE_PREFIX}docker-compose ${docker_compose_components[$i]} is Up!${COLOR_SUFFIX}" + let component_server_count+=1 + else + echo -e "${RED_PREFIX} ${docker_compose_components[$i]} start failed!${COLOR_SUFFIX}" + fi +done + +if [ ${component_server_count} -eq 7 ]; then + echo -e "${YELLOW_PREFIX}\ndocker-compose all services is Up!${COLOR_SUFFIX}" +else + echo -e "${RED_PREFIX}\nsome docker-compose services start failed,please check red logs on console ${COLOR_SUFFIX}" +fi diff --git a/script/docker_start_all.sh b/script/docker_start_all.sh index fce59c41a..740b88e85 100644 --- a/script/docker_start_all.sh +++ b/script/docker_start_all.sh @@ -1,23 +1,23 @@ -#!/usr/bin/env bash -#fixme This script is the total startup script -#fixme The full name of the shell script that needs to be started is placed in the need_to_start_server_shell array - -#fixme Put the shell script name here -need_to_start_server_shell=( - start_rpc_service.sh - msg_gateway_start.sh - push_start.sh - msg_transfer_start.sh - sdk_svr_start.sh -) - -#fixme The 10 second delay to start the project is for the docker-compose one-click to start openIM when the infrastructure dependencies are not started -sleep 10 - -for i in ${need_to_start_server_shell[*]}; do - chmod +x $i - ./$i -done - -#fixme prevents the openIM service exit after execution in the docker container -tail -f /dev/null +#!/usr/bin/env bash +#fixme This script is the total startup script +#fixme The full name of the shell script that needs to be started is placed in the need_to_start_server_shell array + +#fixme Put the shell script name here +need_to_start_server_shell=( + start_rpc_service.sh + msg_gateway_start.sh + push_start.sh + msg_transfer_start.sh + sdk_svr_start.sh +) + +#fixme The 10 second delay to start the project is for the docker-compose one-click to start openIM when the infrastructure dependencies are not started +sleep 10 + +for i in ${need_to_start_server_shell[*]}; do + chmod +x $i + ./$i +done + +#fixme prevents the openIM service exit after execution in the docker container +tail -f /dev/null diff --git a/script/function.sh b/script/function.sh index b57373c72..0deb52b38 100644 --- a/script/function.sh +++ b/script/function.sh @@ -1,11 +1,11 @@ -#!/usr/bin/env bash -#input:[10023,2323,3434] -#output:10023 2323 3434 -list_to_string(){ -ports_list=$* -sub_s1=`echo $ports_list | sed 's/ //g'` -sub_s2=${sub_s1//,/ } -sub_s3=${sub_s2#*[} -sub_s4=${sub_s3%]*} -ports_array=$sub_s4 +#!/usr/bin/env bash +#input:[10023,2323,3434] +#output:10023 2323 3434 +list_to_string(){ +ports_list=$* +sub_s1=`echo $ports_list | sed 's/ //g'` +sub_s2=${sub_s1//,/ } +sub_s3=${sub_s2#*[} +sub_s4=${sub_s3%]*} +ports_array=$sub_s4 } \ No newline at end of file diff --git a/script/msg_gateway_start.sh b/script/msg_gateway_start.sh index c21d335ca..1df53cfdd 100644 --- a/script/msg_gateway_start.sh +++ b/script/msg_gateway_start.sh @@ -1,48 +1,48 @@ -#!/usr/bin/env bash -#Include shell font styles and some basic information -source ./style_info.cfg -source ./path_info.cfg -source ./function.sh -list1=$(cat $config_path | grep openImOnlineRelayPort | awk -F '[:]' '{print $NF}') -list2=$(cat $config_path | grep openImWsPort | awk -F '[:]' '{print $NF}') -list_to_string $list1 -rpc_ports=($ports_array) -list_to_string $list2 -ws_ports=($ports_array) -if [ ${#rpc_ports[@]} -ne ${#ws_ports[@]} ]; then - - echo -e ${RED_PREFIX}"ws_ports does not match push_rpc_ports in quantity!!!"${COLOR_SUFFIX} - exit 0 - -fi -#Check if the service exists -#If it is exists,kill this process -check=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | wc -l) -if [ $check -ge 1 ]; then - oldPid=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | awk '{print $2}') - kill -9 ${oldPid} -fi -#Waiting port recycling -sleep 1 -cd ${msg_gateway_binary_root} -for ((i = 0; i < ${#ws_ports[@]}; i++)); do - nohup ./${msg_gateway_name} -rpc_port ${rpc_ports[$i]} -ws_port ${ws_ports[$i]} >>../logs/openIM.log 2>&1 & -done - -#Check launched service process -sleep 3 -check=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | wc -l) -allPorts="" -if [ $check -ge 1 ]; then - allNewPid=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | awk '{print $2}') - for i in $allNewPid; do - ports=$(netstat -netulp | grep -w ${i} | awk '{print $4}' | awk -F '[:]' '{print $NF}') - allPorts=${allPorts}"$ports " - done - echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS"${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${msg_gateway_name}${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allNewPid}${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX} -else - echo -e ${YELLOW_PREFIX}${msg_gateway_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR, PLEASE CHECK openIM.log"${COLOR_SUFFIX} -fi +#!/usr/bin/env bash +#Include shell font styles and some basic information +source ./style_info.cfg +source ./path_info.cfg +source ./function.sh +list1=$(cat $config_path | grep openImOnlineRelayPort | awk -F '[:]' '{print $NF}') +list2=$(cat $config_path | grep openImWsPort | awk -F '[:]' '{print $NF}') +list_to_string $list1 +rpc_ports=($ports_array) +list_to_string $list2 +ws_ports=($ports_array) +if [ ${#rpc_ports[@]} -ne ${#ws_ports[@]} ]; then + + echo -e ${RED_PREFIX}"ws_ports does not match push_rpc_ports in quantity!!!"${COLOR_SUFFIX} + exit 0 + +fi +#Check if the service exists +#If it is exists,kill this process +check=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | wc -l) +if [ $check -ge 1 ]; then + oldPid=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | awk '{print $2}') + kill -9 ${oldPid} +fi +#Waiting port recycling +sleep 1 +cd ${msg_gateway_binary_root} +for ((i = 0; i < ${#ws_ports[@]}; i++)); do + nohup ./${msg_gateway_name} -rpc_port ${rpc_ports[$i]} -ws_port ${ws_ports[$i]} >>../logs/openIM.log 2>&1 & +done + +#Check launched service process +sleep 3 +check=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | wc -l) +allPorts="" +if [ $check -ge 1 ]; then + allNewPid=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | awk '{print $2}') + for i in $allNewPid; do + ports=$(netstat -netulp | grep -w ${i} | awk '{print $4}' | awk -F '[:]' '{print $NF}') + allPorts=${allPorts}"$ports " + done + echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS"${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${msg_gateway_name}${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allNewPid}${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX} +else + echo -e ${YELLOW_PREFIX}${msg_gateway_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR, PLEASE CHECK openIM.log"${COLOR_SUFFIX} +fi diff --git a/script/msg_transfer_start.sh b/script/msg_transfer_start.sh index 0b645596c..4d7fb96cd 100644 --- a/script/msg_transfer_start.sh +++ b/script/msg_transfer_start.sh @@ -1,36 +1,36 @@ -#!/usr/bin/env bash -#Include shell font styles and some basic information -source ./style_info.cfg -source ./path_info.cfg - - - -#Check if the service exists -#If it is exists,kill this process -check=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep| wc -l` -if [ $check -ge 1 ] -then -oldPid=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep|awk '{print $2}'` - kill -9 $oldPid -fi -#Waiting port recycling -sleep 1 - -cd ${msg_transfer_binary_root} -for ((i = 0; i < ${msg_transfer_service_num}; i++)); do - nohup ./${msg_transfer_name} >>../logs/openIM.log 2>&1 & -done - -#Check launched service process -check=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep| wc -l` -if [ $check -ge 1 ] -then -newPid=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep|awk '{print $2}'` -allPorts="" - echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS "${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${msg_transfer_name}${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${newPid}${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX} -else - echo -e ${YELLOW_PREFIX}${msg_transfer_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR, PLEASE CHECK openIM.log"${COLOR_SUFFIX} -fi +#!/usr/bin/env bash +#Include shell font styles and some basic information +source ./style_info.cfg +source ./path_info.cfg + + + +#Check if the service exists +#If it is exists,kill this process +check=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep| wc -l` +if [ $check -ge 1 ] +then +oldPid=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep|awk '{print $2}'` + kill -9 $oldPid +fi +#Waiting port recycling +sleep 1 + +cd ${msg_transfer_binary_root} +for ((i = 0; i < ${msg_transfer_service_num}; i++)); do + nohup ./${msg_transfer_name} >>../logs/openIM.log 2>&1 & +done + +#Check launched service process +check=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep| wc -l` +if [ $check -ge 1 ] +then +newPid=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep|awk '{print $2}'` +allPorts="" + echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS "${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${msg_transfer_name}${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${newPid}${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX} +else + echo -e ${YELLOW_PREFIX}${msg_transfer_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR, PLEASE CHECK openIM.log"${COLOR_SUFFIX} +fi diff --git a/script/mysql_database_init.sh b/script/mysql_database_init.sh index f8e4caa59..2a5135e8e 100644 --- a/script/mysql_database_init.sh +++ b/script/mysql_database_init.sh @@ -1,38 +1,38 @@ -#!/usr/bin/env bash - -source ./style_info.cfg -source ./path_info.cfg -source ./function.sh - -#define database attributes -address=$(cat $config_path | grep -w dbMysqlAddress) -list_to_string ${address} -hostAndPort=($ports_array) -DATABASE_HOST=$(echo $hostAndPort | awk -F '[:]' '{print $1}') -DATABASE_PORT=$(echo $hostAndPort | awk -F '[:]' '{print $NF}') -DATABASE_USERNAME=$(cat $config_path | grep -w dbMysqlUserName | awk -F '[:]' '{print $NF}') -DATABASE_PWD=`eval echo $(cat $config_path | grep -w dbMysqlPassword | awk -F '[:]' '{print $NF}')` -DATABASE_NAME=$(cat $config_path | grep -w dbMysqlDatabaseName | awk -F '[:]' '{print $NF}') -SQL_FILE="../config/mysql_sql_file/openIM.sql" - - -create_data_sql="create database IF NOT EXISTS $DATABASE_NAME" -set_character_code_sql="alter database $DATABASE_NAME character set utf8mb4 collate utf8mb4_general_ci" - -echo -e "${SKY_BLUE_PREFIX}start to create database.....$COLOR_SUFFIX" -mysql -h $DATABASE_HOST -P $DATABASE_PORT -u $DATABASE_USERNAME -p$DATABASE_PWD -e "$create_data_sql" - -if [ $? -eq 0 ]; then - echo -e "${SKY_BLUE_PREFIX}create database ${DATABASE_NAME} successfully$COLOR_SUFFIX" - mysql -h $DATABASE_HOST -P $DATABASE_PORT -u $DATABASE_USERNAME -p$DATABASE_PWD -e "$set_character_code_sql" -else - echo -e "${RED_PREFIX}create database failed or exists the database$COLOR_SUFFIX\n" -fi - -echo -e "${SKY_BLUE_PREFIX}start to source openIM.sql .....$COLOR_SUFFIX" -mysql -h $DATABASE_HOST -P $DATABASE_PORT -u $DATABASE_USERNAME -p$DATABASE_PWD -D $DATABASE_NAME <$SQL_FILE -if [ $? -eq 0 ]; then - echo -e "${SKY_BLUE_PREFIX}source openIM.sql successfully$COLOR_SUFFIX" -else - echo -e "${RED_PREFIX}source openIM.sql failed$COLOR_SUFFIX\n" -fi +#!/usr/bin/env bash + +source ./style_info.cfg +source ./path_info.cfg +source ./function.sh + +#define database attributes +address=$(cat $config_path | grep -w dbMysqlAddress) +list_to_string ${address} +hostAndPort=($ports_array) +DATABASE_HOST=$(echo $hostAndPort | awk -F '[:]' '{print $1}') +DATABASE_PORT=$(echo $hostAndPort | awk -F '[:]' '{print $NF}') +DATABASE_USERNAME=$(cat $config_path | grep -w dbMysqlUserName | awk -F '[:]' '{print $NF}') +DATABASE_PWD=`eval echo $(cat $config_path | grep -w dbMysqlPassword | awk -F '[:]' '{print $NF}')` +DATABASE_NAME=$(cat $config_path | grep -w dbMysqlDatabaseName | awk -F '[:]' '{print $NF}') +SQL_FILE="../config/mysql_sql_file/openIM.sql" + + +create_data_sql="create database IF NOT EXISTS $DATABASE_NAME" +set_character_code_sql="alter database $DATABASE_NAME character set utf8mb4 collate utf8mb4_general_ci" + +echo -e "${SKY_BLUE_PREFIX}start to create database.....$COLOR_SUFFIX" +mysql -h $DATABASE_HOST -P $DATABASE_PORT -u $DATABASE_USERNAME -p$DATABASE_PWD -e "$create_data_sql" + +if [ $? -eq 0 ]; then + echo -e "${SKY_BLUE_PREFIX}create database ${DATABASE_NAME} successfully$COLOR_SUFFIX" + mysql -h $DATABASE_HOST -P $DATABASE_PORT -u $DATABASE_USERNAME -p$DATABASE_PWD -e "$set_character_code_sql" +else + echo -e "${RED_PREFIX}create database failed or exists the database$COLOR_SUFFIX\n" +fi + +echo -e "${SKY_BLUE_PREFIX}start to source openIM.sql .....$COLOR_SUFFIX" +mysql -h $DATABASE_HOST -P $DATABASE_PORT -u $DATABASE_USERNAME -p$DATABASE_PWD -D $DATABASE_NAME <$SQL_FILE +if [ $? -eq 0 ]; then + echo -e "${SKY_BLUE_PREFIX}source openIM.sql successfully$COLOR_SUFFIX" +else + echo -e "${RED_PREFIX}source openIM.sql failed$COLOR_SUFFIX\n" +fi diff --git a/script/path_info.cfg b/script/path_info.cfg index 4529c93d6..f67e017c2 100644 --- a/script/path_info.cfg +++ b/script/path_info.cfg @@ -1,63 +1,63 @@ -#Don't put the space between "=" -msg_gateway_name="open_im_msg_gateway" -msg_gateway_binary_root="../bin/" -msg_gateway_source_root="../src/msg_gateway/" - -msg_name="open_im_msg" -msg_binary_root="../bin/" -msg_source_root="../src/rpc/chat/" - -push_name="open_im_push" -push_binary_root="../bin/" -push_source_root="../src/push/" - - - -msg_transfer_name="open_im_msg_transfer" -msg_transfer_binary_root="../bin/" -msg_transfer_source_root="../src/msg_transfer/" -msg_transfer_service_num=2 - - -sdk_server_name="open_im_sdk_server" -sdk_server_binary_root="../bin/" -sdk_server_source_root="../src/Open-IM-SDK-Core/" - - -#Global configuration file default dir -config_path="../config/config.yaml" - -#servicefile dir path -service_source_root=( - #api service file - ../src/api/ - #rpc service file - ../src/rpc/user/ - ../src/rpc/friend/ - ../src/rpc/group/ - ../src/rpc/auth/ - ${msg_gateway_source_root} - ${msg_transfer_source_root} - ${msg_source_root} - ${push_source_root} - ${sdk_server_source_root} -) -#service filename -service_names=( - #api service filename - open_im_api - #rpc service filename - open_im_user - open_im_friend - open_im_group - open_im_auth - ${msg_gateway_name} - ${msg_transfer_name} - ${msg_name} - ${push_name} - ${sdk_server_name} -) - - - - +#Don't put the space between "=" +msg_gateway_name="open_im_msg_gateway" +msg_gateway_binary_root="../bin/" +msg_gateway_source_root="../src/msg_gateway/" + +msg_name="open_im_msg" +msg_binary_root="../bin/" +msg_source_root="../src/rpc/chat/" + +push_name="open_im_push" +push_binary_root="../bin/" +push_source_root="../src/push/" + + + +msg_transfer_name="open_im_msg_transfer" +msg_transfer_binary_root="../bin/" +msg_transfer_source_root="../src/msg_transfer/" +msg_transfer_service_num=2 + + +sdk_server_name="open_im_sdk_server" +sdk_server_binary_root="../bin/" +sdk_server_source_root="../src/Open-IM-SDK-Core/" + + +#Global configuration file default dir +config_path="../config/config.yaml" + +#servicefile dir path +service_source_root=( + #api service file + ../src/api/ + #rpc service file + ../src/rpc/user/ + ../src/rpc/friend/ + ../src/rpc/group/ + ../src/rpc/auth/ + ${msg_gateway_source_root} + ${msg_transfer_source_root} + ${msg_source_root} + ${push_source_root} + ${sdk_server_source_root} +) +#service filename +service_names=( + #api service filename + open_im_api + #rpc service filename + open_im_user + open_im_friend + open_im_group + open_im_auth + ${msg_gateway_name} + ${msg_transfer_name} + ${msg_name} + ${push_name} + ${sdk_server_name} +) + + + + diff --git a/script/push_start.sh b/script/push_start.sh index 51ec1d6ba..8b2a47896 100644 --- a/script/push_start.sh +++ b/script/push_start.sh @@ -1,45 +1,45 @@ -#!/usr/bin/env bash -#Include shell font styles and some basic information -source ./style_info.cfg -source ./path_info.cfg -source ./function.sh - - - -list1=$(cat $config_path | grep openImPushPort | awk -F '[:]' '{print $NF}') -list_to_string $list1 -rpc_ports=($ports_array) - -#Check if the service exists -#If it is exists,kill this process -check=$(ps aux | grep -w ./${push_name} | grep -v grep | wc -l) -if [ $check -ge 1 ]; then - oldPid=$(ps aux | grep -w ./${push_name} | grep -v grep | awk '{print $2}') - kill -9 $oldPid -fi -#Waiting port recycling -sleep 1 -cd ${push_binary_root} - -for ((i = 0; i < ${#rpc_ports[@]}; i++)); do - nohup ./${push_name} -port ${rpc_ports[$i]} >>../logs/openIM.log 2>&1 & -done - -sleep 3 -#Check launched service process -check=$(ps aux | grep -w ./${push_name} | grep -v grep | wc -l) -if [ $check -ge 1 ]; then - newPid=$(ps aux | grep -w ./${push_name} | grep -v grep | awk '{print $2}') - ports=$(netstat -netulp | grep -w ${newPid} | awk '{print $4}' | awk -F '[:]' '{print $NF}') - allPorts="" - - for i in $ports; do - allPorts=${allPorts}"$i " - done - echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS "${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${push_name}${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${newPid}${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX} -else - echo -e ${YELLOW_PREFIX}${push_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR, PLEASE CHECK openIM.log"${COLOR_SUFFIX} -fi +#!/usr/bin/env bash +#Include shell font styles and some basic information +source ./style_info.cfg +source ./path_info.cfg +source ./function.sh + + + +list1=$(cat $config_path | grep openImPushPort | awk -F '[:]' '{print $NF}') +list_to_string $list1 +rpc_ports=($ports_array) + +#Check if the service exists +#If it is exists,kill this process +check=$(ps aux | grep -w ./${push_name} | grep -v grep | wc -l) +if [ $check -ge 1 ]; then + oldPid=$(ps aux | grep -w ./${push_name} | grep -v grep | awk '{print $2}') + kill -9 $oldPid +fi +#Waiting port recycling +sleep 1 +cd ${push_binary_root} + +for ((i = 0; i < ${#rpc_ports[@]}; i++)); do + nohup ./${push_name} -port ${rpc_ports[$i]} >>../logs/openIM.log 2>&1 & +done + +sleep 3 +#Check launched service process +check=$(ps aux | grep -w ./${push_name} | grep -v grep | wc -l) +if [ $check -ge 1 ]; then + newPid=$(ps aux | grep -w ./${push_name} | grep -v grep | awk '{print $2}') + ports=$(netstat -netulp | grep -w ${newPid} | awk '{print $4}' | awk -F '[:]' '{print $NF}') + allPorts="" + + for i in $ports; do + allPorts=${allPorts}"$i " + done + echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS "${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${push_name}${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${newPid}${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX} +else + echo -e ${YELLOW_PREFIX}${push_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR, PLEASE CHECK openIM.log"${COLOR_SUFFIX} +fi diff --git a/script/sdk_svr_start.sh b/script/sdk_svr_start.sh index 4d6af3999..97c694233 100644 --- a/script/sdk_svr_start.sh +++ b/script/sdk_svr_start.sh @@ -1,47 +1,47 @@ -#!/usr/bin/env bash -#Include shell font styles and some basic information -source ./style_info.cfg -source ./path_info.cfg -source ./function.sh -list1=$(cat $config_path | grep openImApiPort | awk -F '[:]' '{print $NF}') -list2=$(cat $config_path | grep openImWsPort | awk -F '[:]' '{print $NF}') -list3=$(cat $config_path | grep openImSdkWsPort | awk -F '[:]' '{print $NF}') -list_to_string $list1 -api_ports=($ports_array) -list_to_string $list2 -ws_ports=($ports_array) -list_to_string $list3 -sdk_ws_ports=($ports_array) - - - - -#Check if the service exists -#If it is exists,kill this process -check=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | wc -l) -if [ $check -ge 1 ]; then - oldPid=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | awk '{print $2}') - kill -9 ${oldPid} -fi -#Waiting port recycling -sleep 1 -cd ${sdk_server_binary_root} - nohup ./${sdk_server_name} -openIM_api_port ${api_ports[0]} -openIM_ws_port ${ws_ports[0]} -sdk_ws_port ${sdk_ws_ports[0]} >>../logs/openIM.log 2>&1 & - -#Check launched service process -sleep 3 -check=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | wc -l) -allPorts="" -if [ $check -ge 1 ]; then - allNewPid=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | awk '{print $2}') - for i in $allNewPid; do - ports=$(netstat -netulp | grep -w ${i} | awk '{print $4}' | awk -F '[:]' '{print $NF}') - allPorts=${allPorts}"$ports " - done - echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS "${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${sdk_server_name}${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allNewPid}${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX} -else - echo -e ${YELLOW_PREFIX}${sdk_server_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR PLEASE CHECK openIM.log"${COLOR_SUFFIX} -fi +#!/usr/bin/env bash +#Include shell font styles and some basic information +source ./style_info.cfg +source ./path_info.cfg +source ./function.sh +list1=$(cat $config_path | grep openImApiPort | awk -F '[:]' '{print $NF}') +list2=$(cat $config_path | grep openImWsPort | awk -F '[:]' '{print $NF}') +list3=$(cat $config_path | grep openImSdkWsPort | awk -F '[:]' '{print $NF}') +list_to_string $list1 +api_ports=($ports_array) +list_to_string $list2 +ws_ports=($ports_array) +list_to_string $list3 +sdk_ws_ports=($ports_array) + + + + +#Check if the service exists +#If it is exists,kill this process +check=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | wc -l) +if [ $check -ge 1 ]; then + oldPid=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | awk '{print $2}') + kill -9 ${oldPid} +fi +#Waiting port recycling +sleep 1 +cd ${sdk_server_binary_root} + nohup ./${sdk_server_name} -openIM_api_port ${api_ports[0]} -openIM_ws_port ${ws_ports[0]} -sdk_ws_port ${sdk_ws_ports[0]} >>../logs/openIM.log 2>&1 & + +#Check launched service process +sleep 3 +check=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | wc -l) +allPorts="" +if [ $check -ge 1 ]; then + allNewPid=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | awk '{print $2}') + for i in $allNewPid; do + ports=$(netstat -netulp | grep -w ${i} | awk '{print $4}' | awk -F '[:]' '{print $NF}') + allPorts=${allPorts}"$ports " + done + echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS "${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${sdk_server_name}${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allNewPid}${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX} +else + echo -e ${YELLOW_PREFIX}${sdk_server_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR PLEASE CHECK openIM.log"${COLOR_SUFFIX} +fi diff --git a/script/start_all.sh b/script/start_all.sh index 9990cb6c8..43a02b34d 100644 --- a/script/start_all.sh +++ b/script/start_all.sh @@ -1,18 +1,18 @@ -#!/usr/bin/env bash -#fixme This script is the total startup script -#fixme The full name of the shell script that needs to be started is placed in the need_to_start_server_shell array - -#fixme Put the shell script name here -need_to_start_server_shell=( - start_rpc_service.sh - msg_gateway_start.sh - push_start.sh - msg_transfer_start.sh - sdk_svr_start.sh -) - -for i in ${need_to_start_server_shell[*]}; do - chmod +x $i - ./$i -done - +#!/usr/bin/env bash +#fixme This script is the total startup script +#fixme The full name of the shell script that needs to be started is placed in the need_to_start_server_shell array + +#fixme Put the shell script name here +need_to_start_server_shell=( + start_rpc_service.sh + msg_gateway_start.sh + push_start.sh + msg_transfer_start.sh + sdk_svr_start.sh +) + +for i in ${need_to_start_server_shell[*]}; do + chmod +x $i + ./$i +done + diff --git a/script/start_rpc_service.sh b/script/start_rpc_service.sh index 6307ca1c0..74f00a3f4 100644 --- a/script/start_rpc_service.sh +++ b/script/start_rpc_service.sh @@ -1,59 +1,59 @@ -#!/usr/bin/env bash - -source ./style_info.cfg -source ./path_info.cfg -source ./function.sh - -#service filename -service_filename=( - #api - open_im_api - #rpc - open_im_user - open_im_friend - open_im_group - open_im_auth - ${msg_name} -) - -#service config port name -service_port_name=( - #api port name - openImApiPort - #rpc port name - openImUserPort - openImFriendPort - openImGroupPort - openImAuthPort - openImOfflineMessagePort - -) - -for ((i = 0; i < ${#service_filename[*]}; i++)); do - #Check whether the service exists - service_name="ps -aux |grep -w ${service_filename[$i]} |grep -v grep" - count="${service_name}| wc -l" - - if [ $(eval ${count}) -gt 0 ]; then - pid="${service_name}| awk '{print \$2}'" - echo -e "${SKY_BLUE_PREFIX}${service_filename[$i]} service has been started,pid:$(eval $pid)$COLOR_SUFFIX" - echo -e "${SKY_BLUE_PREFIX}Killing the service ${service_filename[$i]} pid:$(eval $pid)${COLOR_SUFFIX}" - #kill the service that existed - kill -9 $(eval $pid) - sleep 0.5 - fi - cd ../bin && echo -e "${SKY_BLUE_PREFIX}${service_filename[$i]} service is starting${COLOR_SUFFIX}" - #Get the rpc port in the configuration file - portList=$(cat $config_path | grep ${service_port_name[$i]} | awk -F '[:]' '{print $NF}') - list_to_string ${portList} - #Start related rpc services based on the number of ports - for j in ${ports_array}; do - echo -e "${SKY_BLUE_PREFIX}${service_filename[$i]} Service is starting,port number:$j $COLOR_SUFFIX" - #Start the service in the background - # ./${service_filename[$i]} -port $j & - nohup ./${service_filename[$i]} -port $j >>../logs/openIM.log 2>&1 & - sleep 1 - pid="netstat -ntlp|grep $j |awk '{printf \$7}'|cut -d/ -f1" - echo -e "${RED_PREFIX}${service_filename[$i]} Service is started,port number:$j pid:$(eval $pid)$COLOR_SUFFIX" - done -done +#!/usr/bin/env bash + +source ./style_info.cfg +source ./path_info.cfg +source ./function.sh + +#service filename +service_filename=( + #api + open_im_api + #rpc + open_im_user + open_im_friend + open_im_group + open_im_auth + ${msg_name} +) + +#service config port name +service_port_name=( + #api port name + openImApiPort + #rpc port name + openImUserPort + openImFriendPort + openImGroupPort + openImAuthPort + openImOfflineMessagePort + +) + +for ((i = 0; i < ${#service_filename[*]}; i++)); do + #Check whether the service exists + service_name="ps -aux |grep -w ${service_filename[$i]} |grep -v grep" + count="${service_name}| wc -l" + + if [ $(eval ${count}) -gt 0 ]; then + pid="${service_name}| awk '{print \$2}'" + echo -e "${SKY_BLUE_PREFIX}${service_filename[$i]} service has been started,pid:$(eval $pid)$COLOR_SUFFIX" + echo -e "${SKY_BLUE_PREFIX}Killing the service ${service_filename[$i]} pid:$(eval $pid)${COLOR_SUFFIX}" + #kill the service that existed + kill -9 $(eval $pid) + sleep 0.5 + fi + cd ../bin && echo -e "${SKY_BLUE_PREFIX}${service_filename[$i]} service is starting${COLOR_SUFFIX}" + #Get the rpc port in the configuration file + portList=$(cat $config_path | grep ${service_port_name[$i]} | awk -F '[:]' '{print $NF}') + list_to_string ${portList} + #Start related rpc services based on the number of ports + for j in ${ports_array}; do + echo -e "${SKY_BLUE_PREFIX}${service_filename[$i]} Service is starting,port number:$j $COLOR_SUFFIX" + #Start the service in the background + # ./${service_filename[$i]} -port $j & + nohup ./${service_filename[$i]} -port $j >>../logs/openIM.log 2>&1 & + sleep 1 + pid="netstat -ntlp|grep $j |awk '{printf \$7}'|cut -d/ -f1" + echo -e "${RED_PREFIX}${service_filename[$i]} Service is started,port number:$j pid:$(eval $pid)$COLOR_SUFFIX" + done +done diff --git a/script/stop_all.sh b/script/stop_all.sh index ef7237ab5..2e1e119c1 100644 --- a/script/stop_all.sh +++ b/script/stop_all.sh @@ -1,19 +1,19 @@ -#!/usr/bin/env bash -#fixme This script is to stop the service - -source ./style_info.cfg -source ./path_info.cfg - - -for i in ${service_names[*]}; do - #Check whether the service exists - name="ps -aux |grep -w $i |grep -v grep" - count="${name}| wc -l" - if [ $(eval ${count}) -gt 0 ]; then - pid="${name}| awk '{print \$2}'" - echo -e "${SKY_BLUE_PREFIX}Killing service:$i pid:$(eval $pid)${COLOR_SUFFIX}" - #kill the service that existed - kill -9 $(eval $pid) - echo -e "${SKY_BLUE_PREFIX}service:$i was killed ${COLOR_SUFFIX}" - fi -done +#!/usr/bin/env bash +#fixme This script is to stop the service + +source ./style_info.cfg +source ./path_info.cfg + + +for i in ${service_names[*]}; do + #Check whether the service exists + name="ps -aux |grep -w $i |grep -v grep" + count="${name}| wc -l" + if [ $(eval ${count}) -gt 0 ]; then + pid="${name}| awk '{print \$2}'" + echo -e "${SKY_BLUE_PREFIX}Killing service:$i pid:$(eval $pid)${COLOR_SUFFIX}" + #kill the service that existed + kill -9 $(eval $pid) + echo -e "${SKY_BLUE_PREFIX}service:$i was killed ${COLOR_SUFFIX}" + fi +done diff --git a/script/style_info.cfg b/script/style_info.cfg index 92cc5da49..ff28dcb88 100644 --- a/script/style_info.cfg +++ b/script/style_info.cfg @@ -1,9 +1,9 @@ -#Shell font formatting information -COLOR_SUFFIX="\033[0m" -BLACK_PREFIX="\033[30m" -RED_PREFIX="\033[31m" -GREEN_PREFIX="\033[32m" -YELLOW_PREFIX="\033[33m" -BLUE_PREFIX="\033[34m" -PURPLE_PREFIX="\033[35m" -SKY_BLUE_PREFIX="\033[36m" +#Shell font formatting information +COLOR_SUFFIX="\033[0m" +BLACK_PREFIX="\033[30m" +RED_PREFIX="\033[31m" +GREEN_PREFIX="\033[32m" +YELLOW_PREFIX="\033[33m" +BLUE_PREFIX="\033[34m" +PURPLE_PREFIX="\033[35m" +SKY_BLUE_PREFIX="\033[36m" diff --git a/sdk_svr_start.sh b/sdk_svr_start.sh deleted file mode 100644 index 4d6af3999..000000000 --- a/sdk_svr_start.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env bash -#Include shell font styles and some basic information -source ./style_info.cfg -source ./path_info.cfg -source ./function.sh -list1=$(cat $config_path | grep openImApiPort | awk -F '[:]' '{print $NF}') -list2=$(cat $config_path | grep openImWsPort | awk -F '[:]' '{print $NF}') -list3=$(cat $config_path | grep openImSdkWsPort | awk -F '[:]' '{print $NF}') -list_to_string $list1 -api_ports=($ports_array) -list_to_string $list2 -ws_ports=($ports_array) -list_to_string $list3 -sdk_ws_ports=($ports_array) - - - - -#Check if the service exists -#If it is exists,kill this process -check=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | wc -l) -if [ $check -ge 1 ]; then - oldPid=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | awk '{print $2}') - kill -9 ${oldPid} -fi -#Waiting port recycling -sleep 1 -cd ${sdk_server_binary_root} - nohup ./${sdk_server_name} -openIM_api_port ${api_ports[0]} -openIM_ws_port ${ws_ports[0]} -sdk_ws_port ${sdk_ws_ports[0]} >>../logs/openIM.log 2>&1 & - -#Check launched service process -sleep 3 -check=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | wc -l) -allPorts="" -if [ $check -ge 1 ]; then - allNewPid=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | awk '{print $2}') - for i in $allNewPid; do - ports=$(netstat -netulp | grep -w ${i} | awk '{print $4}' | awk -F '[:]' '{print $NF}') - allPorts=${allPorts}"$ports " - done - echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS "${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${sdk_server_name}${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allNewPid}${COLOR_SUFFIX} - echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX} -else - echo -e ${YELLOW_PREFIX}${sdk_server_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR PLEASE CHECK openIM.log"${COLOR_SUFFIX} -fi diff --git a/src/Open-IM-SDK-Core b/src/Open-IM-SDK-Core index 3d956a1a4..17e4fc51c 160000 --- a/src/Open-IM-SDK-Core +++ b/src/Open-IM-SDK-Core @@ -1 +1 @@ -Subproject commit 3d956a1a40024f0a5f4959d6e46f6f503a1618ce +Subproject commit 17e4fc51ce877ab4d146865cc094bfbcc5abb021 diff --git a/src/api/friend/add_friend.go b/src/api/friend/add_friend.go index 40fee7dac..c671f949a 100644 --- a/src/api/friend/add_friend.go +++ b/src/api/friend/add_friend.go @@ -41,7 +41,9 @@ func ImportFriend(c *gin.Context) { OwnerUid: params.OwnerUid, Token: c.Request.Header.Get("token"), } + log.NewInfo(params.OperationID, "ImportFriend Test start", params.UIDList, params.OwnerUid) RpcResp, err := client.ImportFriend(context.Background(), req) + //log.ErrorByKv("ImportFriend Test end", params.OperationID, "resp", RpcResp, "err", err.Error()) if err != nil { log.Error(req.Token, req.OperationID, "err=%s,ImportFriend failed", err) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "cImportFriend failed" + err.Error()}) diff --git a/start_all.sh b/start_all.sh deleted file mode 100644 index 9990cb6c8..000000000 --- a/start_all.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env bash -#fixme This script is the total startup script -#fixme The full name of the shell script that needs to be started is placed in the need_to_start_server_shell array - -#fixme Put the shell script name here -need_to_start_server_shell=( - start_rpc_service.sh - msg_gateway_start.sh - push_start.sh - msg_transfer_start.sh - sdk_svr_start.sh -) - -for i in ${need_to_start_server_shell[*]}; do - chmod +x $i - ./$i -done - diff --git a/start_rpc_service.sh b/start_rpc_service.sh deleted file mode 100644 index 6307ca1c0..000000000 --- a/start_rpc_service.sh +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/env bash - -source ./style_info.cfg -source ./path_info.cfg -source ./function.sh - -#service filename -service_filename=( - #api - open_im_api - #rpc - open_im_user - open_im_friend - open_im_group - open_im_auth - ${msg_name} -) - -#service config port name -service_port_name=( - #api port name - openImApiPort - #rpc port name - openImUserPort - openImFriendPort - openImGroupPort - openImAuthPort - openImOfflineMessagePort - -) - -for ((i = 0; i < ${#service_filename[*]}; i++)); do - #Check whether the service exists - service_name="ps -aux |grep -w ${service_filename[$i]} |grep -v grep" - count="${service_name}| wc -l" - - if [ $(eval ${count}) -gt 0 ]; then - pid="${service_name}| awk '{print \$2}'" - echo -e "${SKY_BLUE_PREFIX}${service_filename[$i]} service has been started,pid:$(eval $pid)$COLOR_SUFFIX" - echo -e "${SKY_BLUE_PREFIX}Killing the service ${service_filename[$i]} pid:$(eval $pid)${COLOR_SUFFIX}" - #kill the service that existed - kill -9 $(eval $pid) - sleep 0.5 - fi - cd ../bin && echo -e "${SKY_BLUE_PREFIX}${service_filename[$i]} service is starting${COLOR_SUFFIX}" - #Get the rpc port in the configuration file - portList=$(cat $config_path | grep ${service_port_name[$i]} | awk -F '[:]' '{print $NF}') - list_to_string ${portList} - #Start related rpc services based on the number of ports - for j in ${ports_array}; do - echo -e "${SKY_BLUE_PREFIX}${service_filename[$i]} Service is starting,port number:$j $COLOR_SUFFIX" - #Start the service in the background - # ./${service_filename[$i]} -port $j & - nohup ./${service_filename[$i]} -port $j >>../logs/openIM.log 2>&1 & - sleep 1 - pid="netstat -ntlp|grep $j |awk '{printf \$7}'|cut -d/ -f1" - echo -e "${RED_PREFIX}${service_filename[$i]} Service is started,port number:$j pid:$(eval $pid)$COLOR_SUFFIX" - done -done diff --git a/stop_all.sh b/stop_all.sh deleted file mode 100644 index ef7237ab5..000000000 --- a/stop_all.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash -#fixme This script is to stop the service - -source ./style_info.cfg -source ./path_info.cfg - - -for i in ${service_names[*]}; do - #Check whether the service exists - name="ps -aux |grep -w $i |grep -v grep" - count="${name}| wc -l" - if [ $(eval ${count}) -gt 0 ]; then - pid="${name}| awk '{print \$2}'" - echo -e "${SKY_BLUE_PREFIX}Killing service:$i pid:$(eval $pid)${COLOR_SUFFIX}" - #kill the service that existed - kill -9 $(eval $pid) - echo -e "${SKY_BLUE_PREFIX}service:$i was killed ${COLOR_SUFFIX}" - fi -done diff --git a/style_info.cfg b/style_info.cfg deleted file mode 100644 index 92cc5da49..000000000 --- a/style_info.cfg +++ /dev/null @@ -1,9 +0,0 @@ -#Shell font formatting information -COLOR_SUFFIX="\033[0m" -BLACK_PREFIX="\033[30m" -RED_PREFIX="\033[31m" -GREEN_PREFIX="\033[32m" -YELLOW_PREFIX="\033[33m" -BLUE_PREFIX="\033[34m" -PURPLE_PREFIX="\033[35m" -SKY_BLUE_PREFIX="\033[36m" From e77a156f29bacb5cb6b16d89d542177b308a93a0 Mon Sep 17 00:00:00 2001 From: muistar <373367118@qq.com> Date: Tue, 2 Nov 2021 10:18:47 +0800 Subject: [PATCH 29/40] fix offline push bug (#33) Co-authored-by: xin.he --- internal/push/logic/push_to_client.go | 50 +++++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 3 deletions(-) diff --git a/internal/push/logic/push_to_client.go b/internal/push/logic/push_to_client.go index 17ac47076..5262add60 100644 --- a/internal/push/logic/push_to_client.go +++ b/internal/push/logic/push_to_client.go @@ -33,7 +33,7 @@ type EChatContent struct { func MsgToUser(sendPbData *pbRelay.MsgToUserReq, OfflineInfo, Options string) { var wsResult []*pbRelay.SingleMsgToUser - isShouldOfflinePush := true + //isShouldOfflinePush := true MOptions := utils.JsonStringToMap(Options) //Control whether to push message to sender's other terminal //isSenderSync := utils.GetSwitchFromOptions(MOptions, "senderSync") isOfflinePush := utils.GetSwitchFromOptions(MOptions, "offlinePush") @@ -54,7 +54,51 @@ func MsgToUser(sendPbData *pbRelay.MsgToUserReq, OfflineInfo, Options string) { log.InfoByKv("push_result", sendPbData.OperationID, "result", wsResult) if isOfflinePush { - for _, t := range pushTerminal { + for _, v := range wsResult { + if v.ResultCode == 0 { + continue + } + //supported terminal + for _, t := range pushTerminal { + if v.RecvPlatFormID == t { + //Use offline push messaging + var UIDList []string + UIDList = append(UIDList, sendPbData.RecvID) + var sendUIDList []string + sendUIDList = append(sendUIDList, sendPbData.SendID) + userInfo, err := internal_service.GetUserInfoClient(&pbGetInfo.GetUserInfoReq{UserIDList: sendUIDList, OperationID: sendPbData.OperationID}) + if err != nil { + log.ErrorByArgs(fmt.Sprintf("err=%v,call GetUserInfoClient rpc server failed", err)) + return + } + + customContent := EChatContent{ + SessionType: int(sendPbData.SessionType), + From: sendPbData.SendID, + To: sendPbData.RecvID, + Seq: sendPbData.RecvSeq, + } + bCustomContent, _ := json.Marshal(customContent) + + jsonCustomContent := string(bCustomContent) + switch sendPbData.ContentType { + case constant.Text: + IOSAccountListPush(UIDList, userInfo.Data[0].Name, sendPbData.Content, jsonCustomContent) + case constant.Picture: + IOSAccountListPush(UIDList, userInfo.Data[0].Name, constant.ContentType2PushContent[constant.Picture], jsonCustomContent) + case constant.Voice: + IOSAccountListPush(UIDList, userInfo.Data[0].Name, constant.ContentType2PushContent[constant.Voice], jsonCustomContent) + case constant.Video: + IOSAccountListPush(UIDList, userInfo.Data[0].Name, constant.ContentType2PushContent[constant.Video], jsonCustomContent) + case constant.File: + IOSAccountListPush(UIDList, userInfo.Data[0].Name, constant.ContentType2PushContent[constant.File], jsonCustomContent) + default: + + } + } + } + } + /*for _, t := range pushTerminal { for _, v := range wsResult { if v.RecvPlatFormID == t && v.ResultCode == 0 { isShouldOfflinePush = false @@ -100,7 +144,7 @@ func MsgToUser(sendPbData *pbRelay.MsgToUserReq, OfflineInfo, Options string) { } else { isShouldOfflinePush = true } - } + }*/ } From 7f2270844e538907f325f2639d13e8e68baa25ec Mon Sep 17 00:00:00 2001 From: Xan <270084782@qq.com> Date: Fri, 5 Nov 2021 16:37:17 +0800 Subject: [PATCH 30/40] feat:uid generator & rm incompatible gopkg (#34) --- .gitignore | 6 + go.mod | 19 +- go.sum | 371 ------------------ .../im_mysql_model/model_struct.go | 2 +- src/rpc/auth/auth/user_register.go | 4 + src/utils/id.go | 28 ++ src/utils/id_test.go | 15 + 7 files changed, 60 insertions(+), 385 deletions(-) delete mode 100644 go.sum create mode 100644 src/utils/id.go create mode 100644 src/utils/id_test.go diff --git a/.gitignore b/.gitignore index 3f1a36dca..927ba42cc 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,9 @@ components logs out-test + +# for unit test +src/utils/config + +# gosum +go.sum diff --git a/go.mod b/go.mod index 00fe22cb0..d4212c16a 100644 --- a/go.mod +++ b/go.mod @@ -3,21 +3,16 @@ module Open_IM go 1.15 require ( - github.com/Shopify/sarama v1.19.0 - github.com/Shopify/toxiproxy v2.1.4+incompatible // indirect + github.com/Shopify/sarama v1.30.0 github.com/antonfisher/nested-logrus-formatter v1.3.0 + github.com/bwmarrin/snowflake v0.3.0 github.com/coreos/go-semver v0.3.0 // indirect github.com/dustin/go-humanize v1.0.0 // indirect - github.com/eapache/go-resiliency v1.2.0 // indirect - github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 // indirect - github.com/eapache/queue v1.1.0 // indirect - github.com/frankban/quicktest v1.11.3 // indirect github.com/garyburd/redigo v1.6.2 github.com/gin-gonic/gin v1.7.0 github.com/go-playground/validator/v10 v10.4.1 - github.com/golang-jwt/jwt/v4 v4.1.0 // indirect + github.com/golang-jwt/jwt/v4 v4.1.0 github.com/golang/protobuf v1.5.2 - github.com/golang/snappy v0.0.3 // indirect github.com/gorilla/websocket v1.4.2 github.com/jinzhu/gorm v1.9.16 github.com/jonboulle/clockwork v0.2.2 // indirect @@ -28,20 +23,18 @@ require ( github.com/mitchellh/mapstructure v1.4.1 github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 github.com/olivere/elastic/v7 v7.0.23 - github.com/pierrec/lz4 v2.6.0+incompatible // indirect - github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5 - github.com/sirupsen/logrus v1.6.0 + github.com/sirupsen/logrus v1.8.1 github.com/stretchr/testify v1.7.0 github.com/tencentyun/qcloud-cos-sts-sdk v0.0.0-20210325043845-84a0811633ca github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 // indirect go.etcd.io/etcd v0.0.0-20200402134248-51bdeb39e698 golang.org/x/image v0.0.0-20210220032944-ac19c3e999fb - golang.org/x/net v0.0.0-20201110031124-69a78807bb2b + golang.org/x/net v0.0.0-20210917221730-978cfadd31cf golang.org/x/tools v0.0.0-20210106214847-113979e3529a // indirect google.golang.org/grpc v1.33.2 gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 - gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c + gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b sigs.k8s.io/yaml v1.2.0 // indirect ) diff --git a/go.sum b/go.sum deleted file mode 100644 index 664a73e93..000000000 --- a/go.sum +++ /dev/null @@ -1,371 +0,0 @@ -github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc= -github.com/Shopify/sarama v1.19.0 h1:9oksLxC6uxVPHPVYUmq6xhr1BOF/hHobWH2UzO67z1s= -github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= -github.com/Shopify/toxiproxy v2.1.4+incompatible h1:TKdv8HiTLgE5wdJuEML90aBgNWsokNbMijUGhmcoBJc= -github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y= -github.com/antonfisher/nested-logrus-formatter v1.3.0 h1:8zixYquU1Odk+vzAaAQPAdRh1ZjmUXNQ1T+dUBvlhVo= -github.com/antonfisher/nested-logrus-formatter v1.3.0/go.mod h1:6WTfyWFkBc9+zyBaKIqRrg/KwMqBbodBjgbHjDz7zjA= -github.com/aws/aws-sdk-go v1.38.3/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0 h1:HWo1m869IqiPhD389kmkxeTalrjNbbJTC8LXupb+sl0= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa h1:OaNxuTZr7kxeODyLWsRMC+OD03aFUH+mW6r2d+MWa5Y= -github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= -github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM= -github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd/v22 v22.0.0 h1:XJIw/+VlJ+87J+doOxznsAWIdmWuViOVhkQamW5YV28= -github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= -github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/denisenkom/go-mssqldb v0.0.0-20191124224453-732737034ffd h1:83Wprp6ROGeiHFAP8WJdI2RoxALQYgdllERc3N5N2DM= -github.com/denisenkom/go-mssqldb v0.0.0-20191124224453-732737034ffd/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= -github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/eapache/go-resiliency v1.2.0 h1:v7g92e/KSN71Rq7vSThKaWIq68fL4YHvWyiUKorFR1Q= -github.com/eapache/go-resiliency v1.2.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 h1:YEetp8/yCZMuEPMUDHG0CW/brkkEp8mzqk2+ODEitlw= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= -github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= -github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5 h1:Yzb9+7DPaBjB8zlTR87/ElzFsnQfuHnVUVqpZZIcV5Y= -github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= -github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= -github.com/frankban/quicktest v1.11.3 h1:8sXhOn0uLys67V8EsXLc6eszDs8VXWxL3iRvebPhedY= -github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= -github.com/garyburd/redigo v1.6.2 h1:yE/pwKCrbLpLpQICzYTeZ7JsTA/C53wFTJHaEtRqniM= -github.com/garyburd/redigo v1.6.2/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= -github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= -github.com/gin-gonic/gin v1.7.0 h1:jGB9xAJQ12AIGNB4HguylppmDK1Am9ppF7XnGXXJuoU= -github.com/gin-gonic/gin v1.7.0/go.mod h1:jD2toBW3GZUr5UMcdrwQA10I7RuaFOl/SGeDjXkfUtY= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= -github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= -github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= -github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= -github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= -github.com/go-playground/validator/v10 v10.4.1 h1:pH2c5ADXtd66mxoE0Zm9SUhxE20r7aM3F26W0hOn+GE= -github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= -github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs= -github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.1 h1:/s5zKNz0uPFCZ5hddgPdo2TK2TVrUNMn0OOX8/aZMTE= -github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= -github.com/golang-jwt/jwt/v4 v4.1.0 h1:XUgk2Ex5veyVFVeLm0xhusUTQybEbexJXrvPNOKkSY0= -github.com/golang-jwt/jwt/v4 v4.1.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= -github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e h1:1r7pUrabqp18hOBcwBwiTsbnFeTZHV9eER/QT5JVZxY= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.0.0 h1:b4Gk+7WdP/d3HZH8EJsZpvV7EtDOgaZLtnaNGIu1adA= -github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4 h1:z53tR0945TRRQO/fLEVPI6SMv7ZflF0TEaTAoU7tOzg= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.9.5 h1:UImYN5qQ8tuGpGE16ZmjvcTtTw24zw1QAp/SlnNrZhI= -github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/jinzhu/gorm v1.9.16 h1:+IyIjPEABKRpsu/F8OvDPy9fyQlgsg2luMV2ZIH5i5o= -github.com/jinzhu/gorm v1.9.16/go.mod h1:G3LB3wezTOWM2ITLzPxEXgSkOXAntiLHS7UdBefADcs= -github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= -github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= -github.com/jinzhu/now v1.0.1 h1:HjfetcXq097iXP0uoPCdnM4Efp5/9MsM0/M+XOTeR3M= -github.com/jinzhu/now v1.0.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= -github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= -github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= -github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/jonboulle/clockwork v0.2.2 h1:UOGuzwb1PwsrDAObMuhUnj0p5ULPj8V/xJ7Kx9qUBdQ= -github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.9 h1:9yzud/Ht36ygwatGx56VwCZtlI/2AD15T1X2sjSuGns= -github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= -github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= -github.com/lestrrat-go/envload v0.0.0-20180220234015-a3eb8ddeffcc h1:RKf14vYWi2ttpEmkA4aQ3j4u9dStX2t4M8UM6qqNsG8= -github.com/lestrrat-go/envload v0.0.0-20180220234015-a3eb8ddeffcc/go.mod h1:kopuH9ugFRkIXf3YoqHKyrJ9YfUFsckUU9S7B+XP+is= -github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible h1:Y6sqxHMyB1D2YSzWkLibYKgg+SwmyFU9dF2hn6MdTj4= -github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible/go.mod h1:ZQnN8lSECaebrkQytbHj4xNgtg8CR7RYXnPok8e0EHA= -github.com/lestrrat-go/strftime v1.0.4 h1:T1Rb9EPkAhgxKqbcMIPguPq8glqXTA1koF8n9BHElA8= -github.com/lestrrat-go/strftime v1.0.4/go.mod h1:E1nN3pCbtMSu1yjSVeyuRFVm/U0xoR76fd03sz+Qz4g= -github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.2.0 h1:LXpIM/LZ5xGFhOpXAQUIMM1HdyqzVYM13zNdjCEEcA0= -github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= -github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-sqlite3 v1.14.0/go.mod h1:JIl7NbARA7phWnGvh0LKTyg7S9BA+6gx71ShQilpsus= -github.com/mattn/go-sqlite3 v1.14.6 h1:dNPt6NO46WmLVt2DLNpwczCmdV5boIZ6g/tlDrlRUbg= -github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= -github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag= -github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ= -github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8= -github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/olivere/elastic/v7 v7.0.23 h1:b7tjMogDMhf2CisGI+L02LXLVa0ZyE82Z15XfW1e8t8= -github.com/olivere/elastic/v7 v7.0.23/go.mod h1:OuWmD2DiuYhddWegBKPWQuelVKBLrW0fa/VUYgxuGTY= -github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= -github.com/pierrec/lz4 v2.6.0+incompatible h1:Ix9yFKn1nSPBLFl/yZknTp8TU5G4Ps0JDmguYK6iH1A= -github.com/pierrec/lz4 v2.6.0+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v1.0.0 h1:vrDKnkGzuGvhNAL56c7DBz29ZL+KxnoR0x7enabFceM= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4 h1:gQz4mCbXsO+nc9n1hCxHcGA3Zx3Eo+UHZoInFGUIXNM= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.4.1 h1:K0MGApIoQvMw27RTdJkPbr3JZ7DNbtxQNyi5STVM6Kw= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.2 h1:6LJUbpNm42llc4HRCuvApCSWB/WfhuNo9K98Q9sNGfs= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= -github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5 h1:mZHayPoR0lNmnHyvtYjDeq0zlVHn9K/ZXoy17ylucdo= -github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5/go.mod h1:GEXHk5HgEKCvEIIrSpFI3ozzG5xOKA2DVlEX/gGnewM= -github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0 h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/smartystreets/assertions v1.1.1/go.mod h1:tcbTF8ujkAEcZ8TElKY+i30BzYlVhC/LOxJk7iOWnoo= -github.com/smartystreets/go-aws-auth v0.0.0-20180515143844-0c1422d1fdb9/go.mod h1:SnhjPscd9TpLiy1LpzGSKh3bXCfxxXuqd9xmQJy3slM= -github.com/smartystreets/gunit v1.4.2/go.mod h1:ZjM1ozSIMJlAz/ay4SG8PeKF00ckUp+zMHZXV9/bvak= -github.com/soheilhy/cmux v0.1.4 h1:0HKaf1o97UwFjHH9o5XsHUOF+tqmdA7KEzXLpiyaw0E= -github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= -github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/pflag v1.0.1 h1:aCvUg6QPl3ibpQUxyLkrEkCHtPqYJL4x9AuhqVqFis4= -github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/tencentyun/qcloud-cos-sts-sdk v0.0.0-20210325043845-84a0811633ca h1:G/aIr3WiUesWHL2YGYgEqjM5tCAJ43Ml+0C18wDkWWs= -github.com/tencentyun/qcloud-cos-sts-sdk v0.0.0-20210325043845-84a0811633ca/go.mod h1:b18KQa4IxHbxeseW1GcZox53d7J0z39VNONTxvvlkXw= -github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 h1:LnC5Kc/wtumK+WB441p7ynQJzVuNRJiqddSIE3IlSEQ= -github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= -github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= -github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs= -github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= -github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.etcd.io/bbolt v1.3.4 h1:hi1bXHMVrlQh6WwxAy+qZCV/SYIlqo+Ushwdpa4tAKg= -go.etcd.io/bbolt v1.3.4/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= -go.etcd.io/etcd v0.0.0-20200402134248-51bdeb39e698 h1:jWtjCJX1qxhHISBMLRztWwR+EXkI7MJAF2HjHAE/x/I= -go.etcd.io/etcd v0.0.0-20200402134248-51bdeb39e698/go.mod h1:YoUyTScD3Vcv2RBm3eGVOq7i1ULiz3OuXoQFWOirmAM= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.uber.org/atomic v1.6.0 h1:Ezj3JGmsOnG1MoRWQkPBsKLe9DwWD9QeXzTRzzldNVk= -go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/multierr v1.5.0 h1:KCa4XfM8CWFCpxXRGok+Q0SS/0XBhMDbHHGABQLvD2A= -go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee h1:0mgffUl7nfd+FpvXMVz4IDEaUSmT1ysygQC7qYo7sG4= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= -go.uber.org/zap v1.14.1 h1:nYDKopTbvAPq/NrUVZwT15y2lpROBiLLyoRTbXOYWOo= -go.uber.org/zap v1.14.1/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191002192127-34f69633bfdc/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191205180655-e7c4368fe9dd/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/image v0.0.0-20210220032944-ac19c3e999fb h1:fqpd0EBDzlHRCjiphRR5Zo/RSWWQlWv34418dnEixWk= -golang.org/x/image v0.0.0-20210220032944-ac19c3e999fb/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de h1:5hukYrvBGR8/eNkX5mdUezrA6JiaEZDtJb9Ei+1LlBs= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.3.0 h1:RM4zey1++hCTbCVQfnWeKs9/IEsaBLA8vTkd0WVtmH4= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b h1:uwuIcX0g4Yl1NC5XAz37xsr2lTtcqevgzYNVt49waME= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f h1:+Nyd8tzPX9R7BWHguqsrbFdRx3WQ/1ib8I44HXV5yTA= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2 h1:+DCIGbF/swA92ohVg0//6X2IVY3KZs6p9mix0ziNYJM= -golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a h1:CB3a9Nez8M13wwlr/E2YtwoU+qYHKfC+JrDa45RXXoQ= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55 h1:gSJIx1SDwno+2ElGhA4+qG2zF97qiUzTM+rQ0klBOcE= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/grpc v1.29.1 h1:EC2SB8S04d2r73uptxphDSUG+kTKVgjRPF+N3xpxRB4= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 h1:VpOs+IwYnYBaFnrNAeB8UUWtL3vEUnzSCL1nVjPhqrw= -gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= -gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3 h1:3JgtbtFHMiCmsznwGVTUWbgGov+pVqnlf1dEJTNAXeM= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= diff --git a/src/common/db/mysql_model/im_mysql_model/model_struct.go b/src/common/db/mysql_model/im_mysql_model/model_struct.go index 87993df65..d8576ac19 100644 --- a/src/common/db/mysql_model/im_mysql_model/model_struct.go +++ b/src/common/db/mysql_model/im_mysql_model/model_struct.go @@ -3,7 +3,7 @@ package im_mysql_model import "time" type User struct { - UID string `gorm:"column:uid"` + UID string `gorm:"column:uid;primaryKey;"` Name string `gorm:"column:name"` Icon string `gorm:"column:icon"` Gender int32 `gorm:"column:gender"` diff --git a/src/rpc/auth/auth/user_register.go b/src/rpc/auth/auth/user_register.go index aa2bc40f3..d19acf881 100644 --- a/src/rpc/auth/auth/user_register.go +++ b/src/rpc/auth/auth/user_register.go @@ -4,12 +4,16 @@ import ( "Open_IM/src/common/db/mysql_model/im_mysql_model" "Open_IM/src/common/log" pbAuth "Open_IM/src/proto/auth" + "Open_IM/src/utils" "context" ) func (rpc *rpcAuth) UserRegister(_ context.Context, pb *pbAuth.UserRegisterReq) (*pbAuth.UserRegisterResp, error) { log.Info("", "", "rpc user_register start, [data: %s]", pb.String()) + if len(pb.UID) == 0 { + pb.UID = utils.GenID() + } if err := im_mysql_model.UserRegister(pb); err != nil { log.Error("", "", "rpc user_register error, [data: %s] [err: %s]", pb.String(), err.Error()) return &pbAuth.UserRegisterResp{Success: false}, err diff --git a/src/utils/id.go b/src/utils/id.go new file mode 100644 index 000000000..509578df7 --- /dev/null +++ b/src/utils/id.go @@ -0,0 +1,28 @@ +package utils + +import ( + "github.com/bwmarrin/snowflake" +) + +func init() { + var err error + idGenerator, err = snowflake.NewNode(getNodeNum()) + if err != nil { + panic(err) + } +} + +func getNodeNum() int64 { + return 1 +} + +var idGenerator *snowflake.Node + +func GenID() string { + return idGenerator.Generate().String() +} + +func GenIDs(count int) []string { + //impl + return []string{} +} diff --git a/src/utils/id_test.go b/src/utils/id_test.go new file mode 100644 index 000000000..3c0d5938e --- /dev/null +++ b/src/utils/id_test.go @@ -0,0 +1,15 @@ +package utils + +import "testing" + +func TestGenID(t *testing.T) { + m := map[string]struct{}{} + for i := 0; i < 2000; i++ { + got := GenID() + if _, ok := m[got]; !ok { + m[got] = struct{}{} + } else { + t.Error("id generate error", got) + } + } +} From 04ad424efac1f69826fff443e008504ed9d9e5f2 Mon Sep 17 00:00:00 2001 From: "binyan.li" <469997798@qq.com> Date: Fri, 5 Nov 2021 17:37:12 +0800 Subject: [PATCH 31/40] fix :mysql index field is too long, resulting in table creation failure (#40) --- pkg/common/db/mysql.go | 99 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 90 insertions(+), 9 deletions(-) diff --git a/pkg/common/db/mysql.go b/pkg/common/db/mysql.go index 05006ffab..e3794b360 100644 --- a/pkg/common/db/mysql.go +++ b/pkg/common/db/mysql.go @@ -41,55 +41,136 @@ func initMysqlDB() { panic(err) } - sqlTable := "CREATE TABLE IF NOT EXISTS `user` (\n `uid` varchar(64) NOT NULL,\n `name` varchar(64) DEFAULT NULL,\n `icon` varchar(1024) DEFAULT NULL,\n `gender` int(11) unsigned zerofill DEFAULT NULL,\n `mobile` varchar(32) DEFAULT NULL,\n `birth` varchar(16) DEFAULT NULL,\n `email` varchar(64) DEFAULT NULL,\n `ex` varchar(1024) DEFAULT NULL,\n `create_time` datetime DEFAULT NULL,\n PRIMARY KEY (`uid`),\n UNIQUE KEY `uk_uid` (`uid`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;" + sqlTable := "CREATE TABLE IF NOT EXISTS `user` ("+ + " `uid` varchar(64) NOT NULL,"+ + " `name` varchar(64) DEFAULT NULL,"+ + " `icon` varchar(1024) DEFAULT NULL,"+ + " `gender` tinyint(4) unsigned zerofill DEFAULT NULL,"+ + " `mobile` varchar(32) DEFAULT NULL,"+ + " `birth` varchar(16) DEFAULT NULL,"+ + " `email` varchar(64) DEFAULT NULL,"+ + " `ex` varchar(1024) DEFAULT NULL,"+ + " `create_time` datetime DEFAULT NULL,"+ + " PRIMARY KEY (`uid`),"+ + " UNIQUE KEY `uk_uid` (`uid`)"+ + " ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;" err = db.Exec(sqlTable).Error if err != nil { panic(err) } - sqlTable = "CREATE TABLE IF NOT EXISTS `friend` (\n `owner_id` varchar(255) NOT NULL,\n `friend_id` varchar(255) NOT NULL,\n `comment` varchar(255) DEFAULT NULL,\n `friend_flag` int(11) NOT NULL,\n `create_time` datetime NOT NULL,\n PRIMARY KEY (`owner_id`,`friend_id`) USING BTREE\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;" + sqlTable = "CREATE TABLE IF NOT EXISTS `friend` ("+ + " `owner_id` varchar(64) NOT NULL,"+ + " `friend_id` varchar(64) NOT NULL,"+ + " `comment` varchar(255) DEFAULT NULL,"+ + " `friend_flag` int(11) NOT NULL,"+ + " `create_time` datetime NOT NULL,"+ + " PRIMARY KEY (`owner_id`,`friend_id`) USING BTREE"+ + " ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;" err = db.Exec(sqlTable).Error if err != nil { panic(err) } - sqlTable = "CREATE TABLE IF NOT EXISTS `friend_request` (\n `req_id` varchar(255) NOT NULL,\n `user_id` varchar(255) NOT NULL,\n `flag` int(11) NOT NULL DEFAULT '0',\n `req_message` varchar(255) DEFAULT NULL,\n `create_time` datetime NOT NULL,\n PRIMARY KEY (`user_id`,`req_id`) USING BTREE\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;" + sqlTable = "CREATE TABLE IF NOT EXISTS `friend_request` ("+ + " `req_id` varchar(64) NOT NULL,"+ + " `user_id` varchar(64) NOT NULL,"+ + " `flag` int(11) NOT NULL DEFAULT '0',"+ + " `req_message` varchar(255) DEFAULT NULL,"+ + " `create_time` datetime NOT NULL,"+ + " PRIMARY KEY (`user_id`,`req_id`) USING BTREE"+ + " ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;" err = db.Exec(sqlTable).Error if err != nil { panic(err) } - sqlTable = "CREATE TABLE IF NOT EXISTS `black_list` (\n `uid` varchar(32) NOT NULL COMMENT 'uid',\n `begin_disable_time` datetime DEFAULT NULL,\n `end_disable_time` datetime DEFAULT NULL,\n `ex` varchar(1024) DEFAULT NULL,\n PRIMARY KEY (`uid`) USING BTREE\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;" + sqlTable = "CREATE TABLE IF NOT EXISTS `black_list` ("+ + " `uid` varchar(32) NOT NULL COMMENT 'uid',"+ + " `begin_disable_time` datetime DEFAULT NULL,"+ + " `end_disable_time` datetime DEFAULT NULL,"+ + " `ex` varchar(1024) DEFAULT NULL,"+ + " PRIMARY KEY (`uid`) USING BTREE"+ + " ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;" err = db.Exec(sqlTable).Error if err != nil { panic(err) } - sqlTable = "CREATE TABLE IF NOT EXISTS `user_black_list` (\n `owner_id` varchar(255) NOT NULL,\n `block_id` varchar(255) NOT NULL,\n `create_time` datetime NOT NULL,\n PRIMARY KEY (`owner_id`,`block_id`) USING BTREE\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;" + sqlTable = "CREATE TABLE IF NOT EXISTS `user_black_list` ("+ + " `owner_id` varchar(64) NOT NULL,"+ + " `block_id` varchar(64) NOT NULL,"+ + " `create_time` datetime NOT NULL,"+ + " PRIMARY KEY (`owner_id`,`block_id`) USING BTREE"+ + " ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;" err = db.Exec(sqlTable).Error if err != nil { panic(err) } - sqlTable = "CREATE TABLE IF NOT EXISTS `group` (\n `group_id` varchar(255) NOT NULL,\n `name` varchar(255) DEFAULT NULL,\n `introduction` varchar(255) DEFAULT NULL,\n `notification` varchar(255) DEFAULT NULL,\n `face_url` varchar(255) DEFAULT NULL,\n `create_time` datetime DEFAULT NULL,\n `ex` varchar(255) DEFAULT NULL,\n PRIMARY KEY (`group_id`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;" + sqlTable = "CREATE TABLE IF NOT EXISTS `group` ("+ + " `group_id` varchar(64) NOT NULL,"+ + " `name` varchar(255) DEFAULT NULL,"+ + " `introduction` varchar(255) DEFAULT NULL,"+ + " `notification` varchar(255) DEFAULT NULL,"+ + " `face_url` varchar(255) DEFAULT NULL,"+ + " `create_time` datetime DEFAULT NULL,"+ + " `ex` varchar(255) DEFAULT NULL,"+ + " PRIMARY KEY (`group_id`)"+ + " ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;" err = db.Exec(sqlTable).Error if err != nil { panic(err) } - sqlTable = "CREATE TABLE IF NOT EXISTS `group_member` (\n `group_id` varchar(255) NOT NULL,\n `uid` varchar(255) NOT NULL,\n `nickname` varchar(255) DEFAULT NULL,\n `user_group_face_url` varchar(255) DEFAULT NULL,\n `administrator_level` int(11) NOT NULL,\n `join_time` datetime NOT NULL,\n PRIMARY KEY (`group_id`,`uid`) USING BTREE\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;" + sqlTable = "CREATE TABLE IF NOT EXISTS `group_member` ("+ + " `group_id` varchar(64) NOT NULL,"+ + " `uid` varchar(64) NOT NULL,"+ + " `nickname` varchar(255) DEFAULT NULL,"+ + " `user_group_face_url` varchar(255) DEFAULT NULL,"+ + " `administrator_level` int(11) NOT NULL,"+ + " `join_time` datetime NOT NULL,"+ + " PRIMARY KEY (`group_id`,`uid`) USING BTREE"+ + " ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;" err = db.Exec(sqlTable).Error if err != nil { panic(err) } - sqlTable = "CREATE TABLE IF NOT EXISTS `group_request` (\n `id` int(11) NOT NULL AUTO_INCREMENT,\n `group_id` varchar(255) NOT NULL,\n `from_user_id` varchar(255) NOT NULL,\n `to_user_id` varchar(255) NOT NULL,\n `flag` int(10) NOT NULL DEFAULT '0',\n `req_msg` varchar(255) DEFAULT '',\n `handled_msg` varchar(255) DEFAULT '',\n `create_time` datetime NOT NULL,\n `from_user_nickname` varchar(255) DEFAULT '',\n `to_user_nickname` varchar(255) DEFAULT NULL,\n `from_user_face_url` varchar(255) DEFAULT '',\n `to_user_face_url` varchar(255) DEFAULT '',\n `handled_user` varchar(255) DEFAULT '',\n PRIMARY KEY (`id`)\n) ENGINE=InnoDB AUTO_INCREMENT=38 DEFAULT CHARSET=utf8mb4;" + sqlTable = "CREATE TABLE IF NOT EXISTS `group_request` ("+ + " `id` int(11) NOT NULL AUTO_INCREMENT,"+ + " `group_id` varchar(64) NOT NULL,"+ + " `from_user_id` varchar(255) NOT NULL,"+ + " `to_user_id` varchar(255) NOT NULL,"+ + " `flag` int(10) NOT NULL DEFAULT '0',"+ + " `req_msg` varchar(255) DEFAULT '',"+ + " `handled_msg` varchar(255) DEFAULT '',"+ + " `create_time` datetime NOT NULL,"+ + " `from_user_nickname` varchar(255) DEFAULT '',"+ + " `to_user_nickname` varchar(255) DEFAULT NULL,"+ + " `from_user_face_url` varchar(255) DEFAULT '',"+ + " `to_user_face_url` varchar(255) DEFAULT '',"+ + " `handled_user` varchar(255) DEFAULT '',"+ + " PRIMARY KEY (`id`)"+ + " ) ENGINE=InnoDB AUTO_INCREMENT=38 DEFAULT CHARSET=utf8mb4;" err = db.Exec(sqlTable).Error if err != nil { panic(err) } - sqlTable = "CREATE TABLE IF NOT EXISTS `chat_log` (\n `msg_id` varchar(128) NOT NULL,\n `send_id` varchar(255) NOT NULL,\n `session_type` int(11) NOT NULL,\n `recv_id` varchar(255) NOT NULL,\n `content_type` int(11) NOT NULL,\n `msg_from` int(11) NOT NULL,\n `content` varchar(1000) NOT NULL,\n `remark` varchar(100) DEFAULT NULL,\n `sender_platform_id` int(11) NOT NULL,\n `send_time` datetime NOT NULL,\n PRIMARY KEY (`msg_id`) USING BTREE\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;" + sqlTable = "CREATE TABLE IF NOT EXISTS `chat_log` ("+ + " `msg_id` varchar(128) NOT NULL,"+ + " `send_id` varchar(255) NOT NULL,"+ + " `session_type` int(11) NOT NULL,"+ + " `recv_id` varchar(255) NOT NULL,"+ + " `content_type` int(11) NOT NULL,"+ + " `msg_from` int(11) NOT NULL,"+ + " `content` varchar(1000) NOT NULL,"+ + " `remark` varchar(100) DEFAULT NULL,"+ + " `sender_platform_id` int(11) NOT NULL,"+ + " `send_time` datetime NOT NULL,"+ + " PRIMARY KEY (`msg_id`) USING BTREE"+ + " ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;" err = db.Exec(sqlTable).Error if err != nil { panic(err) From 3e45d489b801dc12bb42b52a06d958dcb5f91a93 Mon Sep 17 00:00:00 2001 From: tzw Date: Wed, 10 Nov 2021 14:40:16 +0800 Subject: [PATCH 32/40] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E4=B8=AD=E7=9A=84token=E8=BF=87=E6=9C=9F=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E5=8D=95=E4=BD=8D=20(#52)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: tanzhongwu --- config/config.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index 37f7c4af1..40baef4a7 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -133,9 +133,9 @@ multiloginpolicy: #token config tokenpolicy: accessSecret: "open_im_server" - # Token effective time seconds as a unit - #Seven days 7*24*60*60 - accessExpire: 604800 + # Token effective time days as a unit + #Seven days 7 + accessExpire: 7 messagecallback: callbackSwitch: false From 90a466ef0112863b83b8fd727d6dd76d89cbe3f8 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 10 Nov 2021 15:31:18 +0800 Subject: [PATCH 33/40] merge all branch and change project structure --- go.sum | 53 +++++++++++++++++++++++++++++++++++------------------ 1 file changed, 35 insertions(+), 18 deletions(-) diff --git a/go.sum b/go.sum index fbbe5ea96..e50dd1004 100644 --- a/go.sum +++ b/go.sum @@ -15,6 +15,8 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24 github.com/beorn7/perks v1.0.0 h1:HWo1m869IqiPhD389kmkxeTalrjNbbJTC8LXupb+sl0= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bwmarrin/snowflake v0.3.0 h1:xm67bEhkKh6ij1790JB83OujPR5CzNe8QuQqAgISZN0= +github.com/bwmarrin/snowflake v0.3.0/go.mod h1:NdZxfVWX+oR6y2K0o6qAYv6gIOP9rjG0/E9WsDpxqwE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa h1:OaNxuTZr7kxeODyLWsRMC+OD03aFUH+mW6r2d+MWa5Y= @@ -25,6 +27,7 @@ github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3Ee github.com/coreos/go-systemd/v22 v22.0.0 h1:XJIw/+VlJ+87J+doOxznsAWIdmWuViOVhkQamW5YV28= github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -48,8 +51,8 @@ github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= -github.com/frankban/quicktest v1.11.3 h1:8sXhOn0uLys67V8EsXLc6eszDs8VXWxL3iRvebPhedY= -github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= +github.com/frankban/quicktest v1.14.0 h1:+cqqvzZV87b4adx/5ayVOaYZ2CrvM4ejQvUdBzPPUss= +github.com/frankban/quicktest v1.14.0/go.mod h1:NeW+ay9A/U67EYXNFA1nPE8e/tnQv/09mUdL/ijj8og= github.com/garyburd/redigo v1.6.2 h1:yE/pwKCrbLpLpQICzYTeZ7JsTA/C53wFTJHaEtRqniM= github.com/garyburd/redigo v1.6.2/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= @@ -74,6 +77,8 @@ github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5x github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1 h1:/s5zKNz0uPFCZ5hddgPdo2TK2TVrUNMn0OOX8/aZMTE= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/golang-jwt/jwt/v4 v4.1.0 h1:XUgk2Ex5veyVFVeLm0xhusUTQybEbexJXrvPNOKkSY0= +github.com/golang-jwt/jwt/v4 v4.1.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= @@ -94,8 +99,8 @@ github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= +github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= @@ -103,9 +108,10 @@ github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.0.0 h1:b4Gk+7WdP/d3HZH8EJsZpvV7EtDOgaZLtnaNGIu1adA= @@ -141,15 +147,16 @@ github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7V github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/lestrrat-go/envload v0.0.0-20180220234015-a3eb8ddeffcc h1:RKf14vYWi2ttpEmkA4aQ3j4u9dStX2t4M8UM6qqNsG8= @@ -188,8 +195,8 @@ github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:v github.com/olivere/elastic/v7 v7.0.23 h1:b7tjMogDMhf2CisGI+L02LXLVa0ZyE82Z15XfW1e8t8= github.com/olivere/elastic/v7 v7.0.23/go.mod h1:OuWmD2DiuYhddWegBKPWQuelVKBLrW0fa/VUYgxuGTY= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= -github.com/pierrec/lz4 v2.6.0+incompatible h1:Ix9yFKn1nSPBLFl/yZknTp8TU5G4Ps0JDmguYK6iH1A= -github.com/pierrec/lz4 v2.6.0+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM= +github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -214,10 +221,12 @@ github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5 h1:mZHayPoR0lNmnH github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5/go.mod h1:GEXHk5HgEKCvEIIrSpFI3ozzG5xOKA2DVlEX/gGnewM= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0 h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= +github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/smartystreets/assertions v1.1.1/go.mod h1:tcbTF8ujkAEcZ8TElKY+i30BzYlVhC/LOxJk7iOWnoo= github.com/smartystreets/go-aws-auth v0.0.0-20180515143844-0c1422d1fdb9/go.mod h1:SnhjPscd9TpLiy1LpzGSKh3bXCfxxXuqd9xmQJy3slM= github.com/smartystreets/gunit v1.4.2/go.mod h1:ZjM1ozSIMJlAz/ay4SG8PeKF00ckUp+zMHZXV9/bvak= @@ -231,8 +240,9 @@ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/tencentyun/qcloud-cos-sts-sdk v0.0.0-20210325043845-84a0811633ca h1:G/aIr3WiUesWHL2YGYgEqjM5tCAJ43Ml+0C18wDkWWs= github.com/tencentyun/qcloud-cos-sts-sdk v0.0.0-20210325043845-84a0811633ca/go.mod h1:b18KQa4IxHbxeseW1GcZox53d7J0z39VNONTxvvlkXw= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= @@ -289,8 +299,9 @@ golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b h1:uwuIcX0g4Yl1NC5XAz37xsr2lTtcqevgzYNVt49waME= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20210917221730-978cfadd31cf h1:R150MpwJIv1MpS0N/pc+NhTM8ajzvlmxlY5OYsrevXQ= +golang.org/x/net v0.0.0-20210917221730-978cfadd31cf/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -302,15 +313,20 @@ golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f h1:+Nyd8tzPX9R7BWHguqsrbFdRx3WQ/1ib8I44HXV5yTA= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da h1:b3NXsE2LusjYGGjL5bxEVZZORm/YEFFrWFjR8eFrw/c= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2 h1:+DCIGbF/swA92ohVg0//6X2IVY3KZs6p9mix0ziNYJM= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -357,8 +373,9 @@ gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3 h1:3JgtbtFHMiCmsznwGVTUWbgGov+pVqnlf1dEJTNAXeM= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= From a08aeee0c24d8f3edabcb6fc1867829a9e3f9c30 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 10 Nov 2021 16:03:07 +0800 Subject: [PATCH 34/40] main modify --- cmd/open_im_msg_gateway/main.go | 4 ++-- cmd/open_im_push/main.go | 2 +- cmd/rpc/open_im_msg/main.go | 5 ++--- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/cmd/open_im_msg_gateway/main.go b/cmd/open_im_msg_gateway/main.go index 8a022b0d8..196e6c005 100644 --- a/cmd/open_im_msg_gateway/main.go +++ b/cmd/open_im_msg_gateway/main.go @@ -7,8 +7,8 @@ import ( ) func main() { - rpcPort := flag.Int("rpc_port", 10500, "rpc listening port") - wsPort := flag.Int("ws_port", 10800, "ws listening port") + rpcPort := flag.Int("rpc_port", 10400, "rpc listening port") + wsPort := flag.Int("ws_port", 17778, "ws listening port") flag.Parse() var wg sync.WaitGroup wg.Add(1) diff --git a/cmd/open_im_push/main.go b/cmd/open_im_push/main.go index a57a56ba0..590793fbe 100644 --- a/cmd/open_im_push/main.go +++ b/cmd/open_im_push/main.go @@ -7,7 +7,7 @@ import ( ) func main() { - rpcPort := flag.Int("port", -1, "rpc listening port") + rpcPort := flag.Int("port", 10700, "rpc listening port") flag.Parse() var wg sync.WaitGroup wg.Add(1) diff --git a/cmd/rpc/open_im_msg/main.go b/cmd/rpc/open_im_msg/main.go index 68f5c8931..0dffe8aaa 100644 --- a/cmd/rpc/open_im_msg/main.go +++ b/cmd/rpc/open_im_msg/main.go @@ -2,13 +2,12 @@ package main import ( rpcChat "Open_IM/internal/rpc/chat" - "Open_IM/pkg/utils" "flag" ) func main() { - rpcPort := flag.String("port", "", "rpc listening port") + rpcPort := flag.Int("port", 10300, "rpc listening port") flag.Parse() - rpcServer := rpcChat.NewRpcChatServer(utils.StringToInt(*rpcPort)) + rpcServer := rpcChat.NewRpcChatServer(*rpcPort) rpcServer.Run() } From b729cac998d9b7b8cddcd57f14921bd64359aa6b Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 10 Nov 2021 18:13:04 +0800 Subject: [PATCH 35/40] add timer update redis minSeq --- cmd/open_im_timed_task/main.go | 78 ++++++++++++++++++++++------------ pkg/common/db/mongoModel.go | 34 ++++++++++++++- pkg/common/db/redisModel.go | 4 +- 3 files changed, 85 insertions(+), 31 deletions(-) diff --git a/cmd/open_im_timed_task/main.go b/cmd/open_im_timed_task/main.go index 1119ce577..a51c771e8 100644 --- a/cmd/open_im_timed_task/main.go +++ b/cmd/open_im_timed_task/main.go @@ -1,42 +1,64 @@ package main import ( - "Open_IM/pkg/common/config" - "Open_IM/pkg/common/db" - "fmt" + commonDB "Open_IM/pkg/common/db" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" "time" ) func main() { + //for { + // fmt.Println("start delete mongodb expired record") + // timeUnixBegin := time.Now().Unix() + // count, _ := db.DB.MgoUserCount() + // fmt.Println("mongodb record count: ", count) + // for i := 0; i < count; i++ { + // time.Sleep(1 * time.Millisecond) + // uid, _ := db.DB.MgoSkipUID(i) + // fmt.Println("operate uid: ", uid) + // err := db.DB.DelUserChat(uid) + // if err != nil { + // fmt.Println("operate uid failed: ", uid, err.Error()) + // } + // } + // + // timeUnixEnd := time.Now().Unix() + // costTime := timeUnixEnd - timeUnixBegin + // if costTime > int64(config.Config.Mongo.DBRetainChatRecords*24*3600) { + // continue + // } else { + // sleepTime := 0 + // if int64(config.Config.Mongo.DBRetainChatRecords*24*3600)-costTime > 24*3600 { + // sleepTime = 24 * 3600 + // } else { + // sleepTime = config.Config.Mongo.DBRetainChatRecords*24*3600 - int(costTime) + // } + // fmt.Println("sleep: ", sleepTime) + // time.Sleep(time.Duration(sleepTime) * time.Second) + // } + //} for { - fmt.Println("start delete mongodb expired record") - timeUnixBegin := time.Now().Unix() - count, _ := db.DB.MgoUserCount() - fmt.Println("mongodb record count: ", count) - for i := 0; i < count; i++ { - time.Sleep(1 * time.Millisecond) - uid, _ := db.DB.MgoSkipUID(i) - fmt.Println("operate uid: ", uid) - err := db.DB.DelUserChat(uid) - if err != nil { - fmt.Println("operate uid failed: ", uid, err.Error()) - } - } - - timeUnixEnd := time.Now().Unix() - costTime := timeUnixEnd - timeUnixBegin - if costTime > int64(config.Config.Mongo.DBRetainChatRecords*24*3600) { - continue + uidList, err := im_mysql_model.SelectAllUID() + if err != nil { + log.NewError("999999", err.Error()) } else { - sleepTime := 0 - if int64(config.Config.Mongo.DBRetainChatRecords*24*3600)-costTime > 24*3600 { - sleepTime = 24 * 3600 - } else { - sleepTime = config.Config.Mongo.DBRetainChatRecords*24*3600 - int(costTime) + for _, v := range uidList { + minSeq, err := commonDB.DB.GetMinSeqFromMongo(v) + if err != nil { + log.NewError("999999", "get user minSeq err", err.Error(), v) + continue + } else { + err := commonDB.DB.SetUserMinSeq(v, minSeq) + if err != nil { + log.NewError("999999", "set user minSeq err", err.Error(), v) + } + } + time.Sleep(time.Duration(100) * time.Millisecond) } - fmt.Println("sleep: ", sleepTime) - time.Sleep(time.Duration(sleepTime) * time.Second) + } + } } diff --git a/pkg/common/db/mongoModel.go b/pkg/common/db/mongoModel.go index d9c6f5d2f..93f64ff5f 100644 --- a/pkg/common/db/mongoModel.go +++ b/pkg/common/db/mongoModel.go @@ -6,6 +6,7 @@ import ( "Open_IM/pkg/common/log" pbMsg "Open_IM/pkg/proto/chat" "errors" + "github.com/garyburd/redigo/redis" "github.com/golang/protobuf/proto" "gopkg.in/mgo.v2/bson" "strconv" @@ -87,6 +88,34 @@ func (d *DataBases) GetMsgBySeqRange(uid string, seqBegin, seqEnd int64) (Single return SingleMsg, GroupMsg, MaxSeq, MinSeq, nil } +func (d *DataBases) GetMinSeqFromMongo(uid string) (MinSeq int64, err error) { + var i int64 + var seqUid string + session := d.mgoSession.Clone() + if session == nil { + return MinSeq, errors.New("session == nil") + } + defer session.Close() + c := session.DB(config.Config.Mongo.DBDatabase).C(cChat) + MaxSeq, err := d.GetUserMaxSeq(uid) + if err != nil && err != redis.ErrNil { + return MinSeq, err + } + NB := MaxSeq / singleGocMsgNum + for i = 0; i <= NB; i++ { + seqUid = indexGen(uid, i) + n, err := c.Find(bson.M{"uid": seqUid}).Count() + if err == nil && n != 0 { + if i == 0 { + MinSeq = 1 + } else { + MinSeq = i * singleGocMsgNum + } + break + } + } + return MinSeq, nil +} func (d *DataBases) GetMsgBySeqList(uid string, seqList []int64) (SingleMsg []*pbMsg.MsgFormat, GroupMsg []*pbMsg.MsgFormat, MaxSeq int64, MinSeq int64, err error) { allCount := 0 singleCount := 0 @@ -316,7 +345,7 @@ func getCurrentTimestampByMill() int64 { } func getSeqUid(uid string, seq int64) string { seqSuffix := seq / singleGocMsgNum - return uid + ":" + strconv.FormatInt(seqSuffix, 10) + return indexGen(uid, seqSuffix) } func isContainInt64(target int64, List []int64) bool { @@ -329,3 +358,6 @@ func isContainInt64(target int64, List []int64) bool { return false } +func indexGen(uid string, seqSuffix int64) string { + return uid + ":" + strconv.FormatInt(seqSuffix, 10) +} diff --git a/pkg/common/db/redisModel.go b/pkg/common/db/redisModel.go index 781cc86fe..b31fde8c1 100644 --- a/pkg/common/db/redisModel.go +++ b/pkg/common/db/redisModel.go @@ -45,9 +45,9 @@ func (d *DataBases) GetUserMaxSeq(uid string) (int64, error) { } //Set the user's minimum seq -func (d *DataBases) SetUserMinSeq(uid string) (err error) { +func (d *DataBases) SetUserMinSeq(uid string, minSeq int64) (err error) { key := userMinSeq + uid - _, err = d.Exec("SET", key) + _, err = d.Exec("SET", key, minSeq) return err } From 34e8961601331afd70bf25244189117f21edfd01 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 10 Nov 2021 19:11:49 +0800 Subject: [PATCH 36/40] shell update --- .../Makefile | 2 +- .../main.go | 1 + script/check_all.sh | 10 ++++++ script/docker_start_all.sh | 1 + script/path_info.cfg | 6 ++++ script/start_all.sh | 1 + script/start_rpc_service.sh | 1 - script/timer_start.sh | 35 +++++++++++++++++++ 8 files changed, 55 insertions(+), 2 deletions(-) rename cmd/{open_im_timed_task => open_im_timer_task}/Makefile (91%) rename cmd/{open_im_timed_task => open_im_timer_task}/main.go (98%) create mode 100644 script/timer_start.sh diff --git a/cmd/open_im_timed_task/Makefile b/cmd/open_im_timer_task/Makefile similarity index 91% rename from cmd/open_im_timed_task/Makefile rename to cmd/open_im_timer_task/Makefile index 29db3f53a..6c6d713d8 100644 --- a/cmd/open_im_timed_task/Makefile +++ b/cmd/open_im_timer_task/Makefile @@ -1,6 +1,6 @@ .PHONY: all build run gotool install clean help -BINARY_NAME=open_im_timed_task +BINARY_NAME=open_im_timer_task BIN_DIR=../../bin/ all: gotool build diff --git a/cmd/open_im_timed_task/main.go b/cmd/open_im_timer_task/main.go similarity index 98% rename from cmd/open_im_timed_task/main.go rename to cmd/open_im_timer_task/main.go index a51c771e8..d5cf8150c 100644 --- a/cmd/open_im_timed_task/main.go +++ b/cmd/open_im_timer_task/main.go @@ -8,6 +8,7 @@ import ( ) func main() { + log.NewPrivateLog("timer") //for { // fmt.Println("start delete mongodb expired record") // timeUnixBegin := time.Now().Unix() diff --git a/script/check_all.sh b/script/check_all.sh index a55dc39eb..301dbe461 100644 --- a/script/check_all.sh +++ b/script/check_all.sh @@ -40,4 +40,14 @@ else exit -1 fi + +check=$(ps aux | grep -w ./${timer_task_name} | grep -v grep | wc -l) +if [ $check -ge 1 ]; then + echo -e ${GREEN_PREFIX}"none port has been starting,belongs service is openImMsgTimer"${COLOR_SUFFIX} +else + echo -e ${RED_PREFIX}"openImMsgTimer service does not start normally"${COLOR_SUFFIX} + echo -e ${RED_PREFIX}"please check ../logs/openIM.log "${COLOR_SUFFIX} + exit -1 +fi + echo -e ${YELLOW_PREFIX}"all services launch success"${COLOR_SUFFIX} diff --git a/script/docker_start_all.sh b/script/docker_start_all.sh index 740b88e85..839a46688 100644 --- a/script/docker_start_all.sh +++ b/script/docker_start_all.sh @@ -9,6 +9,7 @@ need_to_start_server_shell=( push_start.sh msg_transfer_start.sh sdk_svr_start.sh + timer_start.sh ) #fixme The 10 second delay to start the project is for the docker-compose one-click to start openIM when the infrastructure dependencies are not started diff --git a/script/path_info.cfg b/script/path_info.cfg index 28b6239de..b97588e61 100644 --- a/script/path_info.cfg +++ b/script/path_info.cfg @@ -19,6 +19,10 @@ msg_transfer_source_root="../cmd/open_im_msg_transfer/" msg_transfer_service_num=2 +timer_task_name="open_im_timer_task" +timer_task_binary_root="../bin/" +timer_task_source_root="../cmd/open_im_timer_task/" + sdk_server_name="open_im_sdk_server" sdk_server_binary_root="../bin/" sdk_server_source_root="../cmd/Open-IM-SDK-Core/" @@ -41,6 +45,7 @@ service_source_root=( ${msg_source_root} ${push_source_root} ${sdk_server_source_root} + ${timer_task_source_root} ) #service filename service_names=( @@ -56,6 +61,7 @@ service_names=( ${msg_name} ${push_name} ${sdk_server_name} + ${timer_task_name} ) diff --git a/script/start_all.sh b/script/start_all.sh index 43a02b34d..956bc0d51 100644 --- a/script/start_all.sh +++ b/script/start_all.sh @@ -9,6 +9,7 @@ need_to_start_server_shell=( push_start.sh msg_transfer_start.sh sdk_svr_start.sh + timer_start.sh ) for i in ${need_to_start_server_shell[*]}; do diff --git a/script/start_rpc_service.sh b/script/start_rpc_service.sh index 74f00a3f4..9491a4fe8 100644 --- a/script/start_rpc_service.sh +++ b/script/start_rpc_service.sh @@ -26,7 +26,6 @@ service_port_name=( openImGroupPort openImAuthPort openImOfflineMessagePort - ) for ((i = 0; i < ${#service_filename[*]}; i++)); do diff --git a/script/timer_start.sh b/script/timer_start.sh new file mode 100644 index 000000000..7e2791f11 --- /dev/null +++ b/script/timer_start.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +#Include shell font styles and some basic information +source ./style_info.cfg +source ./path_info.cfg + + + +#Check if the service exists +#If it is exists,kill this process +check=`ps aux | grep -w ./${timer_task_name} | grep -v grep| wc -l` +if [ $check -ge 1 ] +then +oldPid=`ps aux | grep -w ./${timer_task_name} | grep -v grep|awk '{print $2}'` + kill -9 $oldPid +fi +#Waiting port recycling +sleep 1 + +cd ${timer_task_binary_root} +nohup ./${timer_task_name} >>../logs/openIM.log 2>&1 & + + +#Check launched service process +check=`ps aux | grep -w ./${timer_task_name} | grep -v grep| wc -l` +if [ $check -ge 1 ] +then +newPid=`ps aux | grep -w ./${timer_task_name} | grep -v grep|awk '{print $2}'` +allPorts="" + echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS "${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${timer_task_name}${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${newPid}${COLOR_SUFFIX} + echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX} +else + echo -e ${YELLOW_PREFIX}${timer_task_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR, PLEASE CHECK openIM.log"${COLOR_SUFFIX} +fi From d81b95d5a63a3261870a0b1395bf444e09b2ac0c Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 10 Nov 2021 20:05:40 +0800 Subject: [PATCH 37/40] make file --- cmd/open_im_api/Makefile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cmd/open_im_api/Makefile b/cmd/open_im_api/Makefile index 1f96bca5a..8829dacba 100644 --- a/cmd/open_im_api/Makefile +++ b/cmd/open_im_api/Makefile @@ -2,12 +2,13 @@ BINARY_NAME=open_im_api BIN_DIR=../../bin/ - +LAN_FILE=.go +GO_FILE:=main${LAN_FILE} all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" + CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" -o ${BINARY_NAME} ${GO_FILE} run: @go run ./ From aeaab0a8d9b1f1cf340322f5cebd65808e3ada60 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 10 Nov 2021 20:20:15 +0800 Subject: [PATCH 38/40] make file --- cmd/open_im_api/Makefile | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/cmd/open_im_api/Makefile b/cmd/open_im_api/Makefile index 8829dacba..1f96bca5a 100644 --- a/cmd/open_im_api/Makefile +++ b/cmd/open_im_api/Makefile @@ -2,13 +2,12 @@ BINARY_NAME=open_im_api BIN_DIR=../../bin/ -LAN_FILE=.go -GO_FILE:=main${LAN_FILE} + all: gotool build build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" -o ${BINARY_NAME} ${GO_FILE} + CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" run: @go run ./ From f337b8d7ccfec3113a180a4967ce624d6479455b Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 11 Nov 2021 09:48:26 +0800 Subject: [PATCH 39/40] sub moudule --- cmd/Open-IM-SDK-Core | 1 + 1 file changed, 1 insertion(+) create mode 160000 cmd/Open-IM-SDK-Core diff --git a/cmd/Open-IM-SDK-Core b/cmd/Open-IM-SDK-Core new file mode 160000 index 000000000..3cf008476 --- /dev/null +++ b/cmd/Open-IM-SDK-Core @@ -0,0 +1 @@ +Subproject commit 3cf0084769c0950aed7700eede3a0c22fa398a7e From 7accffd7cd024c20b4660856d8691159e45eefd7 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 11 Nov 2021 10:15:28 +0800 Subject: [PATCH 40/40] shell update --- cmd/Open-IM-SDK-Core | 2 +- script/check_all.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cmd/Open-IM-SDK-Core b/cmd/Open-IM-SDK-Core index 3cf008476..a85c10dbf 160000 --- a/cmd/Open-IM-SDK-Core +++ b/cmd/Open-IM-SDK-Core @@ -1 +1 @@ -Subproject commit 3cf0084769c0950aed7700eede3a0c22fa398a7e +Subproject commit a85c10dbffbb797b5b2091e209ff67a5534b9bfc diff --git a/script/check_all.sh b/script/check_all.sh index 301dbe461..9e6d45db4 100644 --- a/script/check_all.sh +++ b/script/check_all.sh @@ -33,7 +33,7 @@ done #Check launched service process check=$(ps aux | grep -w ./${msg_transfer_name} | grep -v grep | wc -l) if [ $check -eq ${msg_transfer_service_num} ]; then - echo -e ${GREEN_PREFIX}"none port has been starting,belongs service is openImMsgTransfer"${COLOR_SUFFIX} + echo -e ${GREEN_PREFIX}"none port has been listening,belongs service is openImMsgTransfer"${COLOR_SUFFIX} else echo -e ${RED_PREFIX}"openImMsgTransfer service does not start normally, num err"${COLOR_SUFFIX} echo -e ${RED_PREFIX}"please check ../logs/openIM.log "${COLOR_SUFFIX} @@ -43,7 +43,7 @@ fi check=$(ps aux | grep -w ./${timer_task_name} | grep -v grep | wc -l) if [ $check -ge 1 ]; then - echo -e ${GREEN_PREFIX}"none port has been starting,belongs service is openImMsgTimer"${COLOR_SUFFIX} + echo -e ${GREEN_PREFIX}"none port has been listening,belongs service is openImMsgTimer"${COLOR_SUFFIX} else echo -e ${RED_PREFIX}"openImMsgTimer service does not start normally"${COLOR_SUFFIX} echo -e ${RED_PREFIX}"please check ../logs/openIM.log "${COLOR_SUFFIX}