From 2fe48efee545936baa658a225a6fd07f4a80ef0a Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Fri, 12 Apr 2024 15:10:33 +0800 Subject: [PATCH 01/29] refactor: kick online user and remove token change to call auth rpc. --- go.mod | 4 +- go.sum | 23 +------ internal/msggateway/message_handler.go | 21 ------- internal/msggateway/n_ws_server.go | 85 ++++++++++---------------- internal/rpc/auth/auth.go | 25 ++++++++ pkg/common/db/controller/auth.go | 6 ++ pkg/rpcclient/auth.go | 13 ++++ 7 files changed, 81 insertions(+), 96 deletions(-) diff --git a/go.mod b/go.mod index 39fb6c26a..c959fc125 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/openimsdk/open-im-server/v3 -go 1.21.2 +go 1.20 require ( firebase.google.com/go v3.13.0+incompatible @@ -14,7 +14,7 @@ require ( github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible // indirect github.com/mitchellh/mapstructure v1.5.0 github.com/openimsdk/localcache v0.0.1 - github.com/openimsdk/protocol v0.0.61 + github.com/openimsdk/protocol v0.0.62 github.com/openimsdk/tools v0.0.47-alpha.17 github.com/pkg/errors v0.9.1 // indirect github.com/prometheus/client_golang v1.18.0 diff --git a/go.sum b/go.sum index 16f4029bb..5f65d70dd 100644 --- a/go.sum +++ b/go.sum @@ -22,13 +22,10 @@ github.com/QcloudApi/qcloud_sign_golang v0.0.0-20141224014652-e4130a326409/go.mo github.com/aliyun/aliyun-oss-go-sdk v3.0.2+incompatible h1:8psS8a+wKfiLt1iVDX79F7Y6wUM49Lcha2FMXt4UM8g= github.com/aliyun/aliyun-oss-go-sdk v3.0.2+incompatible/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= -github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs= -github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c= github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA= -github.com/bsm/gomega v1.27.10/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0= github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= github.com/bytedance/sonic v1.9.1 h1:6iJ6NqdoxCDr6mbY8h18oSO+cShGSMRGCEo7F2h0x8s= github.com/bytedance/sonic v1.9.1/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U= @@ -46,7 +43,6 @@ github.com/clbanning/mxj v1.8.4/go.mod h1:BVjHeAH+rl9rs6f+QIpeRl0tfu10SXn1pUSa5P github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa h1:jQCWAUqqlij9Pgj2i/PB79y4KOPYVyFYdROxgaCwdTQ= -github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa/go.mod h1:x/1Gn8zydmfq8dk6e9PdstVsDgu9RuyIIJqAaF//0IM= github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -70,15 +66,12 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m 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/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= -github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= github.com/fatih/color v1.14.1 h1:qfhVLaG5s+nCROl1zJsZRxFeYrHLqWroPOQ8BWiNb4w= github.com/fatih/color v1.14.1/go.mod h1:2oHN61fhTpgcxD3TSWCgKDiH1+x4OiDVVGH8WlgGZGg= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= 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.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= -github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= @@ -97,7 +90,6 @@ github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= -github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= @@ -145,13 +137,11 @@ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= -github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= @@ -204,7 +194,6 @@ github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkr github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= github.com/jonboulle/clockwork v0.4.0 h1:p4Cf1aMWXnXAUh8lVfewRBx1zaTSYKrKMF2g3ST4RZ4= -github.com/jonboulle/clockwork v0.4.0/go.mod h1:xgRqUGwRcjKCO1vbZUEtSLrqKoPSsUpK7fnezOII0kc= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kelindar/bitmap v1.5.2 h1:XwX7CTvJtetQZ64zrOkApoZZHBJRkjE23NfqUALA/HE= @@ -220,9 +209,7 @@ github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa02 github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= 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.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ= github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI= github.com/lestrrat-go/envload v0.0.0-20180220234015-a3eb8ddeffcc h1:RKf14vYWi2ttpEmkA4aQ3j4u9dStX2t4M8UM6qqNsG8= @@ -281,8 +268,8 @@ github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE= github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs= github.com/openimsdk/gomake v0.0.2 h1:pweyuvxPkhpZqENgsWbKpiTiK1U5hRIilFWlOu9cbAo= github.com/openimsdk/gomake v0.0.2/go.mod h1:PndCozNc2IsQIciyn9mvEblYWZwJmAI+06z94EY+csI= -github.com/openimsdk/protocol v0.0.61 h1:l8B93YQfUyPBOrAwhdD4QNLY65ON6H0ydJi1S+hG+t8= -github.com/openimsdk/protocol v0.0.61/go.mod h1:OZQA9FR55lseYoN2Ql1XAHYKHJGu7OMNkUbuekrKCM8= +github.com/openimsdk/protocol v0.0.62 h1:M9UaBXqllvt1VLSwwQwnVKWewsazC4eISOXuJiCwSjA= +github.com/openimsdk/protocol v0.0.62/go.mod h1:OZQA9FR55lseYoN2Ql1XAHYKHJGu7OMNkUbuekrKCM8= github.com/openimsdk/tools v0.0.47-alpha.17 h1:ZexqUpIXd0JzGm7rCOJ95XXWQWhUoZoCm8uwZixDsoQ= github.com/openimsdk/tools v0.0.47-alpha.17/go.mod h1:aTh3aPbr4bibBGf0qnC3nTWC947xFOrvHsW6WZ1oV3E= github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4= @@ -295,7 +282,6 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g= -github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U= github.com/prometheus/client_golang v1.18.0 h1:HzFfmkOzH5Q8L8G+kSJKUx5dtG87sewO+FoDDqP5Tbk= github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlkOQntgjkJWKrN5txjA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -312,7 +298,6 @@ github.com/redis/go-redis/v9 v9.4.0/go.mod h1:hdY0cQFCN4fnSYT6TkisLufl/4W5UIXyv0 github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs= github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= -github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/rs/xid v1.5.0 h1:mKX4bl4iPYJtEIxp6CYiUuLQ/8DYMoz0PUdtGgMFRVc= github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= @@ -391,7 +376,6 @@ go.opentelemetry.io/otel v1.23.0/go.mod h1:YCycw9ZeKhcJFrb34iVSkyT0iczq/zYDtZYFu go.opentelemetry.io/otel/metric v1.23.0 h1:pazkx7ss4LFVVYSxYew7L5I6qvLXHA0Ap2pwV+9Cnpo= go.opentelemetry.io/otel/metric v1.23.0/go.mod h1:MqUW2X2a6Q8RN96E2/nqNoT+z9BSms20Jb7Bbp+HiTo= go.opentelemetry.io/otel/sdk v1.21.0 h1:FTt8qirL1EysG6sTQRZ5TokkU8d0ugCj8htOgThZXQ8= -go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6nwBnZIxl/E= go.opentelemetry.io/otel/trace v1.23.0 h1:37Ik5Ib7xfYVb4V1UtnT97T1jI+AoIYkJyPkuL4iJgI= go.opentelemetry.io/otel/trace v1.23.0/go.mod h1:GSGTbIClEsuZrGIzoEHqsVfxgn5UkggkflQwDScNUsk= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= @@ -399,7 +383,6 @@ go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/automaxprocs v1.5.3 h1:kWazyxZUrS3Gs4qUpbwo5kEIMGe/DAvi5Z4tl2NW4j8= go.uber.org/automaxprocs v1.5.3/go.mod h1:eRbA25aqJrxAbsLO0xy5jVwPt7FQnRgjW+efnwa1WM0= go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI= -go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60= @@ -506,7 +489,6 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= google.golang.org/api v0.165.0 h1:zd5d4JIIIaYYsfVy1HzoXYZ9rWCSBxxAglbczzo7Bgc= google.golang.org/api v0.165.0/go.mod h1:2OatzO7ZDQsoS7IFf3rvsE17/TldiU3F/zxFHeqUB5o= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= @@ -544,7 +526,6 @@ google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGm google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= diff --git a/internal/msggateway/message_handler.go b/internal/msggateway/message_handler.go index a1037a259..8a11e6ab3 100644 --- a/internal/msggateway/message_handler.go +++ b/internal/msggateway/message_handler.go @@ -217,24 +217,3 @@ func (g GrpcHandler) SetUserDeviceBackground(_ context.Context, data *Req) ([]by } return nil, req.IsBackground, nil } - -// func (g GrpcHandler) call[T any](ctx context.Context, data Req, m proto.Message, rpc func(ctx context.Context, req -// proto.Message)) ([]byte, error) { -// if err := proto.Unmarshal(data.Data, m); err != nil { -// return nil, err -// } -// if err := g.validate.Struct(m); err != nil { -// return nil, err -// } -// rpc(ctx, m) -// req := msg.SendMsgReq{MsgData: &msgData} -// resp, err := g.notification.Msg.SendMsg(context, &req) -// if err != nil { -// return nil, err -// } -// c, err := proto.Marshal(resp) -// if err != nil { -// return nil, err -// } -// return c, nil -//} diff --git a/internal/msggateway/n_ws_server.go b/internal/msggateway/n_ws_server.go index 0a0e2bd8b..59c1b49d0 100644 --- a/internal/msggateway/n_ws_server.go +++ b/internal/msggateway/n_ws_server.go @@ -18,6 +18,7 @@ import ( "context" "fmt" pbAuth "github.com/openimsdk/protocol/auth" + "github.com/openimsdk/tools/mcontext" "net/http" "sync" "sync/atomic" @@ -34,7 +35,6 @@ import ( "github.com/openimsdk/tools/errs" "github.com/openimsdk/tools/log" "github.com/openimsdk/tools/utils/stringutil" - "github.com/redis/go-redis/v9" "golang.org/x/sync/errgroup" ) @@ -338,57 +338,13 @@ func (ws *WsServer) multiTerminalLoginChecker(clientOK bool, oldClients []*Clien log.ZWarn(c.ctx, "KickOnlineMessage", err) } } - m, err := ws.cache.GetTokensWithoutError( - newClient.ctx, - newClient.UserID, - newClient.PlatformID, + ctx := mcontext.WithMustInfoCtx( + []string{newClient.ctx.GetOperationID(), newClient.ctx.GetUserID(), + constant.PlatformIDToName(newClient.PlatformID), newClient.ctx.GetConnID()}, ) - if err != nil && err != redis.Nil { - log.ZWarn( - newClient.ctx, - "get token from redis err", - err, - "userID", - newClient.UserID, - "platformID", - newClient.PlatformID, - ) - return - } - if m == nil { - log.ZWarn( - newClient.ctx, - "m is nil", - errs.New("m is nil"), - "userID", - newClient.UserID, - "platformID", - newClient.PlatformID, - ) - return - } - log.ZDebug( - newClient.ctx, - "get token from redis", - "userID", - newClient.UserID, - "platformID", - newClient.PlatformID, - "tokenMap", - m, - ) - - for k := range m { - if k != newClient.ctx.GetToken() { - m[k] = constant.KickedToken - } - } - log.ZDebug(newClient.ctx, "set token map is ", "token map", m, "userID", - newClient.UserID, "token", newClient.ctx.GetToken()) - err = ws.cache.SetTokenMapByUidPid(newClient.ctx, newClient.UserID, newClient.PlatformID, m) - if err != nil { - log.ZWarn(newClient.ctx, "SetTokenMapByUidPid err", err, "userID", newClient.UserID, "platformID", newClient.PlatformID) - return + if _, err := ws.authClient.InvalidateToken(ctx, newClient.token, newClient.UserID, newClient.PlatformID); err != nil { + log.ZWarn(newClient.ctx, "InvalidateToken err", err, "userID", newClient.UserID, + "platformID", newClient.PlatformID) } } } @@ -402,7 +358,8 @@ func (ws *WsServer) unregisterClient(client *Client) { } ws.onlineUserConnNum.Add(-1) ws.SetUserOnlineStatus(client.ctx, client, constant.Offline) - log.ZInfo(client.ctx, "user offline", "close reason", client.closedErr, "online user Num", ws.onlineUserNum.Load(), "online user conn Num", + log.ZInfo(client.ctx, "user offline", "close reason", client.closedErr, "online user Num", + ws.onlineUserNum.Load(), "online user conn Num", ws.onlineUserConnNum.Load(), ) } @@ -421,40 +378,64 @@ func (ws *WsServer) validateRespWithRequest(ctx *UserConnContext, resp *pbAuth.P } func (ws *WsServer) wsHandler(w http.ResponseWriter, r *http.Request) { + // Create a new connection context connContext := newContext(w, r) + + // Check if the current number of online user connections exceeds the maximum limit if ws.onlineUserConnNum.Load() >= ws.wsMaxConnNum { + // If it exceeds the maximum connection number, return an error via HTTP and stop processing httpError(connContext, servererrs.ErrConnOverMaxNumLimit.WrapMsg("over max conn num limit")) return } + + // Parse essential arguments (e.g., user ID, Token) err := connContext.ParseEssentialArgs() if err != nil { + // If there's an error during parsing, return an error via HTTP and stop processing + httpError(connContext, err) return } + + // Call the authentication client to parse the Token obtained from the context resp, err := ws.authClient.ParseToken(connContext, connContext.GetToken()) if err != nil { + // If there's an error parsing the Token, decide whether to send the error message via WebSocket based on the context flag shouldSendError := connContext.ShouldSendError() if shouldSendError { + // Create a WebSocket connection object and attempt to send the error message via WebSocket wsLongConn := newGWebSocket(WebSocket, ws.handshakeTimeout, ws.writeBufferSize) if err := wsLongConn.RespErrInfo(err, w, r); err == nil { + // If the error message is successfully sent via WebSocket, stop processing return } } + // If sending via WebSocket is not required or fails, return the error via HTTP and stop processing httpError(connContext, err) return } + + // Validate the authentication response matches the request (e.g., user ID and platform ID) err = ws.validateRespWithRequest(connContext, resp) if err != nil { + // If validation fails, return an error via HTTP and stop processing httpError(connContext, err) return } + + // Create a WebSocket long connection object wsLongConn := newGWebSocket(WebSocket, ws.handshakeTimeout, ws.writeBufferSize) if err := wsLongConn.GenerateLongConn(w, r); err != nil { + // If creating the long connection fails, return an error via HTTP and stop processing httpError(connContext, err) return } + + // Retrieve a client object from the client pool, reset its state, and associate it with the current WebSocket long connection client := ws.clientPool.Get().(*Client) client.ResetClient(connContext, wsLongConn, ws) + + // Register the client with the server and start message processing ws.registerChan <- client go client.readMessage() } diff --git a/internal/rpc/auth/auth.go b/internal/rpc/auth/auth.go index 83ad46fa9..c6d236b21 100644 --- a/internal/rpc/auth/auth.go +++ b/internal/rpc/auth/auth.go @@ -18,6 +18,7 @@ import ( "context" "github.com/openimsdk/open-im-server/v3/pkg/common/config" "github.com/openimsdk/tools/db/redisutil" + "github.com/redis/go-redis/v9" "github.com/openimsdk/open-im-server/v3/pkg/authverify" "github.com/openimsdk/open-im-server/v3/pkg/common/db/cache" @@ -176,3 +177,27 @@ func (s *authServer) forceKickOff(ctx context.Context, userID string, platformID } return nil } +func (s *authServer) InvalidateToken(ctx context.Context, req *pbauth.InvalidateTokenReq) (*pbauth.InvalidateTokenResp, error) { + m, err := s.authDatabase.GetTokensWithoutError(ctx, req.UserID, int(req.PlatformID)) + if err != nil && err != redis.Nil { + return nil, err + } + if m == nil { + return nil, errs.New("token map is empty").Wrap() + } + log.ZDebug(ctx, "get token from redis", "userID", req.UserID, "platformID", + req.PlatformID, "tokenMap", m) + + for k := range m { + if k != req.GetPreservedToken() { + m[k] = constant.KickedToken + } + } + log.ZDebug(ctx, "set token map is ", "token map", m, "userID", + req.UserID, "token", req.GetPreservedToken()) + err = s.authDatabase.SetTokenMapByUidPid(ctx, req.UserID, int(req.PlatformID), m) + if err != nil { + return nil, err + } + return &pbauth.InvalidateTokenResp{}, nil +} diff --git a/pkg/common/db/controller/auth.go b/pkg/common/db/controller/auth.go index b8257ee5a..8190e5017 100644 --- a/pkg/common/db/controller/auth.go +++ b/pkg/common/db/controller/auth.go @@ -30,6 +30,8 @@ type AuthDatabase interface { GetTokensWithoutError(ctx context.Context, userID string, platformID int) (map[string]int, error) // Create token CreateToken(ctx context.Context, userID string, platformID int) (string, error) + + SetTokenMapByUidPid(ctx context.Context, userID string, platformID int, m map[string]int) error } type authDatabase struct { @@ -47,6 +49,10 @@ func (a *authDatabase) GetTokensWithoutError(ctx context.Context, userID string, return a.cache.GetTokensWithoutError(ctx, userID, platformID) } +func (a *authDatabase) SetTokenMapByUidPid(ctx context.Context, userID string, platformID int, m map[string]int) error { + return a.cache.SetTokenMapByUidPid(ctx, userID, platformID, m) +} + // Create Token. func (a *authDatabase) CreateToken(ctx context.Context, userID string, platformID int) (string, error) { tokens, err := a.cache.GetTokensWithoutError(ctx, userID, platformID) diff --git a/pkg/rpcclient/auth.go b/pkg/rpcclient/auth.go index b6791611f..6665936bd 100644 --- a/pkg/rpcclient/auth.go +++ b/pkg/rpcclient/auth.go @@ -48,3 +48,16 @@ func (a *Auth) ParseToken(ctx context.Context, token string) (*pbAuth.ParseToken } return resp, err } + +func (a *Auth) InvalidateToken(ctx context.Context, preservedToken, userID string, platformID int) (*pbAuth.InvalidateTokenResp, error) { + req := pbAuth.InvalidateTokenReq{ + PreservedToken: preservedToken, + UserID: userID, + PlatformID: int32(platformID), + } + resp, err := a.Client.InvalidateToken(ctx, &req) + if err != nil { + return nil, err + } + return resp, err +} From a921efe62d4d9ab06435d974a409259baefef416 Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Fri, 12 Apr 2024 15:12:28 +0800 Subject: [PATCH 02/29] refactor: kick online user and remove token change to call auth rpc. --- internal/msggateway/client.go | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/internal/msggateway/client.go b/internal/msggateway/client.go index 806b8cac2..e3254c915 100644 --- a/internal/msggateway/client.go +++ b/internal/msggateway/client.go @@ -74,18 +74,6 @@ type Client struct { token string } -// function not used -// func newClient(ctx *UserConnContext, conn LongConn, isCompress bool) *Client { -// return &Client{ -// w: new(sync.Mutex), -// conn: conn, -// PlatformID: utils.StringToInt(ctx.GetPlatformID()), -// IsCompress: isCompress, -// UserID: ctx.GetUserID(), -// ctx: ctx, -// } -// } - // ResetClient updates the client's state with new connection and context information. func (c *Client) ResetClient(ctx *UserConnContext, conn LongConn, longConnServer LongConnServer) { c.w = new(sync.Mutex) From 8e09f3ca04c8a09ef07da8b051470226ef7f9ec7 Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Fri, 12 Apr 2024 16:20:22 +0800 Subject: [PATCH 03/29] refactor: remove msggateway redis. --- internal/msggateway/hub_server.go | 10 ---------- internal/msggateway/init.go | 1 - internal/msggateway/n_ws_server.go | 7 ------- pkg/authverify/token.go | 15 --------------- pkg/common/cmd/msg_gateway.go | 1 - 5 files changed, 34 deletions(-) diff --git a/internal/msggateway/hub_server.go b/internal/msggateway/hub_server.go index 2bea24a70..bfe81b602 100644 --- a/internal/msggateway/hub_server.go +++ b/internal/msggateway/hub_server.go @@ -16,10 +16,7 @@ package msggateway import ( "context" - "github.com/openimsdk/tools/db/redisutil" - "github.com/openimsdk/open-im-server/v3/pkg/authverify" - "github.com/openimsdk/open-im-server/v3/pkg/common/db/cache" "github.com/openimsdk/open-im-server/v3/pkg/common/servererrs" "github.com/openimsdk/open-im-server/v3/pkg/common/startrpc" "github.com/openimsdk/protocol/constant" @@ -32,14 +29,7 @@ import ( ) func (s *Server) InitServer(ctx context.Context, config *Config, disCov discovery.SvcDiscoveryRegistry, server *grpc.Server) error { - rdb, err := redisutil.NewRedisClient(ctx, config.RedisConfig.Build()) - if err != nil { - return err - } - - tokenCacheModel := cache.NewTokenCacheModel(rdb) s.LongConnServer.SetDiscoveryRegistry(disCov, config) - s.LongConnServer.SetCacheHandler(tokenCacheModel) msggateway.RegisterMsgGatewayServer(server, s) return nil } diff --git a/internal/msggateway/init.go b/internal/msggateway/init.go index 0e704706d..727ade0af 100644 --- a/internal/msggateway/init.go +++ b/internal/msggateway/init.go @@ -25,7 +25,6 @@ import ( type Config struct { MsgGateway config.MsgGateway - RedisConfig config.Redis ZookeeperConfig config.ZooKeeper Share config.Share WebhooksConfig config.Webhooks diff --git a/internal/msggateway/n_ws_server.go b/internal/msggateway/n_ws_server.go index 59c1b49d0..830735be7 100644 --- a/internal/msggateway/n_ws_server.go +++ b/internal/msggateway/n_ws_server.go @@ -25,7 +25,6 @@ import ( "time" "github.com/go-playground/validator/v10" - "github.com/openimsdk/open-im-server/v3/pkg/common/db/cache" "github.com/openimsdk/open-im-server/v3/pkg/common/prommetrics" "github.com/openimsdk/open-im-server/v3/pkg/common/servererrs" "github.com/openimsdk/open-im-server/v3/pkg/rpcclient" @@ -44,7 +43,6 @@ type LongConnServer interface { GetUserAllCons(userID string) ([]*Client, bool) GetUserPlatformCons(userID string, platform int) ([]*Client, bool, bool) Validate(s any) error - SetCacheHandler(cache cache.TokenModel) SetDiscoveryRegistry(client discovery.SvcDiscoveryRegistry, config *Config) KickUserConn(client *Client) error UnRegister(c *Client) @@ -68,7 +66,6 @@ type WsServer struct { handshakeTimeout time.Duration writeBufferSize int validate *validator.Validate - cache cache.TokenModel userClient *rpcclient.UserRpcClient authClient *rpcclient.Auth disCov discovery.SvcDiscoveryRegistry @@ -110,10 +107,6 @@ func (ws *WsServer) SetUserOnlineStatus(ctx context.Context, client *Client, sta } } -func (ws *WsServer) SetCacheHandler(cache cache.TokenModel) { - ws.cache = cache -} - func (ws *WsServer) UnRegister(c *Client) { ws.unregisterChan <- c } diff --git a/pkg/authverify/token.go b/pkg/authverify/token.go index 5eedf5eed..a96d6de20 100644 --- a/pkg/authverify/token.go +++ b/pkg/authverify/token.go @@ -21,7 +21,6 @@ import ( "github.com/golang-jwt/jwt/v4" "github.com/openimsdk/open-im-server/v3/pkg/common/servererrs" "github.com/openimsdk/tools/mcontext" - "github.com/openimsdk/tools/tokenverify" "github.com/openimsdk/tools/utils/datautil" ) @@ -57,17 +56,3 @@ func CheckAdmin(ctx context.Context, imAdminUserID []string) error { func IsManagerUserID(opUserID string, imAdminUserID []string) bool { return datautil.Contain(opUserID, imAdminUserID...) } - -func WsVerifyToken(token, userID, secret string, platformID int) error { - claim, err := tokenverify.GetClaimFromToken(token, Secret(secret)) - if err != nil { - return err - } - if claim.UserID != userID { - return servererrs.ErrTokenInvalid.WrapMsg(fmt.Sprintf("token uid %s != userID %s", claim.UserID, userID)) - } - if claim.PlatformID != platformID { - return servererrs.ErrTokenInvalid.WrapMsg(fmt.Sprintf("token platform %d != %d", claim.PlatformID, platformID)) - } - return nil -} diff --git a/pkg/common/cmd/msg_gateway.go b/pkg/common/cmd/msg_gateway.go index 2a0c41560..1851f6afe 100644 --- a/pkg/common/cmd/msg_gateway.go +++ b/pkg/common/cmd/msg_gateway.go @@ -36,7 +36,6 @@ func NewMsgGatewayCmd() *MsgGatewayCmd { ret := &MsgGatewayCmd{msgGatewayConfig: msgGatewayConfig} ret.configMap = map[string]any{ OpenIMMsgGatewayCfgFileName: &msgGatewayConfig.MsgGateway, - RedisConfigFileName: &msgGatewayConfig.RedisConfig, ZookeeperConfigFileName: &msgGatewayConfig.ZookeeperConfig, ShareFileName: &msgGatewayConfig.Share, WebhooksConfigFileName: &msgGatewayConfig.WebhooksConfig, From 8d25cedc0e8f1c9508b2919a0196db25b616c97a Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Fri, 12 Apr 2024 17:00:29 +0800 Subject: [PATCH 04/29] refactor: cmd update. --- pkg/common/cmd/root.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/common/cmd/root.go b/pkg/common/cmd/root.go index 3792cb95f..1ffa12a33 100644 --- a/pkg/common/cmd/root.go +++ b/pkg/common/cmd/root.go @@ -66,8 +66,9 @@ func WithConfigMap(configMap map[string]any) func(*CmdOpts) { func NewRootCmd(processName string, opts ...func(*CmdOpts)) *RootCmd { rootCmd := &RootCmd{processName: processName} cmd := cobra.Command{ - Use: "Start openIM application", - Long: fmt.Sprintf(`Start %s `, processName), + Use: "Start openIM application", + Short: fmt.Sprintf(`Start %s `, processName), + Long: fmt.Sprintf(`Start %s `, processName), PersistentPreRunE: func(cmd *cobra.Command, args []string) error { return rootCmd.persistentPreRun(cmd, opts...) }, From 11d3c7ac689361e8ba1c69b38797732155abc12f Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Fri, 12 Apr 2024 17:05:10 +0800 Subject: [PATCH 05/29] refactor: cmd update. --- pkg/common/cmd/root.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/common/cmd/root.go b/pkg/common/cmd/root.go index 1ffa12a33..2a8b8515a 100644 --- a/pkg/common/cmd/root.go +++ b/pkg/common/cmd/root.go @@ -75,6 +75,9 @@ func NewRootCmd(processName string, opts ...func(*CmdOpts)) *RootCmd { SilenceUsage: true, SilenceErrors: true, } + cmd.Flags().StringP(FlagConf, "c", "", "path of config directory") + cmd.Flags().IntP(FlagTransferIndex, "i", 0, "process startup sequence number") + rootCmd.Command = cmd return rootCmd } @@ -147,12 +150,10 @@ func defaultCmdOpts() *CmdOpts { } func (r *RootCmd) getFlag(cmd *cobra.Command) (string, int, error) { - r.Command.Flags().StringP(FlagConf, "c", "", "path of config directory") configDirectory, err := cmd.Flags().GetString(FlagConf) if err != nil { return "", 0, errs.Wrap(err) } - r.Command.Flags().IntP(FlagTransferIndex, "i", 0, "process startup sequence number") index, err := cmd.Flags().GetInt(FlagTransferIndex) if err != nil { return "", 0, errs.Wrap(err) From 77d789bdabb98919e9709df9cd96759b93cda412 Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Fri, 12 Apr 2024 17:09:40 +0800 Subject: [PATCH 06/29] refactor: cmd update. --- pkg/common/cmd/push.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/cmd/push.go b/pkg/common/cmd/push.go index 3cdf3ffb4..fab0ec43e 100644 --- a/pkg/common/cmd/push.go +++ b/pkg/common/cmd/push.go @@ -46,7 +46,7 @@ func NewPushRpcCmd() *PushRpcCmd { } ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap)) ret.ctx = context.WithValue(context.Background(), "version", config.Version) - ret.Command.PreRunE = func(cmd *cobra.Command, args []string) error { + ret.Command.RunE = func(cmd *cobra.Command, args []string) error { return ret.preRunE() } return ret From 3f0eb01cf914a3baa0a17bf19198017b8189ff84 Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Fri, 12 Apr 2024 17:16:54 +0800 Subject: [PATCH 07/29] refactor: cmd update. --- pkg/common/cmd/root.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkg/common/cmd/root.go b/pkg/common/cmd/root.go index 2a8b8515a..ec366ee17 100644 --- a/pkg/common/cmd/root.go +++ b/pkg/common/cmd/root.go @@ -152,10 +152,12 @@ func defaultCmdOpts() *CmdOpts { func (r *RootCmd) getFlag(cmd *cobra.Command) (string, int, error) { configDirectory, err := cmd.Flags().GetString(FlagConf) if err != nil { + fmt.Println("err info ", err) return "", 0, errs.Wrap(err) } index, err := cmd.Flags().GetInt(FlagTransferIndex) if err != nil { + fmt.Println("err info ", err) return "", 0, errs.Wrap(err) } r.index = index From 76abe4948f4f73d462205e86c7a255f4cd422199 Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Fri, 12 Apr 2024 17:27:13 +0800 Subject: [PATCH 08/29] refactor: cmd update. --- pkg/common/cmd/constant.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/common/cmd/constant.go b/pkg/common/cmd/constant.go index 958a3f6f3..55eb4a069 100644 --- a/pkg/common/cmd/constant.go +++ b/pkg/common/cmd/constant.go @@ -48,8 +48,8 @@ var ConfigEnvPrefixMap map[string]string func init() { FileName = "config.yaml" - NotificationFileName = "notification.yaml" - ShareFileName = "share.yaml" + NotificationFileName = "notification.yml" + ShareFileName = "share.yml" WebhooksConfigFileName = "webhooks.yml" LocalCacheConfigFileName = "local-cache.yml" KafkaConfigFileName = "kafka.yml" From 18901745657f20e5cab50d77aab11de4eadfd62d Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Fri, 12 Apr 2024 17:30:57 +0800 Subject: [PATCH 09/29] refactor: cmd update. --- pkg/common/cmd/push.go | 2 +- pkg/common/cmd/root.go | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/pkg/common/cmd/push.go b/pkg/common/cmd/push.go index fab0ec43e..3cdf3ffb4 100644 --- a/pkg/common/cmd/push.go +++ b/pkg/common/cmd/push.go @@ -46,7 +46,7 @@ func NewPushRpcCmd() *PushRpcCmd { } ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap)) ret.ctx = context.WithValue(context.Background(), "version", config.Version) - ret.Command.RunE = func(cmd *cobra.Command, args []string) error { + ret.Command.PreRunE = func(cmd *cobra.Command, args []string) error { return ret.preRunE() } return ret diff --git a/pkg/common/cmd/root.go b/pkg/common/cmd/root.go index ec366ee17..2a8b8515a 100644 --- a/pkg/common/cmd/root.go +++ b/pkg/common/cmd/root.go @@ -152,12 +152,10 @@ func defaultCmdOpts() *CmdOpts { func (r *RootCmd) getFlag(cmd *cobra.Command) (string, int, error) { configDirectory, err := cmd.Flags().GetString(FlagConf) if err != nil { - fmt.Println("err info ", err) return "", 0, errs.Wrap(err) } index, err := cmd.Flags().GetInt(FlagTransferIndex) if err != nil { - fmt.Println("err info ", err) return "", 0, errs.Wrap(err) } r.index = index From 9857ea2d577949f1aad684310f0049d8824a64e1 Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Fri, 12 Apr 2024 17:33:08 +0800 Subject: [PATCH 10/29] refactor: cmd update. --- cmd/openim-cmdutils/main.go | 79 +++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 42 deletions(-) diff --git a/cmd/openim-cmdutils/main.go b/cmd/openim-cmdutils/main.go index d1d7f5129..c8ff878f9 100644 --- a/cmd/openim-cmdutils/main.go +++ b/cmd/openim-cmdutils/main.go @@ -14,47 +14,42 @@ package main -import ( - "github.com/openimsdk/open-im-server/v3/pkg/common/cmd" - "github.com/openimsdk/tools/system/program" -) - func main() { - msgUtilsCmd := cmd.NewMsgUtilsCmd("openIMCmdUtils", "openIM cmd utils", nil) - getCmd := cmd.NewGetCmd() - fixCmd := cmd.NewFixCmd() - clearCmd := cmd.NewClearCmd() - seqCmd := cmd.NewSeqCmd() - msgCmd := cmd.NewMsgCmd() - getCmd.AddCommand(seqCmd.GetSeqCmd(), msgCmd.GetMsgCmd()) - getCmd.AddSuperGroupIDFlag() - getCmd.AddUserIDFlag() - getCmd.AddBeginSeqFlag() - getCmd.AddLimitFlag() - // openIM get seq --userID=xxx - // openIM get seq --superGroupID=xxx - // openIM get msg --userID=xxx --beginSeq=100 --limit=10 - // openIM get msg --superGroupID=xxx --beginSeq=100 --limit=10 - - fixCmd.AddCommand(seqCmd.FixSeqCmd()) - fixCmd.AddSuperGroupIDFlag() - fixCmd.AddUserIDFlag() - fixCmd.AddFixAllFlag() - // openIM fix seq --userID=xxx - // openIM fix seq --superGroupID=xxx - // openIM fix seq --fixAll - - clearCmd.AddCommand(msgCmd.ClearMsgCmd()) - clearCmd.AddSuperGroupIDFlag() - clearCmd.AddUserIDFlag() - clearCmd.AddClearAllFlag() - clearCmd.AddBeginSeqFlag() - clearCmd.AddLimitFlag() - // openIM clear msg --userID=xxx --beginSeq=100 --limit=10 - // openIM clear msg --superGroupID=xxx --beginSeq=100 --limit=10 - // openIM clear msg --clearAll - msgUtilsCmd.AddCommand(&getCmd.Command, &fixCmd.Command, &clearCmd.Command) - if err := msgUtilsCmd.Execute(); err != nil { - program.ExitWithError(err) - } + //msgUtilsCmd := cmd.NewMsgUtilsCmd("openIMCmdUtils", "openIM cmd utils", nil) + //getCmd := cmd.NewGetCmd() + //fixCmd := cmd.NewFixCmd() + //clearCmd := cmd.NewClearCmd() + //seqCmd := cmd.NewSeqCmd() + //msgCmd := cmd.NewMsgCmd() + //getCmd.AddCommand(seqCmd.GetSeqCmd(), msgCmd.GetMsgCmd()) + //getCmd.AddSuperGroupIDFlag() + //getCmd.AddUserIDFlag() + //getCmd.AddBeginSeqFlag() + //getCmd.AddLimitFlag() + //// openIM get seq --userID=xxx + //// openIM get seq --superGroupID=xxx + //// openIM get msg --userID=xxx --beginSeq=100 --limit=10 + //// openIM get msg --superGroupID=xxx --beginSeq=100 --limit=10 + // + //fixCmd.AddCommand(seqCmd.FixSeqCmd()) + //fixCmd.AddSuperGroupIDFlag() + //fixCmd.AddUserIDFlag() + //fixCmd.AddFixAllFlag() + //// openIM fix seq --userID=xxx + //// openIM fix seq --superGroupID=xxx + //// openIM fix seq --fixAll + // + //clearCmd.AddCommand(msgCmd.ClearMsgCmd()) + //clearCmd.AddSuperGroupIDFlag() + //clearCmd.AddUserIDFlag() + //clearCmd.AddClearAllFlag() + //clearCmd.AddBeginSeqFlag() + //clearCmd.AddLimitFlag() + //// openIM clear msg --userID=xxx --beginSeq=100 --limit=10 + //// openIM clear msg --superGroupID=xxx --beginSeq=100 --limit=10 + //// openIM clear msg --clearAll + //msgUtilsCmd.AddCommand(&getCmd.Command, &fixCmd.Command, &clearCmd.Command) + //if err := msgUtilsCmd.Execute(); err != nil { + // program.ExitWithError(err) + //} } From a447748c4da586a2cd5a2461967e6db1ff496caa Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Fri, 12 Apr 2024 17:41:23 +0800 Subject: [PATCH 11/29] refactor: cmd update. --- pkg/common/cmd/root.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkg/common/cmd/root.go b/pkg/common/cmd/root.go index 2a8b8515a..a0d9a7d9f 100644 --- a/pkg/common/cmd/root.go +++ b/pkg/common/cmd/root.go @@ -66,14 +66,13 @@ func WithConfigMap(configMap map[string]any) func(*CmdOpts) { func NewRootCmd(processName string, opts ...func(*CmdOpts)) *RootCmd { rootCmd := &RootCmd{processName: processName} cmd := cobra.Command{ - Use: "Start openIM application", - Short: fmt.Sprintf(`Start %s `, processName), - Long: fmt.Sprintf(`Start %s `, processName), + Use: "Start openIM application", + Long: fmt.Sprintf(`Start %s `, processName), PersistentPreRunE: func(cmd *cobra.Command, args []string) error { return rootCmd.persistentPreRun(cmd, opts...) }, SilenceUsage: true, - SilenceErrors: true, + SilenceErrors: false, } cmd.Flags().StringP(FlagConf, "c", "", "path of config directory") cmd.Flags().IntP(FlagTransferIndex, "i", 0, "process startup sequence number") From e1d9942b1ae02b7d4b0036fd3d71027c86dd4e86 Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Fri, 12 Apr 2024 18:51:18 +0800 Subject: [PATCH 12/29] refactor: cmd update. --- pkg/common/cmd/group.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/cmd/group.go b/pkg/common/cmd/group.go index 8e20c6a2d..1f85072ba 100644 --- a/pkg/common/cmd/group.go +++ b/pkg/common/cmd/group.go @@ -45,7 +45,7 @@ func NewGroupRpcCmd() *GroupRpcCmd { } ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap)) ret.ctx = context.WithValue(context.Background(), "version", config.Version) - ret.Command.PreRunE = func(cmd *cobra.Command, args []string) error { + ret.Command.RunE = func(cmd *cobra.Command, args []string) error { return ret.preRunE() } return ret From cb44871c964bbf69bc8a79b0db5176e11f8cc087 Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Fri, 12 Apr 2024 19:04:02 +0800 Subject: [PATCH 13/29] refactor: cmd update. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c959fc125..c16474567 100644 --- a/go.mod +++ b/go.mod @@ -15,7 +15,7 @@ require ( github.com/mitchellh/mapstructure v1.5.0 github.com/openimsdk/localcache v0.0.1 github.com/openimsdk/protocol v0.0.62 - github.com/openimsdk/tools v0.0.47-alpha.17 + github.com/openimsdk/tools v0.0.47-alpha.19 github.com/pkg/errors v0.9.1 // indirect github.com/prometheus/client_golang v1.18.0 github.com/stretchr/testify v1.9.0 diff --git a/go.sum b/go.sum index 5f65d70dd..c765136a5 100644 --- a/go.sum +++ b/go.sum @@ -270,8 +270,8 @@ github.com/openimsdk/gomake v0.0.2 h1:pweyuvxPkhpZqENgsWbKpiTiK1U5hRIilFWlOu9cbA github.com/openimsdk/gomake v0.0.2/go.mod h1:PndCozNc2IsQIciyn9mvEblYWZwJmAI+06z94EY+csI= github.com/openimsdk/protocol v0.0.62 h1:M9UaBXqllvt1VLSwwQwnVKWewsazC4eISOXuJiCwSjA= github.com/openimsdk/protocol v0.0.62/go.mod h1:OZQA9FR55lseYoN2Ql1XAHYKHJGu7OMNkUbuekrKCM8= -github.com/openimsdk/tools v0.0.47-alpha.17 h1:ZexqUpIXd0JzGm7rCOJ95XXWQWhUoZoCm8uwZixDsoQ= -github.com/openimsdk/tools v0.0.47-alpha.17/go.mod h1:aTh3aPbr4bibBGf0qnC3nTWC947xFOrvHsW6WZ1oV3E= +github.com/openimsdk/tools v0.0.47-alpha.19 h1:dmkh6E6bPbvhMZ4rGen56gK9RWKGrw1S932asXGoZCM= +github.com/openimsdk/tools v0.0.47-alpha.19/go.mod h1:e6pAohiwdjhhAfuECXViGlgCrbk8qkNTIhUkFmLit/Q= github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4= github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= From 1500615b49ae80499354e2216c743abb1bb54d2a Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Mon, 15 Apr 2024 10:05:57 +0800 Subject: [PATCH 14/29] refactor: cmd update. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c16474567..b81b06d6c 100644 --- a/go.mod +++ b/go.mod @@ -15,7 +15,7 @@ require ( github.com/mitchellh/mapstructure v1.5.0 github.com/openimsdk/localcache v0.0.1 github.com/openimsdk/protocol v0.0.62 - github.com/openimsdk/tools v0.0.47-alpha.19 + github.com/openimsdk/tools v0.0.47-alpha.20 github.com/pkg/errors v0.9.1 // indirect github.com/prometheus/client_golang v1.18.0 github.com/stretchr/testify v1.9.0 diff --git a/go.sum b/go.sum index c765136a5..69243c03d 100644 --- a/go.sum +++ b/go.sum @@ -270,8 +270,8 @@ github.com/openimsdk/gomake v0.0.2 h1:pweyuvxPkhpZqENgsWbKpiTiK1U5hRIilFWlOu9cbA github.com/openimsdk/gomake v0.0.2/go.mod h1:PndCozNc2IsQIciyn9mvEblYWZwJmAI+06z94EY+csI= github.com/openimsdk/protocol v0.0.62 h1:M9UaBXqllvt1VLSwwQwnVKWewsazC4eISOXuJiCwSjA= github.com/openimsdk/protocol v0.0.62/go.mod h1:OZQA9FR55lseYoN2Ql1XAHYKHJGu7OMNkUbuekrKCM8= -github.com/openimsdk/tools v0.0.47-alpha.19 h1:dmkh6E6bPbvhMZ4rGen56gK9RWKGrw1S932asXGoZCM= -github.com/openimsdk/tools v0.0.47-alpha.19/go.mod h1:e6pAohiwdjhhAfuECXViGlgCrbk8qkNTIhUkFmLit/Q= +github.com/openimsdk/tools v0.0.47-alpha.20 h1:Cv6QZlra3WJ/3+NA4zES9ip0KZRf4N9XtFcGAAMPMtY= +github.com/openimsdk/tools v0.0.47-alpha.20/go.mod h1:e6pAohiwdjhhAfuECXViGlgCrbk8qkNTIhUkFmLit/Q= github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4= github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= From 9edc48d088dbc3b05b271676ac9518d8a2b11b13 Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Mon, 15 Apr 2024 10:27:02 +0800 Subject: [PATCH 15/29] refactor: cmd update. --- pkg/common/cmd/group.go | 2 ++ pkg/common/cmd/root.go | 12 ++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/pkg/common/cmd/group.go b/pkg/common/cmd/group.go index 1f85072ba..aa76125dd 100644 --- a/pkg/common/cmd/group.go +++ b/pkg/common/cmd/group.go @@ -19,6 +19,7 @@ import ( "github.com/openimsdk/open-im-server/v3/internal/rpc/group" "github.com/openimsdk/open-im-server/v3/pkg/common/config" "github.com/openimsdk/open-im-server/v3/pkg/common/startrpc" + "github.com/openimsdk/tools/log" "github.com/openimsdk/tools/system/program" "github.com/spf13/cobra" ) @@ -56,6 +57,7 @@ func (a *GroupRpcCmd) Exec() error { } func (a *GroupRpcCmd) preRunE() error { + log.CInfo(a.ctx, "GroupRpcCmd preRunE", "rpc config", a.groupConfig.RpcConfig) return startrpc.Start(a.ctx, &a.groupConfig.ZookeeperConfig, &a.groupConfig.RpcConfig.Prometheus, a.groupConfig.RpcConfig.RPC.ListenIP, a.groupConfig.RpcConfig.RPC.RegisterIP, a.groupConfig.RpcConfig.RPC.Ports, a.Index(), a.groupConfig.Share.RpcRegisterName.Auth, &a.groupConfig.Share, &a.groupConfig, group.Start) diff --git a/pkg/common/cmd/root.go b/pkg/common/cmd/root.go index a0d9a7d9f..900281367 100644 --- a/pkg/common/cmd/root.go +++ b/pkg/common/cmd/root.go @@ -18,7 +18,7 @@ import ( "fmt" "path/filepath" - config2 "github.com/openimsdk/open-im-server/v3/pkg/common/config" + "github.com/openimsdk/open-im-server/v3/pkg/common/config" "github.com/openimsdk/tools/errs" "github.com/openimsdk/tools/log" "github.com/spf13/cobra" @@ -29,7 +29,7 @@ type RootCmd struct { processName string port int prometheusPort int - log config2.Log + log config.Log index int } @@ -102,14 +102,14 @@ func (r *RootCmd) initializeConfiguration(cmd *cobra.Command, opts *CmdOpts) err // Load common configuration file //opts.configMap[ShareFileName] = StructEnvPrefix{EnvPrefix: shareEnvPrefix, ConfigStruct: &r.share} for configFileName, configStruct := range opts.configMap { - err := config2.LoadConfig(filepath.Join(configDirectory, configFileName), + err := config.LoadConfig(filepath.Join(configDirectory, configFileName), ConfigEnvPrefixMap[configFileName], configStruct) if err != nil { return err } } // Load common log configuration file - return config2.LoadConfig(filepath.Join(configDirectory, LogConfigFileName), + return config.LoadConfig(filepath.Join(configDirectory, LogConfigFileName), ConfigEnvPrefixMap[LogConfigFileName], &r.log) } @@ -133,12 +133,12 @@ func (r *RootCmd) initializeLogger(cmdOpts *CmdOpts) error { r.log.StorageLocation, r.log.RemainRotationCount, r.log.RotationTime, - config2.Version, + config.Version, ) if err != nil { return errs.Wrap(err) } - return errs.Wrap(log.InitConsoleLogger(r.processName, r.log.RemainLogLevel, r.log.IsJson, config2.Version)) + return errs.Wrap(log.InitConsoleLogger(r.processName, r.log.RemainLogLevel, r.log.IsJson, config.Version)) } From 285b1e8243eadd72a58437b7c2b5bb75b7db5357 Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Mon, 15 Apr 2024 10:29:24 +0800 Subject: [PATCH 16/29] refactor: cmd update. --- pkg/common/config/load_config.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkg/common/config/load_config.go b/pkg/common/config/load_config.go index 4101b0b25..a5f4df664 100644 --- a/pkg/common/config/load_config.go +++ b/pkg/common/config/load_config.go @@ -1,8 +1,10 @@ package config import ( + "context" "github.com/mitchellh/mapstructure" "github.com/openimsdk/tools/errs" + "github.com/openimsdk/tools/log" "github.com/spf13/viper" "strings" ) @@ -23,6 +25,6 @@ func LoadConfig(path string, envPrefix string, config any) error { }); err != nil { return errs.WrapMsg(err, "failed to unmarshal config", "path", path, "envPrefix", envPrefix) } - + log.CInfo(context.Background(), "Load config success", "path", path, "envPrefix", envPrefix, "config", config) return nil } From ba25beff94ae4f52699edff9c47471ee6cb4ed45 Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Mon, 15 Apr 2024 10:33:15 +0800 Subject: [PATCH 17/29] refactor: cmd update. --- pkg/common/cmd/root.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkg/common/cmd/root.go b/pkg/common/cmd/root.go index 900281367..23d73560c 100644 --- a/pkg/common/cmd/root.go +++ b/pkg/common/cmd/root.go @@ -15,6 +15,7 @@ package cmd import ( + "context" "fmt" "path/filepath" @@ -83,6 +84,7 @@ func NewRootCmd(processName string, opts ...func(*CmdOpts)) *RootCmd { func (r *RootCmd) persistentPreRun(cmd *cobra.Command, opts ...func(*CmdOpts)) error { cmdOpts := r.applyOptions(opts...) + log.CInfo(context.Background(), "config", cmdOpts.configMap) if err := r.initializeConfiguration(cmd, cmdOpts); err != nil { return err } From 3756ba90a635e385c593ed54f12dbeb06f967a50 Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Mon, 15 Apr 2024 10:35:30 +0800 Subject: [PATCH 18/29] refactor: cmd update. --- pkg/common/cmd/root.go | 3 +-- pkg/common/config/load_config.go | 5 ++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/pkg/common/cmd/root.go b/pkg/common/cmd/root.go index 23d73560c..ba6029f58 100644 --- a/pkg/common/cmd/root.go +++ b/pkg/common/cmd/root.go @@ -15,7 +15,6 @@ package cmd import ( - "context" "fmt" "path/filepath" @@ -84,7 +83,7 @@ func NewRootCmd(processName string, opts ...func(*CmdOpts)) *RootCmd { func (r *RootCmd) persistentPreRun(cmd *cobra.Command, opts ...func(*CmdOpts)) error { cmdOpts := r.applyOptions(opts...) - log.CInfo(context.Background(), "config", cmdOpts.configMap) + fmt.Println("config", cmdOpts.configMap) if err := r.initializeConfiguration(cmd, cmdOpts); err != nil { return err } diff --git a/pkg/common/config/load_config.go b/pkg/common/config/load_config.go index a5f4df664..3ff850acc 100644 --- a/pkg/common/config/load_config.go +++ b/pkg/common/config/load_config.go @@ -1,10 +1,9 @@ package config import ( - "context" + "fmt" "github.com/mitchellh/mapstructure" "github.com/openimsdk/tools/errs" - "github.com/openimsdk/tools/log" "github.com/spf13/viper" "strings" ) @@ -25,6 +24,6 @@ func LoadConfig(path string, envPrefix string, config any) error { }); err != nil { return errs.WrapMsg(err, "failed to unmarshal config", "path", path, "envPrefix", envPrefix) } - log.CInfo(context.Background(), "Load config success", "path", path, "envPrefix", envPrefix, "config", config) + fmt.Print("Load config success", "path", path, "envPrefix", envPrefix, "config", config) return nil } From eef1ee14b18d9a5546b4669380175dd118917638 Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Mon, 15 Apr 2024 10:37:41 +0800 Subject: [PATCH 19/29] refactor: cmd update. --- pkg/common/config/load_config.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/config/load_config.go b/pkg/common/config/load_config.go index 3ff850acc..52e12a030 100644 --- a/pkg/common/config/load_config.go +++ b/pkg/common/config/load_config.go @@ -24,6 +24,6 @@ func LoadConfig(path string, envPrefix string, config any) error { }); err != nil { return errs.WrapMsg(err, "failed to unmarshal config", "path", path, "envPrefix", envPrefix) } - fmt.Print("Load config success", "path", path, "envPrefix", envPrefix, "config", config) + fmt.Println("Load config success", "path", path, "envPrefix", envPrefix, "config", config) return nil } From 7295fe568bc5f4899c1580d244aab356f889314c Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Mon, 15 Apr 2024 10:44:27 +0800 Subject: [PATCH 20/29] refactor: cmd update. --- pkg/common/cmd/group.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkg/common/cmd/group.go b/pkg/common/cmd/group.go index aa76125dd..ba40fc0c6 100644 --- a/pkg/common/cmd/group.go +++ b/pkg/common/cmd/group.go @@ -33,7 +33,7 @@ type GroupRpcCmd struct { func NewGroupRpcCmd() *GroupRpcCmd { var groupConfig group.Config - ret := &GroupRpcCmd{groupConfig: groupConfig} + ret := &GroupRpcCmd{} ret.configMap = map[string]any{ OpenIMRPCGroupCfgFileName: &groupConfig.RpcConfig, RedisConfigFileName: &groupConfig.RedisConfig, @@ -45,6 +45,7 @@ func NewGroupRpcCmd() *GroupRpcCmd { LocalCacheConfigFileName: &groupConfig.LocalCacheConfig, } ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap)) + ret.groupConfig = groupConfig ret.ctx = context.WithValue(context.Background(), "version", config.Version) ret.Command.RunE = func(cmd *cobra.Command, args []string) error { return ret.preRunE() From 924c4c0fbfcebf3e128fdf5bb664cb2d456d0369 Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Mon, 15 Apr 2024 11:06:01 +0800 Subject: [PATCH 21/29] refactor: cmd update. --- pkg/common/cmd/group.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkg/common/cmd/group.go b/pkg/common/cmd/group.go index ba40fc0c6..50fb6c846 100644 --- a/pkg/common/cmd/group.go +++ b/pkg/common/cmd/group.go @@ -28,12 +28,12 @@ type GroupRpcCmd struct { *RootCmd ctx context.Context configMap map[string]any - groupConfig group.Config + groupConfig *group.Config } func NewGroupRpcCmd() *GroupRpcCmd { var groupConfig group.Config - ret := &GroupRpcCmd{} + ret := &GroupRpcCmd{groupConfig: &groupConfig} ret.configMap = map[string]any{ OpenIMRPCGroupCfgFileName: &groupConfig.RpcConfig, RedisConfigFileName: &groupConfig.RedisConfig, @@ -45,7 +45,6 @@ func NewGroupRpcCmd() *GroupRpcCmd { LocalCacheConfigFileName: &groupConfig.LocalCacheConfig, } ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap)) - ret.groupConfig = groupConfig ret.ctx = context.WithValue(context.Background(), "version", config.Version) ret.Command.RunE = func(cmd *cobra.Command, args []string) error { return ret.preRunE() @@ -61,5 +60,5 @@ func (a *GroupRpcCmd) preRunE() error { log.CInfo(a.ctx, "GroupRpcCmd preRunE", "rpc config", a.groupConfig.RpcConfig) return startrpc.Start(a.ctx, &a.groupConfig.ZookeeperConfig, &a.groupConfig.RpcConfig.Prometheus, a.groupConfig.RpcConfig.RPC.ListenIP, a.groupConfig.RpcConfig.RPC.RegisterIP, a.groupConfig.RpcConfig.RPC.Ports, - a.Index(), a.groupConfig.Share.RpcRegisterName.Auth, &a.groupConfig.Share, &a.groupConfig, group.Start) + a.Index(), a.groupConfig.Share.RpcRegisterName.Auth, &a.groupConfig.Share, a.groupConfig, group.Start) } From 60446816a7ae31c8994c89a910868d859a843a5f Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Mon, 15 Apr 2024 11:08:52 +0800 Subject: [PATCH 22/29] refactor: cmd update. --- pkg/common/discoveryregister/discoveryregister.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/discoveryregister/discoveryregister.go b/pkg/common/discoveryregister/discoveryregister.go index 8a43f84ce..b664ee34e 100644 --- a/pkg/common/discoveryregister/discoveryregister.go +++ b/pkg/common/discoveryregister/discoveryregister.go @@ -24,7 +24,7 @@ import ( ) const ( - zookeeperConst = "zoopkeeper" + zookeeperConst = "zookeeper" kubenetesConst = "k8s" directConst = "direct" ) From 16d2faa6a3df5d66f13a92eee74163a85925c67a Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Mon, 15 Apr 2024 11:19:47 +0800 Subject: [PATCH 23/29] refactor: cmd update. --- pkg/common/cmd/api.go | 6 +++--- pkg/common/cmd/auth.go | 6 +++--- pkg/common/cmd/conversation.go | 6 +++--- pkg/common/cmd/cron_task.go | 6 +++--- pkg/common/cmd/friend.go | 6 +++--- pkg/common/cmd/msg.go | 6 +++--- pkg/common/cmd/msg_gateway.go | 6 +++--- pkg/common/cmd/msg_transfer.go | 6 +++--- pkg/common/cmd/push.go | 6 +++--- pkg/common/cmd/root.go | 1 - pkg/common/cmd/third.go | 6 +++--- pkg/common/cmd/user.go | 6 +++--- pkg/common/config/load_config.go | 2 -- 13 files changed, 33 insertions(+), 36 deletions(-) diff --git a/pkg/common/cmd/api.go b/pkg/common/cmd/api.go index 96bc35d27..3a2474df8 100644 --- a/pkg/common/cmd/api.go +++ b/pkg/common/cmd/api.go @@ -26,12 +26,12 @@ type ApiCmd struct { *RootCmd ctx context.Context configMap map[string]any - apiConfig api.Config + apiConfig *api.Config } func NewApiCmd() *ApiCmd { var apiConfig api.Config - ret := &ApiCmd{apiConfig: apiConfig} + ret := &ApiCmd{apiConfig: &apiConfig} ret.configMap = map[string]any{ OpenIMAPICfgFileName: &apiConfig.RpcConfig, RedisConfigFileName: &apiConfig.RedisConfig, @@ -51,5 +51,5 @@ func (a *ApiCmd) Exec() error { } func (a *ApiCmd) preRunE() error { - return api.Start(a.ctx, a.Index(), &a.apiConfig) + return api.Start(a.ctx, a.Index(), a.apiConfig) } diff --git a/pkg/common/cmd/auth.go b/pkg/common/cmd/auth.go index de3a0295d..cc8cd7ea8 100644 --- a/pkg/common/cmd/auth.go +++ b/pkg/common/cmd/auth.go @@ -27,12 +27,12 @@ type AuthRpcCmd struct { *RootCmd ctx context.Context configMap map[string]any - authConfig auth.Config + authConfig *auth.Config } func NewAuthRpcCmd() *AuthRpcCmd { var authConfig auth.Config - ret := &AuthRpcCmd{authConfig: authConfig} + ret := &AuthRpcCmd{authConfig: &authConfig} ret.configMap = map[string]any{ OpenIMRPCAuthCfgFileName: &authConfig.RpcConfig, RedisConfigFileName: &authConfig.RedisConfig, @@ -55,5 +55,5 @@ func (a *AuthRpcCmd) Exec() error { func (a *AuthRpcCmd) preRunE() error { return startrpc.Start(a.ctx, &a.authConfig.ZookeeperConfig, &a.authConfig.RpcConfig.Prometheus, a.authConfig.RpcConfig.RPC.ListenIP, a.authConfig.RpcConfig.RPC.RegisterIP, a.authConfig.RpcConfig.RPC.Ports, - a.Index(), a.authConfig.Share.RpcRegisterName.Auth, &a.authConfig.Share, &a.authConfig, auth.Start) + a.Index(), a.authConfig.Share.RpcRegisterName.Auth, &a.authConfig.Share, a.authConfig, auth.Start) } diff --git a/pkg/common/cmd/conversation.go b/pkg/common/cmd/conversation.go index 18a9056ae..9a09888b4 100644 --- a/pkg/common/cmd/conversation.go +++ b/pkg/common/cmd/conversation.go @@ -27,12 +27,12 @@ type ConversationRpcCmd struct { *RootCmd ctx context.Context configMap map[string]any - conversationConfig conversation.Config + conversationConfig *conversation.Config } func NewConversationRpcCmd() *ConversationRpcCmd { var conversationConfig conversation.Config - ret := &ConversationRpcCmd{conversationConfig: conversationConfig} + ret := &ConversationRpcCmd{conversationConfig: &conversationConfig} ret.configMap = map[string]any{ OpenIMRPCConversationCfgFileName: &conversationConfig.RpcConfig, RedisConfigFileName: &conversationConfig.RedisConfig, @@ -57,5 +57,5 @@ func (a *ConversationRpcCmd) Exec() error { func (a *ConversationRpcCmd) preRunE() error { return startrpc.Start(a.ctx, &a.conversationConfig.ZookeeperConfig, &a.conversationConfig.RpcConfig.Prometheus, a.conversationConfig.RpcConfig.RPC.ListenIP, a.conversationConfig.RpcConfig.RPC.RegisterIP, a.conversationConfig.RpcConfig.RPC.Ports, - a.Index(), a.conversationConfig.Share.RpcRegisterName.Auth, &a.conversationConfig.Share, &a.conversationConfig, conversation.Start) + a.Index(), a.conversationConfig.Share.RpcRegisterName.Auth, &a.conversationConfig.Share, a.conversationConfig, conversation.Start) } diff --git a/pkg/common/cmd/cron_task.go b/pkg/common/cmd/cron_task.go index 3c2aeef7b..9f7f5477a 100644 --- a/pkg/common/cmd/cron_task.go +++ b/pkg/common/cmd/cron_task.go @@ -26,12 +26,12 @@ type CronTaskCmd struct { *RootCmd ctx context.Context configMap map[string]any - cronTaskConfig tools.CronTaskConfig + cronTaskConfig *tools.CronTaskConfig } func NewCronTaskCmd() *CronTaskCmd { var cronTaskConfig tools.CronTaskConfig - ret := &CronTaskCmd{cronTaskConfig: cronTaskConfig} + ret := &CronTaskCmd{cronTaskConfig: &cronTaskConfig} ret.configMap = map[string]any{ OpenIMCronTaskCfgFileName: &cronTaskConfig.CronTask, RedisConfigFileName: &cronTaskConfig.RedisConfig, @@ -53,5 +53,5 @@ func (a *CronTaskCmd) Exec() error { } func (a *CronTaskCmd) preRunE() error { - return tools.Start(a.ctx, &a.cronTaskConfig) + return tools.Start(a.ctx, a.cronTaskConfig) } diff --git a/pkg/common/cmd/friend.go b/pkg/common/cmd/friend.go index 507f70569..94aed23ae 100644 --- a/pkg/common/cmd/friend.go +++ b/pkg/common/cmd/friend.go @@ -27,12 +27,12 @@ type FriendRpcCmd struct { *RootCmd ctx context.Context configMap map[string]any - friendConfig friend.Config + friendConfig *friend.Config } func NewFriendRpcCmd() *FriendRpcCmd { var friendConfig friend.Config - ret := &FriendRpcCmd{friendConfig: friendConfig} + ret := &FriendRpcCmd{friendConfig: &friendConfig} ret.configMap = map[string]any{ OpenIMRPCFriendCfgFileName: &friendConfig.RpcConfig, RedisConfigFileName: &friendConfig.RedisConfig, @@ -58,5 +58,5 @@ func (a *FriendRpcCmd) Exec() error { func (a *FriendRpcCmd) preRunE() error { return startrpc.Start(a.ctx, &a.friendConfig.ZookeeperConfig, &a.friendConfig.RpcConfig.Prometheus, a.friendConfig.RpcConfig.RPC.ListenIP, a.friendConfig.RpcConfig.RPC.RegisterIP, a.friendConfig.RpcConfig.RPC.Ports, - a.Index(), a.friendConfig.Share.RpcRegisterName.Auth, &a.friendConfig.Share, &a.friendConfig, friend.Start) + a.Index(), a.friendConfig.Share.RpcRegisterName.Auth, &a.friendConfig.Share, a.friendConfig, friend.Start) } diff --git a/pkg/common/cmd/msg.go b/pkg/common/cmd/msg.go index 199163d05..71003936d 100644 --- a/pkg/common/cmd/msg.go +++ b/pkg/common/cmd/msg.go @@ -27,12 +27,12 @@ type MsgRpcCmd struct { *RootCmd ctx context.Context configMap map[string]any - msgConfig msg.Config + msgConfig *msg.Config } func NewMsgRpcCmd() *MsgRpcCmd { var msgConfig msg.Config - ret := &MsgRpcCmd{msgConfig: msgConfig} + ret := &MsgRpcCmd{msgConfig: &msgConfig} ret.configMap = map[string]any{ OpenIMRPCMsgCfgFileName: &msgConfig.RpcConfig, RedisConfigFileName: &msgConfig.RedisConfig, @@ -59,5 +59,5 @@ func (a *MsgRpcCmd) Exec() error { func (a *MsgRpcCmd) preRunE() error { return startrpc.Start(a.ctx, &a.msgConfig.ZookeeperConfig, &a.msgConfig.RpcConfig.Prometheus, a.msgConfig.RpcConfig.RPC.ListenIP, a.msgConfig.RpcConfig.RPC.RegisterIP, a.msgConfig.RpcConfig.RPC.Ports, - a.Index(), a.msgConfig.Share.RpcRegisterName.Auth, &a.msgConfig.Share, &a.msgConfig, msg.Start) + a.Index(), a.msgConfig.Share.RpcRegisterName.Auth, &a.msgConfig.Share, a.msgConfig, msg.Start) } diff --git a/pkg/common/cmd/msg_gateway.go b/pkg/common/cmd/msg_gateway.go index 1851f6afe..adad280f3 100644 --- a/pkg/common/cmd/msg_gateway.go +++ b/pkg/common/cmd/msg_gateway.go @@ -28,12 +28,12 @@ type MsgGatewayCmd struct { *RootCmd ctx context.Context configMap map[string]any - msgGatewayConfig msggateway.Config + msgGatewayConfig *msggateway.Config } func NewMsgGatewayCmd() *MsgGatewayCmd { var msgGatewayConfig msggateway.Config - ret := &MsgGatewayCmd{msgGatewayConfig: msgGatewayConfig} + ret := &MsgGatewayCmd{msgGatewayConfig: &msgGatewayConfig} ret.configMap = map[string]any{ OpenIMMsgGatewayCfgFileName: &msgGatewayConfig.MsgGateway, ZookeeperConfigFileName: &msgGatewayConfig.ZookeeperConfig, @@ -53,5 +53,5 @@ func (m *MsgGatewayCmd) Exec() error { } func (m *MsgGatewayCmd) preRunE() error { - return msggateway.Start(m.ctx, m.Index(), &m.msgGatewayConfig) + return msggateway.Start(m.ctx, m.Index(), m.msgGatewayConfig) } diff --git a/pkg/common/cmd/msg_transfer.go b/pkg/common/cmd/msg_transfer.go index c03ca59e2..ac175b8ec 100644 --- a/pkg/common/cmd/msg_transfer.go +++ b/pkg/common/cmd/msg_transfer.go @@ -26,12 +26,12 @@ type MsgTransferCmd struct { *RootCmd ctx context.Context configMap map[string]any - msgTransferConfig msgtransfer.Config + msgTransferConfig *msgtransfer.Config } func NewMsgTransferCmd() *MsgTransferCmd { var msgTransferConfig msgtransfer.Config - ret := &MsgTransferCmd{msgTransferConfig: msgTransferConfig} + ret := &MsgTransferCmd{msgTransferConfig: &msgTransferConfig} ret.configMap = map[string]any{ OpenIMMsgTransferCfgFileName: &msgTransferConfig.MsgTransfer, RedisConfigFileName: &msgTransferConfig.RedisConfig, @@ -54,5 +54,5 @@ func (m *MsgTransferCmd) Exec() error { } func (m *MsgTransferCmd) preRunE() error { - return msgtransfer.Start(m.ctx, m.Index(), &m.msgTransferConfig) + return msgtransfer.Start(m.ctx, m.Index(), m.msgTransferConfig) } diff --git a/pkg/common/cmd/push.go b/pkg/common/cmd/push.go index 3cdf3ffb4..2c982ffef 100644 --- a/pkg/common/cmd/push.go +++ b/pkg/common/cmd/push.go @@ -27,12 +27,12 @@ type PushRpcCmd struct { *RootCmd ctx context.Context configMap map[string]any - pushConfig push.Config + pushConfig *push.Config } func NewPushRpcCmd() *PushRpcCmd { var pushConfig push.Config - ret := &PushRpcCmd{pushConfig: pushConfig} + ret := &PushRpcCmd{pushConfig: &pushConfig} ret.configMap = map[string]any{ OpenIMPushCfgFileName: &pushConfig.RpcConfig, RedisConfigFileName: &pushConfig.RedisConfig, @@ -59,5 +59,5 @@ func (a *PushRpcCmd) Exec() error { func (a *PushRpcCmd) preRunE() error { return startrpc.Start(a.ctx, &a.pushConfig.ZookeeperConfig, &a.pushConfig.RpcConfig.Prometheus, a.pushConfig.RpcConfig.RPC.ListenIP, a.pushConfig.RpcConfig.RPC.RegisterIP, a.pushConfig.RpcConfig.RPC.Ports, - a.Index(), a.pushConfig.Share.RpcRegisterName.Auth, &a.pushConfig.Share, &a.pushConfig, push.Start) + a.Index(), a.pushConfig.Share.RpcRegisterName.Auth, &a.pushConfig.Share, a.pushConfig, push.Start) } diff --git a/pkg/common/cmd/root.go b/pkg/common/cmd/root.go index ba6029f58..900281367 100644 --- a/pkg/common/cmd/root.go +++ b/pkg/common/cmd/root.go @@ -83,7 +83,6 @@ func NewRootCmd(processName string, opts ...func(*CmdOpts)) *RootCmd { func (r *RootCmd) persistentPreRun(cmd *cobra.Command, opts ...func(*CmdOpts)) error { cmdOpts := r.applyOptions(opts...) - fmt.Println("config", cmdOpts.configMap) if err := r.initializeConfiguration(cmd, cmdOpts); err != nil { return err } diff --git a/pkg/common/cmd/third.go b/pkg/common/cmd/third.go index 38e7935b3..ac883b9d5 100644 --- a/pkg/common/cmd/third.go +++ b/pkg/common/cmd/third.go @@ -27,12 +27,12 @@ type ThirdRpcCmd struct { *RootCmd ctx context.Context configMap map[string]any - thirdConfig third.Config + thirdConfig *third.Config } func NewThirdRpcCmd() *ThirdRpcCmd { var thirdConfig third.Config - ret := &ThirdRpcCmd{thirdConfig: thirdConfig} + ret := &ThirdRpcCmd{thirdConfig: &thirdConfig} ret.configMap = map[string]any{ OpenIMRPCThirdCfgFileName: &thirdConfig.RpcConfig, RedisConfigFileName: &thirdConfig.RedisConfig, @@ -58,5 +58,5 @@ func (a *ThirdRpcCmd) Exec() error { func (a *ThirdRpcCmd) preRunE() error { return startrpc.Start(a.ctx, &a.thirdConfig.ZookeeperConfig, &a.thirdConfig.RpcConfig.Prometheus, a.thirdConfig.RpcConfig.RPC.ListenIP, a.thirdConfig.RpcConfig.RPC.RegisterIP, a.thirdConfig.RpcConfig.RPC.Ports, - a.Index(), a.thirdConfig.Share.RpcRegisterName.Auth, &a.thirdConfig.Share, &a.thirdConfig, third.Start) + a.Index(), a.thirdConfig.Share.RpcRegisterName.Auth, &a.thirdConfig.Share, a.thirdConfig, third.Start) } diff --git a/pkg/common/cmd/user.go b/pkg/common/cmd/user.go index c1eac6eeb..2378c84e9 100644 --- a/pkg/common/cmd/user.go +++ b/pkg/common/cmd/user.go @@ -27,12 +27,12 @@ type UserRpcCmd struct { *RootCmd ctx context.Context configMap map[string]any - userConfig user.Config + userConfig *user.Config } func NewUserRpcCmd() *UserRpcCmd { var userConfig user.Config - ret := &UserRpcCmd{userConfig: userConfig} + ret := &UserRpcCmd{userConfig: &userConfig} ret.configMap = map[string]any{ OpenIMRPCUserCfgFileName: &userConfig.RpcConfig, RedisConfigFileName: &userConfig.RedisConfig, @@ -59,5 +59,5 @@ func (a *UserRpcCmd) Exec() error { func (a *UserRpcCmd) preRunE() error { return startrpc.Start(a.ctx, &a.userConfig.ZookeeperConfig, &a.userConfig.RpcConfig.Prometheus, a.userConfig.RpcConfig.RPC.ListenIP, a.userConfig.RpcConfig.RPC.RegisterIP, a.userConfig.RpcConfig.RPC.Ports, - a.Index(), a.userConfig.Share.RpcRegisterName.Auth, &a.userConfig.Share, &a.userConfig, user.Start) + a.Index(), a.userConfig.Share.RpcRegisterName.Auth, &a.userConfig.Share, a.userConfig, user.Start) } diff --git a/pkg/common/config/load_config.go b/pkg/common/config/load_config.go index 52e12a030..9272896b4 100644 --- a/pkg/common/config/load_config.go +++ b/pkg/common/config/load_config.go @@ -1,7 +1,6 @@ package config import ( - "fmt" "github.com/mitchellh/mapstructure" "github.com/openimsdk/tools/errs" "github.com/spf13/viper" @@ -24,6 +23,5 @@ func LoadConfig(path string, envPrefix string, config any) error { }); err != nil { return errs.WrapMsg(err, "failed to unmarshal config", "path", path, "envPrefix", envPrefix) } - fmt.Println("Load config success", "path", path, "envPrefix", envPrefix, "config", config) return nil } From 534812a8711c726a53966a8345ceae4ad5c38e24 Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Mon, 15 Apr 2024 11:27:09 +0800 Subject: [PATCH 24/29] refactor: cmd update. --- internal/rpc/msg/server.go | 4 ++-- pkg/common/cmd/conversation.go | 2 +- pkg/common/cmd/friend.go | 2 +- pkg/common/cmd/group.go | 2 +- pkg/common/cmd/msg.go | 2 +- pkg/common/cmd/push.go | 2 +- pkg/common/cmd/third.go | 2 +- pkg/common/cmd/user.go | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/internal/rpc/msg/server.go b/internal/rpc/msg/server.go index 1ccc493ac..7f52dfa7e 100644 --- a/internal/rpc/msg/server.go +++ b/internal/rpc/msg/server.go @@ -39,7 +39,7 @@ type ( // MsgServer encapsulates dependencies required for message handling. msgServer struct { RegisterCenter discovery.SvcDiscoveryRegistry // Service discovery registry for service registration. - MsgDatabase controller.CommonMsgDatabase // Interface for message database operations. + MsgDatabase controller.MsgDatabase // Interface for message database operations. Conversation *rpcclient.ConversationRpcClient // RPC client for conversation service. UserLocalCache *rpccache.UserLocalCache // Local cache for user data. FriendLocalCache *rpccache.FriendLocalCache // Local cache for friend data. @@ -88,7 +88,7 @@ func Start(ctx context.Context, config *Config, client discovery.SvcDiscoveryReg userRpcClient := rpcclient.NewUserRpcClient(client, config.Share.RpcRegisterName.User, config.Share.IMAdminUserID) groupRpcClient := rpcclient.NewGroupRpcClient(client, config.Share.RpcRegisterName.Group) friendRpcClient := rpcclient.NewFriendRpcClient(client, config.Share.RpcRegisterName.Friend) - msgDatabase, err := controller.NewCommonMsgDatabase(msgDocModel, msgModel, seqModel, &config.KafkaConfig) + msgDatabase, err := controller.NewMsgDatabase(msgDocModel, msgModel, seqModel, &config.KafkaConfig) if err != nil { return err } diff --git a/pkg/common/cmd/conversation.go b/pkg/common/cmd/conversation.go index 9a09888b4..e70eaf6d0 100644 --- a/pkg/common/cmd/conversation.go +++ b/pkg/common/cmd/conversation.go @@ -57,5 +57,5 @@ func (a *ConversationRpcCmd) Exec() error { func (a *ConversationRpcCmd) preRunE() error { return startrpc.Start(a.ctx, &a.conversationConfig.ZookeeperConfig, &a.conversationConfig.RpcConfig.Prometheus, a.conversationConfig.RpcConfig.RPC.ListenIP, a.conversationConfig.RpcConfig.RPC.RegisterIP, a.conversationConfig.RpcConfig.RPC.Ports, - a.Index(), a.conversationConfig.Share.RpcRegisterName.Auth, &a.conversationConfig.Share, a.conversationConfig, conversation.Start) + a.Index(), a.conversationConfig.Share.RpcRegisterName.Conversation, &a.conversationConfig.Share, a.conversationConfig, conversation.Start) } diff --git a/pkg/common/cmd/friend.go b/pkg/common/cmd/friend.go index 94aed23ae..052498cb0 100644 --- a/pkg/common/cmd/friend.go +++ b/pkg/common/cmd/friend.go @@ -58,5 +58,5 @@ func (a *FriendRpcCmd) Exec() error { func (a *FriendRpcCmd) preRunE() error { return startrpc.Start(a.ctx, &a.friendConfig.ZookeeperConfig, &a.friendConfig.RpcConfig.Prometheus, a.friendConfig.RpcConfig.RPC.ListenIP, a.friendConfig.RpcConfig.RPC.RegisterIP, a.friendConfig.RpcConfig.RPC.Ports, - a.Index(), a.friendConfig.Share.RpcRegisterName.Auth, &a.friendConfig.Share, a.friendConfig, friend.Start) + a.Index(), a.friendConfig.Share.RpcRegisterName.Friend, &a.friendConfig.Share, a.friendConfig, friend.Start) } diff --git a/pkg/common/cmd/group.go b/pkg/common/cmd/group.go index 50fb6c846..d5638ae6c 100644 --- a/pkg/common/cmd/group.go +++ b/pkg/common/cmd/group.go @@ -60,5 +60,5 @@ func (a *GroupRpcCmd) preRunE() error { log.CInfo(a.ctx, "GroupRpcCmd preRunE", "rpc config", a.groupConfig.RpcConfig) return startrpc.Start(a.ctx, &a.groupConfig.ZookeeperConfig, &a.groupConfig.RpcConfig.Prometheus, a.groupConfig.RpcConfig.RPC.ListenIP, a.groupConfig.RpcConfig.RPC.RegisterIP, a.groupConfig.RpcConfig.RPC.Ports, - a.Index(), a.groupConfig.Share.RpcRegisterName.Auth, &a.groupConfig.Share, a.groupConfig, group.Start) + a.Index(), a.groupConfig.Share.RpcRegisterName.Group, &a.groupConfig.Share, a.groupConfig, group.Start) } diff --git a/pkg/common/cmd/msg.go b/pkg/common/cmd/msg.go index 71003936d..696657f64 100644 --- a/pkg/common/cmd/msg.go +++ b/pkg/common/cmd/msg.go @@ -59,5 +59,5 @@ func (a *MsgRpcCmd) Exec() error { func (a *MsgRpcCmd) preRunE() error { return startrpc.Start(a.ctx, &a.msgConfig.ZookeeperConfig, &a.msgConfig.RpcConfig.Prometheus, a.msgConfig.RpcConfig.RPC.ListenIP, a.msgConfig.RpcConfig.RPC.RegisterIP, a.msgConfig.RpcConfig.RPC.Ports, - a.Index(), a.msgConfig.Share.RpcRegisterName.Auth, &a.msgConfig.Share, a.msgConfig, msg.Start) + a.Index(), a.msgConfig.Share.RpcRegisterName.Msg, &a.msgConfig.Share, a.msgConfig, msg.Start) } diff --git a/pkg/common/cmd/push.go b/pkg/common/cmd/push.go index 2c982ffef..d7d87b5ed 100644 --- a/pkg/common/cmd/push.go +++ b/pkg/common/cmd/push.go @@ -59,5 +59,5 @@ func (a *PushRpcCmd) Exec() error { func (a *PushRpcCmd) preRunE() error { return startrpc.Start(a.ctx, &a.pushConfig.ZookeeperConfig, &a.pushConfig.RpcConfig.Prometheus, a.pushConfig.RpcConfig.RPC.ListenIP, a.pushConfig.RpcConfig.RPC.RegisterIP, a.pushConfig.RpcConfig.RPC.Ports, - a.Index(), a.pushConfig.Share.RpcRegisterName.Auth, &a.pushConfig.Share, a.pushConfig, push.Start) + a.Index(), a.pushConfig.Share.RpcRegisterName.Push, &a.pushConfig.Share, a.pushConfig, push.Start) } diff --git a/pkg/common/cmd/third.go b/pkg/common/cmd/third.go index ac883b9d5..437fee893 100644 --- a/pkg/common/cmd/third.go +++ b/pkg/common/cmd/third.go @@ -58,5 +58,5 @@ func (a *ThirdRpcCmd) Exec() error { func (a *ThirdRpcCmd) preRunE() error { return startrpc.Start(a.ctx, &a.thirdConfig.ZookeeperConfig, &a.thirdConfig.RpcConfig.Prometheus, a.thirdConfig.RpcConfig.RPC.ListenIP, a.thirdConfig.RpcConfig.RPC.RegisterIP, a.thirdConfig.RpcConfig.RPC.Ports, - a.Index(), a.thirdConfig.Share.RpcRegisterName.Auth, &a.thirdConfig.Share, a.thirdConfig, third.Start) + a.Index(), a.thirdConfig.Share.RpcRegisterName.Third, &a.thirdConfig.Share, a.thirdConfig, third.Start) } diff --git a/pkg/common/cmd/user.go b/pkg/common/cmd/user.go index 2378c84e9..900deb874 100644 --- a/pkg/common/cmd/user.go +++ b/pkg/common/cmd/user.go @@ -59,5 +59,5 @@ func (a *UserRpcCmd) Exec() error { func (a *UserRpcCmd) preRunE() error { return startrpc.Start(a.ctx, &a.userConfig.ZookeeperConfig, &a.userConfig.RpcConfig.Prometheus, a.userConfig.RpcConfig.RPC.ListenIP, a.userConfig.RpcConfig.RPC.RegisterIP, a.userConfig.RpcConfig.RPC.Ports, - a.Index(), a.userConfig.Share.RpcRegisterName.Auth, &a.userConfig.Share, a.userConfig, user.Start) + a.Index(), a.userConfig.Share.RpcRegisterName.User, &a.userConfig.Share, a.userConfig, user.Start) } From df2a1d9f02e222ff6bc1810c81ae42f11fec8dbf Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Mon, 15 Apr 2024 11:29:36 +0800 Subject: [PATCH 25/29] refactor: cmd update. --- internal/rpc/msg/server.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/rpc/msg/server.go b/internal/rpc/msg/server.go index 7f52dfa7e..1ccc493ac 100644 --- a/internal/rpc/msg/server.go +++ b/internal/rpc/msg/server.go @@ -39,7 +39,7 @@ type ( // MsgServer encapsulates dependencies required for message handling. msgServer struct { RegisterCenter discovery.SvcDiscoveryRegistry // Service discovery registry for service registration. - MsgDatabase controller.MsgDatabase // Interface for message database operations. + MsgDatabase controller.CommonMsgDatabase // Interface for message database operations. Conversation *rpcclient.ConversationRpcClient // RPC client for conversation service. UserLocalCache *rpccache.UserLocalCache // Local cache for user data. FriendLocalCache *rpccache.FriendLocalCache // Local cache for friend data. @@ -88,7 +88,7 @@ func Start(ctx context.Context, config *Config, client discovery.SvcDiscoveryReg userRpcClient := rpcclient.NewUserRpcClient(client, config.Share.RpcRegisterName.User, config.Share.IMAdminUserID) groupRpcClient := rpcclient.NewGroupRpcClient(client, config.Share.RpcRegisterName.Group) friendRpcClient := rpcclient.NewFriendRpcClient(client, config.Share.RpcRegisterName.Friend) - msgDatabase, err := controller.NewMsgDatabase(msgDocModel, msgModel, seqModel, &config.KafkaConfig) + msgDatabase, err := controller.NewCommonMsgDatabase(msgDocModel, msgModel, seqModel, &config.KafkaConfig) if err != nil { return err } From 4d198ea6e347cc734514a16d15cb683c8f17292c Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Mon, 15 Apr 2024 11:38:01 +0800 Subject: [PATCH 26/29] refactor: cmd update. --- pkg/common/cmd/api.go | 2 +- pkg/common/cmd/auth.go | 2 +- pkg/common/cmd/conversation.go | 6 +++--- pkg/common/cmd/cron_task.go | 2 +- pkg/common/cmd/friend.go | 2 +- pkg/common/cmd/msg.go | 2 +- pkg/common/cmd/msg_gateway.go | 2 +- pkg/common/cmd/msg_transfer.go | 2 +- pkg/common/cmd/push.go | 2 +- pkg/common/cmd/third.go | 2 +- pkg/common/cmd/user.go | 2 +- 11 files changed, 13 insertions(+), 13 deletions(-) diff --git a/pkg/common/cmd/api.go b/pkg/common/cmd/api.go index 3a2474df8..fdd840bf0 100644 --- a/pkg/common/cmd/api.go +++ b/pkg/common/cmd/api.go @@ -40,7 +40,7 @@ func NewApiCmd() *ApiCmd { } ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap)) ret.ctx = context.WithValue(context.Background(), "version", config.Version) - ret.Command.PreRunE = func(cmd *cobra.Command, args []string) error { + ret.Command.RunE = func(cmd *cobra.Command, args []string) error { return ret.preRunE() } return ret diff --git a/pkg/common/cmd/auth.go b/pkg/common/cmd/auth.go index cc8cd7ea8..8b76ae2d6 100644 --- a/pkg/common/cmd/auth.go +++ b/pkg/common/cmd/auth.go @@ -41,7 +41,7 @@ func NewAuthRpcCmd() *AuthRpcCmd { } ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap)) ret.ctx = context.WithValue(context.Background(), "version", config.Version) - ret.Command.PreRunE = func(cmd *cobra.Command, args []string) error { + ret.Command.RunE = func(cmd *cobra.Command, args []string) error { return ret.preRunE() } diff --git a/pkg/common/cmd/conversation.go b/pkg/common/cmd/conversation.go index e70eaf6d0..0a617c729 100644 --- a/pkg/common/cmd/conversation.go +++ b/pkg/common/cmd/conversation.go @@ -44,8 +44,8 @@ func NewConversationRpcCmd() *ConversationRpcCmd { } ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap)) ret.ctx = context.WithValue(context.Background(), "version", config.Version) - ret.Command.PreRunE = func(cmd *cobra.Command, args []string) error { - return ret.preRunE() + ret.Command.RunE = func(cmd *cobra.Command, args []string) error { + return ret.runE() } return ret } @@ -54,7 +54,7 @@ func (a *ConversationRpcCmd) Exec() error { return a.Execute() } -func (a *ConversationRpcCmd) preRunE() error { +func (a *ConversationRpcCmd) runE() error { return startrpc.Start(a.ctx, &a.conversationConfig.ZookeeperConfig, &a.conversationConfig.RpcConfig.Prometheus, a.conversationConfig.RpcConfig.RPC.ListenIP, a.conversationConfig.RpcConfig.RPC.RegisterIP, a.conversationConfig.RpcConfig.RPC.Ports, a.Index(), a.conversationConfig.Share.RpcRegisterName.Conversation, &a.conversationConfig.Share, a.conversationConfig, conversation.Start) diff --git a/pkg/common/cmd/cron_task.go b/pkg/common/cmd/cron_task.go index 9f7f5477a..b29cee2ce 100644 --- a/pkg/common/cmd/cron_task.go +++ b/pkg/common/cmd/cron_task.go @@ -42,7 +42,7 @@ func NewCronTaskCmd() *CronTaskCmd { } ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap)) ret.ctx = context.WithValue(context.Background(), "version", config.Version) - ret.Command.PreRunE = func(cmd *cobra.Command, args []string) error { + ret.Command.RunE = func(cmd *cobra.Command, args []string) error { return ret.preRunE() } return ret diff --git a/pkg/common/cmd/friend.go b/pkg/common/cmd/friend.go index 052498cb0..6ca57c733 100644 --- a/pkg/common/cmd/friend.go +++ b/pkg/common/cmd/friend.go @@ -45,7 +45,7 @@ func NewFriendRpcCmd() *FriendRpcCmd { } ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap)) ret.ctx = context.WithValue(context.Background(), "version", config.Version) - ret.Command.PreRunE = func(cmd *cobra.Command, args []string) error { + ret.Command.RunE = func(cmd *cobra.Command, args []string) error { return ret.preRunE() } return ret diff --git a/pkg/common/cmd/msg.go b/pkg/common/cmd/msg.go index 696657f64..d90380743 100644 --- a/pkg/common/cmd/msg.go +++ b/pkg/common/cmd/msg.go @@ -46,7 +46,7 @@ func NewMsgRpcCmd() *MsgRpcCmd { } ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap)) ret.ctx = context.WithValue(context.Background(), "version", config.Version) - ret.Command.PreRunE = func(cmd *cobra.Command, args []string) error { + ret.Command.RunE = func(cmd *cobra.Command, args []string) error { return ret.preRunE() } return ret diff --git a/pkg/common/cmd/msg_gateway.go b/pkg/common/cmd/msg_gateway.go index adad280f3..bda0efaf9 100644 --- a/pkg/common/cmd/msg_gateway.go +++ b/pkg/common/cmd/msg_gateway.go @@ -42,7 +42,7 @@ func NewMsgGatewayCmd() *MsgGatewayCmd { } ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap)) ret.ctx = context.WithValue(context.Background(), "version", config.Version) - ret.Command.PreRunE = func(cmd *cobra.Command, args []string) error { + ret.Command.RunE = func(cmd *cobra.Command, args []string) error { return ret.preRunE() } return ret diff --git a/pkg/common/cmd/msg_transfer.go b/pkg/common/cmd/msg_transfer.go index ac175b8ec..9e7457fed 100644 --- a/pkg/common/cmd/msg_transfer.go +++ b/pkg/common/cmd/msg_transfer.go @@ -43,7 +43,7 @@ func NewMsgTransferCmd() *MsgTransferCmd { } ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap)) ret.ctx = context.WithValue(context.Background(), "version", config.Version) - ret.Command.PreRunE = func(cmd *cobra.Command, args []string) error { + ret.Command.RunE = func(cmd *cobra.Command, args []string) error { return ret.preRunE() } return ret diff --git a/pkg/common/cmd/push.go b/pkg/common/cmd/push.go index d7d87b5ed..0dca75fa0 100644 --- a/pkg/common/cmd/push.go +++ b/pkg/common/cmd/push.go @@ -46,7 +46,7 @@ func NewPushRpcCmd() *PushRpcCmd { } ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap)) ret.ctx = context.WithValue(context.Background(), "version", config.Version) - ret.Command.PreRunE = func(cmd *cobra.Command, args []string) error { + ret.Command.RunE = func(cmd *cobra.Command, args []string) error { return ret.preRunE() } return ret diff --git a/pkg/common/cmd/third.go b/pkg/common/cmd/third.go index 437fee893..5c8e1ed8f 100644 --- a/pkg/common/cmd/third.go +++ b/pkg/common/cmd/third.go @@ -45,7 +45,7 @@ func NewThirdRpcCmd() *ThirdRpcCmd { } ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap)) ret.ctx = context.WithValue(context.Background(), "version", config.Version) - ret.Command.PreRunE = func(cmd *cobra.Command, args []string) error { + ret.Command.RunE = func(cmd *cobra.Command, args []string) error { return ret.preRunE() } return ret diff --git a/pkg/common/cmd/user.go b/pkg/common/cmd/user.go index 900deb874..cf9b211d3 100644 --- a/pkg/common/cmd/user.go +++ b/pkg/common/cmd/user.go @@ -46,7 +46,7 @@ func NewUserRpcCmd() *UserRpcCmd { } ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap)) ret.ctx = context.WithValue(context.Background(), "version", config.Version) - ret.Command.PreRunE = func(cmd *cobra.Command, args []string) error { + ret.Command.RunE = func(cmd *cobra.Command, args []string) error { return ret.preRunE() } return ret From b8a0c41e2ebba0014e88c30eaa70b699e6eaa79d Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Mon, 15 Apr 2024 11:46:28 +0800 Subject: [PATCH 27/29] refactor: cmd update. --- cmd/openim-cmdutils/main.go | 2 ++ internal/tools/cron_task.go | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/cmd/openim-cmdutils/main.go b/cmd/openim-cmdutils/main.go index c8ff878f9..2091daa87 100644 --- a/cmd/openim-cmdutils/main.go +++ b/cmd/openim-cmdutils/main.go @@ -15,6 +15,8 @@ package main func main() { + ch := make(chan int) + <-ch //msgUtilsCmd := cmd.NewMsgUtilsCmd("openIMCmdUtils", "openIM cmd utils", nil) //getCmd := cmd.NewGetCmd() //fixCmd := cmd.NewFixCmd() diff --git a/internal/tools/cron_task.go b/internal/tools/cron_task.go index 82ce95eda..a30e0a75b 100644 --- a/internal/tools/cron_task.go +++ b/internal/tools/cron_task.go @@ -39,7 +39,8 @@ type CronTaskConfig struct { } func Start(ctx context.Context, config *CronTaskConfig) error { - + ch := make(chan int) + <-ch log.CInfo(ctx, "CRON-TASK server is initializing", "chatRecordsClearTime", config.CronTask.ChatRecordsClearTime, "msgDestructTime", config.CronTask.MsgDestructTime) From 2ac3ff5801e60cdc03a36473ce235a035d85004d Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Mon, 15 Apr 2024 12:27:09 +0800 Subject: [PATCH 28/29] refactor: cmd update. --- pkg/common/cmd/api.go | 4 ++-- pkg/common/cmd/auth.go | 4 ++-- pkg/common/cmd/cron_task.go | 4 ++-- pkg/common/cmd/friend.go | 4 ++-- pkg/common/cmd/group.go | 4 ++-- pkg/common/cmd/msg.go | 4 ++-- pkg/common/cmd/msg_gateway.go | 4 ++-- pkg/common/cmd/msg_transfer.go | 4 ++-- pkg/common/cmd/push.go | 4 ++-- pkg/common/cmd/third.go | 4 ++-- pkg/common/cmd/user.go | 4 ++-- 11 files changed, 22 insertions(+), 22 deletions(-) diff --git a/pkg/common/cmd/api.go b/pkg/common/cmd/api.go index fdd840bf0..460fd0ac9 100644 --- a/pkg/common/cmd/api.go +++ b/pkg/common/cmd/api.go @@ -41,7 +41,7 @@ func NewApiCmd() *ApiCmd { ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap)) ret.ctx = context.WithValue(context.Background(), "version", config.Version) ret.Command.RunE = func(cmd *cobra.Command, args []string) error { - return ret.preRunE() + return ret.runE() } return ret } @@ -50,6 +50,6 @@ func (a *ApiCmd) Exec() error { return a.Execute() } -func (a *ApiCmd) preRunE() error { +func (a *ApiCmd) runE() error { return api.Start(a.ctx, a.Index(), a.apiConfig) } diff --git a/pkg/common/cmd/auth.go b/pkg/common/cmd/auth.go index 8b76ae2d6..5ed02ffd0 100644 --- a/pkg/common/cmd/auth.go +++ b/pkg/common/cmd/auth.go @@ -42,7 +42,7 @@ func NewAuthRpcCmd() *AuthRpcCmd { ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap)) ret.ctx = context.WithValue(context.Background(), "version", config.Version) ret.Command.RunE = func(cmd *cobra.Command, args []string) error { - return ret.preRunE() + return ret.runE() } return ret @@ -52,7 +52,7 @@ func (a *AuthRpcCmd) Exec() error { return a.Execute() } -func (a *AuthRpcCmd) preRunE() error { +func (a *AuthRpcCmd) runE() error { return startrpc.Start(a.ctx, &a.authConfig.ZookeeperConfig, &a.authConfig.RpcConfig.Prometheus, a.authConfig.RpcConfig.RPC.ListenIP, a.authConfig.RpcConfig.RPC.RegisterIP, a.authConfig.RpcConfig.RPC.Ports, a.Index(), a.authConfig.Share.RpcRegisterName.Auth, &a.authConfig.Share, a.authConfig, auth.Start) diff --git a/pkg/common/cmd/cron_task.go b/pkg/common/cmd/cron_task.go index b29cee2ce..0e94cf52c 100644 --- a/pkg/common/cmd/cron_task.go +++ b/pkg/common/cmd/cron_task.go @@ -43,7 +43,7 @@ func NewCronTaskCmd() *CronTaskCmd { ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap)) ret.ctx = context.WithValue(context.Background(), "version", config.Version) ret.Command.RunE = func(cmd *cobra.Command, args []string) error { - return ret.preRunE() + return ret.runE() } return ret } @@ -52,6 +52,6 @@ func (a *CronTaskCmd) Exec() error { return a.Execute() } -func (a *CronTaskCmd) preRunE() error { +func (a *CronTaskCmd) runE() error { return tools.Start(a.ctx, a.cronTaskConfig) } diff --git a/pkg/common/cmd/friend.go b/pkg/common/cmd/friend.go index 6ca57c733..b8d46f77e 100644 --- a/pkg/common/cmd/friend.go +++ b/pkg/common/cmd/friend.go @@ -46,7 +46,7 @@ func NewFriendRpcCmd() *FriendRpcCmd { ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap)) ret.ctx = context.WithValue(context.Background(), "version", config.Version) ret.Command.RunE = func(cmd *cobra.Command, args []string) error { - return ret.preRunE() + return ret.runE() } return ret } @@ -55,7 +55,7 @@ func (a *FriendRpcCmd) Exec() error { return a.Execute() } -func (a *FriendRpcCmd) preRunE() error { +func (a *FriendRpcCmd) runE() error { return startrpc.Start(a.ctx, &a.friendConfig.ZookeeperConfig, &a.friendConfig.RpcConfig.Prometheus, a.friendConfig.RpcConfig.RPC.ListenIP, a.friendConfig.RpcConfig.RPC.RegisterIP, a.friendConfig.RpcConfig.RPC.Ports, a.Index(), a.friendConfig.Share.RpcRegisterName.Friend, &a.friendConfig.Share, a.friendConfig, friend.Start) diff --git a/pkg/common/cmd/group.go b/pkg/common/cmd/group.go index d5638ae6c..4773ebf9c 100644 --- a/pkg/common/cmd/group.go +++ b/pkg/common/cmd/group.go @@ -47,7 +47,7 @@ func NewGroupRpcCmd() *GroupRpcCmd { ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap)) ret.ctx = context.WithValue(context.Background(), "version", config.Version) ret.Command.RunE = func(cmd *cobra.Command, args []string) error { - return ret.preRunE() + return ret.runE() } return ret } @@ -56,7 +56,7 @@ func (a *GroupRpcCmd) Exec() error { return a.Execute() } -func (a *GroupRpcCmd) preRunE() error { +func (a *GroupRpcCmd) runE() error { log.CInfo(a.ctx, "GroupRpcCmd preRunE", "rpc config", a.groupConfig.RpcConfig) return startrpc.Start(a.ctx, &a.groupConfig.ZookeeperConfig, &a.groupConfig.RpcConfig.Prometheus, a.groupConfig.RpcConfig.RPC.ListenIP, a.groupConfig.RpcConfig.RPC.RegisterIP, a.groupConfig.RpcConfig.RPC.Ports, diff --git a/pkg/common/cmd/msg.go b/pkg/common/cmd/msg.go index d90380743..a3b521b4b 100644 --- a/pkg/common/cmd/msg.go +++ b/pkg/common/cmd/msg.go @@ -47,7 +47,7 @@ func NewMsgRpcCmd() *MsgRpcCmd { ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap)) ret.ctx = context.WithValue(context.Background(), "version", config.Version) ret.Command.RunE = func(cmd *cobra.Command, args []string) error { - return ret.preRunE() + return ret.runE() } return ret } @@ -56,7 +56,7 @@ func (a *MsgRpcCmd) Exec() error { return a.Execute() } -func (a *MsgRpcCmd) preRunE() error { +func (a *MsgRpcCmd) runE() error { return startrpc.Start(a.ctx, &a.msgConfig.ZookeeperConfig, &a.msgConfig.RpcConfig.Prometheus, a.msgConfig.RpcConfig.RPC.ListenIP, a.msgConfig.RpcConfig.RPC.RegisterIP, a.msgConfig.RpcConfig.RPC.Ports, a.Index(), a.msgConfig.Share.RpcRegisterName.Msg, &a.msgConfig.Share, a.msgConfig, msg.Start) diff --git a/pkg/common/cmd/msg_gateway.go b/pkg/common/cmd/msg_gateway.go index bda0efaf9..897fd7008 100644 --- a/pkg/common/cmd/msg_gateway.go +++ b/pkg/common/cmd/msg_gateway.go @@ -43,7 +43,7 @@ func NewMsgGatewayCmd() *MsgGatewayCmd { ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap)) ret.ctx = context.WithValue(context.Background(), "version", config.Version) ret.Command.RunE = func(cmd *cobra.Command, args []string) error { - return ret.preRunE() + return ret.runE() } return ret } @@ -52,6 +52,6 @@ func (m *MsgGatewayCmd) Exec() error { return m.Execute() } -func (m *MsgGatewayCmd) preRunE() error { +func (m *MsgGatewayCmd) runE() error { return msggateway.Start(m.ctx, m.Index(), m.msgGatewayConfig) } diff --git a/pkg/common/cmd/msg_transfer.go b/pkg/common/cmd/msg_transfer.go index 9e7457fed..86f42dc56 100644 --- a/pkg/common/cmd/msg_transfer.go +++ b/pkg/common/cmd/msg_transfer.go @@ -44,7 +44,7 @@ func NewMsgTransferCmd() *MsgTransferCmd { ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap)) ret.ctx = context.WithValue(context.Background(), "version", config.Version) ret.Command.RunE = func(cmd *cobra.Command, args []string) error { - return ret.preRunE() + return ret.runE() } return ret } @@ -53,6 +53,6 @@ func (m *MsgTransferCmd) Exec() error { return m.Execute() } -func (m *MsgTransferCmd) preRunE() error { +func (m *MsgTransferCmd) runE() error { return msgtransfer.Start(m.ctx, m.Index(), m.msgTransferConfig) } diff --git a/pkg/common/cmd/push.go b/pkg/common/cmd/push.go index 0dca75fa0..0140ced23 100644 --- a/pkg/common/cmd/push.go +++ b/pkg/common/cmd/push.go @@ -47,7 +47,7 @@ func NewPushRpcCmd() *PushRpcCmd { ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap)) ret.ctx = context.WithValue(context.Background(), "version", config.Version) ret.Command.RunE = func(cmd *cobra.Command, args []string) error { - return ret.preRunE() + return ret.runE() } return ret } @@ -56,7 +56,7 @@ func (a *PushRpcCmd) Exec() error { return a.Execute() } -func (a *PushRpcCmd) preRunE() error { +func (a *PushRpcCmd) runE() error { return startrpc.Start(a.ctx, &a.pushConfig.ZookeeperConfig, &a.pushConfig.RpcConfig.Prometheus, a.pushConfig.RpcConfig.RPC.ListenIP, a.pushConfig.RpcConfig.RPC.RegisterIP, a.pushConfig.RpcConfig.RPC.Ports, a.Index(), a.pushConfig.Share.RpcRegisterName.Push, &a.pushConfig.Share, a.pushConfig, push.Start) diff --git a/pkg/common/cmd/third.go b/pkg/common/cmd/third.go index 5c8e1ed8f..0dfa7d5be 100644 --- a/pkg/common/cmd/third.go +++ b/pkg/common/cmd/third.go @@ -46,7 +46,7 @@ func NewThirdRpcCmd() *ThirdRpcCmd { ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap)) ret.ctx = context.WithValue(context.Background(), "version", config.Version) ret.Command.RunE = func(cmd *cobra.Command, args []string) error { - return ret.preRunE() + return ret.runE() } return ret } @@ -55,7 +55,7 @@ func (a *ThirdRpcCmd) Exec() error { return a.Execute() } -func (a *ThirdRpcCmd) preRunE() error { +func (a *ThirdRpcCmd) runE() error { return startrpc.Start(a.ctx, &a.thirdConfig.ZookeeperConfig, &a.thirdConfig.RpcConfig.Prometheus, a.thirdConfig.RpcConfig.RPC.ListenIP, a.thirdConfig.RpcConfig.RPC.RegisterIP, a.thirdConfig.RpcConfig.RPC.Ports, a.Index(), a.thirdConfig.Share.RpcRegisterName.Third, &a.thirdConfig.Share, a.thirdConfig, third.Start) diff --git a/pkg/common/cmd/user.go b/pkg/common/cmd/user.go index cf9b211d3..315b93256 100644 --- a/pkg/common/cmd/user.go +++ b/pkg/common/cmd/user.go @@ -47,7 +47,7 @@ func NewUserRpcCmd() *UserRpcCmd { ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap)) ret.ctx = context.WithValue(context.Background(), "version", config.Version) ret.Command.RunE = func(cmd *cobra.Command, args []string) error { - return ret.preRunE() + return ret.runE() } return ret } @@ -56,7 +56,7 @@ func (a *UserRpcCmd) Exec() error { return a.Execute() } -func (a *UserRpcCmd) preRunE() error { +func (a *UserRpcCmd) runE() error { return startrpc.Start(a.ctx, &a.userConfig.ZookeeperConfig, &a.userConfig.RpcConfig.Prometheus, a.userConfig.RpcConfig.RPC.ListenIP, a.userConfig.RpcConfig.RPC.RegisterIP, a.userConfig.RpcConfig.RPC.Ports, a.Index(), a.userConfig.Share.RpcRegisterName.User, &a.userConfig.Share, a.userConfig, user.Start) From 4c30f333f852456ea7cb53def5e96c75ff49f77f Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Mon, 15 Apr 2024 14:47:47 +0800 Subject: [PATCH 29/29] refactor: cmd update. --- cmd/openim-cmdutils/main.go | 81 +++++++++++++++++++------------------ internal/tools/cron_task.go | 3 +- internal/tools/msg.go | 2 + 3 files changed, 45 insertions(+), 41 deletions(-) diff --git a/cmd/openim-cmdutils/main.go b/cmd/openim-cmdutils/main.go index 2091daa87..d1d7f5129 100644 --- a/cmd/openim-cmdutils/main.go +++ b/cmd/openim-cmdutils/main.go @@ -14,44 +14,47 @@ package main +import ( + "github.com/openimsdk/open-im-server/v3/pkg/common/cmd" + "github.com/openimsdk/tools/system/program" +) + func main() { - ch := make(chan int) - <-ch - //msgUtilsCmd := cmd.NewMsgUtilsCmd("openIMCmdUtils", "openIM cmd utils", nil) - //getCmd := cmd.NewGetCmd() - //fixCmd := cmd.NewFixCmd() - //clearCmd := cmd.NewClearCmd() - //seqCmd := cmd.NewSeqCmd() - //msgCmd := cmd.NewMsgCmd() - //getCmd.AddCommand(seqCmd.GetSeqCmd(), msgCmd.GetMsgCmd()) - //getCmd.AddSuperGroupIDFlag() - //getCmd.AddUserIDFlag() - //getCmd.AddBeginSeqFlag() - //getCmd.AddLimitFlag() - //// openIM get seq --userID=xxx - //// openIM get seq --superGroupID=xxx - //// openIM get msg --userID=xxx --beginSeq=100 --limit=10 - //// openIM get msg --superGroupID=xxx --beginSeq=100 --limit=10 - // - //fixCmd.AddCommand(seqCmd.FixSeqCmd()) - //fixCmd.AddSuperGroupIDFlag() - //fixCmd.AddUserIDFlag() - //fixCmd.AddFixAllFlag() - //// openIM fix seq --userID=xxx - //// openIM fix seq --superGroupID=xxx - //// openIM fix seq --fixAll - // - //clearCmd.AddCommand(msgCmd.ClearMsgCmd()) - //clearCmd.AddSuperGroupIDFlag() - //clearCmd.AddUserIDFlag() - //clearCmd.AddClearAllFlag() - //clearCmd.AddBeginSeqFlag() - //clearCmd.AddLimitFlag() - //// openIM clear msg --userID=xxx --beginSeq=100 --limit=10 - //// openIM clear msg --superGroupID=xxx --beginSeq=100 --limit=10 - //// openIM clear msg --clearAll - //msgUtilsCmd.AddCommand(&getCmd.Command, &fixCmd.Command, &clearCmd.Command) - //if err := msgUtilsCmd.Execute(); err != nil { - // program.ExitWithError(err) - //} + msgUtilsCmd := cmd.NewMsgUtilsCmd("openIMCmdUtils", "openIM cmd utils", nil) + getCmd := cmd.NewGetCmd() + fixCmd := cmd.NewFixCmd() + clearCmd := cmd.NewClearCmd() + seqCmd := cmd.NewSeqCmd() + msgCmd := cmd.NewMsgCmd() + getCmd.AddCommand(seqCmd.GetSeqCmd(), msgCmd.GetMsgCmd()) + getCmd.AddSuperGroupIDFlag() + getCmd.AddUserIDFlag() + getCmd.AddBeginSeqFlag() + getCmd.AddLimitFlag() + // openIM get seq --userID=xxx + // openIM get seq --superGroupID=xxx + // openIM get msg --userID=xxx --beginSeq=100 --limit=10 + // openIM get msg --superGroupID=xxx --beginSeq=100 --limit=10 + + fixCmd.AddCommand(seqCmd.FixSeqCmd()) + fixCmd.AddSuperGroupIDFlag() + fixCmd.AddUserIDFlag() + fixCmd.AddFixAllFlag() + // openIM fix seq --userID=xxx + // openIM fix seq --superGroupID=xxx + // openIM fix seq --fixAll + + clearCmd.AddCommand(msgCmd.ClearMsgCmd()) + clearCmd.AddSuperGroupIDFlag() + clearCmd.AddUserIDFlag() + clearCmd.AddClearAllFlag() + clearCmd.AddBeginSeqFlag() + clearCmd.AddLimitFlag() + // openIM clear msg --userID=xxx --beginSeq=100 --limit=10 + // openIM clear msg --superGroupID=xxx --beginSeq=100 --limit=10 + // openIM clear msg --clearAll + msgUtilsCmd.AddCommand(&getCmd.Command, &fixCmd.Command, &clearCmd.Command) + if err := msgUtilsCmd.Execute(); err != nil { + program.ExitWithError(err) + } } diff --git a/internal/tools/cron_task.go b/internal/tools/cron_task.go index a30e0a75b..82ce95eda 100644 --- a/internal/tools/cron_task.go +++ b/internal/tools/cron_task.go @@ -39,8 +39,7 @@ type CronTaskConfig struct { } func Start(ctx context.Context, config *CronTaskConfig) error { - ch := make(chan int) - <-ch + log.CInfo(ctx, "CRON-TASK server is initializing", "chatRecordsClearTime", config.CronTask.ChatRecordsClearTime, "msgDestructTime", config.CronTask.MsgDestructTime) diff --git a/internal/tools/msg.go b/internal/tools/msg.go index 67f465559..42af1efdc 100644 --- a/internal/tools/msg.go +++ b/internal/tools/msg.go @@ -55,6 +55,8 @@ func NewMsgTool(msgDatabase controller.CommonMsgDatabase, userDatabase controlle } func InitMsgTool(ctx context.Context, config *CronTaskConfig) (*MsgTool, error) { + ch := make(chan int) + <-ch //mgocli, err := mongoutil.NewMongoDB(ctx, config.MongodbConfig.Build()) //if err != nil { // return nil, err